diff --git a/src/events/intro/initNationalities.tw b/src/events/intro/initNationalities.tw index d1fed4b30b3a21b563f3e01f1b331664081ad669..ef3710756cc12c2ed3d78c03feb81f25886dcce2 100644 --- a/src/events/intro/initNationalities.tw +++ b/src/events/intro/initNationalities.tw @@ -90,11 +90,11 @@ <<unset $nationalitiescheck>> /* Removes unique nationalities array to avoid var bloat */ <<if ndef $customVariety>> /* If non-custom variety, empties or defines $nationalities */ -<<set $nationalities = []>> +<<set $nationalities = {}>> <</if>> <<if $terrain == "oceanic">> <<if ndef $customVariety>> - <<set $nationalities = clone(setup.baseNationalities)>> + <<set $nationalities = arr2obj(setup.baseNationalities)>> <</if>> <<set $arcologies[0].FSSupremacistRace = "white">> <<set $arcologies[0].FSSubjugationistRace = "middle eastern">> @@ -104,226 +104,226 @@ <<set $arcologies[0].FSSupremacistRace = "white">> <<set $arcologies[0].FSSubjugationistRace = "black">> <<if ndef $customVariety>> /* If non-custom variety, adds regional $nationalities */ - <<set $nationalities.push("American","American","American","American","American","American")>> - <<set $nationalities.push("Mexican","Mexican","Mexican")>> - <<set $nationalities.push("Dominican","Dominican")>> - <<set $nationalities.push("Canadian","Canadian")>> - <<set $nationalities.push("Haitian")>> - <<set $nationalities.push("Cuban")>> - <<set $nationalities.push("Puerto Rican")>> - <<set $nationalities.push("Jamaican")>> - <<set $nationalities.push("Guatemalan")>> - <<set $nationalities.push("Bermudian")>> - <<set $nationalities.push("Greenlandic")>> - <<set $nationalities.push("Belizean")>> - <<set $nationalities.push("Grenadian")>> - <<set $nationalities.push("Honduran")>> - <<set $nationalities.push("Costa Rican")>> - <<set $nationalities.push("Salvadoran")>> - <<set $nationalities.push("Nicaraguan")>> - <<set $nationalities.push("Panamanian")>> + <<set hashPush($nationalities, "American","American","American","American","American","American")>> + <<set hashPush($nationalities, "Mexican","Mexican","Mexican")>> + <<set hashPush($nationalities, "Dominican","Dominican")>> + <<set hashPush($nationalities, "Canadian","Canadian")>> + <<set hashPush($nationalities, "Haitian")>> + <<set hashPush($nationalities, "Cuban")>> + <<set hashPush($nationalities, "Puerto Rican")>> + <<set hashPush($nationalities, "Jamaican")>> + <<set hashPush($nationalities, "Guatemalan")>> + <<set hashPush($nationalities, "Bermudian")>> + <<set hashPush($nationalities, "Greenlandic")>> + <<set hashPush($nationalities, "Belizean")>> + <<set hashPush($nationalities, "Grenadian")>> + <<set hashPush($nationalities, "Honduran")>> + <<set hashPush($nationalities, "Costa Rican")>> + <<set hashPush($nationalities, "Salvadoran")>> + <<set hashPush($nationalities, "Nicaraguan")>> + <<set hashPush($nationalities, "Panamanian")>> <</if>> <<case "South America">> <<set $arcologies[0].FSSupremacistRace = "latina">> <<set $arcologies[0].FSSubjugationistRace = "black">> <<if ndef $customVariety>> - <<set $nationalities.push("Brazilian","Brazilian","Brazilian","Brazilian")>> - <<set $nationalities.push("Argentinian","Argentinian")>> - <<set $nationalities.push("Colombian","Colombian")>> - <<set $nationalities.push("Peruvian")>> - <<set $nationalities.push("Venezuelan")>> - <<set $nationalities.push("Bolivian")>> - <<set $nationalities.push("Chilean")>> - <<set $nationalities.push("Guatemalan")>> - <<set $nationalities.push("Uruguayan")>> - <<set $nationalities.push("Ecuadorian")>> - <<set $nationalities.push("French Guianan")>> - <<set $nationalities.push("Guyanese")>> - <<set $nationalities.push("Paraguayan")>> - <<set $nationalities.push("Surinamese")>> + <<set hashPush($nationalities, "Brazilian","Brazilian","Brazilian","Brazilian")>> + <<set hashPush($nationalities, "Argentinian","Argentinian")>> + <<set hashPush($nationalities, "Colombian","Colombian")>> + <<set hashPush($nationalities, "Peruvian")>> + <<set hashPush($nationalities, "Venezuelan")>> + <<set hashPush($nationalities, "Bolivian")>> + <<set hashPush($nationalities, "Chilean")>> + <<set hashPush($nationalities, "Guatemalan")>> + <<set hashPush($nationalities, "Uruguayan")>> + <<set hashPush($nationalities, "Ecuadorian")>> + <<set hashPush($nationalities, "French Guianan")>> + <<set hashPush($nationalities, "Guyanese")>> + <<set hashPush($nationalities, "Paraguayan")>> + <<set hashPush($nationalities, "Surinamese")>> <</if>> <<case "Brazil">> <<set $arcologies[0].FSSupremacistRace = "white">> <<set $arcologies[0].FSSubjugationistRace = "black">> <<if ndef $customVariety>> - <<set $nationalities.push("Brazilian","Brazilian","Brazilian","Brazilian","Brazilian","Brazilian","Brazilian","Brazilian","Brazilian","Brazilian","Brazilian","Brazilian","Brazilian","Brazilian","Brazilian")>> - <<set $nationalities.push("Argentinian","Argentinian")>> - <<set $nationalities.push("Colombian","Colombian")>> - <<set $nationalities.push("Peruvian")>> - <<set $nationalities.push("Venezuelan")>> - <<set $nationalities.push("Bolivian")>> - <<set $nationalities.push("Chilean")>> - <<set $nationalities.push("Guatemalan")>> - <<set $nationalities.push("Uruguayan")>> - <<set $nationalities.push("Ecuadorian")>> - <<set $nationalities.push("French Guianan")>> - <<set $nationalities.push("Guyanese")>> - <<set $nationalities.push("Paraguayan")>> - <<set $nationalities.push("Surinamese")>> + <<set hashPush($nationalities, "Brazilian","Brazilian","Brazilian","Brazilian","Brazilian","Brazilian","Brazilian","Brazilian","Brazilian","Brazilian","Brazilian","Brazilian","Brazilian","Brazilian","Brazilian")>> + <<set hashPush($nationalities, "Argentinian","Argentinian")>> + <<set hashPush($nationalities, "Colombian","Colombian")>> + <<set hashPush($nationalities, "Peruvian")>> + <<set hashPush($nationalities, "Venezuelan")>> + <<set hashPush($nationalities, "Bolivian")>> + <<set hashPush($nationalities, "Chilean")>> + <<set hashPush($nationalities, "Guatemalan")>> + <<set hashPush($nationalities, "Uruguayan")>> + <<set hashPush($nationalities, "Ecuadorian")>> + <<set hashPush($nationalities, "French Guianan")>> + <<set hashPush($nationalities, "Guyanese")>> + <<set hashPush($nationalities, "Paraguayan")>> + <<set hashPush($nationalities, "Surinamese")>> <</if>> <<case "the Middle East">> <<set $arcologies[0].FSSupremacistRace = "middle eastern">> <<set $arcologies[0].FSSubjugationistRace = "asian">> <<if ndef $customVariety>> - <<set $nationalities.push("Egyptian", "Egyptian", "Egyptian")>> - <<set $nationalities.push("Iranian", "Iranian")>> - <<set $nationalities.push("Saudi", "Saudi")>> - <<set $nationalities.push("Turkish", "Turkish")>> - <<set $nationalities.push("Lebanese")>> - <<set $nationalities.push("Emirati")>> - <<set $nationalities.push("Jordanian")>> - <<set $nationalities.push("Omani")>> - <<set $nationalities.push("Israeli")>> - <<set $nationalities.push("Armenian")>> - <<set $nationalities.push("Iraqi")>> - <<set $nationalities.push("Afghan")>> - <<set $nationalities.push("Yemeni")>> - <<set $nationalities.push("Syrian")>> - <<set $nationalities.push("Azerbaijani")>> - <<set $nationalities.push("Bahraini")>> - <<set $nationalities.push("Cypriot")>> - <<set $nationalities.push("Georgian")>> - <<set $nationalities.push("Kuwaiti")>> - <<set $nationalities.push("Qatari")>> - <<set $nationalities.push("Palestinian")>> + <<set hashPush($nationalities, "Egyptian", "Egyptian", "Egyptian")>> + <<set hashPush($nationalities, "Iranian", "Iranian")>> + <<set hashPush($nationalities, "Saudi", "Saudi")>> + <<set hashPush($nationalities, "Turkish", "Turkish")>> + <<set hashPush($nationalities, "Lebanese")>> + <<set hashPush($nationalities, "Emirati")>> + <<set hashPush($nationalities, "Jordanian")>> + <<set hashPush($nationalities, "Omani")>> + <<set hashPush($nationalities, "Israeli")>> + <<set hashPush($nationalities, "Armenian")>> + <<set hashPush($nationalities, "Iraqi")>> + <<set hashPush($nationalities, "Afghan")>> + <<set hashPush($nationalities, "Yemeni")>> + <<set hashPush($nationalities, "Syrian")>> + <<set hashPush($nationalities, "Azerbaijani")>> + <<set hashPush($nationalities, "Bahraini")>> + <<set hashPush($nationalities, "Cypriot")>> + <<set hashPush($nationalities, "Georgian")>> + <<set hashPush($nationalities, "Kuwaiti")>> + <<set hashPush($nationalities, "Qatari")>> + <<set hashPush($nationalities, "Palestinian")>> <</if>> <<case "Africa">> <<set $arcologies[0].FSSupremacistRace = "black">> <<set $arcologies[0].FSSubjugationistRace = "white">> <<if ndef $customVariety>> - <<set $nationalities.push("Nigerian", "Nigerian", "Nigerian")>> - <<set $nationalities.push("South African","South African","South African")>> - <<set $nationalities.push("Kenyan", "Kenyan")>> - <<set $nationalities.push("Congolese", "Congolese")>> - <<set $nationalities.push("Ethiopian", "Ethiopian")>> - <<set $nationalities.push("Algerian","Algerian")>> - <<set $nationalities.push("Sudanese","Sudanese")>> - <<set $nationalities.push("Moroccan")>> - <<set $nationalities.push("Ghanan")>> - <<set $nationalities.push("Tunisian")>> - <<set $nationalities.push("Malian")>> - <<set $nationalities.push("Libyan")>> - <<set $nationalities.push("Zimbabwean")>> - <<set $nationalities.push("Tanzanian")>> - <<set $nationalities.push("Ugandan")>> - <<set $nationalities.push("Cameroonian")>> - <<set $nationalities.push("Gabonese")>> - <<set $nationalities.push("Djiboutian")>> - <<set $nationalities.push("Zambian")>> - <<set $nationalities.push("Malagasy")>> - <<set $nationalities.push("Nigerien")>> - <<set $nationalities.push("Burundian")>> - <<set $nationalities.push("Seychellois")>> + <<set hashPush($nationalities, "Nigerian", "Nigerian", "Nigerian")>> + <<set hashPush($nationalities, "South African","South African","South African")>> + <<set hashPush($nationalities, "Kenyan", "Kenyan")>> + <<set hashPush($nationalities, "Congolese", "Congolese")>> + <<set hashPush($nationalities, "Ethiopian", "Ethiopian")>> + <<set hashPush($nationalities, "Algerian","Algerian")>> + <<set hashPush($nationalities, "Sudanese","Sudanese")>> + <<set hashPush($nationalities, "Moroccan")>> + <<set hashPush($nationalities, "Ghanan")>> + <<set hashPush($nationalities, "Tunisian")>> + <<set hashPush($nationalities, "Malian")>> + <<set hashPush($nationalities, "Libyan")>> + <<set hashPush($nationalities, "Zimbabwean")>> + <<set hashPush($nationalities, "Tanzanian")>> + <<set hashPush($nationalities, "Ugandan")>> + <<set hashPush($nationalities, "Cameroonian")>> + <<set hashPush($nationalities, "Gabonese")>> + <<set hashPush($nationalities, "Djiboutian")>> + <<set hashPush($nationalities, "Zambian")>> + <<set hashPush($nationalities, "Malagasy")>> + <<set hashPush($nationalities, "Nigerien")>> + <<set hashPush($nationalities, "Burundian")>> + <<set hashPush($nationalities, "Seychellois")>> <</if>> <<case "Asia">> <<set $arcologies[0].FSSupremacistRace = "asian">> <<set $arcologies[0].FSSubjugationistRace = "indo-aryan">> <<if ndef $customVariety>> - <<set $nationalities.push("Chinese","Chinese","Chinese","Chinese","Chinese","Chinese","Chinese","Chinese","Chinese","Chinese","Chinese","Chinese","Chinese","Chinese")>> - <<set $nationalities.push("Indian","Indian","Indian","Indian","Indian","Indian","Indian","Indian","Indian","Indian")>> - <<set $nationalities.push("Indonesian","Indonesian","Indonesian")>> - <<set $nationalities.push("Bangladeshi","Bangladeshi","Bangladeshi")>> - <<set $nationalities.push("Thai","Thai")>> - <<set $nationalities.push("Vietnamese","Vietnamese")>> - <<set $nationalities.push("Korean","Korean")>> - <<set $nationalities.push("Pakistani","Pakistani")>> - <<set $nationalities.push("Filipina","Filipina")>> - <<set $nationalities.push("Japanese","Japanese")>> - <<set $nationalities.push("Burmese","Burmese")>> - <<set $nationalities.push("Malaysian", "Malaysian")>> - <<set $nationalities.push("Uzbek")>> - <<set $nationalities.push("Nepalese")>> - <<set $nationalities.push("Kazakh")>> - <<set $nationalities.push("Cambodian")>> - <<set $nationalities.push("Bruneian")>> - <<set $nationalities.push("Singaporean")>> - <<set $nationalities.push("Laotian")>> - <<set $nationalities.push("Mongolian")>> - <<set $nationalities.push("Taiwanese")>> - <<set $nationalities.push("Maldivian")>> - <<set $nationalities.push("Bhutanese")>> - <<set $nationalities.push("East Timorese")>> - <<set $nationalities.push("Kyrgyz")>> - <<set $nationalities.push("Sri Lankan")>> - <<set $nationalities.push("Tajik")>> - <<set $nationalities.push("Turkmen")>> + <<set hashPush($nationalities, "Chinese","Chinese","Chinese","Chinese","Chinese","Chinese","Chinese","Chinese","Chinese","Chinese","Chinese","Chinese","Chinese","Chinese")>> + <<set hashPush($nationalities, "Indian","Indian","Indian","Indian","Indian","Indian","Indian","Indian","Indian","Indian")>> + <<set hashPush($nationalities, "Indonesian","Indonesian","Indonesian")>> + <<set hashPush($nationalities, "Bangladeshi","Bangladeshi","Bangladeshi")>> + <<set hashPush($nationalities, "Thai","Thai")>> + <<set hashPush($nationalities, "Vietnamese","Vietnamese")>> + <<set hashPush($nationalities, "Korean","Korean")>> + <<set hashPush($nationalities, "Pakistani","Pakistani")>> + <<set hashPush($nationalities, "Filipina","Filipina")>> + <<set hashPush($nationalities, "Japanese","Japanese")>> + <<set hashPush($nationalities, "Burmese","Burmese")>> + <<set hashPush($nationalities, "Malaysian", "Malaysian")>> + <<set hashPush($nationalities, "Uzbek")>> + <<set hashPush($nationalities, "Nepalese")>> + <<set hashPush($nationalities, "Kazakh")>> + <<set hashPush($nationalities, "Cambodian")>> + <<set hashPush($nationalities, "Bruneian")>> + <<set hashPush($nationalities, "Singaporean")>> + <<set hashPush($nationalities, "Laotian")>> + <<set hashPush($nationalities, "Mongolian")>> + <<set hashPush($nationalities, "Taiwanese")>> + <<set hashPush($nationalities, "Maldivian")>> + <<set hashPush($nationalities, "Bhutanese")>> + <<set hashPush($nationalities, "East Timorese")>> + <<set hashPush($nationalities, "Kyrgyz")>> + <<set hashPush($nationalities, "Sri Lankan")>> + <<set hashPush($nationalities, "Tajik")>> + <<set hashPush($nationalities, "Turkmen")>> <</if>> <<case "Europe">> <<set $arcologies[0].FSSupremacistRace = "white">> <<set $arcologies[0].FSSubjugationistRace = "middle eastern">> <<if ndef $customVariety>> - <<set $nationalities.push("Russian", "Russian", "Russian", "Russian")>> - <<set $nationalities.push("German", "German", "German")>> - <<set $nationalities.push("Belarusian","Belarusian")>> - <<set $nationalities.push("Ukrainian", "Ukrainian")>> - <<set $nationalities.push("French", "French")>> - <<set $nationalities.push("Italian", "Italian")>> - <<set $nationalities.push("Spanish", "Spanish")>> - <<set $nationalities.push("British", "British")>> - <<set $nationalities.push("Polish", "Polish")>> - <<set $nationalities.push("Swedish")>> - <<set $nationalities.push("Romanian")>> - <<set $nationalities.push("Lithuanian")>> - <<set $nationalities.push("Irish")>> - <<set $nationalities.push("Scottish")>> - <<set $nationalities.push("Icelandic")>> - <<set $nationalities.push("Finnish")>> - <<set $nationalities.push("Greek")>> - <<set $nationalities.push("Belgian")>> - <<set $nationalities.push("Danish")>> - <<set $nationalities.push("Czech")>> - <<set $nationalities.push("Serbian")>> - <<set $nationalities.push("Slovak")>> - <<set $nationalities.push("Norwegian")>> - <<set $nationalities.push("Dutch")>> - <<set $nationalities.push("Austrian")>> - <<set $nationalities.push("Swiss")>> - <<set $nationalities.push("Portuguese")>> - <<set $nationalities.push("Hungarian")>> - <<set $nationalities.push("Estonian")>> - <<set $nationalities.push("Sammarinese")>> - <<set $nationalities.push("Monégasque")>> - <<set $nationalities.push("Montenegrin")>> - <<set $nationalities.push("Albanian")>> - <<set $nationalities.push("Bosnian")>> - <<set $nationalities.push("Croatian")>> - <<set $nationalities.push("Kosovan")>> - <<set $nationalities.push("Macedonian")>> - <<set $nationalities.push("Maltese")>> - <<set $nationalities.push("Andorran")>> - <<set $nationalities.push("Bulgarian")>> - <<set $nationalities.push("Luxembourgian")>> - <<set $nationalities.push("Moldovan")>> - <<set $nationalities.push("a Liechtensteiner")>> - <<set $nationalities.push("Vatican")>> - <<set $nationalities.push("Belarusian")>> - <<set $nationalities.push("Latvian")>> - <<set $nationalities.push("Slovene")>> + <<set hashPush($nationalities, "Russian", "Russian", "Russian", "Russian")>> + <<set hashPush($nationalities, "German", "German", "German")>> + <<set hashPush($nationalities, "Belarusian","Belarusian")>> + <<set hashPush($nationalities, "Ukrainian", "Ukrainian")>> + <<set hashPush($nationalities, "French", "French")>> + <<set hashPush($nationalities, "Italian", "Italian")>> + <<set hashPush($nationalities, "Spanish", "Spanish")>> + <<set hashPush($nationalities, "British", "British")>> + <<set hashPush($nationalities, "Polish", "Polish")>> + <<set hashPush($nationalities, "Swedish")>> + <<set hashPush($nationalities, "Romanian")>> + <<set hashPush($nationalities, "Lithuanian")>> + <<set hashPush($nationalities, "Irish")>> + <<set hashPush($nationalities, "Scottish")>> + <<set hashPush($nationalities, "Icelandic")>> + <<set hashPush($nationalities, "Finnish")>> + <<set hashPush($nationalities, "Greek")>> + <<set hashPush($nationalities, "Belgian")>> + <<set hashPush($nationalities, "Danish")>> + <<set hashPush($nationalities, "Czech")>> + <<set hashPush($nationalities, "Serbian")>> + <<set hashPush($nationalities, "Slovak")>> + <<set hashPush($nationalities, "Norwegian")>> + <<set hashPush($nationalities, "Dutch")>> + <<set hashPush($nationalities, "Austrian")>> + <<set hashPush($nationalities, "Swiss")>> + <<set hashPush($nationalities, "Portuguese")>> + <<set hashPush($nationalities, "Hungarian")>> + <<set hashPush($nationalities, "Estonian")>> + <<set hashPush($nationalities, "Sammarinese")>> + <<set hashPush($nationalities, "Monégasque")>> + <<set hashPush($nationalities, "Montenegrin")>> + <<set hashPush($nationalities, "Albanian")>> + <<set hashPush($nationalities, "Bosnian")>> + <<set hashPush($nationalities, "Croatian")>> + <<set hashPush($nationalities, "Kosovan")>> + <<set hashPush($nationalities, "Macedonian")>> + <<set hashPush($nationalities, "Maltese")>> + <<set hashPush($nationalities, "Andorran")>> + <<set hashPush($nationalities, "Bulgarian")>> + <<set hashPush($nationalities, "Luxembourgian")>> + <<set hashPush($nationalities, "Moldovan")>> + <<set hashPush($nationalities, "a Liechtensteiner")>> + <<set hashPush($nationalities, "Vatican")>> + <<set hashPush($nationalities, "Belarusian")>> + <<set hashPush($nationalities, "Latvian")>> + <<set hashPush($nationalities, "Slovene")>> <</if>> <<case "Australia">> <<set $arcologies[0].FSSupremacistRace = "white">> <<set $arcologies[0].FSSubjugationistRace = "asian">> - <<set $nationalities.push("Australian","Australian","Australian")>> - <<set $nationalities.push("a New Zealander")>> - <<set $nationalities.push("Marshallese")>> - <<set $nationalities.push("Tuvaluan")>> - <<set $nationalities.push("I-Kiribati")>> - <<set $nationalities.push("Nauruan")>> - <<set $nationalities.push("Micronesian")>> - <<set $nationalities.push("Palauan")>> - <<set $nationalities.push("Papua New Guinean")>> - <<set $nationalities.push("a Cook Islander")>> - <<set $nationalities.push("Fijian")>> - <<set $nationalities.push("Ni-Vanuatu")>> - <<set $nationalities.push("Niuean")>> - <<set $nationalities.push("Samoan")>> - <<set $nationalities.push("a Solomon Islander")>> - <<set $nationalities.push("Tongan")>> + <<set hashPush($nationalities, "Australian","Australian","Australian")>> + <<set hashPush($nationalities, "a New Zealander")>> + <<set hashPush($nationalities, "Marshallese")>> + <<set hashPush($nationalities, "Tuvaluan")>> + <<set hashPush($nationalities, "I-Kiribati")>> + <<set hashPush($nationalities, "Nauruan")>> + <<set hashPush($nationalities, "Micronesian")>> + <<set hashPush($nationalities, "Palauan")>> + <<set hashPush($nationalities, "Papua New Guinean")>> + <<set hashPush($nationalities, "a Cook Islander")>> + <<set hashPush($nationalities, "Fijian")>> + <<set hashPush($nationalities, "Ni-Vanuatu")>> + <<set hashPush($nationalities, "Niuean")>> + <<set hashPush($nationalities, "Samoan")>> + <<set hashPush($nationalities, "a Solomon Islander")>> + <<set hashPush($nationalities, "Tongan")>> <<case "Japan">> <<set $arcologies[0].FSSupremacistRace = "asian">> <<set $arcologies[0].FSSubjugationistRace = "asian">> <<if ndef $customVariety>> - <<set $nationalities.push("Japanese","Japanese","Japanese")>> + <<set hashPush($nationalities, "Japanese","Japanese","Japanese")>> <</if>> <</switch>> <</if>> @@ -332,181 +332,181 @@ <<if $internationalTrade != 0>> <<set $nationalities = clone(setup.baseNationalities)>> <<if $internationalVariety == 0>> - <<set $nationalities.push("Chinese","Chinese","Chinese","Chinese","Chinese","Chinese","Chinese","Chinese","Chinese","Chinese","Chinese","Chinese","Chinese","Chinese")>> - <<set $nationalities.push("Indian","Indian","Indian","Indian","Indian","Indian","Indian","Indian","Indian","Indian")>> - <<set $nationalities.push("American","American","American","American")>> - <<set $nationalities.push("Indonesian","Indonesian","Indonesian","Indonesian")>> - <<set $nationalities.push("Bangladeshi","Bangladeshi","Bangladeshi")>> - <<set $nationalities.push("Russian","Russian","Russian")>> - <<set $nationalities.push("Belarusian","Belarusian","Belarusian")>> - <<set $nationalities.push("Nigerian","Nigerian","Nigerian")>> - <<set $nationalities.push("South African","South African","South African")>> - <<set $nationalities.push("Brazilian","Brazilian","Brazilian")>> - <<set $nationalities.push("Mexican","Mexican","Mexican")>> - <<set $nationalities.push("Dominican","Dominican","Dominican")>> - <<set $nationalities.push("Argentinian","Argentinian")>> - <<set $nationalities.push("Egyptian","Egyptian")>> - <<set $nationalities.push("Pakistani","Pakistani")>> - <<set $nationalities.push("Filipina","Filipina")>> - <<set $nationalities.push("Vietnamese","Vietnamese")>> - <<set $nationalities.push("Iranian","Iranian")>> - <<set $nationalities.push("Korean","Korean")>> - <<set $nationalities.push("Japanese","Japanese")>> - <<set $nationalities.push("Thai","Thai")>> - <<set $nationalities.push("Turkish","Turkish")>> - <<set $nationalities.push("Ethiopian","Ethiopian")>> - <<set $nationalities.push("Kenyan", "Kenyan")>> - <<set $nationalities.push("Congolese","Congolese")>> - <<set $nationalities.push("Colombian","Colombian")>> - <<set $nationalities.push("Venezuelan","Venezuelan")>> - <<set $nationalities.push("German","German")>> - <<set $nationalities.push("French","French")>> - <<set $nationalities.push("British","British")>> - <<set $nationalities.push("Italian","Italian")>> - <<set $nationalities.push("Spanish","Spanish")>> - <<set $nationalities.push("Ukrainian","Ukrainian")>> - <<set $nationalities.push("Polish","Polish")>> - <<set $nationalities.push("Burmese","Burmese")>> - <<set $nationalities.push("Algerian","Algerian")>> - <<set $nationalities.push("Sudanese","Sudanese")>> - <<set $nationalities.push("Malaysian", "Malaysian")>> - <<set $nationalities.push("Lebanese")>> - <<set $nationalities.push("Tunisian")>> - <<set $nationalities.push("Emirati")>> - <<set $nationalities.push("Libyan")>> - <<set $nationalities.push("Jordanian")>> - <<set $nationalities.push("Omani")>> - <<set $nationalities.push("Malian")>> - <<set $nationalities.push("Iraqi")>> - <<set $nationalities.push("Uzbek")>> - <<set $nationalities.push("Nepalese")>> - <<set $nationalities.push("Afghan")>> - <<set $nationalities.push("Yemeni")>> - <<set $nationalities.push("Saudi")>> - <<set $nationalities.push("Australian")>> - <<set $nationalities.push("Ghanan")>> - <<set $nationalities.push("Canadian")>> - <<set $nationalities.push("Peruvian")>> - <<set $nationalities.push("Chilean")>> - <<set $nationalities.push("Guatemalan")>> - <<set $nationalities.push("a New Zealander")>> - <<set $nationalities.push("Irish")>> - <<set $nationalities.push("Scottish")>> - <<set $nationalities.push("Icelandic")>> - <<set $nationalities.push("Finnish")>> - <<set $nationalities.push("Israeli")>> - <<set $nationalities.push("Armenian")>> - <<set $nationalities.push("Greek")>> - <<set $nationalities.push("Moroccan")>> - <<set $nationalities.push("Zimbabwean")>> - <<set $nationalities.push("Tanzanian")>> - <<set $nationalities.push("Ugandan")>> - <<set $nationalities.push("Romanian")>> - <<set $nationalities.push("Swedish")>> - <<set $nationalities.push("Belgian")>> - <<set $nationalities.push("Danish")>> - <<set $nationalities.push("Czech")>> - <<set $nationalities.push("Serbian")>> - <<set $nationalities.push("Slovak")>> - <<set $nationalities.push("Norwegian")>> - <<set $nationalities.push("Dutch")>> - <<set $nationalities.push("Austrian")>> - <<set $nationalities.push("Swiss")>> - <<set $nationalities.push("Portuguese")>> - <<set $nationalities.push("Hungarian")>> - <<set $nationalities.push("Estonian")>> - <<set $nationalities.push("Lithuanian")>> - <<set $nationalities.push("Bolivian")>> - <<set $nationalities.push("Haitian")>> - <<set $nationalities.push("Puerto Rican")>> - <<set $nationalities.push("Jamaican")>> - <<set $nationalities.push("Cuban")>> - <<set $nationalities.push("Kazakh")>> - <<set $nationalities.push("Sammarinese")>> - <<set $nationalities.push("Marshallese")>> - <<set $nationalities.push("Syrian")>> - <<set $nationalities.push("Bermudian")>> - <<set $nationalities.push("Uruguayan")>> - <<set $nationalities.push("Monégasque")>> - <<set $nationalities.push("Montenegrin")>> - <<set $nationalities.push("Cambodian")>> - <<set $nationalities.push("Cameroonian")>> - <<set $nationalities.push("Gabonese")>> - <<set $nationalities.push("Djiboutian")>> - <<set $nationalities.push("Greenlandic")>> - <<set $nationalities.push("Tuvaluan")>> - <<set $nationalities.push("Zambian")>> - <<set $nationalities.push("Albanian")>> - <<set $nationalities.push("Bruneian")>> - <<set $nationalities.push("Singaporean")>> - <<set $nationalities.push("Laotian")>> - <<set $nationalities.push("Mongolian")>> - <<set $nationalities.push("Taiwanese")>> - <<set $nationalities.push("Belizean")>> - <<set $nationalities.push("Grenadian")>> - <<set $nationalities.push("I-Kiribati")>> - <<set $nationalities.push("Malagasy")>> - <<set $nationalities.push("Maldivian")>> - <<set $nationalities.push("Bosnian")>> - <<set $nationalities.push("Croatian")>> - <<set $nationalities.push("Kosovan")>> - <<set $nationalities.push("Macedonian")>> - <<set $nationalities.push("Honduran")>> - <<set $nationalities.push("Maltese")>> - <<set $nationalities.push("Nauruan")>> - <<set $nationalities.push("Micronesian")>> - <<set $nationalities.push("Costa Rican")>> - <<set $nationalities.push("Salvadoran")>> - <<set $nationalities.push("Nicaraguan")>> - <<set $nationalities.push("Panamanian")>> - <<set $nationalities.push("Nigerien")>> - <<set $nationalities.push("Andorran")>> - <<set $nationalities.push("Bulgarian")>> - <<set $nationalities.push("Luxembourgian")>> - <<set $nationalities.push("Moldovan")>> - <<set $nationalities.push("Bahamian")>> - <<set $nationalities.push("Barbadian")>> - <<set $nationalities.push("Dominiquais")>> - <<set $nationalities.push("Trinidadian")>> - <<set $nationalities.push("Palauan")>> - <<set $nationalities.push("Papua New Guinean")>> - <<set $nationalities.push("Kittitian")>> - <<set $nationalities.push("Ecuadorian")>> - <<set $nationalities.push("French Guianan")>> - <<set $nationalities.push("Guyanese")>> - <<set $nationalities.push("Paraguayan")>> - <<set $nationalities.push("Surinamese")>> - <<set $nationalities.push("Bhutanese")>> - <<set $nationalities.push("East Timorese")>> - <<set $nationalities.push("Kyrgyz")>> - <<set $nationalities.push("Sri Lankan")>> - <<set $nationalities.push("a Liechtensteiner")>> - <<set $nationalities.push("Vatican")>> - <<set $nationalities.push("Belarusian")>> - <<set $nationalities.push("Burundian")>> - <<set $nationalities.push("Latvian")>> - <<set $nationalities.push("Seychellois")>> - <<set $nationalities.push("Slovene")>> - <<set $nationalities.push("Antiguan")>> - <<set $nationalities.push("Saint Lucian")>> - <<set $nationalities.push("Aruban")>> - <<set $nationalities.push("Azerbaijani")>> - <<set $nationalities.push("Bahraini")>> - <<set $nationalities.push("Cypriot")>> - <<set $nationalities.push("Georgian")>> - <<set $nationalities.push("Kuwaiti")>> - <<set $nationalities.push("Qatari")>> - <<set $nationalities.push("Tajik")>> - <<set $nationalities.push("Turkmen")>> - <<set $nationalities.push("Vincentian")>> - <<set $nationalities.push("a Cook Islander")>> - <<set $nationalities.push("Fijian")>> - <<set $nationalities.push("Ni-Vanuatu")>> - <<set $nationalities.push("Niuean")>> - <<set $nationalities.push("Palestinian")>> - <<set $nationalities.push("Samoan")>> - <<set $nationalities.push("a Solomon Islander")>> - <<set $nationalities.push("Tongan")>> + <<set hashPush($nationalities, "Chinese","Chinese","Chinese","Chinese","Chinese","Chinese","Chinese","Chinese","Chinese","Chinese","Chinese","Chinese","Chinese","Chinese")>> + <<set hashPush($nationalities, "Indian","Indian","Indian","Indian","Indian","Indian","Indian","Indian","Indian","Indian")>> + <<set hashPush($nationalities, "American","American","American","American")>> + <<set hashPush($nationalities, "Indonesian","Indonesian","Indonesian","Indonesian")>> + <<set hashPush($nationalities, "Bangladeshi","Bangladeshi","Bangladeshi")>> + <<set hashPush($nationalities, "Russian","Russian","Russian")>> + <<set hashPush($nationalities, "Belarusian","Belarusian","Belarusian")>> + <<set hashPush($nationalities, "Nigerian","Nigerian","Nigerian")>> + <<set hashPush($nationalities, "South African","South African","South African")>> + <<set hashPush($nationalities, "Brazilian","Brazilian","Brazilian")>> + <<set hashPush($nationalities, "Mexican","Mexican","Mexican")>> + <<set hashPush($nationalities, "Dominican","Dominican","Dominican")>> + <<set hashPush($nationalities, "Argentinian","Argentinian")>> + <<set hashPush($nationalities, "Egyptian","Egyptian")>> + <<set hashPush($nationalities, "Pakistani","Pakistani")>> + <<set hashPush($nationalities, "Filipina","Filipina")>> + <<set hashPush($nationalities, "Vietnamese","Vietnamese")>> + <<set hashPush($nationalities, "Iranian","Iranian")>> + <<set hashPush($nationalities, "Korean","Korean")>> + <<set hashPush($nationalities, "Japanese","Japanese")>> + <<set hashPush($nationalities, "Thai","Thai")>> + <<set hashPush($nationalities, "Turkish","Turkish")>> + <<set hashPush($nationalities, "Ethiopian","Ethiopian")>> + <<set hashPush($nationalities, "Kenyan", "Kenyan")>> + <<set hashPush($nationalities, "Congolese","Congolese")>> + <<set hashPush($nationalities, "Colombian","Colombian")>> + <<set hashPush($nationalities, "Venezuelan","Venezuelan")>> + <<set hashPush($nationalities, "German","German")>> + <<set hashPush($nationalities, "French","French")>> + <<set hashPush($nationalities, "British","British")>> + <<set hashPush($nationalities, "Italian","Italian")>> + <<set hashPush($nationalities, "Spanish","Spanish")>> + <<set hashPush($nationalities, "Ukrainian","Ukrainian")>> + <<set hashPush($nationalities, "Polish","Polish")>> + <<set hashPush($nationalities, "Burmese","Burmese")>> + <<set hashPush($nationalities, "Algerian","Algerian")>> + <<set hashPush($nationalities, "Sudanese","Sudanese")>> + <<set hashPush($nationalities, "Malaysian", "Malaysian")>> + <<set hashPush($nationalities, "Lebanese")>> + <<set hashPush($nationalities, "Tunisian")>> + <<set hashPush($nationalities, "Emirati")>> + <<set hashPush($nationalities, "Libyan")>> + <<set hashPush($nationalities, "Jordanian")>> + <<set hashPush($nationalities, "Omani")>> + <<set hashPush($nationalities, "Malian")>> + <<set hashPush($nationalities, "Iraqi")>> + <<set hashPush($nationalities, "Uzbek")>> + <<set hashPush($nationalities, "Nepalese")>> + <<set hashPush($nationalities, "Afghan")>> + <<set hashPush($nationalities, "Yemeni")>> + <<set hashPush($nationalities, "Saudi")>> + <<set hashPush($nationalities, "Australian")>> + <<set hashPush($nationalities, "Ghanan")>> + <<set hashPush($nationalities, "Canadian")>> + <<set hashPush($nationalities, "Peruvian")>> + <<set hashPush($nationalities, "Chilean")>> + <<set hashPush($nationalities, "Guatemalan")>> + <<set hashPush($nationalities, "a New Zealander")>> + <<set hashPush($nationalities, "Irish")>> + <<set hashPush($nationalities, "Scottish")>> + <<set hashPush($nationalities, "Icelandic")>> + <<set hashPush($nationalities, "Finnish")>> + <<set hashPush($nationalities, "Israeli")>> + <<set hashPush($nationalities, "Armenian")>> + <<set hashPush($nationalities, "Greek")>> + <<set hashPush($nationalities, "Moroccan")>> + <<set hashPush($nationalities, "Zimbabwean")>> + <<set hashPush($nationalities, "Tanzanian")>> + <<set hashPush($nationalities, "Ugandan")>> + <<set hashPush($nationalities, "Romanian")>> + <<set hashPush($nationalities, "Swedish")>> + <<set hashPush($nationalities, "Belgian")>> + <<set hashPush($nationalities, "Danish")>> + <<set hashPush($nationalities, "Czech")>> + <<set hashPush($nationalities, "Serbian")>> + <<set hashPush($nationalities, "Slovak")>> + <<set hashPush($nationalities, "Norwegian")>> + <<set hashPush($nationalities, "Dutch")>> + <<set hashPush($nationalities, "Austrian")>> + <<set hashPush($nationalities, "Swiss")>> + <<set hashPush($nationalities, "Portuguese")>> + <<set hashPush($nationalities, "Hungarian")>> + <<set hashPush($nationalities, "Estonian")>> + <<set hashPush($nationalities, "Lithuanian")>> + <<set hashPush($nationalities, "Bolivian")>> + <<set hashPush($nationalities, "Haitian")>> + <<set hashPush($nationalities, "Puerto Rican")>> + <<set hashPush($nationalities, "Jamaican")>> + <<set hashPush($nationalities, "Cuban")>> + <<set hashPush($nationalities, "Kazakh")>> + <<set hashPush($nationalities, "Sammarinese")>> + <<set hashPush($nationalities, "Marshallese")>> + <<set hashPush($nationalities, "Syrian")>> + <<set hashPush($nationalities, "Bermudian")>> + <<set hashPush($nationalities, "Uruguayan")>> + <<set hashPush($nationalities, "Monégasque")>> + <<set hashPush($nationalities, "Montenegrin")>> + <<set hashPush($nationalities, "Cambodian")>> + <<set hashPush($nationalities, "Cameroonian")>> + <<set hashPush($nationalities, "Gabonese")>> + <<set hashPush($nationalities, "Djiboutian")>> + <<set hashPush($nationalities, "Greenlandic")>> + <<set hashPush($nationalities, "Tuvaluan")>> + <<set hashPush($nationalities, "Zambian")>> + <<set hashPush($nationalities, "Albanian")>> + <<set hashPush($nationalities, "Bruneian")>> + <<set hashPush($nationalities, "Singaporean")>> + <<set hashPush($nationalities, "Laotian")>> + <<set hashPush($nationalities, "Mongolian")>> + <<set hashPush($nationalities, "Taiwanese")>> + <<set hashPush($nationalities, "Belizean")>> + <<set hashPush($nationalities, "Grenadian")>> + <<set hashPush($nationalities, "I-Kiribati")>> + <<set hashPush($nationalities, "Malagasy")>> + <<set hashPush($nationalities, "Maldivian")>> + <<set hashPush($nationalities, "Bosnian")>> + <<set hashPush($nationalities, "Croatian")>> + <<set hashPush($nationalities, "Kosovan")>> + <<set hashPush($nationalities, "Macedonian")>> + <<set hashPush($nationalities, "Honduran")>> + <<set hashPush($nationalities, "Maltese")>> + <<set hashPush($nationalities, "Nauruan")>> + <<set hashPush($nationalities, "Micronesian")>> + <<set hashPush($nationalities, "Costa Rican")>> + <<set hashPush($nationalities, "Salvadoran")>> + <<set hashPush($nationalities, "Nicaraguan")>> + <<set hashPush($nationalities, "Panamanian")>> + <<set hashPush($nationalities, "Nigerien")>> + <<set hashPush($nationalities, "Andorran")>> + <<set hashPush($nationalities, "Bulgarian")>> + <<set hashPush($nationalities, "Luxembourgian")>> + <<set hashPush($nationalities, "Moldovan")>> + <<set hashPush($nationalities, "Bahamian")>> + <<set hashPush($nationalities, "Barbadian")>> + <<set hashPush($nationalities, "Dominiquais")>> + <<set hashPush($nationalities, "Trinidadian")>> + <<set hashPush($nationalities, "Palauan")>> + <<set hashPush($nationalities, "Papua New Guinean")>> + <<set hashPush($nationalities, "Kittitian")>> + <<set hashPush($nationalities, "Ecuadorian")>> + <<set hashPush($nationalities, "French Guianan")>> + <<set hashPush($nationalities, "Guyanese")>> + <<set hashPush($nationalities, "Paraguayan")>> + <<set hashPush($nationalities, "Surinamese")>> + <<set hashPush($nationalities, "Bhutanese")>> + <<set hashPush($nationalities, "East Timorese")>> + <<set hashPush($nationalities, "Kyrgyz")>> + <<set hashPush($nationalities, "Sri Lankan")>> + <<set hashPush($nationalities, "a Liechtensteiner")>> + <<set hashPush($nationalities, "Vatican")>> + <<set hashPush($nationalities, "Belarusian")>> + <<set hashPush($nationalities, "Burundian")>> + <<set hashPush($nationalities, "Latvian")>> + <<set hashPush($nationalities, "Seychellois")>> + <<set hashPush($nationalities, "Slovene")>> + <<set hashPush($nationalities, "Antiguan")>> + <<set hashPush($nationalities, "Saint Lucian")>> + <<set hashPush($nationalities, "Aruban")>> + <<set hashPush($nationalities, "Azerbaijani")>> + <<set hashPush($nationalities, "Bahraini")>> + <<set hashPush($nationalities, "Cypriot")>> + <<set hashPush($nationalities, "Georgian")>> + <<set hashPush($nationalities, "Kuwaiti")>> + <<set hashPush($nationalities, "Qatari")>> + <<set hashPush($nationalities, "Tajik")>> + <<set hashPush($nationalities, "Turkmen")>> + <<set hashPush($nationalities, "Vincentian")>> + <<set hashPush($nationalities, "a Cook Islander")>> + <<set hashPush($nationalities, "Fijian")>> + <<set hashPush($nationalities, "Ni-Vanuatu")>> + <<set hashPush($nationalities, "Niuean")>> + <<set hashPush($nationalities, "Palestinian")>> + <<set hashPush($nationalities, "Samoan")>> + <<set hashPush($nationalities, "a Solomon Islander")>> + <<set hashPush($nationalities, "Tongan")>> <</if>> <</if>> <</if>> diff --git a/src/events/intro/introSummary.tw b/src/events/intro/introSummary.tw index 54ab15e75c3f1abb5efcce0e2e3270419b8aef83..e4cc8076265e612dc6c25f347333dd6e7bcd2a07 100644 --- a/src/events/intro/introSummary.tw +++ b/src/events/intro/introSummary.tw @@ -75,10 +75,10 @@ You are using standardized slave trading channels. [[Customize the slave trade|C <<silently>><<include "Customize Slave Trade">><</silently>> <</if>> <br style="clear:both" /><hr style="margin:0"> - <<for _i = 0; _i < $nationalitiescheck.length; _i++>> - <<set _nation = $nationalitiescheck[_i]>> - <<print _nation>> @@.orange;<<print (($nationalities.count(_nation)/$nationalities.length)*100).toFixed(2)>>%@@ - <<if _i < $nationalitiescheck.length-1>> | <</if>> + <<set _len = Object.keys($nationalitiescheck).length>> + <<for _nation, _i range $nationalitiescheck>> + <<print _nation>> @@.orange;<<print (($nationalities[_nation]/hashSum($nationalities))*100).toFixed(2)>>%@@ + <<if _i < _len-1>> | <</if>> <</for>> <br style="clear:both" /><hr style="margin:0"> <</if>> /* closes $customVariety is defined */ diff --git a/src/init/setupVars.tw b/src/init/setupVars.tw index 18ceda704bb852a199a18273279a7b9aedb01eb7..e47f576de963d326c45f2b3388c7eec55fea6f33 100644 --- a/src/init/setupVars.tw +++ b/src/init/setupVars.tw @@ -45,187 +45,184 @@ /*** pregmod exclusive end ***/ -/* Helper method to turn objects like {white: 5, black: 2, asian: 1} into weighted arrays */ -<<set window.weightedArray = function(obj) { return _(obj).toPairs().filter(p => _.isSafeInteger(p[1]) && p[1] > 0).flatMap(p => Array(p[1]).fill(p[0])).value(); }>> - -/* Nationality-to-race weighted arrays */ +/* Nationality-to-race weighted objects */ <<set setup.raceSelector = { - "Afghan": weightedArray({"indo-aryan": 9, "middle eastern": 9, "mixed race": 2}), - "Algerian": weightedArray({"middle eastern": 9, "mixed race": 1}), - "American": weightedArray({black: 1, "middle eastern": 1, white: 3, latina: 2, asian: 1, amerindian: 1, "mixed race": 2}), - "Argentinian": weightedArray({white: 3, latina: 6, "mixed race": 1}), - "Armenian": weightedArray({"indo-aryan": 9, semitic: 9, "mixed race": 2}), - "Australian": weightedArray({white: 14, black: 2, asian: 4, "mixed race": 1}), - "Austrian": weightedArray({white: 9, "mixed race": 1}), - "Bangladeshi": weightedArray({"indo-aryan": 9, "mixed race": 1}), - "Belarusian": weightedArray({white: 9, "mixed race": 1}), - "Belgian": weightedArray({white: 9, "mixed race": 1}), - "Bolivian": weightedArray({latina: 9, amerindian: 9, "mixed race": 2}), - "Brazilian": weightedArray({black: 1, latina: 1, "mixed race": 3, amerindian: 1, white: 2, asian: 1}), - "British": weightedArray({"indo-aryan": 1, black: 1, white: 8, semitic: 1, "mixed race": 1}), - "Burmese": weightedArray({asian: 6, "indo-aryan": 3, "mixed race": 1}), - "Canadian": weightedArray({white: 16, asian: 2, amerindian: 2, "mixed race": 1}), - "Chilean": weightedArray({white: 2, latina: 6, "mixed race": 1}), - "Chinese": weightedArray({asian: 9, "mixed race": 1}), - "Colombian": weightedArray({latina: 9, "mixed race": 1}), - "Congolese": weightedArray({black: 9, "mixed race": 1}), - "Cuban": weightedArray({latina: 9, black: 9, "mixed race": 2}), - "Czech": weightedArray({white: 9, "mixed race": 1}), - "Danish": weightedArray({white: 9, "mixed race": 1}), - "Dominican": weightedArray({"mixed race": 7, white: 2, black: 1}), - "Dutch": weightedArray({white: 9, "mixed race": 1}), - "Egyptian": weightedArray({black: 2, "middle eastern": 6, semitic: 2, "mixed race": 1}), - "Emirati": weightedArray({"middle eastern": 9, "indo-aryan": 9, "mixed race": 2}), - "Estonian": weightedArray({white: 9, "mixed race": 1}), - "Ethiopian": weightedArray({black: 6, "middle eastern": 2, semitic: 2, "mixed race": 1}), - "Filipina": weightedArray({asian: 2, malay: 4, "pacific islander": 2, "mixed race": 1}), - "Finnish": weightedArray({white: 9, "mixed race": 1}), - "French": weightedArray({black: 1, "middle eastern": 1, white: 5, "southern european": 1, "mixed race": 1}), - "German": weightedArray({black: 1, "middle eastern": 1, white: 6, "mixed race": 1}), - "Ghanan": weightedArray({black: 6, semitic: 2, "mixed race": 1}), - "Greek": weightedArray({"southern european": 9, "mixed race": 1}), - "Guatemalan": weightedArray({latina: 9, amerindian: 9, "mixed race": 2}), - "Haitian": weightedArray({black: 9, "mixed race": 1}), - "Hungarian": weightedArray({white: 8, "indo-aryan": 2, "mixed race": 1}), - "Icelandic": weightedArray({white: 9, "mixed race": 1}), - "Indian": weightedArray({"indo-aryan": 9, "mixed race": 1}), - "Indonesian": weightedArray({asian: 2, malay: 6, "pacific islander": 2, "mixed race": 1}), - "Iraqi": weightedArray({semitic: 2, "middle eastern": 8, "mixed race": 1}), - "Iranian": weightedArray({"indo-aryan": 6, semitic: 2, "mixed race": 1}), - "Irish": weightedArray({white: 9, "mixed race": 1}), - "Israeli": weightedArray({white: 2, "middle eastern": 2, semitic: 4, "mixed race": 1}), - "Italian": weightedArray({"middle eastern": 2, "southern european": 4, white: 4, "mixed race": 1}), - "Jamaican": weightedArray({black: 9, "mixed race": 1}), - "Japanese": weightedArray({asian: 49, "mixed race": 1}), - "Jordanian": weightedArray({"middle eastern": 9, semitic: 9, "mixed race": 2}), - "Kazakh": weightedArray({asian: 6, semitic: 2, "indo-aryan": 2, "mixed race": 1}), - "Kenyan": weightedArray({black: 9, "mixed race": 1}), - "Korean": weightedArray({asian: 19, "mixed race": 1}), - "Lebanese": weightedArray({"middle eastern": 9, semitic: 9, "mixed race": 2}), - "Libyan": weightedArray({"middle eastern": 9, "mixed race": 1}), - "Lithuanian": weightedArray({white: 49, "mixed race": 1}), - "Malaysian": weightedArray({asian: 2, malay: 6, "mixed race": 1}), - "Malian": weightedArray({black: 10, "middle eastern": 2, "mixed race": 1}), - "Mexican": weightedArray({latina: 5, amerindian: 1, "mixed race": 1}), - "Moroccan": weightedArray({"middle eastern": 6, black: 2, "mixed race": 1}), - "Nepalese": weightedArray({asian: 6, "indo-aryan": 3, "mixed race": 1}), - "a New Zealander": weightedArray({white: 15, asian: 2, "pacific islander": 3, "mixed race": 1}), - "Nigerian": weightedArray({black: 9, "mixed race": 1}), - "Norwegian": weightedArray({white: 9, "mixed race": 1}), - "Omani": weightedArray({"middle eastern": 9, "indo-aryan": 9, "mixed race": 2}), - "Pakistani": weightedArray({"indo-aryan": 6, semitic: 2, "mixed race": 1}), - "Peruvian": weightedArray({latina: 9, amerindian: 9, "mixed race": 2}), - "Polish": weightedArray({white: 49, "mixed race": 1}), - "Portuguese": weightedArray({white: 9, "mixed race": 1}), - "Puerto Rican": weightedArray({latina: 9, "mixed race": 1}), - "Romanian": weightedArray({semitic: 8, white: 33, "indo-aryan": 8, "mixed race": 1}), - "Russian": weightedArray({white: 9, "mixed race": 1}), - "Saudi": weightedArray({black: 2, asian: 2, "middle eastern": 4, "mixed race": 1}), - "Scottish": weightedArray({"middle eastern": 1, "indo-aryan": 1, white: 7, "mixed race": 1}), - "Serbian": weightedArray({white: 9, "mixed race": 1}), - "Slovak": weightedArray({white: 8, "indo-aryan": 2, "mixed race": 1}), - "South African": weightedArray({black: 6, white: 3, "mixed race": 1}), - "Spanish": weightedArray({semitic: 3, "southern european": 6, "mixed race": 1}), - "Sudanese": weightedArray({black: 6, "middle eastern": 3, "mixed race": 1}), - "Swedish": weightedArray({"middle eastern": 2, white: 8, "mixed race": 1}), - "Swiss": weightedArray({white: 9, "mixed race": 1}), - "Tanzanian": weightedArray({black: 6, semitic: 2, "mixed race": 1}), - "Thai": weightedArray({asian: 6, malay: 3, "mixed race": 1}), - "Tunisian": weightedArray({"middle eastern": 9, "mixed race": 1}), - "Turkish": weightedArray({"middle eastern": 6, semitic: 2, "mixed race": 1}), - "Ugandan": weightedArray({black: 9, "mixed race": 1}), - "Ukrainian": weightedArray({white: 9, "mixed race": 1}), - "Uzbek": weightedArray({asian: 9, "mixed race": 1}), - "Venezuelan": weightedArray({latina: 9, "mixed race": 1}), - "Vietnamese": weightedArray({asian: 9, "mixed race": 1}), - "Yemeni": weightedArray({black: 2, semitic: 2, "middle eastern": 6, "mixed race": 1}), - "Zimbabwean": weightedArray({black: 8, white: 2, "mixed race": 1}), + "Afghan": {"indo-aryan": 9, "middle eastern": 9, "mixed race": 2}, + "Algerian": {"middle eastern": 9, "mixed race": 1}, + "American": {black: 1, "middle eastern": 1, white: 3, latina: 2, asian: 1, amerindian: 1, "mixed race": 2}, + "Argentinian": {white: 3, latina: 6, "mixed race": 1}, + "Armenian": {"indo-aryan": 9, semitic: 9, "mixed race": 2}, + "Australian": {white: 14, black: 2, asian: 4, "mixed race": 1}, + "Austrian": {white: 9, "mixed race": 1}, + "Bangladeshi": {"indo-aryan": 9, "mixed race": 1}, + "Belarusian": {white: 9, "mixed race": 1}, + "Belgian": {white: 9, "mixed race": 1}, + "Bolivian": {latina: 9, amerindian: 9, "mixed race": 2}, + "Brazilian": {black: 1, latina: 1, "mixed race": 3, amerindian: 1, white: 2, asian: 1}, + "British": {"indo-aryan": 1, black: 1, white: 8, semitic: 1, "mixed race": 1}, + "Burmese": {asian: 6, "indo-aryan": 3, "mixed race": 1}, + "Canadian": {white: 16, asian: 2, amerindian: 2, "mixed race": 1}, + "Chilean": {white: 2, latina: 6, "mixed race": 1}, + "Chinese": {asian: 9, "mixed race": 1}, + "Colombian": {latina: 9, "mixed race": 1}, + "Congolese": {black: 9, "mixed race": 1}, + "Cuban": {latina: 9, black: 9, "mixed race": 2}, + "Czech": {white: 9, "mixed race": 1}, + "Danish": {white: 9, "mixed race": 1}, + "Dominican": {"mixed race": 7, white: 2, black: 1}, + "Dutch": {white: 9, "mixed race": 1}, + "Egyptian": {black: 2, "middle eastern": 6, semitic: 2, "mixed race": 1}, + "Emirati": {"middle eastern": 9, "indo-aryan": 9, "mixed race": 2}, + "Estonian": {white: 9, "mixed race": 1}, + "Ethiopian": {black: 6, "middle eastern": 2, semitic: 2, "mixed race": 1}, + "Filipina": {asian: 2, malay: 4, "pacific islander": 2, "mixed race": 1}, + "Finnish": {white: 9, "mixed race": 1}, + "French": {black: 1, "middle eastern": 1, white: 5, "southern european": 1, "mixed race": 1}, + "German": {black: 1, "middle eastern": 1, white: 6, "mixed race": 1}, + "Ghanan": {black: 6, semitic: 2, "mixed race": 1}, + "Greek": {"southern european": 9, "mixed race": 1}, + "Guatemalan": {latina: 9, amerindian: 9, "mixed race": 2}, + "Haitian": {black: 9, "mixed race": 1}, + "Hungarian": {white: 8, "indo-aryan": 2, "mixed race": 1}, + "Icelandic": {white: 9, "mixed race": 1}, + "Indian": {"indo-aryan": 9, "mixed race": 1}, + "Indonesian": {asian: 2, malay: 6, "pacific islander": 2, "mixed race": 1}, + "Iraqi": {semitic: 2, "middle eastern": 8, "mixed race": 1}, + "Iranian": {"indo-aryan": 6, semitic: 2, "mixed race": 1}, + "Irish": {white: 9, "mixed race": 1}, + "Israeli": {white: 2, "middle eastern": 2, semitic: 4, "mixed race": 1}, + "Italian": {"middle eastern": 2, "southern european": 4, white: 4, "mixed race": 1}, + "Jamaican": {black: 9, "mixed race": 1}, + "Japanese": {asian: 49, "mixed race": 1}, + "Jordanian": {"middle eastern": 9, semitic: 9, "mixed race": 2}, + "Kazakh": {asian: 6, semitic: 2, "indo-aryan": 2, "mixed race": 1}, + "Kenyan": {black: 9, "mixed race": 1}, + "Korean": {asian: 19, "mixed race": 1}, + "Lebanese": {"middle eastern": 9, semitic: 9, "mixed race": 2}, + "Libyan": {"middle eastern": 9, "mixed race": 1}, + "Lithuanian": {white: 49, "mixed race": 1}, + "Malaysian": {asian: 2, malay: 6, "mixed race": 1}, + "Malian": {black: 10, "middle eastern": 2, "mixed race": 1}, + "Mexican": {latina: 5, amerindian: 1, "mixed race": 1}, + "Moroccan": {"middle eastern": 6, black: 2, "mixed race": 1}, + "Nepalese": {asian: 6, "indo-aryan": 3, "mixed race": 1}, + "a New Zealander": {white: 15, asian: 2, "pacific islander": 3, "mixed race": 1}, + "Nigerian": {black: 9, "mixed race": 1}, + "Norwegian": {white: 9, "mixed race": 1}, + "Omani": {"middle eastern": 9, "indo-aryan": 9, "mixed race": 2}, + "Pakistani": {"indo-aryan": 6, semitic: 2, "mixed race": 1}, + "Peruvian": {latina: 9, amerindian: 9, "mixed race": 2}, + "Polish": {white: 49, "mixed race": 1}, + "Portuguese": {white: 9, "mixed race": 1}, + "Puerto Rican": {latina: 9, "mixed race": 1}, + "Romanian": {semitic: 8, white: 33, "indo-aryan": 8, "mixed race": 1}, + "Russian": {white: 9, "mixed race": 1}, + "Saudi": {black: 2, asian: 2, "middle eastern": 4, "mixed race": 1}, + "Scottish": {"middle eastern": 1, "indo-aryan": 1, white: 7, "mixed race": 1}, + "Serbian": {white: 9, "mixed race": 1}, + "Slovak": {white: 8, "indo-aryan": 2, "mixed race": 1}, + "South African": {black: 6, white: 3, "mixed race": 1}, + "Spanish": {semitic: 3, "southern european": 6, "mixed race": 1}, + "Sudanese": {black: 6, "middle eastern": 3, "mixed race": 1}, + "Swedish": {"middle eastern": 2, white: 8, "mixed race": 1}, + "Swiss": {white: 9, "mixed race": 1}, + "Tanzanian": {black: 6, semitic: 2, "mixed race": 1}, + "Thai": {asian: 6, malay: 3, "mixed race": 1}, + "Tunisian": {"middle eastern": 9, "mixed race": 1}, + "Turkish": {"middle eastern": 6, semitic: 2, "mixed race": 1}, + "Ugandan": {black: 9, "mixed race": 1}, + "Ukrainian": {white: 9, "mixed race": 1}, + "Uzbek": {asian: 9, "mixed race": 1}, + "Venezuelan": {latina: 9, "mixed race": 1}, + "Vietnamese": {asian: 9, "mixed race": 1}, + "Yemeni": {black: 2, semitic: 2, "middle eastern": 6, "mixed race": 1}, + "Zimbabwean": {black: 8, white: 2, "mixed race": 1}, /* these need some love, for now they are default */ - "Albanian": weightedArray({white: 9, "mixed race": 1}), - "Andorran": weightedArray({"southern european": 6, white: 2, "mixed race": 1}), - "Antiguan": weightedArray({black: 8, white: 1, "mixed race": 1}), - "Aruban": weightedArray({latina: 7, black: 3, "mixed race": 1}), - "Azerbaijani": weightedArray({semitic: 6, "indo-aryan": 4, "mixed race": 1}), - "Bahamian": weightedArray({black: 8, white: 1, "mixed race": 1}), - "Bahraini": weightedArray({"indo-aryan": 9, "middle eastern": 9, "mixed race": 2}), - "Barbadian": weightedArray({black: 8, "mixed race": 2}), - "Belizean": weightedArray({latina: 7, black: 2, amerindian: 1, "mixed race": 1}), - "Bermudian": weightedArray({black: 8, white: 2, "mixed race": 1}), - "Bhutanese": weightedArray({asian: 9, "mixed race": 1}), - "Bosnian": weightedArray({white: 9, "mixed race": 1}), - "Bruneian": weightedArray({malay: 30, asian: 12, "indo-aryan": 8, "mixed race": 1}), - "Bulgarian": weightedArray({white: 44, "middle eastern": 4, "indo-aryan": 1, "mixed race": 1}), - "Burundian": weightedArray({black: 9, "mixed race": 1}), - "Cambodian": weightedArray({asian: 9, "mixed race": 1}), - "Cameroonian": weightedArray({black: 9, "mixed race": 1}), - "a Cook Islander": weightedArray({"pacific islander": 29, "mixed race": 1}), - "Costa Rican": weightedArray({latina: 7, white: 2, "mixed race": 1}), - "Croatian": weightedArray({white: 49, "mixed race": 1}), - "Cypriot": weightedArray({"southern european": 6, "middle eastern": 3, "mixed race": 1}), - "Djiboutian": weightedArray({black: 8, "middle eastern": 2, "mixed race": 1}), - "Dominiquais": weightedArray({black: 8, "mixed race": 3}), - "East Timorese": weightedArray({malay: 6, "pacific islander": 6, "mixed race": 1}), - "Ecuadorian": weightedArray({latina: 8, black: 2, white: 2, amerindian: 2, "mixed race": 1}), - "Fijian": weightedArray({"indo-aryan": 6, "pacific islander": 6, "mixed race": 1}), - "French Guianan": weightedArray({black: 8, white: 2, "mixed race": 1}), - "Gabonese": weightedArray({black: 9, "mixed race": 1}), - "Georgian": weightedArray({semitic: 6, "indo-aryan": 5, "mixed race": 1}), - "Greenlandic": weightedArray({amerindian: 40, white: 9, "mixed race": 1}), - "Grenadian": weightedArray({black: 9, "mixed race": 1}), - "Guyanese": weightedArray({black: 4, "indo-aryan": 3, amerindian: 2, "mixed race": 1}), - "Honduran": weightedArray({latina: 40, amerindian: 8, "mixed race": 2}), - "I-Kiribati": weightedArray({"pacific islander": 49, "mixed race": 1}), - "Kittitian": weightedArray({black: 9, "mixed race": 1}), - "Kosovan": weightedArray({white: 9, "mixed race": 1}), - "Kuwaiti": weightedArray({"middle eastern": 7, "indo-aryan": 4, "mixed race": 1}), - "Kyrgyz": weightedArray({asian: 8, white: 2, "mixed race": 1}), - "Laotian": weightedArray({asian: 9, "mixed race": 1}), - "Latvian": weightedArray({white: 49, "mixed race": 1}), - "a Liechtensteiner": weightedArray({white: 10, "middle eastern": 3, "mixed race": 1}), - "Luxembourgian": weightedArray({white: 6, "southern european": 2, "mixed race": 1}), - "Macedonian": weightedArray({white: 9, "mixed race": 1}), - "Malagasy": weightedArray({black: 4, "indo-aryan": 4, "mixed race": 1}), - "Maldivian": weightedArray({"indo-aryan": 9, "mixed race": 1}), - "Maltese": weightedArray({"southern european": 9, "mixed race": 1}), - "Marshallese": weightedArray({"pacific islander": 9, "mixed race": 1}), - "Micronesian": weightedArray({"pacific islander": 9, "mixed race": 1}), - "Moldovan": weightedArray({white: 9, "mixed race": 1}), - "Monégasque": weightedArray({"southern european": 9, "mixed race": 1}), - "Mongolian": weightedArray({asian: 49, "mixed race": 1}), - "Montenegrin": weightedArray({white: 9, "mixed race": 1}), - "Nauruan": weightedArray({"pacific islander": 49, "mixed race": 1}), - "Ni-Vanuatu": weightedArray({"pacific islander": 49, "mixed race": 1}), - "Nicaraguan": weightedArray({latina: 10, white: 6, black: 3, "mixed race": 1}), - "Nigerien": weightedArray({black: 9, "mixed race": 1}), - "Niuean": weightedArray({"pacific islander": 15, white: 7, asian: 7, "mixed race": 1}), - "Palauan": weightedArray({"pacific islander": 25, asian: 7, "mixed race": 1}), - "Palestinian": weightedArray({"middle eastern": 6, semitic: 2, "mixed race": 1}), - "Panamanian": weightedArray({latina: 10, white: 3, black: 3, amerindian: 3, "mixed race": 1}), - "Papua New Guinean": weightedArray({malay: 6, "pacific islander": 3, "mixed race": 1}), - "Paraguayan": weightedArray({latina: 9, "mixed race": 1}), - "Qatari": weightedArray({"middle eastern": 10, "indo-aryan": 5, asian: 2, "mixed race": 1}), - "Saint Lucian": weightedArray({black: 9, "mixed race": 1}), - "Salvadoran": weightedArray({latina: 7, white: 2, "mixed race": 1}), - "Sammarinese": weightedArray({"southern european": 9, "mixed race": 1}), - "Samoan": weightedArray({"pacific islander": 49, "mixed race": 1}), - "Seychellois": weightedArray({black: 9, "mixed race": 1}), - "Singaporean": weightedArray({asian: 30, malay: 12, "indo-aryan": 8, "mixed race": 1}), - "Slovene": weightedArray({white: 9, "mixed race": 1}), - "a Solomon Islander": weightedArray({"pacific islander": 49, "mixed race": 1}), - "Sri Lankan": weightedArray({"indo-aryan": 9, "mixed race": 1}), - "Surinamese": weightedArray({black: 6, malay: 3, "indo-aryan": 6, "mixed race": 2}), - "Syrian": weightedArray({semitic: 2, "middle eastern": 8, "mixed race": 1}), - "Taiwanese": weightedArray({asian: 9, "mixed race": 1}), - "Tajik": weightedArray({"indo-aryan": 6, asian: 2, "mixed race": 1}), - "Tongan": weightedArray({"pacific islander": 49, "mixed race": 1}), - "Trinidadian": weightedArray({black: 3, "indo-aryan": 3, white: 2, "mixed race": 1}), - "Turkmen": weightedArray({"indo-aryan": 10, white: 3, "mixed race": 1}), - "Tuvaluan": weightedArray({"pacific islander": 9, "mixed race": 1}), - "Uruguayan": weightedArray({white: 2, latina: 6, "mixed race": 1}), - "Vatican": weightedArray({white: 5, "southern european": 5, "mixed race": 1}), - "Vincentian": weightedArray({black: 10, "indo-aryan": 2, "mixed race": 5}), - "Zambian": weightedArray({black: 9, "mixed race": 1}), - "": weightedArray({white: 9, "mixed race": 1}), /* default mix */ + "Albanian": {white: 9, "mixed race": 1}, + "Andorran": {"southern european": 6, white: 2, "mixed race": 1}, + "Antiguan": {black: 8, white: 1, "mixed race": 1}, + "Aruban": {latina: 7, black: 3, "mixed race": 1}, + "Azerbaijani": {semitic: 6, "indo-aryan": 4, "mixed race": 1}, + "Bahamian": {black: 8, white: 1, "mixed race": 1}, + "Bahraini": {"indo-aryan": 9, "middle eastern": 9, "mixed race": 2}, + "Barbadian": {black: 8, "mixed race": 2}, + "Belizean": {latina: 7, black: 2, amerindian: 1, "mixed race": 1}, + "Bermudian": {black: 8, white: 2, "mixed race": 1}, + "Bhutanese": {asian: 9, "mixed race": 1}, + "Bosnian": {white: 9, "mixed race": 1}, + "Bruneian": {malay: 30, asian: 12, "indo-aryan": 8, "mixed race": 1}, + "Bulgarian": {white: 44, "middle eastern": 4, "indo-aryan": 1, "mixed race": 1}, + "Burundian": {black: 9, "mixed race": 1}, + "Cambodian": {asian: 9, "mixed race": 1}, + "Cameroonian": {black: 9, "mixed race": 1}, + "a Cook Islander": {"pacific islander": 29, "mixed race": 1}, + "Costa Rican": {latina: 7, white: 2, "mixed race": 1}, + "Croatian": {white: 49, "mixed race": 1}, + "Cypriot": {"southern european": 6, "middle eastern": 3, "mixed race": 1}, + "Djiboutian": {black: 8, "middle eastern": 2, "mixed race": 1}, + "Dominiquais": {black: 8, "mixed race": 3}, + "East Timorese": {malay: 6, "pacific islander": 6, "mixed race": 1}, + "Ecuadorian": {latina: 8, black: 2, white: 2, amerindian: 2, "mixed race": 1}, + "Fijian": {"indo-aryan": 6, "pacific islander": 6, "mixed race": 1}, + "French Guianan": {black: 8, white: 2, "mixed race": 1}, + "Gabonese": {black: 9, "mixed race": 1}, + "Georgian": {semitic: 6, "indo-aryan": 5, "mixed race": 1}, + "Greenlandic": {amerindian: 40, white: 9, "mixed race": 1}, + "Grenadian": {black: 9, "mixed race": 1}, + "Guyanese": {black: 4, "indo-aryan": 3, amerindian: 2, "mixed race": 1}, + "Honduran": {latina: 40, amerindian: 8, "mixed race": 2}, + "I-Kiribati": {"pacific islander": 49, "mixed race": 1}, + "Kittitian": {black: 9, "mixed race": 1}, + "Kosovan": {white: 9, "mixed race": 1}, + "Kuwaiti": {"middle eastern": 7, "indo-aryan": 4, "mixed race": 1}, + "Kyrgyz": {asian: 8, white: 2, "mixed race": 1}, + "Laotian": {asian: 9, "mixed race": 1}, + "Latvian": {white: 49, "mixed race": 1}, + "a Liechtensteiner": {white: 10, "middle eastern": 3, "mixed race": 1}, + "Luxembourgian": {white: 6, "southern european": 2, "mixed race": 1}, + "Macedonian": {white: 9, "mixed race": 1}, + "Malagasy": {black: 4, "indo-aryan": 4, "mixed race": 1}, + "Maldivian": {"indo-aryan": 9, "mixed race": 1}, + "Maltese": {"southern european": 9, "mixed race": 1}, + "Marshallese": {"pacific islander": 9, "mixed race": 1}, + "Micronesian": {"pacific islander": 9, "mixed race": 1}, + "Moldovan": {white: 9, "mixed race": 1}, + "Monégasque": {"southern european": 9, "mixed race": 1}, + "Mongolian": {asian: 49, "mixed race": 1}, + "Montenegrin": {white: 9, "mixed race": 1}, + "Nauruan": {"pacific islander": 49, "mixed race": 1}, + "Ni-Vanuatu": {"pacific islander": 49, "mixed race": 1}, + "Nicaraguan": {latina: 10, white: 6, black: 3, "mixed race": 1}, + "Nigerien": {black: 9, "mixed race": 1}, + "Niuean": {"pacific islander": 15, white: 7, asian: 7, "mixed race": 1}, + "Palauan": {"pacific islander": 25, asian: 7, "mixed race": 1}, + "Palestinian": {"middle eastern": 6, semitic: 2, "mixed race": 1}, + "Panamanian": {latina: 10, white: 3, black: 3, amerindian: 3, "mixed race": 1}, + "Papua New Guinean": {malay: 6, "pacific islander": 3, "mixed race": 1}, + "Paraguayan": {latina: 9, "mixed race": 1}, + "Qatari": {"middle eastern": 10, "indo-aryan": 5, asian: 2, "mixed race": 1}, + "Saint Lucian": {black: 9, "mixed race": 1}, + "Salvadoran": {latina: 7, white: 2, "mixed race": 1}, + "Sammarinese": {"southern european": 9, "mixed race": 1}, + "Samoan": {"pacific islander": 49, "mixed race": 1}, + "Seychellois": {black: 9, "mixed race": 1}, + "Singaporean": {asian: 30, malay: 12, "indo-aryan": 8, "mixed race": 1}, + "Slovene": {white: 9, "mixed race": 1}, + "a Solomon Islander": {"pacific islander": 49, "mixed race": 1}, + "Sri Lankan": {"indo-aryan": 9, "mixed race": 1}, + "Surinamese": {black: 6, malay: 3, "indo-aryan": 6, "mixed race": 2}, + "Syrian": {semitic: 2, "middle eastern": 8, "mixed race": 1}, + "Taiwanese": {asian: 9, "mixed race": 1}, + "Tajik": {"indo-aryan": 6, asian: 2, "mixed race": 1}, + "Tongan": {"pacific islander": 49, "mixed race": 1}, + "Trinidadian": {black: 3, "indo-aryan": 3, white: 2, "mixed race": 1}, + "Turkmen": {"indo-aryan": 10, white: 3, "mixed race": 1}, + "Tuvaluan": {"pacific islander": 9, "mixed race": 1}, + "Uruguayan": {white: 2, latina: 6, "mixed race": 1}, + "Vatican": {white: 5, "southern european": 5, "mixed race": 1}, + "Vincentian": {black: 10, "indo-aryan": 2, "mixed race": 5}, + "Zambian": {black: 9, "mixed race": 1}, + "": {"white": 9, "mixed race": 1}, /* default mix */ }>> <<set setup.servantMilkersJobs = ["be a servant", "work as a servant", "take classes", "please you", "be a subordinate slave", "stay confined", "recruit girls", "rest"]>> diff --git a/src/js/utilJS.tw b/src/js/utilJS.tw index b8e9a9de8e65690bf4c010b9469d36a14fe9d160..dc94341a165cdf1716822b331fd8d6783ebc8458 100644 --- a/src/js/utilJS.tw +++ b/src/js/utilJS.tw @@ -403,7 +403,7 @@ window.numberWithCommas = function(x) { window.jsRandom = function(min,max) { return Math.floor(Math.random()*(max-min+1)+min); } - +/* window.jsRandomMany = function (arr, count) { var result = []; var _tmp = arr.slice(); @@ -443,3 +443,39 @@ if(typeof Categorizer === 'function') { } */ jQuery(document).trigger('categorizer.ready'); + + +window.hashChoice = function hashChoice(obj) { + let randint = Math.floor(Math.random()*hashSum(obj)); + let ret; + Object.keys(obj).some(key => { + if (randint < obj[key]) { + ret = key; + return true; + } else { + randint -= obj[key]; + return false; + } + }); + return ret; +}; + +window.hashSum = function hashSum(obj) { + let sum = 0; + Object.keys(obj).forEach(key => { sum += obj[key]; }); + return sum; +}; + +window.arr2obj = function arr2obj(arr) { + const obj = {}; + arr.forEach(item => { obj[item] = 1; }); + return obj; +}; + +window.hashPush = function hashPush(obj, ...rest) { + rest.forEach(item => { + if (obj[item] === undefined) obj[item] = 1; + else obj[item] += 1; + }); +}; + diff --git a/src/npc/startingGirls/startingGirls.tw b/src/npc/startingGirls/startingGirls.tw index bb171a501f1b0ecee71721b9d4530be67ac1d433..7afaf888e781f569c8dd20c3842c9c740faae0ac 100644 --- a/src/npc/startingGirls/startingGirls.tw +++ b/src/npc/startingGirls/startingGirls.tw @@ -401,7 +401,7 @@ __You are customizing this slave:__ | [[More customization options]] | <<link "Start over with a random slave">> -<<set $fixedNationality = $nationalities.random()>> +<<set $fixedNationality = hashChoice($nationalities)>> <<StartingGirlsWorkaround>> <<StartingGirlsRefresh>> <<SaleDescription>> diff --git a/src/pregmod/basenationalitiesControls.tw b/src/pregmod/basenationalitiesControls.tw index a4ca9501ff17042828615842b7f652e7870c9c02..f2bf7463f4069852ff2e40fd4f98847d3daaa32c 100644 --- a/src/pregmod/basenationalitiesControls.tw +++ b/src/pregmod/basenationalitiesControls.tw @@ -1,6 +1,6 @@ :: Basenationalities Controls [nobr] -<<if $nationalities.length < 1>> +<<if hashSum($nationalities) < 1>> //You cannot be a slave owner without a slave trade. Please add nationalities to continue.// <<else>> <<link "Confirm customization">> @@ -15,14 +15,14 @@ <br> /* Generates cloned array of $nationalities, removing duplicates and then sorting */ -<<set $nationalitiescheck = _.uniq($nationalities, false).sort()>> +<<set $nationalitiescheck = Object.assign({}, $nationalities)>> /* Prints distribution of $nationalities, using $nationalitiescheck to render array */ -<<set _percentPerPoint = 100.0 / $nationalities.length>> -<<for _i = 0; _i < $nationalitiescheck.length; _i++>> - <<set _nation = $nationalitiescheck[_i]>> - _nation @@.orange;<<= ($nationalities.count(_nation) * _percentPerPoint).toFixed(2)>>%@@ - <<if _i < $nationalitiescheck.length-1>> | <</if>> +<<set _percentPerPoint = 100.0 / hashSum($nationalities)>> +<<set _len = Object.keys($nationalitiescheck).length>> +<<for _nation, _i range $nationalitiescheck>> + _nation @@.orange;<<= ($nationalities[_nation] * _percentPerPoint).toFixed(2)>>%@@ + <<if _i < _len-1>> | <</if>> <</for>> <<unset _percentPerPoint>> <br><br> @@ -78,22 +78,22 @@ Filter by Region: <<print " _nation @@.plusButton;<<link '+'>> - <<set $nationalities.push(setup.baseNationalities[" + _i + "])>> + <<set hashPush($nationalities, '" + _nation + "')>> <<replace '#PopControl'>><<include 'Basenationalities Controls'>><</replace>> <</link>>@@ ">> - <<if $nationalitiescheck.includes(_nation) > 0 >> + <<if def $nationalitiescheck[_nation] >> <<print " @@.minusButton;<<link '–'>> - <<set $nationalities.deleteAt(($nationalities.indexOf(setup.baseNationalities[" + _i + "])))>> + <<set $nationalities['" + _nation + "'] -= 1>> <<replace '#PopControl'>><<include 'Basenationalities Controls'>><</replace>> <</link>>@@ ">> <</if>> - <<if $nationalities.count(_nation) > 1 >> + <<if $nationalities[_nation] > 1 >> <<print " @@.zeroButton;<<link '0'>> - <<set $nationalities.delete(setup.baseNationalities[" + _i + "])>> + <<set delete $nationalities['" + _nation + "']>> <<replace '#PopControl'>><<include 'Basenationalities Controls'>><</replace>> <</link>>@@ ">> @@ -105,19 +105,19 @@ Filter by Region: <<foreach _race of setup.filterRaces>> <<set _racialNationalities = setup.baseNationalities.filter(function(n) { var races = setup.raceSelector[n] || setup.raceSelector['']; - return races.count(_race.toLowerCase()) * 2 > races.length; })>> + return races[_race.toLowerCase()] * 2 > hashSum(races); })>> <<if _racialNationalities.length > 0>> <<= "<div style='float: left; width: 13em; padding: 0 5px;' title='" + (_racialNationalities.length > 0 ? _racialNationalities.join(", ") : "(none)") +"'>_race @@.plusButton; <<link '+'>> - <<run Array.prototype.push.apply($nationalities, setup.baseNationalities.filter(function(n) { + <<run setup.baseNationalities.filter(function(n) { var races = setup.raceSelector[n] || setup.raceSelector['']; - return races.count('" + _race.toLowerCase() + "') * 2 > races.length; }))>> + return races['" + _race.toLowerCase() + "'] * 2 > hashSum(races); }).forEach(function(n) { hashPush($nationalities, n);})>> <<replace '#PopControl'>><<include 'Basenationalities Controls'>><</replace>> <</link>>@@ @@.zeroButton;<<link '0'>> - <<run Array.prototype.delete.apply($nationalities, setup.baseNationalities.filter(function(n) { + <<run setup.baseNationalities.filter(function(n) { var races = setup.raceSelector[n] || setup.raceSelector['']; - return races.count('" + _race.toLowerCase() + "') * 2 > races.length; }))>> + return races['" + _race.toLowerCase() + "'] * 2 > hashSum(races.length); }).forEach(function(n) { delete $nationalities[n]; })>> <<replace '#PopControl'>><<include 'Basenationalities Controls'>><</replace>> <</link>>@@</div>">> <</if>> @@ -131,22 +131,22 @@ Filter by Region: <<print " _nation @@.plusButton;<<link '+'>> - <<set $nationalities.push(_controlsNationality[" + _i + "])>> + <<set hashPush($nationalities, _controlsNationality[" + _i + "])>> <<replace '#PopControl'>><<include 'Basenationalities Controls'>><</replace>> <</link>>@@ ">> - <<if $nationalitiescheck.includes(_nation) > 0 >> + <<if def $nationalitiescheck[_nation]>> <<print " @@.minusButton;<<link '–'>> - <<set $nationalities.deleteAt(($nationalities.indexOf(_controlsNationality[" + _i + "])))>> + <<set $nationalities[" + _nation + "] -= 1>> <<replace '#PopControl'>><<include 'Basenationalities Controls'>><</replace>> <</link>>@@ ">> <</if>> - <<if $nationalities.count(_nation) > 1 >> + <<if $nationalities[_nation] > 1 >> <<print " @@.zeroButton;<<link '0'>> - <<set $nationalities.delete(_controlsNationality[" + _i + "])>> + <<set delete $nationalities['" + _nation + "']>> <<replace '#PopControl'>><<include 'Basenationalities Controls'>><</replace>> <</link>>@@ ">> @@ -156,4 +156,4 @@ Filter by Region: <</for>> <</if>> <div style="clear: both; height: 0;"></div> -</div> \ No newline at end of file +</div> diff --git a/src/pregmod/customizeSlaveTrade.tw b/src/pregmod/customizeSlaveTrade.tw index bd3cc3f9d13ee972e2eeb11178fa05a2c108222e..9bed5816c428666b447cbccbe7483faa8761b2dc 100644 --- a/src/pregmod/customizeSlaveTrade.tw +++ b/src/pregmod/customizeSlaveTrade.tw @@ -1,9 +1,7 @@ :: Customize Slave Trade [nobr] <<if ndef $nationalities>> - <<set $nationalities = []>> -<<else>> - <<set $nationalities.sort()>> + <<set $nationalities = {}>> <</if>> <<if ndef $baseControlsFilter>> <<set $baseControlsFilter = "all">> @@ -18,7 +16,7 @@ When civilization turned upon itself, some countries readily took to enslaving t <br><br> <span id="PopControl"><<include "Basenationalities Controls">></span> <br> -[[Reset filters|passage()][$baseControlsFilter = "all"]] | [[Clear all nationalities|passage()][$nationalities = []]] +[[Reset filters|passage()][$baseControlsFilter = "all"]] | [[Clear all nationalities|passage()][$nationalities = {}]] <br style="clear:both" /><hr style="margin:0"> Vanilla presets: <span id="vanilla-presets"></span> @@ -44,4 +42,4 @@ var widgets = Story.widgets .filter(function(w) { return Macro.has(w.replace(/[<>]/g, '')); }) .sort().join(' | '); setTimeout(function() { new Wikifier(jQuery('#mod-presets'), widgets); }, 0); -<</script>> \ No newline at end of file +<</script>> diff --git a/src/pregmod/widgets/pregmodWidgets.tw b/src/pregmod/widgets/pregmodWidgets.tw index 7a3211072bc95e71207bd527792c3adcbd67f7be..c2db50c99d71237cc9db000a4ea0a6c1b791e87c 100644 --- a/src/pregmod/widgets/pregmodWidgets.tw +++ b/src/pregmod/widgets/pregmodWidgets.tw @@ -1896,13 +1896,13 @@ Of $possessive $slaves[$i].pregType child<<if $slaves[$i].pregType > 1>>ren<</if s.nationality = setup.nationalityPoolSelector[Object.keys(setup.nationalityPoolSelector).random()].random(); /* Check for a pre-set race and if the nationality fits, else regenerate */ if(s.race && validRaces.includes(s.race)) { - while(setup.raceSelector[s.nationality] && !setup.raceSelector[s.nationality].includes(s.race)) { + while(setup.raceSelector[s.nationality] && !(s.race in setup.raceSelector[s.nationality])) { s.nationality = setup.nationalityPoolSelector[Object.keys(setup.nationalityPoolSelector).random()].random(); } } } if(!s.race || !validRaces.includes(s.race)) { - s.race = (setup.raceSelector[s.nationality] || setup.raceSelector[""]).random(); + s.race = hashChoice(setup.raceSelector[s.nationality] || setup.raceSelector[""]); } if(!s.birthSurname) { s.birthSurname = (setup.surnamePoolSelector[s.nationality + "." + s.race] @@ -1941,4 +1941,4 @@ Call as <<HSM>> <<elseif $PC.hacking >= 100>> <<set $HackingSkillMultiplier = .75>> <</if>> -<</widget>> \ No newline at end of file +<</widget>> diff --git a/src/pregmod/widgets/slaveTradePresetWidgets.tw b/src/pregmod/widgets/slaveTradePresetWidgets.tw index d59f4b880c53e4dc05a572f521636ec44d7c9c8f..b4bfb5cd5cb4ffcf9d33deec5bba636b21337870 100644 --- a/src/pregmod/widgets/slaveTradePresetWidgets.tw +++ b/src/pregmod/widgets/slaveTradePresetWidgets.tw @@ -5,7 +5,7 @@ <<widget "NationalityPresetVanillaGlobal">> <<link "Vanilla Global">> - <<set $nationalities = weightedArray({ + <<set $nationalities = { Afghan: 2, Albanian: 1, Algerian: 3, @@ -180,7 +180,7 @@ Zambian: 1, Zimbabwean: 2, "a New Zealander": 2 - })>> + }>> <<set _gotoPassage = passage()>> <<goto _gotoPassage>> <</link>> @@ -188,7 +188,7 @@ <<widget "NationalityPresetVanillaNA">> <<link "Vanilla North America">> - <<set $nationalities = weightedArray({ + <<set $nationalities = { American: 6, Canadian: 2, Mexican: 3, @@ -207,7 +207,7 @@ Salvadoran: 1, Nicaraguan: 1, Panamanian: 1 - })>> + }>> <<set _gotoPassage = passage()>> <<goto _gotoPassage>> <</link>> @@ -215,7 +215,7 @@ <<widget "NationalityPresetVanillaSA">> <<link "Vanilla South America">> - <<set $nationalities = weightedArray({ + <<set $nationalities = { Brazilian: 4, Argentinian: 2, Colombian: 2, @@ -230,7 +230,7 @@ Guyanese: 1, Paraguayan: 1, Surinamese: 1 - })>> + }>> <<set _gotoPassage = passage()>> <<goto _gotoPassage>> <</link>> @@ -238,7 +238,7 @@ <<widget "NationalityPresetVanillaME">> <<link "Vanilla Middle East">> - <<set $nationalities = weightedArray({ + <<set $nationalities = { Egyptian: 3, Iranian: 2, Saudi: 2, @@ -260,7 +260,7 @@ Kuwaiti: 1, Qatari: 1, Palestinian: 1 - })>> + }>> <<set _gotoPassage = passage()>> <<goto _gotoPassage>> <</link>> @@ -268,7 +268,7 @@ <<widget "NationalityPresetVanillaAfrica">> <<link "Vanilla Africa">> - <<set $nationalities = weightedArray({ + <<set $nationalities = { Nigerian: 3, "South African": 3, Kenyan: 2, @@ -292,7 +292,7 @@ Nigerien: 1, Burundian: 1, Seychellois: 1 - })>> + }>> <<set _gotoPassage = passage()>> <<goto _gotoPassage>> <</link>> @@ -300,7 +300,7 @@ <<widget "NationalityPresetVanillaAsia">> <<link "Vanilla Asia">> - <<set $nationalities = weightedArray({ + <<set $nationalities = { Chinese: 14, Indian: 10, Bangladeshi: 3, @@ -328,7 +328,7 @@ "Sri Lankan": 1, Tajik: 1, Turkmen: 1 - })>> + }>> <<set _gotoPassage = passage()>> <<goto _gotoPassage>> <</link>> @@ -336,7 +336,7 @@ <<widget "NationalityPresetVanillaEU">> <<link "Vanilla Europe">> - <<set $nationalities = weightedArray({ + <<set $nationalities = { Russian: 4, German: 3, Belarusian: 1, @@ -382,7 +382,7 @@ Vatican: 1, Latvian: 1, Slovene: 1 - })>> + }>> <<set _gotoPassage = passage()>> <<goto _gotoPassage>> <</link>> @@ -390,7 +390,7 @@ <<widget "NationalityPresetVanillaAU">> <<link "Vanilla Australia">> - <<set $nationalities = weightedArray({ + <<set $nationalities = { Australian: 3, "a New Zealander": 1, Marshallese: 1, @@ -407,7 +407,7 @@ Samoan: 1, "a Solomon Islander": 1, Tongan: 1 - })>> + }>> <<set _gotoPassage = passage()>> <<goto _gotoPassage>> <</link>> @@ -416,7 +416,7 @@ /* I need reweighting and possibly country additions */ <<widget "NationalityPresetModEurope">> <<link "Europe">> - <<set $nationalities = weightedArray({ + <<set $nationalities = { Albanian: 29, Andorran: 1, Austrian: 87, @@ -465,7 +465,7 @@ Ukrainian: 442, "a Liechtensteiner": 1, Vatican: 1 - })>> + }>> <<set _gotoPassage = passage()>> <<goto _gotoPassage>> <</link>> @@ -473,7 +473,7 @@ <<widget "NationalityPresetModEastAsia">> <<link "East Asia">> - <<set $nationalities = weightedArray({Chinese: 21, Japanese: 2, Korean: 1})>> + <<set $nationalities = {Chinese: 21, Japanese: 2, Korean: 1}>> <<set _gotoPassage = passage()>> <<goto _gotoPassage>> <</link>> @@ -481,7 +481,7 @@ <<widget "NationalityPresetModUSA">> <<link USA>> - <<set $nationalities = weightedArray({American: 8, Canadian: 1, Mexican: 3})>> + <<set $nationalities = {American: 8, Canadian: 1, Mexican: 3}>> <<set _gotoPassage = passage()>> <<goto _gotoPassage>> <</link>> @@ -489,7 +489,7 @@ <<widget "NationalityPresetModJapan">> <<link Japan>> - <<set $nationalities = weightedArray({Japanese: 3})>> + <<set $nationalities = {Japanese: 3}>> <<set _gotoPassage = passage()>> <<goto _gotoPassage>> <</link>> @@ -497,7 +497,7 @@ <<widget "NationalityPresetModBrazil">> <<link Brazil>> - <<set $nationalities = weightedArray({ + <<set $nationalities = { Brazilian: 30, Argentinian: 4, Colombian: 3, @@ -509,7 +509,7 @@ Uruguayan: 2, Paraguayan: 1, Ecuadorian: 1 - })>> + }>> <<set _gotoPassage = passage()>> <<goto _gotoPassage>> <</link>> @@ -518,7 +518,7 @@ /* I need reweighting */ <<widget "NationalityPresetModGlobalRealism">> <<link "Global Realism">> - <<set $nationalities = weightedArray({ + <<set $nationalities = { Afghan: 355, Albanian: 29, Algerian: 413, @@ -693,8 +693,8 @@ Zambian: 171, Zimbabwean: 165, "a New Zealander": 47 - })>> + }>> <<set _gotoPassage = passage()>> <<goto _gotoPassage>> <</link>> -<</widget>> \ No newline at end of file +<</widget>> diff --git a/src/uncategorized/generateXXSlave.tw b/src/uncategorized/generateXXSlave.tw index ee10a4b1501f5aa482e10caaec59c557d4d5aeda..8cebddadd5d46d8cad385cceacd7b8a5bc11964a 100644 --- a/src/uncategorized/generateXXSlave.tw +++ b/src/uncategorized/generateXXSlave.tw @@ -143,7 +143,7 @@ /% Begin height replacement section. %/ /% Since we use nationality for height effects we need to initialize it now instead of later on like in vanilla Free Cities. %/ <<if $fixedNationality == 0>> - <<set $activeSlave.nationality = $nationalities.random()>> + <<set $activeSlave.nationality = hashChoice($nationalities)>> <<else>> <<set $activeSlave.nationality = $fixedNationality>> <</if>> @@ -157,7 +157,7 @@ <<set _capUpgradeNationalities = []>> <<for _u = 0; _u < _capUpgradeCheck.length; _u++>> <<set _capNation = _capUpgradeCheck[_u]>> - <<if $nationalities.includes(_capNation)>> + <<if _capNation in $nationalities>> <<set _capUpgradeNationalities.push(_capNation)>> <</if>> <</for>> diff --git a/src/uncategorized/generateXYSlave.tw b/src/uncategorized/generateXYSlave.tw index 24fdd8bb1386ff85d0c2501bf2711ea5453ed6ab..37c4d98a34c921d74202e34979441b20345fc208 100644 --- a/src/uncategorized/generateXYSlave.tw +++ b/src/uncategorized/generateXYSlave.tw @@ -141,7 +141,7 @@ /% Since we use nationality for height effects we need to initialize it now instead of later on like in vanilla Free Cities. %/ <<if $fixedNationality == 0>> - <<set $activeSlave.nationality = $nationalities.random()>> + <<set $activeSlave.nationality = hashChoice($nationalities)>> <<else>> <<set $activeSlave.nationality = $fixedNationality>> <</if>> @@ -155,7 +155,7 @@ <<set _capUpgradeNationalities = []>> <<for _u = 0; _u < _capUpgradeCheck.length; _u++>> <<set _capNation = _capUpgradeCheck[_u]>> - <<if $nationalities.includes(_capNation)>> + <<if _capNation in $nationalities)>> <<set _capUpgradeNationalities.push(_capNation)>> <</if>> <</for>> diff --git a/src/uncategorized/slaveGenerationWidgets.tw b/src/uncategorized/slaveGenerationWidgets.tw index 27ba8fede099883ac29d6b77419ab513c5b150ef..88a8f9c2b730b1e3a8a8a9677909c3b8936f3037 100644 --- a/src/uncategorized/slaveGenerationWidgets.tw +++ b/src/uncategorized/slaveGenerationWidgets.tw @@ -2,7 +2,7 @@ <<widget "NationalityToRace">> <<set $args[0].race - = (setup.raceSelector[$args[0].nationality] || setup.raceSelector[""]).random()>> + = hashChoice(setup.raceSelector[$args[0].nationality] || setup.raceSelector[""])>> <</widget>> <<widget "NationalityToName">>