diff --git a/devNotes/VersionChangeLog-Premod+LoliMod.txt b/devNotes/VersionChangeLog-Premod+LoliMod.txt index 1bf1185d65ebf2b41b27ba376374f858633d4c92..de1ecf2fd1610e075bb6c7a552ecab519ecb68c5 100644 --- a/devNotes/VersionChangeLog-Premod+LoliMod.txt +++ b/devNotes/VersionChangeLog-Premod+LoliMod.txt @@ -2,6 +2,11 @@ 0.10.7.1-1.5.x +01/16/2019 + + 9 + -fixes and cleaning + 01/13/2019 8 diff --git a/devNotes/twine JS.txt b/devNotes/twine JS.txt index 08f3dd0e15fd8851d47f796dc710f8bfb512e702..957c58c8e72df095d1cb53b2e11bb0288fcc48be 100644 --- a/devNotes/twine JS.txt +++ b/devNotes/twine JS.txt @@ -1237,6 +1237,8 @@ window.isItemAccessible = function(string) { 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': diff --git a/src/SecExp/propagandaHub.tw b/src/SecExp/propagandaHub.tw index fc68a563e27feba4d6c86b0952b80385d5a04c5d..ddeca8779cb047caf5aded98b26ad0f63e0f96af 100644 --- a/src/SecExp/propagandaHub.tw +++ b/src/SecExp/propagandaHub.tw @@ -160,7 +160,7 @@ The propaganda hub is a surprisingly inconspicuous building, dimly lit from the <<if $secretService < 5 && $rep >= ($secretService * 1000) + 5000>> <<link "Expand the secret service" "propagandaHub">> <<set $secretService += 1>> - <<set $cash -= 5000*$upgradeMultiplierArcology * ($secretService + 1)>> + <<set $cash -= 5000*$upgradeMultiplierArcology * ($secretService + 1) * _HistoryDiscount>> <<set $propHubUpkeep += $upgradeUpkeep>> <</link>> <br>Invest more resources into the project to increase its effectiveness. diff --git a/src/art/artJS.tw b/src/art/artJS.tw index 3639f867a997178fdfba0f2397b2a82a37311095..05b769a396c403b13105ae1788992d4cefae06fc 100644 --- a/src/art/artJS.tw +++ b/src/art/artJS.tw @@ -2647,3 +2647,248 @@ window.ArtVectorFeet = function(slave) { } return r; }; + +window.ArtVectorLeg = function(slave) { + let legSize; + let r = ""; + + /* Leg wideness switch courtesy of Nov-X */ + /* Updated 2018-10-25 by Fr0g */ + /* - changed size calculation block position*/ + /* - added brackets to make boolean logic run */ + + /* BEWARE: _legSize is also used in Art_Vector_Feet_ */ + /* BEWARE: _buttSize set by Art_Vector_Butt_ */ + + /* Size calculations - needs to be done even for amputees */ + if (slave.hips === -2) { + if (slave.weight <= 0) + legSize = "Narrow"; + else if (slave.weight < 161) + legSize = "Normal"; + else + legSize = "Wide"; + } else if (slave.hips === -1) { + if (slave.weight <= -11) + legSize = "Narrow"; + else if (slave.weight < 96) + legSize = "Normal"; + else + legSize = "Wide"; + } else if (slave.hips === 0) { + if (slave.weight <= -96) + legSize = "Narrow"; + else if (slave.weight < 11) + legSize = "Normal"; + else if (slave.weight < 131) + legSize = "Wide"; + else + legSize = "Thick"; + } else if (slave.hips === 1) { + if (slave.weight <= -31) + legSize = "Normal"; + else if (slave.weight < 31) + legSize = "Wide"; + else + legSize = "Thick"; + } else { /* .hips === 2 or 3 */ + if (slave.weight <= -11) + legSize = "Wide"; + else + legSize = "Thick"; + } + /* Selection of matching SVG based on amputee level */ + if (slave.amp === 0) { + r += jsInclude(`Art_Vector_Leg_${legSize}`); + if (slave.muscles >= 97) + r += jsInclude(`Art_Vector_Leg_${legSize}_MHeavy`); + else if (slave.muscles >= 62) + r += jsInclude(`Art_Vector_Leg_${legSize}_MMedium`); + else if (slave.muscles >= 30) + r += jsInclude(`Art_Vector_Leg_${legSize}_MLight`); + } else if (slave.amp === 1) { + r += jsInclude("Art_Vector_Stump"); + } else if (slave.PLimb === 1 || slave.PLimb === 2) { /* slave is an amputee and has PLimbs equipped */ + if (slave.amp === -1) + r += jsInclude(`Art_Vector_Leg_ProstheticBasic_${legSize}`); + else if (slave.amp === -2) + r += jsInclude(`Art_Vector_Leg_ProstheticSexy_${legSize}`); + else if (slave.amp === -3) + r += jsInclude(`Art_Vector_Leg_ProstheticBeauty_${legSize}`); + else if (slave.amp === -4) + r += jsInclude(`Art_Vector_Leg_ProstheticCombat_${legSize}`); + else /* slave.amp === -5 */ + r += jsInclude(`Art_Vector_Leg_ProstheticSwiss_${legSize}`); + } + State.temporary.legSize = legSize; + return r; +}; + +window.ArtVectorHairBack = function(slave) { + let r = ""; + let hairLength; + + if (slave.hLength >= 60) + hairLength = "Long"; + else if (slave.hLength >= 30) + hairLength = "Medium"; + else if (slave.hLength >= 10) + hairLength = "Short"; + + if (slave.fuckdoll !== 0 || slave.bald !== 0) { + r += jsInclude("Art_Vector_Hair_Back_NoHair"); + } else { + switch (slave.clothes) { + case "a biyelgee costume": + case "a burkini": + case "a burqa": + case "a chattel habit": + case "a cybersuit": + case "a fallen nuns habit": + case "a hijab and abaya": + case "a hijab and blouse": + case "a klan robe": + case "a military uniform": + case "a mounty outfit": + case "a niqab and abaya": + case "a penitent nuns habit": + case "a police uniform": + case "a red army uniform": + case "a schutzstaffel uniform": + case "a slutty klan robe": + case "a slutty nurse outfit": + case "a slutty schutzstaffel uniform": + case "battlearmor": + case "restrictive latex": + case "Western clothing": + break; /* do nothing */ + default: + switch (slave.hStyle) { + case "buzzcut": + case "shaved": + case "shaved bald": + r += jsInclude("Art_Vector_Hair_Back_NoHair"); + break; + case "afro": + if (slave.hLength >= 150) + r += jsInclude("Art_Vector_Hair_Back_Afro_Giant"); + else + r += jsInclude(`Art_Vector_Hair_Back_Afro_${hairLength}`); + break; + case "messy bun": + r += jsInclude(`Art_Vector_Hair_Back_Ninja_${hairLength}`); + break; + case "strip": + if (slave.hLength >= 0) + r += jsInclude("Art_Vector_Hair_Back_NoHair"); + break; + case "braided": + case "bun": + case "cornrows": + case "curled": + case "dreadlocks": + case "eary": + case "luxurious": + case "messy": + case "neat": + case "permed": + case "ponytail": + case "tails": + case "up": + if (hairLength) + r += jsInclude(`Art_Vector_Hair_Back_${capFirstChar(slave.hStyle)}_${hairLength}`); + break; + default: + r += jsInclude("Art_Vector_Hair_Back_Messy_Medium"); + } + } + } + /* note: latex clothing actually shows some hair, but there is no appropriate art for it */ + if (slave.collar === "cat ears") + r += jsInclude("Art_Vector_Cat_Ear_Back"); + return r; +}; + +window.ArtVectorHairFore = function(slave) { + let r = ""; + let hairLength; + + if (slave.hLength >= 60) + hairLength = "Long"; + else if (slave.hLength >= 30) + hairLength = "Medium"; + else if (slave.hLength >= 10) + hairLength = "Short"; + + if (slave.fuckdoll !== 0 || slave.bald !== 0) { + r += jsInclude("Art_Vector_Hair_Fore_NoHair"); + } else { + switch (slave.clothes) { + case "a biyelgee costume": + case "a burkini": + case "a burqa": + case "a chattel habit": + case "a cybersuit": + case "a fallen nuns habit": + case "a hijab and abaya": + case "a hijab and blouse": + case "a klan robe": + case "a military uniform": + case "a mounty outfit": + case "a niqab and abaya": + case "a penitent nuns habit": + case "a police uniform": + case "a red army uniform": + case "a schutzstaffel uniform": + case "a slutty klan robe": + case "a slutty nurse outfit": + case "a slutty schutzstaffel uniform": + case "battlearmor": + case "restrictive latex": + case "Western clothing": + break; /* do nothing */ + default: + switch (slave.hStyle) { + case "buzzcut": + case "shaved": + case "shaved bald": + r += jsInclude("Art_Vector_Hair_Fore_NoHair"); + break; + case "afro": + if (slave.hLength >= 150) + r += jsInclude("Art_Vector_Hair_Fore_Afro_Giant"); + else + r += jsInclude(`Art_Vector_Hair_Fore_Afro_${hairLength}`); + break; + case "messy bun": + r += jsInclude(`Art_Vector_Hair_Fore_Ninja_${hairLength}`); + break; + case "bun": + case "neat": + case "ponytail": + r += jsInclude(`Art_Vector_Hair_Fore_${capFirstChar(slave.hStyle)}`); + break; + case "braided": + case "cornrows": + case "curled": + case "dreadlocks": + case "eary": + case "luxurious": + case "messy": + case "permed": + case "strip": + case "tails": + case "up": + if (hairLength) + r += jsInclude(`Art_Vector_Hair_Fore_${capFirstChar(slave.hStyle)}_${hairLength}`); + break; + default: + r += jsInclude("Art_Vector_Hair_Fore_Messy_Medium"); + } + } + } + /* note: latex clothing actually shows some hair, but there is no appropriate art for it */ + if (slave.collar === "cat ears") + r += jsInclude("Art_Vector_Cat_Ear_Fore"); + return r; +}; diff --git a/src/art/vector/Hair_Back.tw b/src/art/vector/Hair_Back.tw index 0c3f674d183ef67a8d761c875895a8c3dccff091..a80932168bb681e4ecb71f6652a9d68e4e1e14ee 100644 --- a/src/art/vector/Hair_Back.tw +++ b/src/art/vector/Hair_Back.tw @@ -1,146 +1,3 @@ :: Art_Vector_Hair_Back_ [nobr] -<<if _artSlave.fuckdoll != 0 || _artSlave.bald != 0>> - <<include Art_Vector_Hair_Back_NoHair>> -<<else>> - <<if _artSlave.clothes != "restrictive latex" && _artSlave.clothes != "a hijab and abaya" && _artSlave.clothes != "a chattel habit" && _artSlave.clothes != "a fallen nuns habit" && _artSlave.clothes != "a penitent nuns habit" && _artSlave.clothes != "a cybersuit" && _artSlave.clothes != "Western clothing" && _artSlave.clothes != "a military uniform" && _artSlave.clothes != "a schutzstaffel uniform" && _artSlave.clothes != "a slutty schutzstaffel uniform" && _artSlave.clothes != "a red army uniform" && _artSlave.clothes != "battlearmor" && _artSlave.clothes != "a biyelgee costume" && _artSlave.clothes != "a mounty outfit" && _artSlave.clothes != "a slutty nurse outfit" && _artSlave.clothes != "a niqab and abaya" && _artSlave.clothes != "a burqa" && _artSlave.clothes != "a klan robe" && _artSlave.clothes != "a hijab and blouse" && _artSlave.clothes != "a burkini" && _artSlave.clothes != "a slutty klan robe" && _artSlave.clothes != "a police uniform">> - <<switch _artSlave.hStyle>> - <<case "buzzcut" "shaved" "shaved bald">> - <<include Art_Vector_Hair_Back_NoHair>> - <<case "strip">> - <<if _artSlave.hLength >=0>> - <<include Art_Vector_Hair_Back_NoHair>> - <</if>> - <<case "permed">> - <<if _artSlave.hLength >= 60>> - <<include Art_Vector_Hair_Back_Permed_Long>> - <<elseif _artSlave.hLength >= 30>> - <<include Art_Vector_Hair_Back_Permed_Medium>> - <<elseif _artSlave.hLength >= 10>> - <<include Art_Vector_Hair_Back_Permed_Short>> - <</if>> - <<case "up">> - <<if _artSlave.hLength >= 60>> - <<include Art_Vector_Hair_Back_Up_Long>> - <<elseif _artSlave.hLength >= 30>> - <<include Art_Vector_Hair_Back_Up_Medium>> - <<elseif _artSlave.hLength >= 10>> - <<include Art_Vector_Hair_Back_Up_Short>> - <</if>> - <<case "neat">> - <<if _artSlave.hLength >= 60>> - <<include Art_Vector_Hair_Back_Neat_Long>> - <<elseif _artSlave.hLength >= 30>> - <<include Art_Vector_Hair_Back_Neat_Medium>> - <<elseif _artSlave.hLength >= 10>> - <<include Art_Vector_Hair_Back_Neat_Short>> - <</if>> - <<case "ponytail">> - <<if _artSlave.hLength >= 60>> - <<include Art_Vector_Hair_Back_Ponytail_Long>> - <<elseif _artSlave.hLength >= 30>> - <<include Art_Vector_Hair_Back_Ponytail_Medium>> - <<elseif _artSlave.hLength >= 10>> - <<include Art_Vector_Hair_Back_Ponytail_Short>> - <</if>> - <<case "bun">> - <<if _artSlave.hLength >= 60>> - <<include Art_Vector_Hair_Back_Bun_Long>> - <<elseif _artSlave.hLength >= 30>> - <<include Art_Vector_Hair_Back_Bun_Medium>> - <<elseif _artSlave.hLength >= 10>> - <<include Art_Vector_Hair_Back_Bun_Short>> - <</if>> - <<case "curled">> - <<if _artSlave.hLength >= 60>> - <<include Art_Vector_Hair_Back_Curled_Long>> - <<elseif _artSlave.hLength >= 30>> - <<include Art_Vector_Hair_Back_Curled_Medium>> - <<elseif _artSlave.hLength >= 10>> - <<include Art_Vector_Hair_Back_Curled_Short>> - <</if>> - <<case "eary">> - <<if _artSlave.hLength >= 60>> - <<include Art_Vector_Hair_Back_Eary_Long>> - <<elseif _artSlave.hLength >= 30>> - <<include Art_Vector_Hair_Back_Eary_Medium>> - <<elseif _artSlave.hLength >= 10>> - <<include Art_Vector_Hair_Back_Eary_Short>> - <</if>> - <<case "luxurious">> - <<if _artSlave.hLength >= 60>> - <<include Art_Vector_Hair_Back_Luxurious_Long>> - <<elseif _artSlave.hLength >= 30>> - <<include Art_Vector_Hair_Back_Luxurious_Medium>> - <<elseif _artSlave.hLength >= 10>> - <<include Art_Vector_Hair_Back_Luxurious_Short>> - <</if>> - <<case "afro">> - <<if _artSlave.hLength >= 150>> - <<include Art_Vector_Hair_Back_Afro_Giant>> - <<elseif _artSlave.hLength >= 60>> - <<include Art_Vector_Hair_Back_Afro_Long>> - <<elseif _artSlave.hLength >= 30>> - <<include Art_Vector_Hair_Back_Afro_Medium>> - <<elseif _artSlave.hLength >= 10>> - <<include Art_Vector_Hair_Back_Afro_Short>> - <</if>> - <<case "messy">> /* this isn't an option in salon.tw. What should it be? */ - <<if _artSlave.hLength >= 60>> - <<include Art_Vector_Hair_Back_Messy_Long>> - <<elseif _artSlave.hLength >= 30>> - <<include Art_Vector_Hair_Back_Messy_Medium>> - <<elseif _artSlave.hLength >= 10>> - <<include Art_Vector_Hair_Back_Messy_Short>> - <</if>> - <<case "dreadlocks">> - <<if _artSlave.hLength >= 60>> - <<include Art_Vector_Hair_Back_Dreadlocks_Long>> - <<elseif _artSlave.hLength >= 30>> - <<include Art_Vector_Hair_Back_Dreadlocks_Medium>> - <<elseif _artSlave.hLength >= 10>> - <<include Art_Vector_Hair_Back_Dreadlocks_Short>> - <</if>> - <<case "cornrows">> - <<if _artSlave.hLength >= 60>> - <<include Art_Vector_Hair_Back_Cornrows_Long>> - <<elseif _artSlave.hLength >= 30>> - <<include Art_Vector_Hair_Back_Cornrows_Medium>> - <<elseif _artSlave.hLength >= 10>> - <<include Art_Vector_Hair_Back_Cornrows_Short>> - <</if>> - <<case "braided">> - <<if _artSlave.hLength >= 60>> - <<include Art_Vector_Hair_Back_Braided_Long>> - <<elseif _artSlave.hLength >= 30>> - <<include Art_Vector_Hair_Back_Braided_Medium>> - <<elseif _artSlave.hLength >= 10>> - <<include Art_Vector_Hair_Back_Braided_Short>> - <</if>> - <<case "tails">> - <<if _artSlave.hLength >= 60>> - <<include Art_Vector_Hair_Back_Tails_Long>> - <<elseif _artSlave.hLength >= 30>> - <<include Art_Vector_Hair_Back_Tails_Medium>> - <<elseif _artSlave.hLength >= 10>> - <<include Art_Vector_Hair_Back_Tails_Short>> - <</if>> - <<case "messy bun">> - <<if _artSlave.hLength >= 60>> - <<include Art_Vector_Hair_Back_Ninja_Long>> - <<elseif _artSlave.hLength >= 30>> - <<include Art_Vector_Hair_Back_Ninja_Medium>> - <<elseif _artSlave.hLength >= 10>> - <<include Art_Vector_Hair_Back_Ninja_Short>> - <</if>> - <<default>> - <<include Art_Vector_Hair_Back_Messy_Medium>> - <</switch>> - <</if>> -<</if>> - -/* note: latex clothing actually shows some hair, but there is no appropriate art for it */ - -<<if _artSlave.collar == "cat ears">> - <<include Art_Vector_Cat_Ear_Back>> -<</if>> \ No newline at end of file +<<= ArtVectorHairBack(_artSlave)>> diff --git a/src/art/vector/Hair_Fore.tw b/src/art/vector/Hair_Fore.tw index 113d3afc9c417603377fff7d92ed0bca9ee5023a..c99e63db3cd9046ccc6b894aee91306b659396d2 100644 --- a/src/art/vector/Hair_Fore.tw +++ b/src/art/vector/Hair_Fore.tw @@ -1,132 +1,3 @@ :: Art_Vector_Hair_Fore_ [nobr] -/* TODO: simplify */ -<<if _artSlave.fuckdoll != 0 || _artSlave.bald != 0>> - <<include Art_Vector_Hair_Fore_NoHair>> -<<else>> - <<if _artSlave.clothes != "restrictive latex" && _artSlave.clothes != "a hijab and abaya" && _artSlave.clothes != "a chattel habit" && _artSlave.clothes != "a fallen nuns habit" && _artSlave.clothes != "a penitent nuns habit" && _artSlave.clothes != "a cybersuit" && _artSlave.clothes != "Western clothing" && _artSlave.clothes != "a military uniform" && _artSlave.clothes != "a schutzstaffel uniform" && _artSlave.clothes != "a slutty schutzstaffel uniform" && _artSlave.clothes != "a red army uniform" && _artSlave.clothes != "battlearmor" && _artSlave.clothes != "a biyelgee costume" && _artSlave.clothes != "a mounty outfit" && _artSlave.clothes != "a slutty nurse outfit" && _artSlave.clothes != "a niqab and abaya" && _artSlave.clothes != "a burqa" && _artSlave.clothes != "a klan robe" && _artSlave.clothes != "a hijab and blouse" && _artSlave.clothes != "a burkini" && _artSlave.clothes != "a slutty klan robe" && _artSlave.clothes != "a police uniform">> - <<switch _artSlave.hStyle>> - <<case "buzzcut" "shaved" "shaved bald">> - <<include Art_Vector_Hair_Fore_NoHair>> - <<case "permed">> - <<if _artSlave.hLength >= 60>> - <<include Art_Vector_Hair_Fore_Permed_Long>> - <<elseif _artSlave.hLength >= 30>> - <<include Art_Vector_Hair_Fore_Permed_Medium>> - <<elseif _artSlave.hLength >= 10>> - <<include Art_Vector_Hair_Fore_Permed_Short>> - <</if>> - <<case "up">> - <<if _artSlave.hLength >= 60>> - <<include Art_Vector_Hair_Fore_Up_Long>> - <<elseif _artSlave.hLength >= 30>> - <<include Art_Vector_Hair_Fore_Up_Med>> - <<elseif _artSlave.hLength >= 10>> - <<include Art_Vector_Hair_Fore_Up_Short>> - <</if>> - <<case "neat">> - <<include Art_Vector_Hair_Fore_Neat>> - <<case "ponytail">> - <<include Art_Vector_Hair_Fore_Ponytail>> - <<case "bun">> - <<include Art_Vector_Hair_Fore_Bun>> - <<case "curled">> - <<if _artSlave.hLength >= 60>> - <<include Art_Vector_Hair_Fore_Curled_Long>> - <<elseif _artSlave.hLength >= 30>> - <<include Art_Vector_Hair_Fore_Curled_Medium>> - <<elseif _artSlave.hLength >= 10>> - <<include Art_Vector_Hair_Fore_Curled_Short>> - <</if>> - <<case "eary">> - <<if _artSlave.hLength >= 60>> - <<include Art_Vector_Hair_Fore_Eary_Long>> - <<elseif _artSlave.hLength >= 30>> - <<include Art_Vector_Hair_Fore_Eary_Medium>> - <<elseif _artSlave.hLength >= 10>> - <<include Art_Vector_Hair_Fore_Eary_Short>> - <</if>> - <<case "luxurious">> - <<if _artSlave.hLength >= 60>> - <<include Art_Vector_Hair_Fore_Luxurious_Long>> - <<elseif _artSlave.hLength >= 30>> - <<include Art_Vector_Hair_Fore_Luxurious_Medium>> - <<elseif _artSlave.hLength >= 10>> - <<include Art_Vector_Hair_Fore_Luxurious_Short>> - <</if>> - <<case "afro">> - <<if _artSlave.hLength >= 150>> - <<include Art_Vector_Hair_Fore_Afro_Giant>> - <<elseif _artSlave.hLength >= 60>> - <<include Art_Vector_Hair_Fore_Afro_Long>> - <<elseif _artSlave.hLength >= 30>> - <<include Art_Vector_Hair_Fore_Afro_Medium>> - <<elseif _artSlave.hLength >= 10>> - <<include Art_Vector_Hair_Fore_Afro_Short>> - <</if>> - <<case "messy">> - <<if _artSlave.hLength >= 60>> - <<include Art_Vector_Hair_Fore_Messy_Long>> - <<elseif _artSlave.hLength >= 30>> - <<include Art_Vector_Hair_Fore_Messy_Medium>> - <<elseif _artSlave.hLength >= 10>> - <<include Art_Vector_Hair_Fore_Messy_Short>> - <</if>> - <<case "dreadlocks">> - <<if _artSlave.hLength >= 60>> - <<include Art_Vector_Hair_Fore_Dreadlocks_Long>> - <<elseif _artSlave.hLength >= 30>> - <<include Art_Vector_Hair_Fore_Dreadlocks_Medium>> - <<elseif _artSlave.hLength >= 10>> - <<include Art_Vector_Hair_Fore_Dreadlocks_Short>> - <</if>> - <<case "cornrows">> - <<if _artSlave.hLength >= 60>> - <<include Art_Vector_Hair_Fore_Cornrows_Long>> - <<elseif _artSlave.hLength >= 30>> - <<include Art_Vector_Hair_Fore_Cornrows_Medium>> - <<elseif _artSlave.hLength >= 10>> - <<include Art_Vector_Hair_Fore_Cornrows_Short>> - <</if>> - <<case "braided">> - <<if _artSlave.hLength >= 60>> - <<include Art_Vector_Hair_Fore_Braided_Long>> - <<elseif _artSlave.hLength >= 30>> - <<include Art_Vector_Hair_Fore_Braided_Medium>> - <<elseif _artSlave.hLength >= 10>> - <<include Art_Vector_Hair_Fore_Braided_Short>> - <</if>> - <<case "tails">> - <<if _artSlave.hLength >= 60>> - <<include Art_Vector_Hair_Fore_Tails_Long>> - <<elseif _artSlave.hLength >= 30>> - <<include Art_Vector_Hair_Fore_Tails_Medium>> - <<elseif _artSlave.hLength >= 10>> - <<include Art_Vector_Hair_Fore_Tails_Short>> - <</if>> - <<case "strip">> - <<if _artSlave.hLength >= 60>> - <<include Art_Vector_Hair_Fore_Strip_Long>> - <<elseif _artSlave.hLength >= 30>> - <<include Art_Vector_Hair_Fore_Strip_Medium>> - <<elseif _artSlave.hLength >= 10>> - <<include Art_Vector_Hair_Fore_Strip_Short>> - <</if>> - <<case "messy bun">> - <<if _artSlave.hLength >= 60>> - <<include Art_Vector_Hair_Fore_Ninja_Long>> - <<elseif _artSlave.hLength >= 30>> - <<include Art_Vector_Hair_Fore_Ninja_Medium>> - <<elseif _artSlave.hLength >= 10>> - <<include Art_Vector_Hair_Fore_Ninja_Short>> - <</if>> - <<default>> - <<include Art_Vector_Hair_Fore_Messy_Medium>> - <</switch>> - <</if>> -<</if>> -/* note: latex clothing actually shows some hair, but there is no appropriate art for it */ - -<<if _artSlave.collar == "cat ears">> - <<include Art_Vector_Cat_Ear_Fore>> -<</if>> \ No newline at end of file +<<= ArtVectorHairFore(_artSlave)>> diff --git a/src/art/vector/Leg.tw b/src/art/vector/Leg.tw index 13e62b92494bc610fb68846d6d3cede673151dbb..70c79501450b71852b4d74ab6438b0ed71a3e347 100644 --- a/src/art/vector/Leg.tw +++ b/src/art/vector/Leg.tw @@ -1,131 +1,3 @@ :: Art_Vector_Leg_ [nobr] -/* Leg wideness switch courtesy of Nov-X */ -/* Updated 2018-10-25 by Fr0g */ -/* - changed size calculation block position*/ -/* - added brackets to make boolean logic run */ - -/* BEWARE: _legSize is also used in Art_Vector_Feet_ */ -/* BEWARE: _buttSize set by Art_Vector_Butt_ */ - -/* Size calculations - needs to be done even for amputees */ -<<set _legSize = "Normal">> -<<if _artSlave.hips == -2>> - <<if _artSlave.weight <= 0>> - <<set _legSize = "Narrow">> - <<elseif _artSlave.weight > 0 && _artSlave.weight < 161>> - <<set _legSize = "Normal">> - <<elseif _artSlave.weight >= 161>> - <<set _legSize = "Wide">> - <</if>> -<<elseif _artSlave.hips == -1>> - <<if _artSlave.weight <= -11>> - <<set _legSize = "Narrow">> - <<elseif _artSlave.weight > -11 && _artSlave.weight < 96>> - <<set _legSize = "Normal">> - <<elseif _artSlave.weight >= 96>> - <<set _legSize = "Wide">> - <</if>> -<<elseif _artSlave.hips == 0>> - <<if _artSlave.weight <= -96>> - <<set _legSize = "Narrow">> - <<elseif _artSlave.weight > -96 && _artSlave.weight < 11>> - <<set _legSize = "Normal">> - <<elseif _artSlave.weight >= 11 && _artSlave.weight < 131>> - <<set _legSize = "Wide">> - <<elseif _artSlave.weight >= 131>> - <<set _legSize = "Thick">> - <</if>> -<<elseif _artSlave.hips == 1>> - <<if _artSlave.weight <= -31>> - <<set _legSize = "Normal">> - <<elseif _artSlave.weight > -31 && _artSlave.weight < 31>> - <<set _legSize = "Wide">> - <<elseif _artSlave.weight >= 31>> - <<set _legSize = "Thick">> - <</if>> -<<elseif _artSlave.hips == 2>> - <<if _artSlave.weight <= -11>> - <<set _legSize = "Wide">> - <<elseif _artSlave.weight > -11>> - <<set _legSize = "Thick">> - <</if>> -<<elseif _artSlave.hips == 3>> - <<if _artSlave.weight <= -11>> - <<set _legSize = "Wide">> - <<elseif _artSlave.weight > -11>> - <<set _legSize = "Thick">> - <</if>> -<</if>> - -<<if _artSlave.amp == 0>> - <<set _art = "Art_Vector_Leg_"+_legSize >> - <<include _art >> -<</if>> - -<<if _artSlave.amp == 0>> - <<if _artSlave.muscles >= 97>> - <<if _legSize == "Thick">> - <<include Art_Vector_Leg_Thick_MHeavy>> - <<elseif _legSize == "Wide">> - <<include Art_Vector_Leg_Wide_MHeavy>> - <<elseif _legSize == "Normal">> - <<include Art_Vector_Leg_Normal_MHeavy>> - <<elseif _legSize == "Narrow">> - <<include Art_Vector_Leg_Narrow_MHeavy>> - <</if>> - <<elseif _artSlave.muscles < 97 && _artSlave.muscles >= 62>> - <<if _legSize == "Thick">> - <<include Art_Vector_Leg_Thick_MMedium>> - <<elseif _legSize == "Wide">> - <<include Art_Vector_Leg_Wide_MMedium>> - <<elseif _legSize == "Normal">> - <<include Art_Vector_Leg_Normal_MMedium>> - <<elseif _legSize == "Narrow">> - <<include Art_Vector_Leg_Narrow_MMedium>> - <</if>> - <<elseif _artSlave.muscles < 62 && _artSlave.muscles >= 30>> - <<if _legSize == "Thick">> - <<include Art_Vector_Leg_Thick_MLight>> - <<elseif _legSize == "Wide">> - <<include Art_Vector_Leg_Wide_MLight>> - <<elseif _legSize == "Normal">> - <<include Art_Vector_Leg_Normal_MLight>> - <<elseif _legSize == "Narrow">> - <<include Art_Vector_Leg_Narrow_MLight>> - <</if>> - <</if>> -<</if>> - - -/* Selection of matching SVG based on amputee level */ - -<<if _artSlave.amp == -1 && (_artSlave.PLimb == 1 || _artSlave.PLimb == 2)>> - <<set _art = "Art_Vector_Leg_ProstheticBasic_"+_legSize >> - <<include _art>> -<</if>> - -<<if _artSlave.amp == -2 && (_artSlave.PLimb == 1 || _artSlave.PLimb == 2)>> - <<set _art = "Art_Vector_Leg_ProstheticSexy_"+_legSize >> - <<include _art>> -<</if>> - -<<if _artSlave.amp == -3 && (_artSlave.PLimb == 1 || _artSlave.PLimb == 2)>> - <<set _art = "Art_Vector_Leg_ProstheticBeauty_"+_legSize >> - <<include _art>> -<</if>> - -<<if _artSlave.amp == -4 && (_artSlave.PLimb == 1 || _artSlave.PLimb == 2)>> - <<set _art = "Art_Vector_Leg_ProstheticCombat_"+_legSize >> - <<include _art>> -<</if>> - -<<if _artSlave.amp == -5 && (_artSlave.PLimb == 1 || _artSlave.PLimb == 2)>> - <<set _art = "Art_Vector_Leg_ProstheticSwiss_"+_legSize >> - <<include _art>> -<</if>> -/* Changed next line for no attached limbs regardless of the PLimb state */ -/* <<if _artSlave.amp == 1 && _artSlave.PLimb == 0>> <</if>> */ -<<if _artSlave.amp == 1>> - <<include Art_Vector_Stump>> -<</if>> \ No newline at end of file +<<= ArtVectorLeg(_artSlave)>> diff --git a/src/art/vector/layers/Hair_Fore_Up_Med.tw b/src/art/vector/layers/Hair_Fore_Up_Medium.tw similarity index 98% rename from src/art/vector/layers/Hair_Fore_Up_Med.tw rename to src/art/vector/layers/Hair_Fore_Up_Medium.tw index 9686ea87982d3da39b5d9855efb613e0aa811c0b..07fedc01928cd7a85bf72569a6c533d1c650de7c 100644 --- a/src/art/vector/layers/Hair_Fore_Up_Med.tw +++ b/src/art/vector/layers/Hair_Fore_Up_Medium.tw @@ -1,3 +1,3 @@ -:: Art_Vector_Hair_Fore_Up_Med [nobr] +:: Art_Vector_Hair_Fore_Up_Medium [nobr] <<print '<html><svg viewBox="0 0 560 1000" class="'+_art_display_class+'"><path d="m 262.63033,114.30711 c 0.33677,-0.20797 0.0487,51.71527 5.91031,61.18366 0.49569,0.8007 0.18476,1.43686 0.21782,1.40761 0.044,-0.0389 0.3905,-0.85171 -0.0245,-2.08965 -4.86654,-14.51683 -4.13788,-62.17393 -3.73933,-62.57241 2.22688,-2.22649 1.49231,-3.627 6.81007,-5.01625 0.62703,-0.16381 5.41628,13.8835 6.12146,13.77113 0.10895,-0.0174 0.35996,-0.30357 0.29449,-0.79776 -1.10123,-8.31224 0.79838,-15.30974 1.62411,-15.35172 0.3433,-0.0174 6.24163,2.75103 6.59145,2.74513 0.58284,-0.01 7.24794,-2.28362 7.84871,-2.25923 0.60826,0.11533 1.40489,3.11183 0.0147,14.55323 -0.0526,0.43297 0.0902,0.69301 0.17637,0.71466 0.65882,0.16561 6.99807,-12.71343 7.64282,-12.51308 7.18945,2.23413 9.69639,4.81965 15.24999,9.94873 1.63362,1.50875 -2.11462,29.15762 -10.50886,61.70738 -0.0322,0.12488 0.075,0.21548 0.12585,0.27025 1.37468,1.48077 16.87578,-48.11374 18.1457,-46.60103 2.11658,2.52119 5.15116,-0.95931 6.99189,1.46055 34.04139,-70.062712 -74.71689,-86.627596 -69.49304,-20.56119 z" class="hair" id="path4727" sodipodi:nodetypes="cssssssssscsssssssccc"/><path d="m 346.04552,95.099685 c 0.25994,1.650172 0.41643,3.24978 0.48271,4.798076 0.0703,1.642329 0.0391,3.226929 -0.0778,4.752909 -0.10615,1.38618 -0.28309,2.72399 -0.51889,4.01277 -0.0773,0.42308 -0.16115,0.84086 -0.25083,1.25334 -0.34796,1.60053 -0.78517,3.12114 -1.28714,4.56051 -0.27657,0.79306 -0.86561,2.9418 -1.4934,5.17492 -0.73573,2.61708 -1.52468,5.35002 -1.92629,6.15259 -0.62062,1.24025 0.1047,-4.11355 -0.56232,-3.03974 -0.7134,1.14854 -3.6578,15.5138 -4.36669,16.46871 -0.76588,1.03166 0.70662,-11.36337 0.0182,-10.56174 -0.54838,0.63858 -5.2898,19.6518 -5.74623,20.142 -1.31391,1.41113 1.94785,-16.24519 2.00527,-16.09762 -4.01039,-11.72216 -30.66743,-35.160001 -33.47635,-37.599102 -0.0953,-0.247601 -29.7058,15.681462 -33.06005,4.708531 -0.25209,-0.82467 -2.37632,20.466331 -2.62087,19.626151 -3.38914,-11.64347 -5.88094,-24.473915 -2.64966,-30.106714 0.65236,-1.475967 0.91868,-13.225587 1.63476,-14.599305 0.61047,-1.171114 1.66217,8.019734 2.3171,6.922668 1.65456,-2.771539 3.44828,-5.307171 5.36737,-7.608861 1.20998,-1.451224 5.42959,-11.68879 6.73579,-12.954508 1.15345,-1.117702 -0.61671,6.716077 0.6067,5.742303 3.54416,-2.820971 7.37187,-5.039402 11.42528,-6.663547 1.45288,-0.582147 7.53908,-6.110856 9.0473,-6.540682 1.46845,-0.418499 -1.64247,4.257933 -0.12655,3.983119 3.08052,-0.55845 6.25397,-0.820953 9.4997,-0.790453 2.97799,0.02798 5.75432,0.191474 8.34588,0.48126 25.87546,2.893366 24.83102,18.877132 30.67702,37.782415" class="hair" id="path4763-5" sodipodi:nodetypes="csssssssssssccsscssssssssssc"/></svg></html>' >> \ No newline at end of file diff --git a/src/js/itemAvailability.tw b/src/js/itemAvailability.tw index 228bb91fd8efb5ccb57adacf6bba08c538fb8275..0f585e7ba5ef5f8e97d65eaddcdcf6c7b008a658 100644 --- a/src/js/itemAvailability.tw +++ b/src/js/itemAvailability.tw @@ -124,6 +124,8 @@ window.isItemAccessible = function(string) { 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': diff --git a/src/pregmod/rePregInventor.tw b/src/pregmod/rePregInventor.tw index 087327d2c10e59c1d42db2b4d899065324924139..b8da0ea57a8d5ff2684d139295b24fe240f98b8c 100644 --- a/src/pregmod/rePregInventor.tw +++ b/src/pregmod/rePregInventor.tw @@ -629,7 +629,7 @@ You strip and put on one of the swimming outfits that are stored in the baths for your personal use, then slide yourself into the pool, squeezing in between its wall and your hyperswollen broodmother. The gel has a medicinal scent masked by lavender and is the perfect warmth to ease your muscles as you slide into it. Your skin tingles at its touch. <br><br> <<if canTalk($activeSlave)>> - "It'<<s>> curative jelly," your slave explains. "I'm <<s>>o big, now, it take<<s>> mo<<s>>t of the day to moi<<s>>turi<<z>>e my poor belly, even with help. With thi<<s>> jelly pool, it only take<<s>> a few minute<<s>>. I'm <<s>>ure thi<<s>> pool can help all <<s>>ort<<s>> of <<s>>lave<<s>> with big a<<ss>>et<<s>> <<s>>o that they can keep them<<s>>elve<<s>> looking pretty for their <<Master>><</if>>." + "It'<<s>> curative jelly," your slave explains. "I'm <<s>>o big, now, it take<<s>> mo<<s>>t of the day to moi<<s>>turi<<z>>e my poor belly, even with help. With thi<<s>> jelly pool, it only take<<s>> a few minute<<s>>. I'm <<s>>ure thi<<s>> pool can help all <<s>>ort<<s>> of <<s>>lave<<s>> with big a<<ss>>et<<s>> <<s>>o that they can keep them<<s>>elve<<s>> looking pretty for their <<Master>>." <<else>> <<if $activeSlave.amp == 0>> $He motions to you, explaining in sign that the pool is filled with curative gel. It's designed to help slaves with enormous assets moisturize their oversized bodies without having to spend all day applying it manually. diff --git a/src/uncategorized/remoteSurgery.tw b/src/uncategorized/remoteSurgery.tw index c1c9fac1d81217ff895cda603ddf20d8d02cbd7f..8fdd5c9c6d0e77e0ed276b0f2381ca2cb3649cd4 100644 --- a/src/uncategorized/remoteSurgery.tw +++ b/src/uncategorized/remoteSurgery.tw @@ -929,31 +929,27 @@ Work on $his sex: <br> <<if $activeSlave.assignment == "work in the dairy" && $dairyPregSetting > 0>> $His womb is already rented out for the production of calves. - <<else>> - <<if isFertile($activeSlave) && $activeSlave.ovaryAge <= 46>> - $He could be made into a broodmother. - <<elseif $activeSlave.broodmother > 0>> - $He has been made into a <<if $activeSlave.broodmother > 1>>hyper-<</if>>broodmother. - <<if $activeSlave.womb.length == 0 >> - [[Remove a pregnancy generator|Surgery Degradation][$activeSlave.preg = 0,$activeSlave.pregWeek = -2,$activeSlave.pregSource = 0,$activeSlave.pregWeek = 0,$activeSlave.pregKnown = 0,$activeSlave.pregType = 0,$activeSlave.broodmother = 0,$activeSlave.broodmotherFetuses = 0,$activeSlave.broodmotherOnHold = 0,$cash -= $surgeryCost,$activeSlave.pregControl = "none",$activeSlave.health -= 10,$surgeryType = "pregRemove"]] - <<else>> - $He is pregnant right now, so $his broodmother implant can't be safely extracted. - <<if $activeSlave.broodmother == 1 && $activeSlave.broodmotherFetuses == 1>> /*hack can be applied only one time, for type 1 broodmothers, and only if implant already present*/ - <br> - [[Hack the pregnancy generator|Surgery Degradation][$cash -= $surgeryCost,$activeSlave.pregControl = "none",$activeSlave.health -= 1,$surgeryType = "preg1hack"]] //This will trick the generator ova release logic, forcing it to release more than one ova each week. This is an untested override and can cause severe health problems.// - <<elseif $activeSlave.broodmother == 1 && $activeSlave.broodmotherFetuses > 1>> - <br> - The implant firmware has already been adjusted. - <</if>> - <</if>> + <<elseif $activeSlave.broodmother > 0>> + $He has been made into a <<if $activeSlave.broodmother > 1>>hyper-<</if>>broodmother. + <<if $activeSlave.womb.length == 0 >> + [[Remove the pregnancy generator|Surgery Degradation][$activeSlave.preg = 0,$activeSlave.pregWeek = -2,$activeSlave.pregSource = 0,$activeSlave.pregWeek = 0,$activeSlave.pregKnown = 0,$activeSlave.pregType = 0,$activeSlave.broodmother = 0,$activeSlave.broodmotherFetuses = 0,$activeSlave.broodmotherOnHold = 0,$cash -= $surgeryCost,$activeSlave.pregControl = "none",$activeSlave.health -= 10,$surgeryType = "pregRemove"]] <<else>> - $His body cannot support being a broodmother. - <</if>> - <<if $activeSlave.indentureRestrictions < 1 && ($activeSlave.breedingMark != 1 || $propOutcome == 0)>> - <<if isFertile($activeSlave)>> - [[Implant a pregnancy generator|Surgery Degradation][$activeSlave.preg = 1,$activeSlave.pregWeek = 1,$activeSlave.pregKnown = 1,$activeSlave.pregType = 1,$activeSlave.broodmother = 1,$activeSlave.broodmotherFetuses = 1,$cash -= $surgeryCost,$activeSlave.pregControl = "none",$activeSlave.health -= 10,$surgeryType = "preg"]] //This will have severe effects on $his health and mind// + $He is pregnant right now, so $his broodmother implant can't be safely extracted. + <<if $activeSlave.broodmother == 1 && $activeSlave.broodmotherFetuses == 1>> /*hack can be applied only one time, for type 1 broodmothers, and only if implant already present*/ + <br> + [[Hack the pregnancy generator|Surgery Degradation][$cash -= $surgeryCost,$activeSlave.pregControl = "none",$activeSlave.health -= 1,$surgeryType = "preg1hack"]] //This will trick the generator ova release logic, forcing it to release more than one ova each week. This is an untested override and can cause severe health problems.// + <<elseif $activeSlave.broodmother == 1 && $activeSlave.broodmotherFetuses > 1>> + <br> + The implant firmware has already been adjusted. <</if>> <</if>> + <<elseif $activeSlave.indentureRestrictions > 0 || ($activeSlave.breedingMark == 1 && $propOutcome == 1)>> + //$His is protected from extreme surgery// + <<elseif isFertile($activeSlave) && $activeSlave.ovaryAge <= 46>> + $He could be made into a broodmother. + [[Implant a pregnancy generator|Surgery Degradation][$activeSlave.preg = 1,$activeSlave.pregWeek = 1,$activeSlave.pregKnown = 1,$activeSlave.pregType = 1,$activeSlave.broodmother = 1,$activeSlave.broodmotherFetuses = 1,$cash -= $surgeryCost,$activeSlave.pregControl = "none",$activeSlave.health -= 10,$surgeryType = "preg"]] //This will have severe effects on $his health and mind// + <<else>> + $His body cannot support being a broodmother. <</if>> <</if>> <</if>>