diff --git a/src/events/intro/locationIntro.tw b/src/events/intro/locationIntro.tw index 8180825dc39205d54bf8ba4e4e52e2577e1ec7c0..2a946c6c1dca50f76ed2361d226feb938dda80c6 100644 --- a/src/events/intro/locationIntro.tw +++ b/src/events/intro/locationIntro.tw @@ -4,11 +4,12 @@ As the old countries crumble and technology stagnates, the gap between rich and [[North America|Intro Summary][$continent = "North America", $language = "English"]] [[South America|Intro Summary][$continent = "South America", $language = "Spanish"]] -[[Brazil|Intro Summary][$continent = "Brazil", $language = "Portuguese"]] [[Europe|Intro Summary][$continent = "Europe", $language = "German"]] [[the Middle East|Intro Summary][$continent = "the Middle East", $language = "Arabic"]] [[Africa|Intro Summary][$continent = "Africa", $language = "Arabic"]] [[Asia|Intro Summary][$continent = "Asia", $language = "Chinese"]] [[Australia|Intro Summary][$continent = "Australia", $language = "English"]] +<br> +[[Brazil|Intro Summary][$continent = "Brazil", $language = "Portuguese"]] [[Japan|Intro Summary][$continent = "Japan", $language = "Japanese", $PC.race = "asian", $PC.nationality = "Japanese", $PC.hColor = "black", $PC.eyeColor = "brown"]] //Slaves from countries in the selected continent will appear more frequently.// diff --git a/src/js/generateNewSlaveJS.tw b/src/js/generateNewSlaveJS.tw index 7e91cd150b63e5e092cd7e791c5c980bd48256f0..888423870526240ab3a2d131388c7e79c21a6d93 100644 --- a/src/js/generateNewSlaveJS.tw +++ b/src/js/generateNewSlaveJS.tw @@ -1163,45 +1163,9 @@ window.GenerateNewSlave = (function(){ } } else { - switch (V.fixedRace) { - case "white": - slave.nationality = hashChoice(setup.whiteNationalities); - break; - case "asian": - slave.nationality = hashChoice(setup.asianNationalities); - break; - case "latina": - slave.nationality = hashChoice(setup.latinaNationalities); - break; - case "black": - slave.nationality = hashChoice(setup.blackNationalities); - break; - case "pacific islander": - slave.nationality = hashChoice(setup.pacificislanderNationalities); - break; - case "southern european": - slave.nationality = hashChoice(setup.southerneuropeanNationalities); - break; - case "amerindian": - slave.nationality = hashChoice(setup.amerindianNationalities); - break; - case "semitic": - slave.nationality = hashChoice(setup.semiticNationalities); - break; - case "middle eastern": - slave.nationality = hashChoice(setup.middleeasternNationalities); - break; - case "indo-aryan": - slave.nationality = hashChoice(setup.indoaryanNationalities); - break; - case "malay": - slave.nationality = hashChoice(setup.malayNationalities); - break; - default: - slave.nationality = hashChoice(V.nationalities); - } slave.race = V.fixedRace; V.fixedRace = 0; + raceToNationality(slave); } }; diff --git a/src/js/slaveGenerationJS.tw b/src/js/slaveGenerationJS.tw index 94a529a73aa81aff069273a4144bd9b895250bcf..34bdb344d5a7a80f210128d23d3ff88cec6deb61 100644 --- a/src/js/slaveGenerationJS.tw +++ b/src/js/slaveGenerationJS.tw @@ -4,6 +4,17 @@ window.nationalityToRace = function nationalityToRace(slave) { slave.race = hashChoice(setup.raceSelector[slave.nationality] || setup.raceSelector[""]); }; +window.raceToNationality = function raceToNationality(slave) { + /* Maximum of 100 attempts */ + for (var i = 0; setup.raceSelector[s.nationality] && !(s.race in setup.raceSelector[s.nationality]) && i < 100; i++) { + s.nationality = hashChoice($nationalities); + } + /* No success after 100 attempts, so just randomize according to race */ + if (setup.raceSelector[s.nationality] && !(s.race in setup.raceSelector[s.nationality]) && i == 100) { + s.nationality = Object.keys(setup[s.race.toLowerCase().replace(/[ -]/g, '')+'Nationalities']).random(); + } +}; + window.generateName = function generateName(nationality, race, male, filter) { filter = filter || _.stubTrue; /* default: allow all */ const lookup = (male ? setup.malenamePoolSelector : setup.namePoolSelector); diff --git a/src/pregmod/widgets/pregmodWidgets.tw b/src/pregmod/widgets/pregmodWidgets.tw index 24f97045e76dd02b7ae1a2f8f155469a6a3dab74..4f2fb223d0bd28dd9504d16549e7e660522e6a4f 100644 --- a/src/pregmod/widgets/pregmodWidgets.tw +++ b/src/pregmod/widgets/pregmodWidgets.tw @@ -1248,21 +1248,16 @@ extremely pale -5 const validRaces = ["amerindian", "asian", "black", "indo-aryan", "latina", "malay", "middle eastern", "mixed race", "pacific islander", "semitic", "southern european", "white"]; /* Nationalities, races, surnames random fill */ if(!s.nationality) { - s.nationality = hashChoice($nationalities); /* Check for a pre-set race and if the nationality fits, else regenerate */ if(s.race && validRaces.includes(s.race)) { - /* Maximum of 100 attempts */ - for (var i = 0; setup.raceSelector[s.nationality] && !(s.race in setup.raceSelector[s.nationality]) && i < 100; i++) { + raceToNationality(s); + } else { s.nationality = hashChoice($nationalities); } - /* No success after 100 attempts, so just randomize according to race */ - if (setup.raceSelector[s.nationality] && !(s.race in setup.raceSelector[s.nationality]) && i == 100) { - s.nationality = Object.keys(setup[s.race.toLowerCase().replace(/[ -]/g, '')+'Nationalities']).random(); - } } } if(!s.race || !validRaces.includes(s.race)) { - s.race = hashChoice(setup.raceSelector[s.nationality] || setup.raceSelector[""]); + nationalityToRace(s); } if(!s.birthSurname && s.birthSurname !== "") { s.birthSurname = (setup.surnamePoolSelector[s.nationality + "." + s.race] diff --git a/src/uncategorized/completeCatalog.tw b/src/uncategorized/completeCatalog.tw index afa794cbf15f8009db2849815bd85e0836c9cd34..591d41cb5d56243a60f6b87be740797cb122e1be 100644 --- a/src/uncategorized/completeCatalog.tw +++ b/src/uncategorized/completeCatalog.tw @@ -26,7 +26,7 @@ <<case "blind blue">> <<set $activeSlave.origEye = "deep blue">> <<case "milky white" "implant">> - <<set $activeSlave.origEye = random("blue", "green", "brown", "hazel", "light blue", "light green", "dark green", "dark blue")>> + <<set $activeSlave.origEye = random("blue", "brown", "dark blue", "dark green", "green", "hazel", "light blue", "light green")>> <<default>> <<set $activeSlave.origEye = $activeSlave.eyeColor>> <</switch>> diff --git a/src/uncategorized/hgSelect.tw b/src/uncategorized/hgSelect.tw index 57cf77c108cbcc6fef29640691fdc7f53d64a08a..fdc7ba1c57ce84483f252ff7871c9a2244c987e3 100644 --- a/src/uncategorized/hgSelect.tw +++ b/src/uncategorized/hgSelect.tw @@ -42,7 +42,7 @@ _HGName will be <<if ($HGSeverity > 0)>> ''aggressive'' when punishing, with rape strongly encouraged. [[Moderate|HG Select][$HGSeverity = 0]] <<elseif ($HGSeverity == 0)>> - ''moderate'' when punishing, carefully selecting appropriate consequences. [[Be aggressive|HG Select][$HGSeverity = 1]] | [["Restrict " + $him + ""|HG Select][$HGSeverity = -1]] + ''moderate'' when punishing, carefully selecting appropriate consequences. [[Be aggressive|HG Select][$HGSeverity = 1]] | [["Restrict " + $him|HG Select][$HGSeverity = -1]] <<else>> ''respectful'' when punishing, treating slaves decently. [[Be stricter|HG Select][$HGSeverity = 0]] <</if>> diff --git a/src/uncategorized/seCustomSlaveDelivery.tw b/src/uncategorized/seCustomSlaveDelivery.tw index 718e34f4e69d896a2be440a620e6a92b56c4276c..958ad192cb56b00574b8027dd4b0d0b1cfaf981d 100644 --- a/src/uncategorized/seCustomSlaveDelivery.tw +++ b/src/uncategorized/seCustomSlaveDelivery.tw @@ -105,6 +105,7 @@ <<set $ageAdjustOverride = 1>> <<set $one_time_age_overrides_pedo_mode = 1>> <<set $fixedNationality = $customSlave.nationality>> +<<set $fixedRace = $customSlave.race>> <<if $customSlave.sex == 2>> <<include "Generate XY Slave">> <<set $activeSlave.dick = $customSlave.dick>> @@ -201,32 +202,7 @@ <<set $activeSlave.nationality = hashChoice($nationalities)>> <<run nationalityToRace($activeSlave)>> <<elseif $activeSlave.nationality == "Nationality is unimportant">> - <<switch $activeSlave.race>> - <<case "white">> - <<set $activeSlave.nationality = hashChoice(setup.whiteNationalities)>> - <<case "asian">> - <<set $activeSlave.nationality = hashChoice(setup.asianNationalities)>> - <<case "latina">> - <<set $activeSlave.nationality = hashChoice(setup.latinaNationalities)>> - <<case "black">> - <<set $activeSlave.nationality = hashChoice(setup.blackNationalities)>> - <<case "pacific islander">> - <<set $activeSlave.nationality = hashChoice(setup.pacificislanderNationalities)>> - <<case "southern european">> - <<set $activeSlave.nationality = hashChoice(setup.southerneuropeanNationalities)>> - <<case "amerindian">> - <<set $activeSlave.nationality = hashChoice(setup.amerindianNationalities)>> - <<case "semitic">> - <<set $activeSlave.nationality = hashChoice(setup.semiticNationalities)>> - <<case "middle eastern">> - <<set $activeSlave.nationality = hashChoice(setup.middleeasternNationalities)>> - <<case "indo-aryan">> - <<set $activeSlave.nationality = hashChoice(setup.indoaryanNationalities)>> - <<case "malay">> - <<set $activeSlave.nationality = hashChoice(setup.malayNationalities)>> - <<default>> - <<set $activeSlave.nationality = hashChoice($nationalities)>> - <</switch>> + <<run raceToNationality($activeSlave)>> <<elseif $activeSlave.race == "ethnicity is unimportant">> <<run nationalityToRace($activeSlave)>> <<else>>