Skip to content
Snippets Groups Projects
itemAvailability.js 5.95 KiB
Newer Older
  • Learn to ignore specific revisions
  • brickode's avatar
    brickode committed
    /* eslint-disable no-undef */
    
    Pregmodder's avatar
    Pregmodder committed
    /* intended to condense the clothing/toy/etc availability checks into something less asinine */
    window.isItemAccessible = function(string) {
    	const V = State.variables;
    
    
    Skriv's avatar
    Skriv committed
    	if (V.cheatMode === 1) {
    
    Pregmodder's avatar
    Pregmodder committed
    		return true;
    
    Skriv's avatar
    Skriv committed
    	}
    	switch (string) { /* no breaks needed because we always return */
    		case "attractive lingerie for a pregnant woman":
    			return (V.arcologies[0].FSRepopulationFocus > 0 || V.clothesBoughtMaternityLingerie === 1);
    		case "a bunny outfit":
    			return (V.arcologies[0].FSGenderFundamentalist > 0 || V.clothesBoughtBunny === 1);
    		case "body oil":
    			return (V.arcologies[0].FSPhysicalIdealist > 0 || V.clothesBoughtOil === 1);
    		case "chains":
    			return (V.arcologies[0].FSDegradationist > 0 || V.clothesBoughtChains === 1);
    		case "a chattel habit":
    			return (V.arcologies[0].FSChattelReligionist > 0 || V.clothesBoughtHabit === 1);
    		case "conservative clothing":
    			return (V.arcologies[0].FSPaternalist > 0 || V.clothesBoughtConservative === 1);
    		case "harem gauze":
    			return (V.arcologies[0].FSArabianRevivalist > 0 || V.clothesBoughtHarem === 1);
    		case "a huipil":
    			return (V.arcologies[0].FSAztecRevivalist > 0 || V.clothesBoughtHuipil === 1);
    		case "a kimono":
    			return (V.arcologies[0].FSEdoRevivalist > 0 || V.clothesBoughtKimono === 1 || V.continent === "Japan");
    		case "a maternity dress":
    			return (V.arcologies[0].FSRepopulationFocus > 0 || V.clothesBoughtMaternityDress === 1);
    		case "a slutty qipao":
    			return (V.arcologies[0].FSChineseRevivalist > 0 || V.clothesBoughtQipao === 1);
    		case "a long qipao":
    			return (V.arcologies[0].FSChineseRevivalist > 0 || V.clothesBoughtCultural === 1);
    		case "stretch pants and a crop-top":
    			return (V.arcologies[0].FSHedonisticDecadence > 0 || V.clothesBoughtLazyClothes === 1);
    		case "a toga":
    			return (V.arcologies[0].FSRomanRevivalist > 0 || V.clothesBoughtToga === 1);
    		case "Western clothing":
    			return (V.arcologies[0].FSPastoralist > 0 || V.clothesBoughtWestern === 1);
    		case "battlearmor":
    		case "a military uniform":
    		case "a red army uniform":
    		case "battledress":
    			return (V.clothesBoughtMilitary === 1);
    		case "a biyelgee costume":
    		case "a dirndl":
    		case "lederhosen":
    		case "a mounty outfit":
    		case "a hanbok":
    			return (V.clothesBoughtCultural === 1);
    		case "a burqa":
    		case "a niqab and abaya":
    			return (V.clothesBoughtMiddleEastern === 1 || V.continent === "the Middle East");
    		case "a hijab and blouse":
    			return (V.clothesBoughtMiddleEastern === 1 || V.clothesBoughtConservative === 1 || V.continent === "the Middle East");
    		case "a burkini":
    			return (V.clothesBoughtMiddleEastern === 1 && V.clothesBoughtSwimwear === 1 || V.continent === "the Middle East");
    		case "a Santa dress":
    			return (V.clothesBoughtCostume === 1);
    		case "a klan robe":
    		case "a slutty klan robe":
    		case "a schutzstaffel uniform":
    		case "a slutty schutzstaffel uniform":
    			return (V.clothesBoughtPol === 1);
    		case "nice business attire":
    		case "a nice nurse outfit":
    		case "a police uniform":
    			return (V.clothesBoughtCareer === 1);
    		case "a nice maid outfit":
    			return (V.clothesBoughtCareer === 1 || V.PC.career === "servant");
    		case "a ball gown":
    		case "a gothic lolita dress":
    			//case 'a halter top dress':
    			//case 'a mini dress':
    			//case 'a slave gown':
    			return (V.clothesBoughtDresses === 1);
    		case "a cybersuit":
    		case "a latex catsuit":
    			return (V.clothesBoughtBodysuits === 1);
    		case "a button-up shirt and panties":
    		case "a button-up shirt":
    		case "cutoffs":
    		case "jeans":
    		case "leather pants and a tube top":
    		case "leather pants":
    		case "an oversized t-shirt":
    		case "a sweater and cutoffs":
    		case "a sweater and panties":
    		case "a sweater":
    		case "a t-shirt and jeans":
    		case "a t-shirt and panties":
    		case "a t-shirt":
    		case "a tank-top and panties":
    		case "a tank-top":
    		case "a tube top":
    			return (V.clothesBoughtCasual === 1);
    		case "boyshorts":
    		case "a bra":
    		case "kitty lingerie":
    		case "panties and pasties":
    		case "a skimpy loincloth":
    		case "a thong":
    			return (V.clothesBoughtUnderwear === 1);
    		case "leather pants and pasties":
    		case "a t-shirt and thong":
    		case "a tube top and thong":
    		case "an oversized t-shirt and boyshorts":
    			return (V.clothesBoughtUnderwear === 1 && V.clothesBoughtCasual === 1);
    		case "sport shorts and a sports bra":
    		case "sport shorts":
    		case "a sports bra":
    			return (V.clothesBoughtSports === 1);
    		case "sport shorts and a t-shirt":
    			return (V.clothesBoughtSports === 1 && V.clothesBoughtCasual === 1);
    		case "a nice pony outfit":
    		case "a slutty pony outfit":
    			return (V.clothesBoughtPony === 1);
    		case "a monokini":
    		case "a one-piece swimsuit":
    			return (V.clothesBoughtSwimwear === 1);
    		case "shimapan panties":
    		case "a striped bra":
    		case "striped panties":
    		case "striped underwear":
    			return (V.clothesBoughtPantsu === 1 || V.continent === "Japan");
    		case "bowtie":
    			return (V.arcologies[0].FSGenderFundamentalist > 0 || V.clothesBoughtBunny === 1);
    		case "ancient Egyptian":
    			return (V.arcologies[0].FSEgyptianRevivalist > 0 || V.clothesBoughtEgypt === 1);
    		case "pasties": /* an option in saChoosesOwnClothes.tw, but everything else (e.g. descriptions, artwork, option in wardrobeUse.tw) is missing or not hooked up correctly */
    			return false;
    		case "massive dildo gag":
    			return (V.toysBoughtGags === 1);
    		case "a small empathy belly":
    		case "a medium empathy belly":
    		case "a large empathy belly":
    		case "a huge empathy belly":
    			return (V.arcologies[0].FSRepopulationFocus > 0 || V.clothesBoughtBelly === 1);
    		case "bullet vibrator":
    		case "smart bullet vibrator":
    		case "long dildo":
    		case "long, large dildo":
    		case "long, huge dildo":
    			return (V.toysBoughtDildos === 1);
    		case "vibrator":
    			return (V.toysBoughtVaginalAttachments === 1);
    		case "long plug":
    		case "long, large plug":
    		case "long, huge plug":
    			return (V.toysBoughtButtPlugs === 1);
    		case "tail":
    		case "cat tail":
    		case "fox tail":
    			return (V.toysBoughtButtPlugTails === 1);
    		default:
    			return true;
    
    Pregmodder's avatar
    Pregmodder committed
    	}
    
    kopareigns's avatar
    kopareigns committed
    };