diff --git a/devTools/javaSanityCheck/ignoredVariables b/devTools/javaSanityCheck/ignoredVariables index cfc4b040f57bba1aa49d44df7e505bf55ddc95b5..9a6ea16e497055dd2c59e1ae59be059346fa8c40 100644 --- a/devTools/javaSanityCheck/ignoredVariables +++ b/devTools/javaSanityCheck/ignoredVariables @@ -85,14 +85,12 @@ extreme royalNationalities hostageGiveIn facilityHeads -nicaea r lightColorMap SlaveSummaryFiler sacrificeType cellName;BaseCell;cellPath;Section;Building;ground;code location -clothesBoughtMilitary;clothesBoughtCultural;clothesBoughtMiddleEastern;clothesBoughtCasual;clothesBoughtCareer;clothesBoughtDresses;clothesBoughtBodysuits;clothesBoughtUnderwear;clothesBoughtSports;clothesBoughtSwimwear;clothesBoughtPony;clothesBoughtPol;clothesBoughtPantsu;clothesBoughtCostume;clothesBoughtBunny;clothesBoughtConservative;clothesBoughtBimbo;clothesBoughtCourtesan;clothesBoughtChains;clothesBoughtWestern;clothesBoughtOil;clothesBoughtLazyClothes;clothesBoughtHabit;clothesBoughtMaternityDress;clothesBoughtMaternityLingerie;clothesBoughtEgypt;clothesBoughtToga;clothesBoughtHuipil;clothesBoughtKimono;clothesBoughtHarem;clothesBoughtQipao;clothesBoughtBelly; totalEmployeesCount Theme Upkeep;SexSlaveCount;GSP;Rep diff --git a/js/003-data/gameVariableData.js b/js/003-data/gameVariableData.js index a70d0ab42498fb938d445956b9bbde12ba798b56..cc0f366c19880557c60a7640e5ceafa297b9f0bc 100644 --- a/js/003-data/gameVariableData.js +++ b/js/003-data/gameVariableData.js @@ -948,58 +948,65 @@ App.Data.resetOnNGPlus = { shelterAbuse: 0, shelterSlaveGeneratedWeek: 0, - // alternate clothing access variables - clothesBoughtBunny: 0, - clothesBoughtConservative: 0, - clothesBoughtChains: 0, - clothesBoughtWestern: 0, - clothesBoughtOil: 0, - clothesBoughtHabit: 0, - clothesBoughtToga: 0, - clothesBoughtHuipil: 0, - clothesBoughtKimono: 0, - clothesBoughtHarem: 0, - clothesBoughtQipao: 0, - clothesBoughtEgypt: 0, - clothesBoughtBelly: 0, - clothesBoughtMaternityDress: 0, - clothesBoughtMaternityLingerie: 0, - clothesBoughtLazyClothes: 0, - clothesBoughtBimbo: 0, - clothesBoughtCourtesan: 0, - shoesBoughtHeels: 0, - clothesBoughtPetite: 0, - // non-fs - clothesBoughtMilitary: 0, - clothesBoughtCultural: 0, - clothesBoughtMiddleEastern: 0, - clothesBoughtPol: 0, - clothesBoughtCostume: 0, - clothesBoughtPantsu: 0, - clothesBoughtCareer: 0, - clothesBoughtDresses: 0, - clothesBoughtBodysuits: 0, - clothesBoughtCasual: 0, - clothesBoughtUnderwear: 0, - clothesBoughtSports: 0, - clothesBoughtPony: 0, - clothesBoughtSwimwear: 0, - toysBoughtDildos: 0, - toysBoughtGags: 0, - toysBoughtVaginalAttachments: 0, - toysBoughtButtPlugs: 0, - toysBoughtButtPlugTails: 0, - toysBoughtSmartVibes: 0, - buckets: 0, - specialSlavesPriceOverride: 0, pregAccessibility: 0, dickAccessibility: 0, ballsAccessibility: 0, buttAccessibility: 0, ageMode: 0, - enema: 0, - medicalEnema: 0, + boughtItem: { + clothing: { + // alternate clothing access variables + bunny: 0, + conservative: 0, + chains: 0, + western: 0, + oil: 0, + habit: 0, + toga: 0, + huipil: 0, + kimono: 0, + harem: 0, + qipao: 0, + egypt: 0, + belly: 0, + maternityDress: 0, + maternityLingerie: 0, + lazyClothes: 0, + bimbo: 0, + courtesan: 0, + petite: 0, + // non-fs + military: 0, + cultural: 0, + middleEastern: 0, + pol: 0, + costume: 0, + pantsu: 0, + career: 0, + dresses: 0, + bodysuits: 0, + casual: 0, + underwear: 0, + sports: 0, + pony: 0, + swimwear: 0, + }, + shoes: { + heels: 0, + }, + toys: { + enema: 0, + medicalEnema: 0, + buckets: 0, + dildos: 0, + gags: 0, + vaginalAttachments: 0, + buttPlugs: 0, + buttPlugTails: 0, + smartVibes: 0, + }, + }, dairyPiping: 0, inflatedSlavesMilk: 0, inflatedSlavesCum: 0, diff --git a/js/003-data/miscData.js b/js/003-data/miscData.js index 9cbcf65a6eda38246f4ca99085e2f577094f0484..09ae3b3e51ce252dad576fd62e02c3f581fbdafa 100644 --- a/js/003-data/miscData.js +++ b/js/003-data/miscData.js @@ -1608,6 +1608,8 @@ App.Data.misc = { /* otherCareers: ["a producer", "being homeschooled by her parents", "from a middle class family", "from an upper class family"]>> */ + paraphiliaList: ["abusive", "anal addict", "attention whore", "breast growth", "breeder", "cum addict", "malicious", "neglectful", "self hating"], + baseNationalities: ["Afghan", "Albanian", "Algerian", "American", "Andorran", "Angolan", "Antiguan", "Argentinian", "Armenian", "Aruban", "Australian", "Austrian", "Azerbaijani", "Bahamian", "Bahraini", "Bangladeshi", "Barbadian", "Belarusian", "Belgian", "Belizean", "Beninese", "Bermudian", "Bhutanese", "Bissau-Guinean", "Bolivian", "Bosnian", "Brazilian", "British", "Bruneian", "Bulgarian", "Burkinabé", "Burmese", "Burundian", "Cambodian", "Cameroonian", "Canadian", "Cape Verdean", "Catalan", "Central African", "Chadian", "Chilean", "Chinese", "Colombian", "Comorian", "Congolese", "a Cook Islander", "Costa Rican", "Croatian", "Cuban", "Curaçaoan", "Cypriot", "Czech", "Danish", "Djiboutian", "Dominican", "Dominiquais", "Dutch", "East Timorese", "Ecuadorian", "Egyptian", "Emirati", "Equatoguinean", "Eritrean", "Estonian", "Ethiopian", "Fijian", "Filipina", "Finnish", "French", "French Guianan", "French Polynesian", "Gabonese", "Gambian", "Georgian", "German", "Ghanan", "Greek", "Greenlandic", "Grenadian", "Guamanian", "Guatemalan", "Guinean", "Guyanese", "Haitian", "Honduran", "Hungarian", "I-Kiribati", "Icelandic", "Indian", "Indonesian", "Iranian", "Iraqi", "Irish", "Israeli", "Italian", "Ivorian", "Jamaican", "Japanese", "Jordanian", "Kazakh", "Kenyan", "Kittitian", "Korean", "Kosovan", "Kurdish", "Kuwaiti", "Kyrgyz", "Laotian", "Latvian", "Lebanese", "Liberian", "Libyan", "a Liechtensteiner", "Lithuanian", "Luxembourgian", "Macedonian", "Malagasy", "Malawian", "Malaysian", "Maldivian", "Malian", "Maltese", "Marshallese", "Mauritanian", "Mauritian", "Mexican", "Micronesian", "Moldovan", "Monégasque", "Mongolian", "Montenegrin", "Moroccan", "Mosotho", "Motswana", "Mozambican", "Namibian", "Nauruan", "Nepalese", "New Caledonian", "a New Zealander", "Ni-Vanuatu", "Nicaraguan", "Nigerian", "Nigerien", "Niuean", "Norwegian", "Omani", "Pakistani", "Palauan", "Palestinian", "Panamanian", "Papua New Guinean", "Paraguayan", "Peruvian", "Polish", "Portuguese", "Puerto Rican", "Qatari", "Romanian", "Russian", "Rwandan", "Sahrawi", "Saint Lucian", "Salvadoran", "Sammarinese", "Samoan", "São Toméan", "Saudi", "Scottish", "Senegalese", "Serbian", "Seychellois", "Sierra Leonean", "Singaporean", "Slovak", "Slovene", "a Solomon Islander", "Somali", "South African", "South Sudanese", "Spanish", "Sri Lankan", "Sudanese", "Surinamese", "Swazi", "Swedish", "Swiss", "Syrian", "Taiwanese", "Tajik", "Tanzanian", "Thai", "Tibetan", "Togolese", "Tongan", "Trinidadian", "Tunisian", "Turkish", "Turkmen", "Tuvaluan", "Ugandan", "Ukrainian", "Uruguayan", "Uzbek", "Vatican", "Venezuelan", "Vietnamese", "Vincentian", "Yemeni", "Zairian", "Zambian", "Zimbabwean"], royalNationalities: ["Bahraini", "Belgian", "Bhutanese", "British", "Bruneian", "Cambodian", "Danish", "Dutch", "Emirati", "Japanese", "Jordanian", "Kuwaiti", "Luxembourgian", "Malaysian", "Monégasque", "Moroccan", "Mosotho", "Norwegian", "Omani", "Qatari", "Saudi", "Spanish", "Swazi", "Swedish", "Thai", "Tongan"], @@ -1938,291 +1940,228 @@ App.Data.misc = { name: "Maternity lingerie", value: "attractive lingerie for a pregnant woman", fs: "FSRepopulationFocus", - rs: "clothesBoughtMaternityLingerie" + get rs() { return V.boughtItem.clothing.maternityLingerie; } }, { name: "Bunny outfit", value: "a bunny outfit", fs: "FSGenderFundamentalist", - rs: "clothesBoughtBunny" + get rs() { return V.boughtItem.clothing.bunny; } }, { name: "Body oil", value: "body oil", fs: "FSPhysicalIdealist", - rs: "clothesBoughtOil" + get rs() { return V.boughtItem.clothing.oil; } }, { name: "Chattel habit", value: "a chattel habit", fs: "FSChattelReligionist", - rs: "clothesBoughtHabit" + get rs() { return V.boughtItem.clothing.habit; } }, { name: "Conservative clothing", value: "conservative clothing", fs: "FSPaternalist", - rs: "clothesBoughtConservative" + get rs() { return V.boughtItem.conservative; } }, { name: "Harem gauze", value: "harem gauze", fs: "FSArabianRevivalist", - rs: "clothesBoughtHarem" + get rs() { return V.boughtItem.harem; } }, { name: "Huipil", value: "a huipil", fs: "FSAztecRevivalist", - rs: "clothesBoughtHuipil" + get rs() { return V.boughtItem.huipil; } }, { name: "Kimono", value: "a kimono", fs: "FSEdoRevivalist", - rs: { - either: { - clothesBoughtKimono: 1, - continent: "Japan" - } - } + get rs() { return (V.boughtItem.kimono || V.continent === "Japan"); } }, { name: "Maternity dress", value: "a maternity dress", fs: "FSRepopulationFocus", - rs: "clothesBoughtMaternityDress" + get rs() { return V.boughtItem.maternityDress; } }, { name: "Qipao (slutty)", value: "a slutty qipao", fs: "FSChineseRevivalist", - rs: "clothesBoughtQipao" + get rs() { return V.boughtItem.qipao; } }, { name: "Qipao (long)", value: "a long qipao", fs: "FSChineseRevivalist", - rs: "clothesBoughtCultural" + get rs() { return V.boughtItem.clothing.cultural; } }, { name: "Stretch pants and a crop-top", value: "stretch pants and a crop-top", fs: "FSHedonisticDecadence", - rs: "clothesBoughtLazyClothes" + get rs() { return V.boughtItem.clothing.lazyClothes; } }, { name: "Toga", value: "a toga", fs: "FSRomanRevivalist", - rs: "clothesBoughtToga" + get rs() { return V.boughtItem.toga; } }, { name: "Western clothing", value: "Western clothing", fs: "FSPastoralist", - rs: "clothesBoughtWestern" + get rs() { return V.boughtItem.clothing.western; } }, { name: "Courtesan dress", value: "a courtesan dress", fs: "FSSlaveProfessionalism", - rs: "clothesBoughtCourtesan" + get rs() { return V.boughtItem.clothing.courtesan; } }, { name: "Bimbo outfit", value: "a bimbo outfit", fs: "FSIntellectualDependency", - rs: "clothesBoughtBimbo" + get rs() { return V.boughtItem.clothing.bimbo; } }, { name: "Petite admi outfit", value: "petite admi outfit", fs: "FSPetiteAdmiration", - rs: "clothesBoughtPetite" - }, - {name: "Battlearmor", value: "battlearmor", rs: "clothesBoughtMilitary"}, - {name: "Military uniform", value: "a military uniform", rs: "clothesBoughtMilitary"}, - {name: "Red Army uniform", value: "a red army uniform", rs: "clothesBoughtMilitary"}, - {name: "Battledress", value: "battledress", rs: "clothesBoughtMilitary"}, - {name: "Biyelgee costume", value: "a biyelgee costume", rs: "clothesBoughtCultural"}, - {name: "Dirndl", value: "a dirndl", rs: "clothesBoughtCultural"}, - {name: "Lederhosen", value: "lederhosen", rs: "clothesBoughtCultural"}, - {name: "Mounty outfit", value: "a mounty outfit", rs: "clothesBoughtCultural"}, - {name: "Hanbok", value: "a hanbok", rs: "clothesBoughtCultural"}, + get rs() { return V.boughtItem.clothing.petite; } + }, + {name: "Battlearmor", value: "battlearmor", get rs() { return V.boughtItem.clothing.military; }}, + {name: "Military uniform", value: "a military uniform", get rs() { return V.boughtItem.clothing.military; }}, + {name: "Red Army uniform", value: "a red army uniform", get rs() { return V.boughtItem.clothing.military; }}, + {name: "Battledress", value: "battledress", get rs() { return V.boughtItem.clothing.military; }}, + {name: "Biyelgee costume", value: "a biyelgee costume", get rs() { return V.boughtItem.clothing.cultural; }}, + {name: "Dirndl", value: "a dirndl", get rs() { return V.boughtItem.clothing.cultural; }}, + {name: "Lederhosen", value: "lederhosen", get rs() { return V.boughtItem.clothing.cultural; }}, + {name: "Mounty outfit", value: "a mounty outfit", get rs() { return V.boughtItem.clothing.cultural; }}, + {name: "Hanbok", value: "a hanbok", get rs() { return V.boughtItem.clothing.cultural; }}, { name: "Burqa", value: "a burqa", - rs: { - either: { - clothesBoughtMiddleEastern: 1, - continent: "the Middle East" - } - } + get rs() { return V.boughtItem.clothing.middleEastern || V.continent === "the Middle East"; } }, { name: "Niqab and abaya", value: "a niqab and abaya", - rs: { - either: { - clothesBoughtMiddleEastern: 1, - continent: "the Middle East" - } - } + get rs() { return V.boughtItem.clothing.middleEastern || V.continent === "the Middle East"; } }, { name: "Hijab and blouse", value: "a hijab and blouse", - rs: { - either: { - clothesBoughtConservative: 1, - continent: "the Middle East" - } - } + get rs() { return V.boughtItem.clothing.conservative || V.continent === "the Middle East"; } }, { name: "Burkini", value: "a burkini", - rs: { - clothesBoughtSwimwear: 1, - either: { - clothesBoughtMiddleEastern: 1, - continent: "the Middle East" - } - } + get rs() { return V.boughtItem.clothing.swimwear && (V.boughtItem.clothing.swimwear || V.continent === "the Middle East"); } }, - {name: "Santa dress", value: "a Santa dress", rs: "clothesBoughtCostume"}, + {name: "Santa dress", value: "a Santa dress", get rs() { return V.boughtItem.clothing.costume; }}, - {name: "Klan robe", value: "a klan robe", rs: "clothesBoughtPol"}, - {name: "Slutty klan robe", value: "a slutty klan robe", rs: "clothesBoughtPol"}, - {name: "Schutzstaffel uniform", value: "a schutzstaffel uniform", rs: "clothesBoughtPol"}, - {name: "Slutty schutzstaffel uniform", value: "a slutty schutzstaffel uniform", rs: "clothesBoughtPol"}, + {name: "Klan robe", value: "a klan robe", get rs() { return V.boughtItem.clothing.pol; }}, + {name: "Slutty klan robe", value: "a slutty klan robe", get rs() { return V.boughtItem.clothing.pol; }}, + {name: "Schutzstaffel uniform", value: "a schutzstaffel uniform", get rs() { return V.boughtItem.clothing.pol; }}, + {name: "Slutty schutzstaffel uniform", value: "a slutty schutzstaffel uniform", get rs() { return V.boughtItem.clothing.pol; }}, - {name: "Nice business attire", value: "nice business attire", rs: "clothesBoughtCareer"}, - {name: "Nurse (nice)", value: "a nice nurse outfit", rs: "clothesBoughtCareer"}, - {name: "Police uniform", value: "a police uniform", rs: "clothesBoughtCareer"}, + {name: "Nice business attire", value: "nice business attire", get rs() { return V.boughtItem.clothing.career; }}, + {name: "Nurse (nice)", value: "a nice nurse outfit", get rs() { return V.boughtItem.clothing.career; }}, + {name: "Police uniform", value: "a police uniform", get rs() { return V.boughtItem.clothing.career; }}, { name: "Maid (nice)", value: "a nice maid outfit", - rs: { - either: { - clothesBoughtCareer: 1, - PC: { - career: "servant" - } - } - } - }, - - {name: "Ballgown", value: "a ball gown", rs: "clothesBoughtDresses"}, - {name: "Gothic lolita dress", value: "a gothic lolita dress", rs: "clothesBoughtDresses"}, - - {name: "Cybersuit", value: "a cybersuit", rs: "clothesBoughtBodysuits"}, - {name: "Latex catsuit", value: "a latex catsuit", rs: "clothesBoughtBodysuits"}, - - {name: "Button-up shirt and panties", value: "a button-up shirt and panties", rs: "clothesBoughtCasual"}, - {name: "Button-up shirt", value: "a button-up shirt", rs: "clothesBoughtCasual"}, - {name: "Cutoffs", value: "cutoffs", rs: "clothesBoughtCasual"}, - {name: "Jeans", value: "jeans", rs: "clothesBoughtCasual"}, - {name: "Leather pants and a tube top", value: "leather pants and a tube top", rs: "clothesBoughtCasual"}, - {name: "Leather pants", value: "leather pants", rs: "clothesBoughtCasual"}, - {name: "Oversized t-shirt", value: "an oversized t-shirt", rs: "clothesBoughtCasual"}, - {name: "Sweater and cutoffs", value: "a sweater and cutoffs", rs: "clothesBoughtCasual"}, - {name: "Sweater and panties", value: "a sweater and panties", rs: "clothesBoughtCasual"}, - {name: "Sweater", value: "a sweater", rs: "clothesBoughtCasual"}, - {name: "T-shirt and jeans", value: "a t-shirt and jeans", rs: "clothesBoughtCasual"}, - {name: "T-shirt and panties", value: "a t-shirt and panties", rs: "clothesBoughtCasual"}, - {name: "T-shirt", value: "a t-shirt", rs: "clothesBoughtCasual"}, - {name: "Tank-top and panties", value: "a tank-top and panties", rs: "clothesBoughtCasual"}, - {name: "Tank-top", value: "a tank-top", rs: "clothesBoughtCasual"}, - {name: "Tube top", value: "a tube top", rs: "clothesBoughtCasual"}, - - {name: "Boyshorts", value: "boyshorts", rs: "clothesBoughtUnderwear"}, - {name: "Bra", value: "a bra", rs: "clothesBoughtUnderwear"}, - {name: "Kitty lingerie", value: "kitty lingerie", rs: "clothesBoughtUnderwear"}, - {name: "Panties and pasties", value: "panties and pasties", rs: "clothesBoughtUnderwear"}, - {name: "Skimpy loincloth", value: "a skimpy loincloth", rs: "clothesBoughtUnderwear"}, - {name: "Thong", value: "a thong", rs: "clothesBoughtUnderwear"}, - {name: "Pasties", value: "pasties", rs: "clothesBoughtUnderwear"}, + get rs() { return V.boughtItem.clothing.career || V.PC.career === "servant"; } + }, + + {name: "Ballgown", value: "a ball gown", get rs() { return V.boughtItem.clothing.dresses; }}, + {name: "Gothic lolita dress", value: "a gothic lolita dress", get rs() { return V.boughtItem.clothing.dresses; }}, + + {name: "Cybersuit", value: "a cybersuit", get rs() { return V.boughtItem.clothing.bodysuits; }}, + {name: "Latex catsuit", value: "a latex catsuit", get rs() { return V.boughtItem.clothing.bodysuits; }}, + + {name: "Button-up shirt and panties", value: "a button-up shirt and panties", get rs() { return V.boughtItem.clothing.casual; }}, + {name: "Button-up shirt", value: "a button-up shirt", get rs() { return V.boughtItem.clothing.casual; }}, + {name: "Cutoffs", value: "cutoffs", get rs() { return V.boughtItem.clothing.casual; }}, + {name: "Jeans", value: "jeans", get rs() { return V.boughtItem.clothing.casual; }}, + {name: "Leather pants and a tube top", value: "leather pants and a tube top", get rs() { return V.boughtItem.clothing.casual; }}, + {name: "Leather pants", value: "leather pants", get rs() { return V.boughtItem.clothing.casual; }}, + {name: "Oversized t-shirt", value: "an oversized t-shirt", get rs() { return V.boughtItem.clothing.casual; }}, + {name: "Sweater and cutoffs", value: "a sweater and cutoffs", get rs() { return V.boughtItem.clothing.casual; }}, + {name: "Sweater and panties", value: "a sweater and panties", get rs() { return V.boughtItem.clothing.casual; }}, + {name: "Sweater", value: "a sweater", get rs() { return V.boughtItem.clothing.casual; }}, + {name: "T-shirt and jeans", value: "a t-shirt and jeans", get rs() { return V.boughtItem.clothing.casual; }}, + {name: "T-shirt and panties", value: "a t-shirt and panties", get rs() { return V.boughtItem.clothing.casual; }}, + {name: "T-shirt", value: "a t-shirt", get rs() { return V.boughtItem.clothing.casual; }}, + {name: "Tank-top and panties", value: "a tank-top and panties", get rs() { return V.boughtItem.clothing.casual; }}, + {name: "Tank-top", value: "a tank-top", get rs() { return V.boughtItem.clothing.casual; }}, + {name: "Tube top", value: "a tube top", get rs() { return V.boughtItem.clothing.casual; }}, + + {name: "Boyshorts", value: "boyshorts", get rs() { return V.boughtItem.clothing.underwear; }}, + {name: "Bra", value: "a bra", get rs() { return V.boughtItem.clothing.underwear; }}, + {name: "Kitty lingerie", value: "kitty lingerie", get rs() { return V.boughtItem.clothing.underwear; }}, + {name: "Panties and pasties", value: "panties and pasties", get rs() { return V.boughtItem.clothing.underwear; }}, + {name: "Skimpy loincloth", value: "a skimpy loincloth", get rs() { return V.boughtItem.clothing.underwear; }}, + {name: "Thong", value: "a thong", get rs() { return V.boughtItem.clothing.underwear; }}, + {name: "Pasties", value: "pasties", get rs() { return V.boughtItem.clothing.underwear; }}, { name: "Leather pants and pasties", value: "leather pants and pasties", - rs: { - clothesBoughtUnderwear: 1, - clothesBoughtCasual: 1 - } + get rs() { return V.boughtItem.clothing.underwear && V.boughtItem.clothing.casual; } }, { name: "T-shirt and thong", value: "a t-shirt and thong", - rs: { - clothesBoughtUnderwear: 1, - clothesBoughtCasual: 1 - } + get rs() { return V.boughtItem.clothing.underwear && V.boughtItem.clothing.casual; } }, { name: "Tube top and thong", value: "a tube top and thong", - rs: { - clothesBoughtUnderwear: 1, - clothesBoughtCasual: 1 - } + get rs() { return V.boughtItem.clothing.underwear && V.boughtItem.clothing.casual; } }, { name: "Oversized t-shirt and boyshorts", value: "an oversized t-shirt and boyshorts", - rs: { - clothesBoughtUnderwear: 1, - clothesBoughtCasual: 1 - } + get rs() { return V.boughtItem.clothing.underwear && V.boughtItem.clothing.casual; } }, - {name: "Sport shorts and a sports bra", value: "sport shorts and a sports bra", rs: "clothesBoughtSports"}, - {name: "Sport shorts", value: "sport shorts", rs: "clothesBoughtSports"}, - {name: "Sports bra", value: "a sports bra", rs: "clothesBoughtSports"}, + {name: "Sport shorts and a sports bra", value: "sport shorts and a sports bra", get rs() { return V.boughtItem.clothing.sports; }}, + {name: "Sport shorts", value: "sport shorts", get rs() { return V.boughtItem.clothing.sports; }}, + {name: "Sports bra", value: "a sports bra", get rs() { return V.boughtItem.clothing.sports; }}, { name: "Sport shorts and a t-shirt", value: "sport shorts and a t-shirt", - rs: { - clothesBoughtSports: 1, - clothesBoughtCasual: 1 - } + get rs() { return V.boughtItem.clothing.sports && V.boughtItem.clothing.casual; } }, - {name: "Pony outfit (nice)", value: "a nice pony outfit", rs: "clothesBoughtPony"}, - {name: "Pony outfit (slutty)", value: "a slutty pony outfit", rs: "clothesBoughtPony"}, + {name: "Pony outfit (nice)", value: "a nice pony outfit", get rs() { return V.boughtItem.clothing.pony; }}, + {name: "Pony outfit (slutty)", value: "a slutty pony outfit", get rs() { return V.boughtItem.clothing.pony; }}, - {name: "Monokini", value: "a monokini", rs: "clothesBoughtSwimwear"}, - {name: "One-piece swimsuit", value: "a one-piece swimsuit", rs: "clothesBoughtSwimwear"}, + {name: "Monokini", value: "a monokini", get rs() { return V.boughtItem.clothing.swimwear; }}, + {name: "One-piece swimsuit", value: "a one-piece swimsuit", get rs() { return V.boughtItem.clothing.swimwear; }}, { name: "Striped bra", value: "a striped bra", - rs: { - either: { - clothesBoughtPantsu: 1, - continent: "Japan" - } - } + get rs() { return V.boughtItem.clothing.pantsu || V.continent === "Japan"; } }, { name: "Striped panties", value: "striped panties", - rs: { - either: { - clothesBoughtPantsu: 1, - continent: "Japan" - } - } + get rs() { return V.boughtItem.clothing.pantsu || V.continent === "Japan"; } }, { name: "Striped underwear", value: "striped underwear", - rs: { - either: { - clothesBoughtPantsu: 1, - continent: "Japan" - } - } + get rs() { return V.boughtItem.clothing.pantsu || V.continent === "Japan"; } }, // "Normal" things: @@ -2258,7 +2197,7 @@ App.Data.misc = { name: "Chains", value: "chains", fs: "FSDegradationist", - rs: "clothesBoughtChains" + get rs() { return V.boughtItem.clothing.chains; } }, {name: "Go naked", value: "no clothing"}, {name: "Penitent nun", value: "a penitent nuns habit"}, @@ -2273,34 +2212,34 @@ App.Data.misc = { {name: "Silken ribbon", value: "silk ribbon"}, {name: "Heavy gold", value: "heavy gold"}, {name: "Pretty jewelry", value: "pretty jewelry"}, - {name: "Nice retirement counter", value: "nice retirement counter", rs: "seeAge"}, + {name: "Nice retirement counter", value: "nice retirement counter", get rs() { return V.seeAge; }}, {name: "Bell", value: "bell collar"}, {name: "Cowbell", value: "leather with cowbell"}, { name: "Bowtie collar", value: "bowtie", fs: "FSGenderFundamentalist", - rs: "clothesBoughtBunny" + get rs() { return V.boughtItem.clothing.bunny; } }, { name: "Neck tie", value: "neck tie", fs: "FSPaternalist", - rs: "clothesBoughtConservative" + get rs() { return V.boughtItem.clothing.conservative; } }, { name: "Ancient Egyptian", value: "ancient Egyptian", fs: "FSEgyptianRevivalist", - rs: "clothesBoughtEgypt" + get rs() { return V.boughtItem.clothing.egypt; } }, ], harshCollars: [ {name: "Tight steel", value: "tight steel"}, - {name: "Cruel retirement counter", value: "cruel retirement counter", rs: "seeAge"}, + {name: "Cruel retirement counter", value: "cruel retirement counter", get rs() { return V.seeAge; }}, {name: "Uncomfortable leather", value: "uncomfortable leather"}, - {name: "Pregnancy biometrics", value: "preg biometrics", rs: "seePreg"}, + {name: "Pregnancy biometrics", value: "preg biometrics", get rs() { return V.seeAge; }}, {name: "Shock punishment", value: "shock punishment"}, {name: "Neck corset", value: "neck corset"}, ], @@ -2317,7 +2256,7 @@ App.Data.misc = { { name: "Massive dildo gag", value: "massive dildo gag", - rs: "toysBoughtGags" + get rs() { return V.boughtItem.toys.gags; } }, {name: "Dildo gag", value: "dildo gag"}, ], @@ -2333,19 +2272,19 @@ App.Data.misc = { name: "Platforms", value: "platform shoes", fs: "FSStatuesqueGlorification", - rs: "shoesBoughtHeels" + get rs() { return (V.boughtItem.shoes.heels); } }, { name: "Platform heels", value: "platform heels", fs: "FSStatuesqueGlorification", - rs: "shoesBoughtHeels" + get rs() { return (V.boughtItem.shoes.heels); } }, { name: "Painfully extreme platform heels", value: "extreme platform heels", fs: "FSStatuesqueGlorification", - rs: "shoesBoughtHeels" + get rs() { return (V.boughtItem.shoes.heels); } } ], @@ -2358,25 +2297,25 @@ App.Data.misc = { name: "1st Trimester belly", value: "a small empathy belly", fs: "FSRepopulationFocus", - rs: "clothesBoughtBelly" + get rs() { return V.boughtItem.clothing.belly; } }, { name: "2nd Trimester belly", value: "a medium empathy belly", fs: "FSRepopulationFocus", - rs: "clothesBoughtBelly" + get rs() { return V.boughtItem.clothing.belly; } }, { name: "3rd Trimester belly", value: "a large empathy belly", fs: "FSRepopulationFocus", - rs: "clothesBoughtBelly" + get rs() { return V.boughtItem.clothing.belly; } }, { name: "3rd Trimester twins belly", value: "a huge empathy belly", fs: "FSRepopulationFocus", - rs: "clothesBoughtBelly" + get rs() { return V.boughtItem.clothing.belly; } } ], @@ -2391,7 +2330,7 @@ App.Data.misc = { { name: "Smart bullet vibrator", value: "smart bullet vibrator", - rs: "toysBoughtSmartVibes" + get rs() { return V.boughtItem.toys.smartVibes; } }, { name: "Dildo", @@ -2400,7 +2339,7 @@ App.Data.misc = { { name: "Long dildo", value: "long dildo", - rs: "buyBigDildos" + get rs() { return V.boughtItem.toys.dildos; } }, { name: "Large dildo", @@ -2409,16 +2348,16 @@ App.Data.misc = { { name: "Long, large dildo", value: "long, large dildo", - rs: "buyBigDildos" + get rs() { return V.boughtItem.toys.dildos; } }, { name: "Huge dildo", - value: "huge dildo" + get rs() { return V.boughtItem.toys.dildos; } }, { name: "Long, huge dildo", value: "long, huge dildo", - rs: "buyBigDildos" + get rs() { return V.boughtItem.toys.dildos; } } ], @@ -2439,7 +2378,7 @@ App.Data.misc = { { name: "Smart bullet vibrator", value: "smart bullet vibrator", - rs: "toysBoughtSmartVibes" + get rs() { return V.boughtItem.toys.smartVibes; } } ], @@ -2454,7 +2393,7 @@ App.Data.misc = { { name: "Long plug", value: "long plug", - rs: "toysBoughtButtPlugs" + get rs() { return V.boughtItem.toys.buttPlugs; } }, { name: "Large plug", @@ -2463,7 +2402,7 @@ App.Data.misc = { { name: "Long, large plug", value: "long, large plug", - rs: "toysBoughtButtPlugs", + get rs() { return V.boughtItem.toys.buttPlugs; } }, { name: "Huge plug", @@ -2472,16 +2411,16 @@ App.Data.misc = { { name: "Long, huge plug", value: "long, huge plug", - rs: "toysBoughtButtPlugs", + get rs() { return V.boughtItem.toys.buttPlugs; } } ], buttplugAttachments: [ {name: "None", value: "none"}, - {name: "Tail", value: "tail", rs: "toysBoughtButtPlugTails"}, - {name: "Fox tail", value: "fox tail", rs: "toysBoughtButtPlugTails"}, - {name: "Cat tail", value: "cat tail", rs: "toysBoughtButtPlugTails"}, - {name: "Cow tail", value: "cow tail", rs: "toysBoughtButtPlugTails"} + {name: "Tail", value: "tail", get rs() { return V.boughtItem.toys.buttPlugTails; }}, + {name: "Fox tail", value: "fox tail", get rs() { return V.boughtItem.toys.buttPlugTails; }}, + {name: "Cat tail", value: "cat tail", get rs() { return V.boughtItem.toys.buttPlugTails; }}, + {name: "Cow tail", value: "cow tail", get rs() { return V.boughtItem.toys.buttPlugTails; }} ], chastityDevices: [ diff --git a/src/002-config/fc-version.js b/src/002-config/fc-version.js index 8a9210407380f754a6d4b842b2ad7087c9a1f46c..95cd3cd2c4a875207b4b8766fddecf6c242b3418 100644 --- a/src/002-config/fc-version.js +++ b/src/002-config/fc-version.js @@ -2,5 +2,5 @@ App.Version = { base: "0.10.7.1", // The vanilla version the mod is based off of, this should never be changed. pmod: "3.6.2", commitHash: null, - release: 1082 + release: 1083 }; diff --git a/src/data/backwardsCompatibility/backwardsCompatibility.js b/src/data/backwardsCompatibility/backwardsCompatibility.js index 6218deb503c0f59a9f8c003d28ff570da3fdcc7a..67157f97e26f952833fd50c817716e003b879341 100644 --- a/src/data/backwardsCompatibility/backwardsCompatibility.js +++ b/src/data/backwardsCompatibility/backwardsCompatibility.js @@ -1222,6 +1222,48 @@ App.Update.globalVariables = function(node) { V.eventResults.pit = V.eventResults.pit || V.PPit || 0; V.eventResults.slaveMedic = V.eventResults.slaveMedic || V.slaveMedic || 0; + // item purchase records + V.boughtItem.clothing.bunny = V.boughtItem.clothing.bunny || V.clothesBoughtBunny || 0; + V.boughtItem.clothing.conservative = V.boughtItem.clothing.conservative || V.clothesBoughtConservative || 0; + V.boughtItem.clothing.chains = V.boughtItem.clothing.chains || V.clothesBoughtChains || 0; + V.boughtItem.clothing.western = V.boughtItem.clothing.western || V.clothesBoughtWestern || 0; + V.boughtItem.clothing.oil = V.boughtItem.clothing.oil || V.clothesBoughtOil || 0; + V.boughtItem.clothing.habit = V.boughtItem.clothing.habit || V.clothesBoughtHabit || 0; + V.boughtItem.clothing.toga = V.boughtItem.clothing.toga || V.clothesBoughtToga || 0; + V.boughtItem.clothing.huipil = V.boughtItem.clothing.huipil || V.clothesBoughtHuipil || 0; + V.boughtItem.clothing.kimono = V.boughtItem.clothing.kimono || V.clothesBoughtKimono || 0; + V.boughtItem.clothing.harem = V.boughtItem.clothing.harem || V.clothesBoughtHarem || 0; + V.boughtItem.clothing.qipao = V.boughtItem.clothing.qipao || V.clothesBoughtQipao || 0; + V.boughtItem.clothing.egypt = V.boughtItem.clothing.egypt || V.clothesBoughtEgypt || 0; + V.boughtItem.clothing.belly = V.boughtItem.clothing.belly || V.clothesBoughtBelly || 0; + V.boughtItem.clothing.maternityDress = V.boughtItem.clothing.maternityDress || V.clothesBoughtMaternityDress || 0; + V.boughtItem.clothing.maternityLingerie = V.boughtItem.clothing.maternityLingerie || V.clothesBoughtMaternityLingerie || 0; + V.boughtItem.clothing.lazyClothes = V.boughtItem.clothing.lazyClothes || V.clothesBoughtLazyClothes || 0; + V.boughtItem.clothing.bimbo = V.boughtItem.clothing.bimbo || V.clothesBoughtBimbo || 0; + V.boughtItem.clothing.courtesan = V.boughtItem.clothing.courtesan || V.clothesBoughtCourtesan || 0; + V.boughtItem.shoes.heels = V.boughtItem.shoes.heels || V.shoesBoughtHeels || 0; + V.boughtItem.clothing.petite = V.boughtItem.clothing.petite || V.clothesBoughtPetite || 0; + // non-fs + V.boughtItem.clothing.military = V.boughtItem.clothing.military || V.clothesBoughtMilitary || 0; + V.boughtItem.clothing.cultural = V.boughtItem.clothing.cultural || V.clothesBoughtCultural || 0; + V.boughtItem.clothing.middleEastern = V.boughtItem.clothing.middleEastern || V.clothesBoughtMiddleEastern || 0; + V.boughtItem.clothing.pol = V.boughtItem.clothing.pol || V.clothesBoughtPol || 0; + V.boughtItem.clothing.costume = V.boughtItem.clothing.costume || V.clothesBoughtCostume || 0; + V.boughtItem.clothing.pantsu = V.boughtItem.clothing.pantsu || V.clothesBoughtPantsu || 0; + V.boughtItem.clothing.career = V.boughtItem.clothing.career || V.clothesBoughtCareer || 0; + V.boughtItem.clothing.dresses = V.boughtItem.clothing.dresses || V.clothesBoughtDresses || 0; + V.boughtItem.clothing.bodysuits = V.boughtItem.clothing.bodysuits || V.clothesBoughtBodysuits || 0; + V.boughtItem.clothing.casual = V.boughtItem.clothing.casual || V.clothesBoughtCasual || 0; + V.boughtItem.clothing.underwear = V.boughtItem.clothing.underwear || V.clothesBoughtUnderwear || 0; + V.boughtItem.clothing.boughtSports = V.boughtItem.clothing.boughtSports || V.clothesBoughtSports || 0; + V.boughtItem.clothing.boughtPony = V.boughtItem.clothing.boughtPony || V.clothesBoughtPony || 0; + V.boughtItem.clothing.boughtSwimwear = V.boughtItem.clothing.boughtSwimwear || V.clothesBoughtSwimwear || 0; + + V.boughtItem.toys.dildos = V.boughtItem.toys.dildos || V.toysBoughtDildos || 0; + V.boughtItem.toys.smartVibes = V.boughtItem.toys.smartVibes || V.toysBoughtSmartVibes || 0; + V.boughtItem.toys.vaginalAttachments = V.boughtItem.toys.vaginalAttachments || V.toysBoughtVaginalAttachments || 0; + V.boughtItem.toys.buttPlugs = V.boughtItem.toys.buttPlugs || V.toysBoughtButtPlugs || 0; + V.boughtItem.toys.buttPlugTails = V.boughtItem.toys.buttPlugTails || V.toysBoughtButtPlugTails || 0; node.append(`Done!`); }; diff --git a/src/endWeek/saInflation.js b/src/endWeek/saInflation.js index 059c2b33f72788d4a5c0b4f3a044717ddc98ffac..037fbec4308b0c43c4a14e88828bac47811bf11c 100644 --- a/src/endWeek/saInflation.js +++ b/src/endWeek/saInflation.js @@ -626,7 +626,7 @@ App.SlaveAssignment.inflation = (function() { } } if (jsRandom(1, 100) > 50 / gigantomastiaMod && slave.boobs < 3000 * gigantomastiaMod) { - r.push(`${His} breasts <span class="lime">swell</span> with added fat as ${his} digests the milk contained in ${his} digestive track.`); + r.push(`${His} breasts <span class="lime">swell</span> with added fat as ${he} digests the milk contained in ${his} digestive track.`); slave.boobs += 200; } if (jsRandom(1, 100) > (50 / rearLipedemaDivider) && slave.butt < 7 + ((7 / 2) * rearLipedemaMod)) { diff --git a/src/interaction/slaveInteract.js b/src/interaction/slaveInteract.js index 014d6b37e570b80d48fa76eee57b146b8c2573ed..a8fb52dce161e7868aee84aab161726fc6809f15 100644 --- a/src/interaction/slaveInteract.js +++ b/src/interaction/slaveInteract.js @@ -1057,12 +1057,12 @@ App.UI.SlaveInteract.useSlaveDisplay = function(slave) { fillFaceOptions.push({text: `Cum`, disabled: `${V.dairyNameCaps} is not producing enough cum to pump through the pipes`}); } } /* dairyPiping === 1 */ - if (V.enema === 1) { + if (V.boughtItem.toys.enema === 1) { if ((slave.inflation < 3 && slave.pregKnown === 0 && slave.bellyImplant < 1500) || slave.inflation < 1) { if (slave.inflationType === "water" || slave.inflationType === "none") { fillAssOptions.push({text: `Water`, scene: `FillUpButt`, updateSlave: {inflationType: "water", inflationMethod: 2}}); } - if (V.medicalEnema === 1) { + if (V.boughtItem.toys.medicalEnema === 1) { if (slave.inflationType === "aphrodisiac" || slave.inflationType === "none") { fillAssOptions.push({text: `Aphrodisiacs`, scene: `FillUpButt`, updateSlave: {inflationType: "aphrodisiac", inflationMethod: 2}}); } @@ -1085,7 +1085,7 @@ App.UI.SlaveInteract.useSlaveDisplay = function(slave) { } /* assigned to dairy or arcade */ if (slave.inflation === 0 && slave.bellyImplant < 1500) { if (slave.assignment !== Job.DAIRY && slave.assignment !== Job.ARCADE && slave.assignment !== Job.CELLBLOCK) { - if (V.buckets === 1) { + if (V.boughtItem.toys.buckets === 1) { fillFaceOptions.push({text: `Two liters of slave food`, scene: `forceFeeding`, updateSlave: {inflation: 1, inflationType: "food", inflationMethod: 1}}); if (slave.pregKnown === 0) { fillFaceOptions.push({text: `A gallon of slave food`, scene: `forceFeeding`, updateSlave: {inflation: 2, inflationType: "food", inflationMethod: 1}}); diff --git a/src/js/itemAvailability.js b/src/js/itemAvailability.js index ae2f3353f3af13ed0f0ab2cbeb63df056f8d0d9f..7ead21f2bce81291db6accf86c6e61e7e4b24040 100644 --- a/src/js/itemAvailability.js +++ b/src/js/itemAvailability.js @@ -104,52 +104,8 @@ globalThis.isItemAccessible = (function() { return true; } if (item.hasOwnProperty("rs")) { - if (typeof item.rs === 'object' && item.rs !== null) { - let fail = false; - // Scan rs requirements one by one if they are an object - Object.keys(item.rs).forEach((requirement) => { - if (typeof item.rs[requirement] === 'object' && item.rs[requirement] !== null) { - let eitherCheck = 0; - if (requirement === "either") { // If we find the "either" nested object, we need to see if just one of the conditions in it are true. - Object.keys(item.rs.either).forEach((nestedRequirement) => { - if (typeof item.rs.either[nestedRequirement] === 'object' && item.rs.either[nestedRequirement] !== null) { // And yes sometimes even in either we have a nested object, to check V.PC mostly, so check for it. - let insideEitherCheck = 0; - Object.keys(item.rs.either[nestedRequirement]).forEach((insideNestedRequirement) => { - if (V[nestedRequirement][insideNestedRequirement] === item.rs.either[nestedRequirement][insideNestedRequirement]) { - insideEitherCheck++; - } - }); - if (insideEitherCheck > 0) { - eitherCheck++; - } - if (V[nestedRequirement] === item.rs.either[nestedRequirement]) { - eitherCheck++; - } - } else { - if (item.rs.either[nestedRequirement] === V[nestedRequirement]) { - eitherCheck++; - } - } - }); - } else { - Object.keys(item.rs.either).forEach((nestedRequirement) => { // Otherwise we are probably recording a nested V variable to be checked. - if (V[requirement][nestedRequirement] === item.rs[requirement][nestedRequirement]) { - eitherCheck++; - } - }); - } - if (eitherCheck === 0) { - fail = true; - } - } else { - if (V[requirement] !== item.rs[requirement]) { - fail = true; - } - } - }); - return !(fail); - } else { // string - return (V[item.rs] >= 1); + if (item.rs) { + return true; } } if (item.hasOwnProperty("fs")) { diff --git a/src/js/rulesAssistantOptions.js b/src/js/rulesAssistantOptions.js index 6d9513588ce4ca92b7f1111adc99359af47bd9ba..806996a492dbfd7300131dc75e5da683e4a87d89 100644 --- a/src/js/rulesAssistantOptions.js +++ b/src/js/rulesAssistantOptions.js @@ -1628,7 +1628,7 @@ globalThis.rulesAssistantOptions = (function() { this.appendChild(new ShemaleHormonesList()); this.appendChild(new GeldingHormonesList()); this.appendChild(new OtherDrugsList()); - if (V.enema === 1) { + if (V.boughtItem.toys.enema === 1) { this.appendChild(new EnemaList()); } this.appendChild(new WeightEditor()); @@ -2436,7 +2436,7 @@ globalThis.rulesAssistantOptions = (function() { ["none"], ["water"] ]; - if (V.medicalEnema === 1) { + if (V.boughtItem.toys.medicalEnema === 1) { enemas.push( ["aphrodisiac"], ["curative"], diff --git a/src/neighbor/neighborInteract.js b/src/neighbor/neighborInteract.js index 3abdab94c9fa7e198a71f6b4f4cabd693b5572b8..35fb26f3c9498660a6359871d568709d56b85fd1 100644 --- a/src/neighbor/neighborInteract.js +++ b/src/neighbor/neighborInteract.js @@ -255,7 +255,7 @@ App.Neighbor.Interact = (function() { * @param {string} itemName - the item name to check to see if the player already has this item * @param {string} category - the category to check to see if the player already has this item * @param {string} itemDisplay - a display name for a group of the item; as in, "a shipment of XXX" or "enough XXX" - * @param {string} property - the global property controlling whether this item has been acquired + * @param {function} property - adjusts the global property controlling whether this item has been acquired * @param {number} [itemPrice] - the price the player should pay for the item; by default, basePrice (computed above) */ function addAcquisitionBlock(fsRequired, itemName, category, itemDisplay, property, itemPrice = basePrice) { @@ -263,19 +263,19 @@ App.Neighbor.Interact = (function() { if (!isItemAccessible.entry(itemName, category)) { if (controlled) { const link = App.UI.DOM.link(`Request a shipment of ${itemDisplay}`, (f) => { - V[property] = 1; + property(); replaceDetails(arcID); }); App.UI.DOM.appendNewElement("div", container, link); } else if (V.PC.skill.hacking >= 50) { const link = App.UI.DOM.link(`Divert an outgoing shipment of ${itemDisplay}`, (f) => { - V[property] = 1; + property(); replaceDetails(arcID); }); App.UI.DOM.appendNewElement("div", container, link); } else if (V.arcologies[arcID].direction !== V.arcologies[0].embargoTarget) { const link = App.UI.DOM.link(`Divert an outgoing shipment of ${itemDisplay}`, (f) => { - V[property] = 1; + property(); cashX(forceNeg(itemPrice), "capEx"); // replaceDetails(arcID); - cash changed, force passage transition for sidebar update }, [], "Neighbor Interact"); @@ -289,26 +289,26 @@ App.Neighbor.Interact = (function() { } } - addAcquisitionBlock("FSRomanRevivalist", "a toga", "clothing", "togas", "clothesBoughtToga"); - addAcquisitionBlock("FSEdoRevivalist", "a kimono", "clothing", "kimonos", "clothesBoughtKimono"); - addAcquisitionBlock("FSArabianRevivalist", "harem gauze", "clothing", "silken harem garb", "clothesBoughtHarem"); - addAcquisitionBlock("FSAztecRevivalist", "a huipil", "clothing", "huipils", "clothesBoughtHuipil"); - addAcquisitionBlock("FSChineseRevivalist", "a slutty qipao", "clothing", "skimpy qipaos", "clothesBoughtQipao"); - addAcquisitionBlock("FSEgyptianRevivalist", "ancient Egyptian", "collar", "Egyptian necklace replicas", "clothesBoughtEgypt"); - addAcquisitionBlock("FSPaternalist", "conservative clothing", "clothing", "conservative clothing", "clothesBoughtConservative"); - addAcquisitionBlock("FSDegradationist", "chains", "clothing", "binding chains", "clothesBoughtChains"); - addAcquisitionBlock("FSGenderFundamentalist", "a bunny outfit", "clothing", "bunny suits", "clothesBoughtBunny"); - addAcquisitionBlock("FSIntellectualDependency", "a bimbo outfit", "clothing", "bimbo attire", "clothesBoughtBimbo"); - addAcquisitionBlock("FSSlaveProfessionalism", "a courtesan dress", "clothing", "cortesan dresses", "clothesBoughtCourtesan"); - // addAcquisitionBlock("FSPetiteAdmiration", "petite dress", "clothing", "petite-sized dresses", "clothesBoughtPetite"); - addAcquisitionBlock("FSPhysicalIdealist", "body oil", "clothing", "body oil", "clothesBoughtOil"); - addAcquisitionBlock("FSHedonisticDecadence", "stretch pants and a crop-top", "clothing", "stretch pants and crop-tops", "clothesBoughtLazyClothes"); - addAcquisitionBlock("FSChattelReligionist", "a chattel habit", "clothing", "chattel religionist habits", "clothesBoughtHabit"); - addAcquisitionBlock("FSPastoralist", "Western clothing", "clothing", "Western clothing", "clothesBoughtWestern"); - addAcquisitionBlock("FSRepopulationFocus", "a maternity dress", "clothing", "maternity dresses", "clothesBoughtMaternityDress"); - addAcquisitionBlock("FSRepopulationFocus", "attractive lingerie for a pregnant woman", "clothing", "maternity lingerie", "clothesBoughtMaternityLingerie"); - addAcquisitionBlock("FSRepopulationFocus", "a small empathy belly", "bellyAccessory", "empathy bellies", "clothesBoughtBelly"); - addAcquisitionBlock("FSStatuesqueGlorification", "platform heels", "shoes", "platform shoes", "shoesBoughtHeels"); + addAcquisitionBlock("FSRomanRevivalist", "a toga", "clothing", "togas", () => { V.boughtItem.toga = 1; }); + addAcquisitionBlock("FSEdoRevivalist", "a kimono", "clothing", "kimonos", () => { V.boughtItem.clothing.kimono = 1; }); + addAcquisitionBlock("FSArabianRevivalist", "harem gauze", "clothing", "silken harem garb", () => { V.boughtItem.clothing.harem = 1; }); + addAcquisitionBlock("FSAztecRevivalist", "a huipil", "clothing", "huipils", () => { V.boughtItem.clothing.huipil = 1; }); + addAcquisitionBlock("FSChineseRevivalist", "a slutty qipao", "clothing", "skimpy qipaos", () => { V.boughtItem.clothing.qipao = 1; }); + addAcquisitionBlock("FSEgyptianRevivalist", "ancient Egyptian", "collar", "Egyptian necklace replicas", () => { V.boughtItem.clothing.egypt = 1; }); + addAcquisitionBlock("FSPaternalist", "conservative clothing", "clothing", "conservative clothing", () => { V.boughtItem.clothing.conservative = 1; }); + addAcquisitionBlock("FSDegradationist", "chains", "clothing", "binding chains", () => { V.boughtItem.clothing.chains = 1; }); + addAcquisitionBlock("FSGenderFundamentalist", "a bunny outfit", "clothing", "bunny suits", () => { V.boughtItem.clothing.bunny = 1; }); + addAcquisitionBlock("FSIntellectualDependency", "a bimbo outfit", "clothing", "bimbo attire", () => { V.boughtItem.clothing.bimbo = 1; }); + addAcquisitionBlock("FSSlaveProfessionalism", "a courtesan dress", "clothing", "cortesan dresses", () => { V.boughtItem.clothing.courtesan = 1; }); + // addAcquisitionBlock("FSPetiteAdmiration", "petite dress", "clothing", "petite-sized dresses", () => { V.boughtItem.clothing.petite = 1; }); + addAcquisitionBlock("FSPhysicalIdealist", "body oil", "clothing", "body oil", () => { V.boughtItem.clothing.oil = 1; }); + addAcquisitionBlock("FSHedonisticDecadence", "stretch pants and a crop-top", "clothing", "stretch pants and crop-tops", () => { V.boughtItem.clothing.lazyClothes = 1; }); + addAcquisitionBlock("FSChattelReligionist", "a chattel habit", "clothing", "chattel religionist habits", () => { V.boughtItem.clothing.habit = 1; }); + addAcquisitionBlock("FSPastoralist", "Western clothing", "clothing", "Western clothing", () => { V.boughtItem.clothing.western = 1; }); + addAcquisitionBlock("FSRepopulationFocus", "a maternity dress", "clothing", "maternity dresses", () => { V.boughtItem.clothing.maternityDress = 1; }); + addAcquisitionBlock("FSRepopulationFocus", "attractive lingerie for a pregnant woman", "clothing", "maternity lingerie", () => { V.boughtItem.clothing.maternityLingerie = 1; }); + addAcquisitionBlock("FSRepopulationFocus", "a small empathy belly", "bellyAccessory", "empathy bellies", () => { V.boughtItem.clothing.belly = 1; }); + addAcquisitionBlock("FSStatuesqueGlorification", "platform heels", "shoes", "platform shoes", () => { V.boughtItem.shoes.heels = 1; }); if (exports !== 1) { const luck = (V.arcologies[arcID].direction === V.arcologies[0].embargoTarget) ? `Fortunately` : `Unfortunately`; diff --git a/src/npc/children/childInteract.tw b/src/npc/children/childInteract.tw index e374f4c248d073b7d7b783cb847eb4699dca596f..16bc93ff74cca085f3ee9dbceb14a5512cab2594 100644 --- a/src/npc/children/childInteract.tw +++ b/src/npc/children/childInteract.tw @@ -169,7 +169,7 @@ FIXME: /* TODO: will children be able to be inflated? */ <<if $activeChild.assignment != "work in the dairy" && $activeChild.assignment != "be confined in the arcade" && $activeChild.assignment != "be confined in the cellblock">> - <<if $enema>> + <<if $boughtItem.toys.enema>> <<if ($activeChild.inflation < 3 && $activeChild.pregKnown == 0 && $activeChild.bellyImplant < 1500) || ($activeChild.inflation < 1)>> <<if $activeChild.inflationType == "water" || $activeChild.inflationType == "none">> | <<link "Fill $his ass with water">> @@ -179,7 +179,7 @@ FIXME: <<include "FillUpButt">><br><</replace>> <</link>> <</if>> - <<if $medicalEnema>> + <<if $boughtItem.toys.medicalEnema>> <<if $activeChild.inflationType == "aphrodisiac" || $activeChild.inflationType == "none">> | <<link "Fill $his ass with aphrodisiacs">> <<set $activeChild.inflationType = "aphrodisiac">> @@ -264,7 +264,7 @@ FIXME: <<if $activeChild.inflation == 0 && $activeChild.bellyImplant < 1500>> | <<link "Use another slave to force-feed $him" "SlaveOnSlaveFeedingWorkAround">> <</link>> - <<if $buckets>> + <<if $boughtItem.toys.buckets>> | <<link "Make $him consume two liters of slave food">> <<set $activeChild.inflationType = "food">> <<set $activeChild.inflationMethod = 1>> @@ -761,7 +761,7 @@ FIXME: <<set $activeChild.buttplugAttachment = "none">> <<replace "#buttplugAttach">>$activeChild.buttplugAttachment<</replace>> <</link>> - <<if $toysBoughtButtPlugTails>> + <<if $boughtItem.clothing.buttPlugTails>> <<link "Tail">> <<set $activeChild.buttplugAttachment = "tail">> <<replace "#buttplugAttach">>$activeChild.buttplugAttachment<</replace>> @@ -824,13 +824,13 @@ FIXME: <<set $activeChild.dickAccessory = "none">> <<replace "#dickAccessory">>$activeChild.dickAccessory<</replace>> <</link>> - <<if isItemAccessible.entry("bullet vibrator", "dickAccessory") && $toysBoughtVaginalAttachments>> + <<if isItemAccessible.entry("bullet vibrator", "dickAccessory") && $boughtItem.clothing.vaginalAttachments>> | <<link "Bullet vibrator">> <<set $activeChild.dickAccessory = "bullet vibrator">> <<replace "#dickAccessory">>$activeChild.dickAccessory<</replace>> <</link>> <</if>> - <<if isItemAccessible.entry("smart bullet vibrator", "dickAccessory") && $toysBoughtVaginalAttachments>> + <<if isItemAccessible.entry("smart bullet vibrator", "dickAccessory") && $boughtItem.clothing.vaginalAttachments>> | <<link "Smart bullet vibrator">> <<set $activeChild.dickAccessory = "smart bullet vibrator">> <<replace "#dickAccessory">>$activeChild.dickAccessory<</replace>> diff --git a/src/pregmod/incubator.tw b/src/pregmod/incubator.tw index cd8bed8614fee169bc544f58f8682b9767ce38e6..4ae5e50c61b7ca7fe7d3a14bf8583af4a34162d4 100644 --- a/src/pregmod/incubator.tw +++ b/src/pregmod/incubator.tw @@ -84,7 +84,7 @@ Reserve an eligible mother-to-be's child to be placed in a tank upon birth. Of $ <<set _reservedNursery = WombReserveCount($slaves[_u], "nursery")>> <<set _pregWeek = $slaves[_u].pregWeek>> <<set _slaveName = SlaveFullName($slaves[_u])>> - <div class="possible" @id="_slaveId" @data-preg-count="_pregCount" @data-reserved-spots="_reservedIncubator" @data-preg-week="_pregWeek" @data-name="_slaveName"> + <div class="possible" @id="_slaveId" @data-preg-count="_WL" @data-reserved-spots="_reservedIncubator" @data-preg-week="_pregWeek" @data-name="_slaveName"> <<= App.UI.slaveDescriptionDialog($slaves[_u])>> is $slaves[_u].pregWeek week<<if $slaves[_u].pregWeek > 1>>s<</if>> pregnant with <<if $slaves[_u].pregSource == 0 || $slaves[_u].preg <= 5>>someone's<<if $slaves[_u].preg <= 5>>, though it is too early to tell whose,<</if>> <<elseif $slaves[_u].pregSource == -1>>your diff --git a/src/uncategorized/futureSociety.tw b/src/uncategorized/futureSociety.tw index 460d634d08fd0c4ef624e96416538eb7781a0649..5b286d895cf82f32f58aca66b81d919fec44fd17 100644 --- a/src/uncategorized/futureSociety.tw +++ b/src/uncategorized/futureSociety.tw @@ -687,7 +687,7 @@ You are spending <<print cashFormat($FSSpending)>> each week to support your soc <</link>> </span> <div class="indent"> - <<FSChangeDecoration "FSRepopulationFocus" "clothesBoughtMaternityLingerie" "clothesBoughtMaternityDress" "clothesBoughtBelly">> + <<FSChangeDecoration "FSRepopulationFocus" "boughtItem.clothing.maternityLingerie" "boughtItem.clothing.maternityDress" "boughtItem.clothing.belly">> </div> <<if $policies.publicPA == 1>> <<if ($assistant.appearance == "goddess") || ($assistant.appearance == "hypergoddess") || ($assistant.appearance == "preggololi") || ($assistant.appearance == "pregnant fairy") || ($assistant.appearance == "succubus") || ($assistant.appearance == "witch")>> @@ -773,7 +773,7 @@ You are spending <<print cashFormat($FSSpending)>> each week to support your soc <</link>> </span> <div class="indent"> - <<FSChangeDecoration "FSIntellectualDependency" "clothesBoughtBimbo">> + <<FSChangeDecoration "FSIntellectualDependency" "boughtItem.clothing.bimbo">> </div> <<if $policies.publicPA == 1>> <<if ["shemale", "succubus", "witch"].includes($assistant.appearance)>> @@ -805,7 +805,7 @@ You are spending <<print cashFormat($FSSpending)>> each week to support your soc <</link>> </span> <div class="indent"> - <<FSChangeDecoration "FSSlaveProfessionalism" "clothesBoughtCourtesan">> + <<FSChangeDecoration "FSSlaveProfessionalism" "boughtItem.clothing.courtesan">> </div> <<if $policies.publicPA == 1>> <<if ["angel", "businesswoman", "incubus", "goddess", "schoolgirl", "succubus"].includes($assistant.appearance)>> @@ -874,7 +874,7 @@ You are spending <<print cashFormat($FSSpending)>> each week to support your soc <</link>> </span> <div class="indent"> - <<FSChangeDecoration "FSGenderFundamentalist" "clothesBoughtBunny">> + <<FSChangeDecoration "FSGenderFundamentalist" "boughtItem.clothing.bunny">> </div> <<if $policies.publicPA == 1>> <<if ($assistant.appearance == "schoolgirl") || ($assistant.appearance == "goddess") || ($assistant.appearance == "hypergoddess") || ($assistant.appearance == "preggololi") || ($assistant.appearance == "loli") || ($assistant.appearance == "fairy") || ($assistant.appearance == "pregnant fairy") || ($assistant.appearance == "angel") || ($assistant.appearance == "cherub") || ($assistant.appearance == "succubus") || ($assistant.appearance == "witch")>> @@ -909,7 +909,7 @@ You are spending <<print cashFormat($FSSpending)>> each week to support your soc <</link>> </span> <div class="indent"> - <<FSChangeDecoration "FSPaternalist" "clothesBoughtConservative">> + <<FSChangeDecoration "FSPaternalist" "boughtItem.clothing.conservative">> </div> <<if $policies.publicPA == 1>> <<if ($assistant.appearance == "schoolgirl") || ($assistant.appearance == "goddess") || ($assistant.appearance == "hypergoddess") || ($assistant.appearance == "preggololi") || ($assistant.appearance == "loli") || ($assistant.appearance == "fairy") || ($assistant.appearance == "pregnant fairy") || ($assistant.appearance == "angel") || ($assistant.appearance == "cherub")>> @@ -941,7 +941,7 @@ You are spending <<print cashFormat($FSSpending)>> each week to support your soc <</link>> </span> <div class="indent"> - <<FSChangeDecoration "FSDegradationist" "clothesBoughtChains">> + <<FSChangeDecoration "FSDegradationist" "boughtItem.clothing.chains">> </div> <<if $policies.publicPA == 1>> <<if ($assistant.appearance == "monstergirl") || ($assistant.appearance == "businesswoman") || ($assistant.appearance == "preggololi") || ($assistant.appearance == "succubus") || ($assistant.appearance == "incubus") || ($assistant.appearance == "imp")>> @@ -1243,7 +1243,7 @@ You are spending <<print cashFormat($FSSpending)>> each week to support your soc <</link>> </span> <div class="indent"> - <<FSChangeDecoration "FSPastoralist" "clothesBoughtWestern">> + <<FSChangeDecoration "FSPastoralist" "boughtItem.clothing.western">> </div> <<if $policies.publicPA == 1>> <<if ($assistant.appearance == "goddess") || ($assistant.appearance == "shemale") || ($assistant.appearance == "hypergoddess") || ($assistant.appearance == "incubus") || ($assistant.appearance == "succubus") || ($assistant.appearance == "witch")>> @@ -1277,7 +1277,7 @@ You are spending <<print cashFormat($FSSpending)>> each week to support your soc <</link>> </span> <div class="indent"> - <<FSChangeDecoration "FSPhysicalIdealist" "clothesBoughtOil">> + <<FSChangeDecoration "FSPhysicalIdealist" "boughtItem.clothing.oil">> </div> <<if $policies.publicPA == 1>> <<if ($assistant.appearance == "amazon") || ($assistant.appearance == "shemale") || ($assistant.appearance == "incubus") || ($assistant.appearance == "succubus") || ($assistant.appearance == "witch")>> @@ -1344,7 +1344,7 @@ You are spending <<print cashFormat($FSSpending)>> each week to support your soc <</link>> </span> <div class="indent"> - <<FSChangeDecoration "FSChattelReligionist" "clothesBoughtHabit">> + <<FSChangeDecoration "FSChattelReligionist" "boughtItem.clothing.habit">> </div> <<if $policies.publicPA == 1>> <<if ($assistant.appearance == "goddess") || ($assistant.appearance == "monstergirl") || ($assistant.appearance == "incubus") || ($assistant.appearance == "succubus") || ($assistant.appearance == "witch") || ($assistant.appearance == "angel") || ($assistant.appearance == "cherub") || ($assistant.appearance == "imp")>> @@ -1535,7 +1535,7 @@ You are spending <<print cashFormat($FSSpending)>> each week to support your soc <</link>> </span> <div class="indent"> - <<FSChangeDecoration "FSRomanRevivalist" "clothesBoughtToga">> + <<FSChangeDecoration "FSRomanRevivalist" "boughtItem.clothing.toga">> </div> <<if $policies.publicPA == 1>> <<if ($assistant.appearance == "businesswoman") || ($assistant.appearance == "amazon") || ($assistant.appearance == "incubus") || ($assistant.appearance == "succubus")>> @@ -1567,7 +1567,7 @@ You are spending <<print cashFormat($FSSpending)>> each week to support your soc <</link>> </span> <div class="indent"> - <<FSChangeDecoration "FSAztecRevivalist" "clothesBoughtHuipil">> + <<FSChangeDecoration "FSAztecRevivalist" "boughtItem.clothing.huipil">> </div> <<if $policies.publicPA == 1>> <<if ($assistant.appearance == "goddess") || ($assistant.appearance == "amazon") || ($assistant.appearance == "incubus") || ($assistant.appearance == "succubus")>> @@ -1599,7 +1599,7 @@ You are spending <<print cashFormat($FSSpending)>> each week to support your soc <</link>> </span> <div class="indent"> - <<FSChangeDecoration "FSEgyptianRevivalist" "clothesBoughtEgypt">> + <<FSChangeDecoration "FSEgyptianRevivalist" "boughtItem.clothing.egypt">> </div> <<if $policies.publicPA == 1>> <<if ($assistant.appearance == "goddess") || ($assistant.appearance == "monstergirl") || ($assistant.appearance == "incubus") || ($assistant.appearance == "succubus")>> @@ -1631,7 +1631,7 @@ You are spending <<print cashFormat($FSSpending)>> each week to support your soc <</link>> </span> <div class="indent"> - <<FSChangeDecoration "FSEdoRevivalist" "clothesBoughtKimono">> + <<FSChangeDecoration "FSEdoRevivalist" "boughtItem.clothing.kimono">> </div> <<if $policies.publicPA == 1>> <<if ($assistant.appearance == "amazon") || ($assistant.appearance == "monstergirl") || ($assistant.appearance == "loli") || ($assistant.appearance == "kitsune") || ($assistant.appearance == "incubus") || ($assistant.appearance == "succubus")>> @@ -1663,7 +1663,7 @@ You are spending <<print cashFormat($FSSpending)>> each week to support your soc <</link>> </span> <div class="indent"> - <<FSChangeDecoration "FSArabianRevivalist" "clothesBoughtHarem">> + <<FSChangeDecoration "FSArabianRevivalist" "boughtItem.clothing.harem">> </div> <<if $policies.publicPA == 1>> <<if ($assistant.appearance == "businesswoman") || ($assistant.appearance == "schoolgirl") || ($assistant.appearance == "incubus") || ($assistant.appearance == "succubus")>> @@ -1695,7 +1695,7 @@ You are spending <<print cashFormat($FSSpending)>> each week to support your soc <</link>> </span> <div class="indent"> - <<FSChangeDecoration "FSChineseRevivalist" "clothesBoughtQipao">> + <<FSChangeDecoration "FSChineseRevivalist" "boughtItem.clothing.qipao">> </div> <<if $policies.publicPA == 1>> <<if ($assistant.appearance == "schoolgirl") || ($assistant.appearance == "monstergirl") || ($assistant.appearance == "incubus") || ($assistant.appearance == "succubus")>> diff --git a/src/uncategorized/genericPlotEvents.tw b/src/uncategorized/genericPlotEvents.tw index d81fcd7b21f5c96d70ed7a1f2d43d06f4f1e85e4..dc75545c66f7cf0ea215b6eb77e1dd6bbff5ee58 100644 --- a/src/uncategorized/genericPlotEvents.tw +++ b/src/uncategorized/genericPlotEvents.tw @@ -26,7 +26,7 @@ Early one morning, you hear convulsive dry heaving coming from one of the bathro <br><br> It doesn't take much investigation before you find other slaveowners reporting the same thing. Elementary detective work fingers a particular drug supplier as the culprit, and before long the unfortunate pharmaceutical concern is drowning under a rain of harsh public comment and harsher private contract warfare. As the day wears on, the poor slaves feel a bit better, but begin to report discomfort in their breasts. Apparently the problem has to do with contamination of the curative production line with A-HGH production reactants. <br><br> -The firm promptly pays @@.yellowgreen;fair compensation@@ for the minor damage to your slaves' health. However, you're left with the matter of the boobs to deal with. Over the week, all your slaves on curatives experience at least a little @@.lime;breast growth,@@ and some gain several cup sizes.<<if $medicalEnema == 1>> Those with bellies full of curative mixture, on the other hand, have not stopped growing yet and won't until they completely absorb their load. They will likely end up @@.lime;sporting enormous tits@@ by the end of this.<</if>> +The firm promptly pays @@.yellowgreen;fair compensation@@ for the minor damage to your slaves' health. However, you're left with the matter of the boobs to deal with. Over the week, all your slaves on curatives experience at least a little @@.lime;breast growth,@@ and some gain several cup sizes.<<if $boughtItem.toys.medicalEnema == 1>> Those with bellies full of curative mixture, on the other hand, have not stopped growing yet and won't until they completely absorb their load. They will likely end up @@.lime;sporting enormous tits@@ by the end of this.<</if>> <<case "bad breasts">> diff --git a/src/uncategorized/pRivalryCapture.tw b/src/uncategorized/pRivalryCapture.tw index d60af8487137f13d5ab1ef303a47277ac55b565d..eb8df43961a91ad5c373b4524a908d8c78eceb82 100644 --- a/src/uncategorized/pRivalryCapture.tw +++ b/src/uncategorized/pRivalryCapture.tw @@ -242,17 +242,24 @@ <<set $activeSlave.anus = 1>> <<set $activeSlave.preg = 25>> <<if $seeHyperPreg == 1>> + <<set $activeSlave.geneticQuirks.uterineHypersensitivity = 2>> <<set $activeSlave.vagina = 10>> <<set $activeSlave.pregType = random(20,35)>> <<set $activeSlave.counter.birthsTotal = random(120,180)>> <<set $activeSlave.bellySag = 30, $activeSlave.bellySagPreg = 30>> <<set $activeSlave.pregAdaptation = $activeSlave.counter.birthsTotal*2>> <<else>> + <<set _UHSchance = Math.random()>> + <<if _UHSchance > 0.9>> + <<set $activeSlave.geneticQuirks.uterineHypersensitivity = 2>> + <<elseif _UHSchance > 0.6 && $activeSlave.geneticQuirks.uterineHypersensitivity != 2>> + <<set $activeSlave.geneticQuirks.uterineHypersensitivity = 1>> + <</if>> <<set $activeSlave.vagina = 5>> <<set $activeSlave.pregType = either(3, 3, 4, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 8)>> <<set $activeSlave.counter.birthsTotal = random(18,27)>> <<set $activeSlave.bellySag = 2, $activeSlave.bellySagPreg = 2>> - <<set $activeSlave.pregAdaptation = random(60,100)>> + <<set $activeSlave.pregAdaptation = (random(60,100) + ($activeSlave.birthsTotal * $activeSlave.geneticQuirks.uterineHypersensitivity))>> <</if>> <<set $activeSlave.pregKnown = 1>> <<set $activeSlave.pregWeek = $activeSlave.preg>> diff --git a/src/uncategorized/wardrobe.tw b/src/uncategorized/wardrobe.tw index ff5dbe546c0dc1bd54ae24c54fccb64cb3dc6796..5fded2f29aebb4511c6f1784a1e1f0c5d22b8ff5 100644 --- a/src/uncategorized/wardrobe.tw +++ b/src/uncategorized/wardrobe.tw @@ -21,21 +21,21 @@ The room containing all the clothes and accessories you have available to dress <<else>> many styles of clothing ranging from exciting to mundane and sexy to practical. <</if>> -<<if $shoesBoughtHeels == 1>> +<<if $boughtItem.shoes.heels == 1>> A large variety of shoes are available to select from. <</if>> -<<if $toysBoughtDildos == 1 && $toysBoughtGags == 1 && $toysBoughtButtPlugs == 1>> +<<if $boughtItem.clothing.dildos == 1 && $toysBoughtGags == 1 && $boughtItem.clothing.buttPlugs == 1>> Sex toys of all kinds and shapes line the shelves. -<<elseif $toysBoughtDildos == 1 || $toysBoughtGags == 1 || $toysBoughtButtPlugs == 1 || $toysBoughtButtPlugTails == 1 || $toysBoughtVaginalAttachments == 1>> +<<elseif $boughtItem.clothing.dildos == 1 || $toysBoughtGags == 1 || $boughtItem.clothing.buttPlugs == 1 || $boughtItem.clothing.buttPlugTails == 1 || $boughtItem.clothing.vaginalAttachments == 1>> Some sex toys line the shelves. <</if>> -<<if $buckets == 1>> +<<if $boughtItem.toys.buckets == 1>> Several buckets of various sizes and a sturdy cup have been set aside for you in feeding slaves to their limit. <</if>> -<<if $enema == 1>> +<<if $boughtItem.toys.enema == 1>> A number of drums of specially formulated water for use in enemas line one of the walls. <</if>> -<<if $medicalEnema == 1>> +<<if $boughtItem.toys.medicalEnema == 1>> Alongside them, multiple drums of mixtures for use in medical enemas. <</if>> </p> @@ -52,7 +52,7 @@ The room containing all the clothes and accessories you have available to dress </div> <</if>> <<if isItemAccessible.entry("a bunny outfit", "clothing") !== true>> - [[Order a shipment of bunny suits|Wardrobe][cashX(forceNeg(Math.trunc(7500 * $upgradeMultiplierTrade)), "capEx"), $clothesBoughtBunny = 1]] + [[Order a shipment of bunny suits|Wardrobe][cashX(forceNeg(Math.trunc(7500 * $upgradeMultiplierTrade)), "capEx"), $boughtItem.clothing.bunny = 1]] <div class="detail">Costs <<print cashFormat(Math.trunc(7500 * $upgradeMultiplierTrade))>></div> <<else>> You are well stocked with classic bunny suits and bowties. @@ -67,7 +67,7 @@ The room containing all the clothes and accessories you have available to dress </div> <</if>> <<if isItemAccessible.entry("conservative clothing", "clothing") !== true>> - [[Order a shipment of conservative clothes|Wardrobe][cashX(forceNeg(Math.trunc(7500 * $upgradeMultiplierTrade)), "capEx"), $clothesBoughtConservative = 1]] + [[Order a shipment of conservative clothes|Wardrobe][cashX(forceNeg(Math.trunc(7500 * $upgradeMultiplierTrade)), "capEx"), $boughtItem.clothing.conservative = 1]] <div class="detail">Costs <<print cashFormat(Math.trunc(7500 * $upgradeMultiplierTrade))>></div> <<else>> You are well stocked with modest outfits. @@ -84,7 +84,7 @@ The room containing all the clothes and accessories you have available to dress </div> <</if>> <<if isItemAccessible.entry("a bimbo outfit", "clothing") !== true>> - [[Order a shipment of outfits suitable for bimbos|Wardrobe][cashX(forceNeg(Math.trunc(7500 * $upgradeMultiplierTrade)), "capEx"), $clothesBoughtBimbo = 1]] + [[Order a shipment of outfits suitable for bimbos|Wardrobe][cashX(forceNeg(Math.trunc(7500 * $upgradeMultiplierTrade)), "capEx"), $boughtItem.clothing.bimbo = 1]] <div class="detail">Costs <<print cashFormat(Math.trunc(7500 * $upgradeMultiplierTrade))>></div> <<else>> You are well stocked with bimbo attire. @@ -99,7 +99,7 @@ The room containing all the clothes and accessories you have available to dress </div> <</if>> <<if isItemAccessible.entry("a courtesan dress", "clothing") !== true>> - [[Order a shipment of courtesan dresses|Wardrobe][cashX(forceNeg(Math.trunc(7500 * $upgradeMultiplierTrade)), "capEx"), $clothesBoughtCourtesan = 1]] + [[Order a shipment of courtesan dresses|Wardrobe][cashX(forceNeg(Math.trunc(7500 * $upgradeMultiplierTrade)), "capEx"), $boughtItem.clothing.courtesan = 1]] <div class="detail">Costs <<print cashFormat(Math.trunc(7500 * $upgradeMultiplierTrade))>></div> <<else>> You are well stocked with courtesan dresses. @@ -116,7 +116,7 @@ The room containing all the clothes and accessories you have available to dress </div> <</if>> <<if isItemAccessible.entry("chains", "clothing") !== true>> - [[Order a shipment of chains|Wardrobe][cashX(forceNeg(Math.trunc(7500 * $upgradeMultiplierTrade)), "capEx"), $clothesBoughtChains = 1]] + [[Order a shipment of chains|Wardrobe][cashX(forceNeg(Math.trunc(7500 * $upgradeMultiplierTrade)), "capEx"), $boughtItem.clothing.chains = 1]] <div class="detail">Costs <<print cashFormat(Math.trunc(7500 * $upgradeMultiplierTrade))>></div> <<else>> You are well stocked with various lengths of binding chains. @@ -131,7 +131,7 @@ The room containing all the clothes and accessories you have available to dress </div> <</if>> <<if isItemAccessible.entry("Western clothing", "clothing") !== true>> - [[Order a shipment of western outfits|Wardrobe][cashX(forceNeg(Math.trunc(7500 * $upgradeMultiplierTrade)), "capEx"), $clothesBoughtWestern = 1]] + [[Order a shipment of western outfits|Wardrobe][cashX(forceNeg(Math.trunc(7500 * $upgradeMultiplierTrade)), "capEx"), $boughtItem.clothing.western = 1]] <div class="detail">Costs <<print cashFormat(Math.trunc(7500 * $upgradeMultiplierTrade))>></div> <<else>> You are well stocked with cowgirl outfits. @@ -148,7 +148,7 @@ The room containing all the clothes and accessories you have available to dress </div> <</if>> <<if isItemAccessible.entry("body oil", "clothing") !== true>> - [[Order a shipment of body oil|Wardrobe][cashX(forceNeg(Math.trunc(7500 * $upgradeMultiplierTrade)), "capEx"), $clothesBoughtOil = 1]] + [[Order a shipment of body oil|Wardrobe][cashX(forceNeg(Math.trunc(7500 * $upgradeMultiplierTrade)), "capEx"), $boughtItem.clothing.oil = 1]] <div class="detail">Costs <<print cashFormat(Math.trunc(7500 * $upgradeMultiplierTrade))>></div> <<else>> You are well stocked with various body oils. @@ -163,7 +163,7 @@ The room containing all the clothes and accessories you have available to dress </div> <</if>> <<if isItemAccessible.entry("stretch pants and a crop-top", "clothing") !== true>> - [[Order a shipment of comfortable, rather stretchy, clothes|Wardrobe][cashX(forceNeg(Math.trunc(7500 * $upgradeMultiplierTrade)), "capEx"), $clothesBoughtLazyClothes = 1]] + [[Order a shipment of comfortable, rather stretchy, clothes|Wardrobe][cashX(forceNeg(Math.trunc(7500 * $upgradeMultiplierTrade)), "capEx"), $boughtItem.clothing.lazyClothes = 1]] <div class="detail">Costs <<print cashFormat(Math.trunc(7500 * $upgradeMultiplierTrade))>></div> <<else>> You are well stocked with various comfy pants and rather tight crop-tops. @@ -180,7 +180,7 @@ The room containing all the clothes and accessories you have available to dress </div> <</if>> <<if isItemAccessible.entry("a chattel habit", "clothing") !== true>> - [[Order a shipment of chattel habits|Wardrobe][cashX(forceNeg(Math.trunc(7500 * $upgradeMultiplierTrade)), "capEx"), $clothesBoughtHabit = 1]] + [[Order a shipment of chattel habits|Wardrobe][cashX(forceNeg(Math.trunc(7500 * $upgradeMultiplierTrade)), "capEx"), $boughtItem.clothing.habit = 1]] <div class="detail">Costs <<print cashFormat(Math.trunc(7500 * $upgradeMultiplierTrade))>></div> <<else>> You are well stocked with habits from the chattel religion. @@ -194,7 +194,7 @@ The room containing all the clothes and accessories you have available to dress </div> <</if>> <<if isItemAccessible.entry("a maternity dress", "clothing") !== true>> - [[Order a shipment of maternity dresses|Wardrobe][cashX(forceNeg(Math.trunc(7500 * $upgradeMultiplierTrade)), "capEx"), $clothesBoughtMaternityDress = 1]] + [[Order a shipment of maternity dresses|Wardrobe][cashX(forceNeg(Math.trunc(7500 * $upgradeMultiplierTrade)), "capEx"), $boughtItem.clothing.maternityDress = 1]] <div class="detail">Costs <<print cashFormat(Math.trunc(7500 * $upgradeMultiplierTrade))>></div> <<else>> You are well stocked with dresses specially tailored for pregnant women. @@ -211,7 +211,7 @@ The room containing all the clothes and accessories you have available to dress </div> <</if>> <<if isItemAccessible.entry("attractive lingerie for a pregnant woman", "clothing") !== true>> - [[Order a shipment of maternity lingerie|Wardrobe][cashX(forceNeg(Math.trunc(7500 * $upgradeMultiplierTrade)), "capEx"), $clothesBoughtMaternityLingerie = 1]] + [[Order a shipment of maternity lingerie|Wardrobe][cashX(forceNeg(Math.trunc(7500 * $upgradeMultiplierTrade)), "capEx"), $boughtItem.clothing.maternityLingerie = 1]] <div class="detail">Costs <<print cashFormat(Math.trunc(7500 * $upgradeMultiplierTrade))>></div> <<else>> You are well stocked with sexy silken lingerie designed for pregnant women. @@ -234,7 +234,7 @@ The room containing all the clothes and accessories you have available to dress <</if>> <<set _model.collar = "none">> <<if !isItemAccessible.entry("ancient Egyptian", "collar")>> - [[Order a shipment of Egyptian necklaces|Wardrobe][cashX(forceNeg(Math.trunc(7500 * $upgradeMultiplierTrade)), "capEx"), $clothesBoughtEgypt = 1]] + [[Order a shipment of Egyptian necklaces|Wardrobe][cashX(forceNeg(Math.trunc(7500 * $upgradeMultiplierTrade)), "capEx"), $boughtItem.clothing.egypt = 1]] <div class="detail">Costs <<print cashFormat(Math.trunc(7500 * $upgradeMultiplierTrade))>></div> <<else>> You are well stocked with ancient Egyptian necklaces. @@ -249,7 +249,7 @@ The room containing all the clothes and accessories you have available to dress </div> <</if>> <<if isItemAccessible.entry("a toga", "clothing") !== true>> - [[Order a shipment of togas|Wardrobe][cashX(forceNeg(Math.trunc(7500 * $upgradeMultiplierTrade)), "capEx"), $clothesBoughtToga = 1]] + [[Order a shipment of togas|Wardrobe][cashX(forceNeg(Math.trunc(7500 * $upgradeMultiplierTrade)), "capEx"), $boughtItem.clothing.toga = 1]] <div class="detail">Costs <<print cashFormat(Math.trunc(7500 * $upgradeMultiplierTrade))>></div> <<else>> You are well stocked with fine roman-styled togas. @@ -266,7 +266,7 @@ The room containing all the clothes and accessories you have available to dress </div> <</if>> <<if isItemAccessible.entry("a huipil", "clothing") !== true>> - [[Order a shipment of huipil|Wardrobe][cashX(forceNeg(Math.trunc(7500 * $upgradeMultiplierTrade)), "capEx"), $clothesBoughtHuipil = 1]] + [[Order a shipment of huipil|Wardrobe][cashX(forceNeg(Math.trunc(7500 * $upgradeMultiplierTrade)), "capEx"), $boughtItem.clothing.huipil = 1]] <div class="detail">Costs <<print cashFormat(Math.trunc(7500 * $upgradeMultiplierTrade))>></div> <<else>> You are well stocked with exquisite Aztec huipils. @@ -281,7 +281,7 @@ The room containing all the clothes and accessories you have available to dress </div> <</if>> <<if isItemAccessible.entry("a kimono", "clothing") !== true>> - [[Order a shipment of kimonos|Wardrobe][cashX(forceNeg(Math.trunc(7500 * $upgradeMultiplierTrade)), "capEx"), $clothesBoughtKimono = 1]] + [[Order a shipment of kimonos|Wardrobe][cashX(forceNeg(Math.trunc(7500 * $upgradeMultiplierTrade)), "capEx"), $boughtItem.clothing.kimono = 1]] <div class="detail">Costs <<print cashFormat(Math.trunc(7500 * $upgradeMultiplierTrade))>></div> <<else>> You are well stocked with elegant Japanese kimonos. @@ -298,7 +298,7 @@ The room containing all the clothes and accessories you have available to dress </div> <</if>> <<if isItemAccessible.entry("harem gauze", "clothing") !== true>> - [[Order a shipment of harem outfits|Wardrobe][cashX(forceNeg(Math.trunc(7500 * $upgradeMultiplierTrade)), "capEx"), $clothesBoughtHarem = 1]] + [[Order a shipment of harem outfits|Wardrobe][cashX(forceNeg(Math.trunc(7500 * $upgradeMultiplierTrade)), "capEx"), $boughtItem.clothing.harem = 1]] <div class="detail">Costs <<print cashFormat(Math.trunc(7500 * $upgradeMultiplierTrade))>></div> <<else>> You are well stocked with Arabic harem garb made from the finest available silks. @@ -313,7 +313,7 @@ The room containing all the clothes and accessories you have available to dress </div> <</if>> <<if isItemAccessible.entry("a slutty qipao", "clothing") !== true>> - [[Order a shipment of qipaos|Wardrobe][cashX(forceNeg(Math.trunc(7500 * $upgradeMultiplierTrade)), "capEx"), $clothesBoughtQipao = 1]] + [[Order a shipment of qipaos|Wardrobe][cashX(forceNeg(Math.trunc(7500 * $upgradeMultiplierTrade)), "capEx"), $boughtItem.clothing.qipao = 1]] <div class="detail">Costs <<print cashFormat(Math.trunc(7500 * $upgradeMultiplierTrade))>></div> <<else>> You are well stocked with slutty Chinese qipaos. @@ -334,7 +334,7 @@ The room containing all the clothes and accessories you have available to dress </div> <</if>> <<if isItemAccessible.entry("battlearmor", "clothing") !== true>> - [[Order a shipment of military themed clothing|Wardrobe][cashX(forceNeg(Math.trunc(5000 * $upgradeMultiplierTrade)), "capEx"), $clothesBoughtMilitary = 1]] + [[Order a shipment of military themed clothing|Wardrobe][cashX(forceNeg(Math.trunc(5000 * $upgradeMultiplierTrade)), "capEx"), $boughtItem.clothing.military = 1]] <div class="detail">Costs <<print cashFormat(Math.trunc(5000 * $upgradeMultiplierTrade))>></div> <<else>> You are well stocked with a variety of military themed garb. @@ -349,7 +349,7 @@ The room containing all the clothes and accessories you have available to dress </div> <</if>> <<if isItemAccessible.entry("a dirndl", "clothing") !== true>> - [[Order a shipment of cultural outfits|Wardrobe][cashX(forceNeg(Math.trunc(15000 * $upgradeMultiplierTrade)), "capEx"), $clothesBoughtCultural = 1]] + [[Order a shipment of cultural outfits|Wardrobe][cashX(forceNeg(Math.trunc(15000 * $upgradeMultiplierTrade)), "capEx"), $boughtItem.clothing.cultural = 1]] <div class="detail">Costs <<print cashFormat(Math.trunc(15000 * $upgradeMultiplierTrade))>></div> <<else>> You are well stocked with a variety of signature outfits from a variety of countries. @@ -366,7 +366,7 @@ The room containing all the clothes and accessories you have available to dress </div> <</if>> <<if isItemAccessible.entry("a burqa", "clothing") !== true>> - [[Order a shipment of burqas and similar garb|Wardrobe][cashX(forceNeg(Math.trunc(5000 * $upgradeMultiplierTrade)), "capEx"), $clothesBoughtMiddleEastern = 1]] + [[Order a shipment of burqas and similar garb|Wardrobe][cashX(forceNeg(Math.trunc(5000 * $upgradeMultiplierTrade)), "capEx"), $boughtItem.clothing.middleEastern = 1]] <div class="detail">Costs <<print cashFormat(Math.trunc(5000 * $upgradeMultiplierTrade))>></div> <<else>> You are well stocked with a number of burqas and similar clothing. @@ -381,7 +381,7 @@ The room containing all the clothes and accessories you have available to dress </div> <</if>> <<if isItemAccessible.entry("jeans", "clothing") !== true>> - [[Order an extra large shipment of casual clothing|Wardrobe][cashX(forceNeg(Math.trunc(5000 * $upgradeMultiplierTrade)), "capEx"), $clothesBoughtCasual = 1]] + [[Order an extra large shipment of casual clothing|Wardrobe][cashX(forceNeg(Math.trunc(5000 * $upgradeMultiplierTrade)), "capEx"), $boughtItem.clothing.casual = 1]] <div class="detail">Costs <<print cashFormat(Math.trunc(5000 * $upgradeMultiplierTrade))>></div> <<else>> You are well stocked with casual clothing. @@ -398,7 +398,7 @@ The room containing all the clothes and accessories you have available to dress </div> <</if>> <<if isItemAccessible.entry("a police uniform", "clothing") !== true>> - [[Order a shipment of professional garments|Wardrobe][cashX(forceNeg(Math.trunc(2500 * $upgradeMultiplierTrade)), "capEx"), $clothesBoughtCareer = 1]] + [[Order a shipment of professional garments|Wardrobe][cashX(forceNeg(Math.trunc(2500 * $upgradeMultiplierTrade)), "capEx"), $boughtItem.clothing.career = 1]] <div class="detail">Costs <<print cashFormat(Math.trunc(2500 * $upgradeMultiplierTrade))>></div> <<else>> You are well stocked with a selection of professional outfits. @@ -413,7 +413,7 @@ The room containing all the clothes and accessories you have available to dress </div> <</if>> <<if isItemAccessible.entry("a gothic lolita dress", "clothing") !== true>> - [[Order a shipment of professionally tailored dresses|Wardrobe][cashX(forceNeg(Math.trunc(15000 * $upgradeMultiplierTrade)), "capEx"), $clothesBoughtDresses = 1]] + [[Order a shipment of professionally tailored dresses|Wardrobe][cashX(forceNeg(Math.trunc(15000 * $upgradeMultiplierTrade)), "capEx"), $boughtItem.clothing.dresses = 1]] <div class="detail">Costs <<print cashFormat(Math.trunc(15000 * $upgradeMultiplierTrade))>></div> <<else>> You are well stocked with a selection of fine dresses. @@ -430,7 +430,7 @@ The room containing all the clothes and accessories you have available to dress </div> <</if>> <<if isItemAccessible.entry("a cybersuit", "clothing") !== true>> - [[Order a shipment of exotic bodysuits|Wardrobe][cashX(forceNeg(Math.trunc(7500 * $upgradeMultiplierTrade)), "capEx"), $clothesBoughtBodysuits = 1]] + [[Order a shipment of exotic bodysuits|Wardrobe][cashX(forceNeg(Math.trunc(7500 * $upgradeMultiplierTrade)), "capEx"), $boughtItem.clothing.bodySuits = 1]] <div class="detail">Costs <<print cashFormat(Math.trunc(7500 * $upgradeMultiplierTrade))>></div> <<else>> You are well stocked with a selection of bodysuits. @@ -445,7 +445,7 @@ The room containing all the clothes and accessories you have available to dress </div> <</if>> <<if isItemAccessible.entry("boyshorts", "clothing") !== true>> - [[Order a shipment of undergarments|Wardrobe][cashX(forceNeg(Math.trunc(5000 * $upgradeMultiplierTrade)), "capEx"), $clothesBoughtUnderwear = 1]] + [[Order a shipment of undergarments|Wardrobe][cashX(forceNeg(Math.trunc(5000 * $upgradeMultiplierTrade)), "capEx"), $boughtItem.clothing.underwear = 1]] <div class="detail">Costs <<print cashFormat(Math.trunc(5000 * $upgradeMultiplierTrade))>></div> <<else>> You are well stocked with underwear. @@ -462,7 +462,7 @@ The room containing all the clothes and accessories you have available to dress </div> <</if>> <<if isItemAccessible.entry("sport shorts and a sports bra", "clothing") !== true>> - [[Order a shipment of exercise wear|Wardrobe][cashX(forceNeg(Math.trunc(2500 * $upgradeMultiplierTrade)), "capEx"), $clothesBoughtSports = 1]] + [[Order a shipment of exercise wear|Wardrobe][cashX(forceNeg(Math.trunc(2500 * $upgradeMultiplierTrade)), "capEx"), $boughtItem.clothing.sports = 1]] <div class="detail">Costs <<print cashFormat(Math.trunc(2500 * $upgradeMultiplierTrade))>></div> <<else>> You are well stocked with exercise wear. @@ -477,7 +477,7 @@ The room containing all the clothes and accessories you have available to dress </div> <</if>> <<if isItemAccessible.entry("a one-piece swimsuit", "clothing") !== true>> - [[Order a shipment of swimwear|Wardrobe][cashX(forceNeg(Math.trunc(3500 * $upgradeMultiplierTrade)), "capEx"), $clothesBoughtSwimwear = 1]] + [[Order a shipment of swimwear|Wardrobe][cashX(forceNeg(Math.trunc(3500 * $upgradeMultiplierTrade)), "capEx"), $boughtItem.clothing.swimwear = 1]] <div class="detail">Costs <<print cashFormat(Math.trunc(3500 * $upgradeMultiplierTrade))>></div> <<else>> You are well stocked with swimwear. @@ -494,7 +494,7 @@ The room containing all the clothes and accessories you have available to dress </div> <</if>> <<if isItemAccessible.entry("a nice pony outfit", "clothing") !== true>> - [[Order a shipment of specialized latex ponygirl outfits|Wardrobe][cashX(forceNeg(Math.trunc(10000 * $upgradeMultiplierTrade)), "capEx"), $clothesBoughtPony = 1]] + [[Order a shipment of specialized latex ponygirl outfits|Wardrobe][cashX(forceNeg(Math.trunc(10000 * $upgradeMultiplierTrade)), "capEx"), $boughtItem.clothing.pony = 1]] <div class="detail">Costs <<print cashFormat(Math.trunc(10000 * $upgradeMultiplierTrade))>></div> <<else>> You are well stocked with ponygirl bodysuits. @@ -509,7 +509,7 @@ The room containing all the clothes and accessories you have available to dress </div> <</if>> <<if isItemAccessible.entry("a schutzstaffel uniform", "clothing") !== true>> - [[Order a shipment of politically incorrect clothing|Wardrobe][cashX(forceNeg(Math.trunc(15000 * $upgradeMultiplierTrade)), "capEx"), $clothesBoughtPol = 1]] + [[Order a shipment of politically incorrect clothing|Wardrobe][cashX(forceNeg(Math.trunc(15000 * $upgradeMultiplierTrade)), "capEx"), $boughtItem.clothing.pol = 1]] <div class="detail">Costs <<print cashFormat(Math.trunc(15000 * $upgradeMultiplierTrade))>></div> <<else>> You are well stocked with a selection of outfits once considered distasteful. @@ -526,7 +526,7 @@ The room containing all the clothes and accessories you have available to dress </div> <</if>> <<if isItemAccessible.entry("a Santa dress", "clothing") !== true>> - [[Order a shipment of colorful and revealing costumes|Wardrobe][cashX(forceNeg(Math.trunc(7500 * $upgradeMultiplierTrade)), "capEx"), $clothesBoughtCostume = 1]] + [[Order a shipment of colorful and revealing costumes|Wardrobe][cashX(forceNeg(Math.trunc(7500 * $upgradeMultiplierTrade)), "capEx"), $boughtItem.clothing.costume = 1]] <div class="detail">Costs <<print cashFormat(Math.trunc(15000 * $upgradeMultiplierTrade))>></div> <<else>> You are well stocked with a variety of costume party supplies. @@ -541,7 +541,7 @@ The room containing all the clothes and accessories you have available to dress </div> <</if>> <<if isItemAccessible.entry("striped panties", "clothing") !== true>> - [[Order a large crate of panties from Japan|Wardrobe][cashX(forceNeg(Math.trunc(2500 * $upgradeMultiplierTrade)), "capEx"), $clothesBoughtPantsu = 1]] + [[Order a large crate of panties from Japan|Wardrobe][cashX(forceNeg(Math.trunc(2500 * $upgradeMultiplierTrade)), "capEx"), $boughtItem.clothing.pantsu = 1]] <div class="detail">Costs <<print cashFormat(Math.trunc(2500 * $upgradeMultiplierTrade))>></div> <<else>> You have an impressive stash of panties and other striped underwear that may or may not be have at one point been used. @@ -554,7 +554,7 @@ The room containing all the clothes and accessories you have available to dress <p> <<if !isItemAccessible.entry("platform heels", "shoes")>> - [[Order a shipment of platform shoes|Wardrobe][cashX(forceNeg(Math.trunc(7500 * $upgradeMultiplierTrade)), "capEx"), $shoesBoughtHeels = 1]] + [[Order a shipment of platform shoes|Wardrobe][cashX(forceNeg(Math.trunc(7500 * $upgradeMultiplierTrade)), "capEx"), $boughtItem.shoes.heels = 1]] <span class="detail">Costs <<print cashFormat(Math.trunc(7500 * $upgradeMultiplierTrade))>></span> <<else>> You have shelves dedicated to your collection of platform shoes. @@ -563,7 +563,7 @@ The room containing all the clothes and accessories you have available to dress <p> <<if !isItemAccessible.entry("a small empathy belly", "bellyAccessory")>> - [[Order a shipment of fake pregnancy bellies|Wardrobe][cashX(forceNeg(Math.trunc(15000 * $upgradeMultiplierTrade)), "capEx"), $clothesBoughtBelly = 1]] + [[Order a shipment of fake pregnancy bellies|Wardrobe][cashX(forceNeg(Math.trunc(15000 * $upgradeMultiplierTrade)), "capEx"), $boughtItem.clothing.belly = 1]] <span class="detail">Costs <<print cashFormat(Math.trunc(15000 * $upgradeMultiplierTrade))>></span> <<else>> You are well stocked with silicone pregnancy bellies modeled after variously sized women. @@ -572,14 +572,14 @@ The room containing all the clothes and accessories you have available to dress <p> <div> - <<if $toysBoughtDildos == 0>> - [[Order a shipment of extra long dildos and bullet vibes|Wardrobe][cashX(forceNeg(Math.trunc(10000 * $upgradeMultiplierTrade)), "capEx"), $toysBoughtDildos = 1]] + <<if $boughtItem.clothing.dildos == 0>> + [[Order a shipment of extra long dildos and bullet vibes|Wardrobe][cashX(forceNeg(Math.trunc(10000 * $upgradeMultiplierTrade)), "capEx"), $boughtItem.clothing.dildos = 1]] <span class="detail">Costs <<print cashFormat(Math.trunc(10000 * $upgradeMultiplierTrade))>></span> <<else>> You are well stocked with extra long dildos in a variety of sizes, as well as a good amount of bullet vibrators. - <<if $toysBoughtSmartVibes == 0>> + <<if $boughtItem.clothing.smartVibes == 0>> <div class="indent"> - [[Order the "smart" variant of the bullet vibrators|Wardrobe][cashX(forceNeg(Math.trunc(5000 * $upgradeMultiplierTrade)), "capEx"), $toysBoughtSmartVibes = 1]] + [[Order the "smart" variant of the bullet vibrators|Wardrobe][cashX(forceNeg(Math.trunc(5000 * $upgradeMultiplierTrade)), "capEx"), $boughtItem.clothing.smartVibes = 1]] <span class="detail">Costs <<print cashFormat(Math.trunc(5000 * $upgradeMultiplierTrade))>></span> </div> <<else>> @@ -589,8 +589,8 @@ The room containing all the clothes and accessories you have available to dress </div> <div> - <<if $toysBoughtVaginalAttachments == 0>> - [[Order a shipment of vibrating dildo attachments|Wardrobe][cashX(forceNeg(Math.trunc(10000 * $upgradeMultiplierTrade)), "capEx"), $toysBoughtVaginalAttachments = 1]] + <<if $boughtItem.clothing.vaginalAttachments == 0>> + [[Order a shipment of vibrating dildo attachments|Wardrobe][cashX(forceNeg(Math.trunc(10000 * $upgradeMultiplierTrade)), "capEx"), $boughtItem.clothing.vaginalAttachments = 1]] <span class="detail">Costs <<print cashFormat(Math.trunc(10000 * $upgradeMultiplierTrade))>></span> <<else>> You are well stocked with attachments that allow dildos to vibrate. @@ -598,8 +598,8 @@ The room containing all the clothes and accessories you have available to dress </div> <div> - <<if $toysBoughtButtPlugs == 0>> - [[Order a shipment of extra long buttplugs|Wardrobe][cashX(forceNeg(Math.trunc(10000 * $upgradeMultiplierTrade)), "capEx"), $toysBoughtButtPlugs = 1]] + <<if $boughtItem.clothing.buttPlugs == 0>> + [[Order a shipment of extra long buttplugs|Wardrobe][cashX(forceNeg(Math.trunc(10000 * $upgradeMultiplierTrade)), "capEx"), $boughtItem.clothing.buttPlugs = 1]] <span class="detail">Costs <<print cashFormat(Math.trunc(10000 * $upgradeMultiplierTrade))>></span> <<else>> You are well stocked with extra long buttplugs in a variety of sizes. @@ -607,8 +607,8 @@ The room containing all the clothes and accessories you have available to dress </div> <div> - <<if $toysBoughtButtPlugTails == 0>> - [[Order a shipment of attachable tails|Wardrobe][cashX(forceNeg(Math.trunc(5000 * $upgradeMultiplierTrade)), "capEx"), $toysBoughtButtPlugTails = 1]] + <<if $boughtItem.clothing.buttPlugTails == 0>> + [[Order a shipment of attachable tails|Wardrobe][cashX(forceNeg(Math.trunc(5000 * $upgradeMultiplierTrade)), "capEx"), $boughtItem.clothing.buttPlugTails = 1]] <span class="detail">Costs <<print cashFormat(Math.trunc(5000 * $upgradeMultiplierTrade))>></span> <<else>> You are well stocked with tails to attach to your buttplugs. @@ -627,8 +627,8 @@ The room containing all the clothes and accessories you have available to dress <p> <div> - <<if $buckets == 0>> - [[Gather up everything you need to force-feed slaves|Wardrobe][$buckets = 1]] + <<if $boughtItem.toys.buckets == 0>> + [[Gather up everything you need to force-feed slaves|Wardrobe][$boughtItem.toys.buckets = 1]] <span class="detail">Some supplies from the cafeteria and a slight adjustment to the feeder settings is all it would take.</span> <<else>> You have everything you need in one place to force-feed slaves. You've also adjusted the feeders to cheaply produce filler food to save on money. However, said food is just empty calories and probably bad for a slave's waistline. @@ -636,13 +636,13 @@ The room containing all the clothes and accessories you have available to dress </div> <div> - <<if $enema == 0>> - [[Order enema supplies|Wardrobe][cashX(forceNeg(Math.trunc(5000 * $upgradeMultiplierTrade)), "capEx"), $enema = 1]] + <<if $boughtItem.toys.enema == 0>> + [[Order enema supplies|Wardrobe][cashX(forceNeg(Math.trunc(5000 * $upgradeMultiplierTrade)), "capEx"), $boughtItem.toys.enema = 1]] <span class="detail">Costs <<print cashFormat(Math.trunc(5000 * $upgradeMultiplierTrade))>></span> <<else>> You are well stocked with specially formulated liquids to be used safely for long term enemas along with the tools needed to keep a slave bloated for extended periods of time. - <<if $medicalEnema == 0>> - [[Order medical enema supplies|Wardrobe][cashX(forceNeg(Math.trunc(25000 * $upgradeMultiplierTrade)), "capEx"), $medicalEnema = 1]] + <<if $boughtItem.toys.medicalEnema == 0>> + [[Order medical enema supplies|Wardrobe][cashX(forceNeg(Math.trunc(25000 * $upgradeMultiplierTrade)), "capEx"), $boughtItem.toys.medicalEnema = 1]] <span class="detail">Costs <<print cashFormat(Math.trunc(25000 * $upgradeMultiplierTrade))>></span> <<else>> You are also well stocked with drugs to be mixed with the enema water for use in medical enemas.