diff --git a/game/03-JavaScript/ingame.js b/game/03-JavaScript/ingame.js index 51963585906f75aeae1fa017dd6598f95fdf4688..e02fbd85df4a6f5b550a77f3ec4d1838ac917f8a 100644 --- a/game/03-JavaScript/ingame.js +++ b/game/03-JavaScript/ingame.js @@ -650,28 +650,20 @@ function numbersBetween(start, end, step = 1) { window.numbersBetween = numbersBetween; function getRobinLocation() { - if (V.NPCName[V.NPCNameList.indexOf("Robin")].init !== 1) { + if (C.npc.Robin.init !== 1) { return; } else if (V.robinlocationoverride && V.robinlocationoverride.during.includes(V.hour)) { T.robin_location = V.robinlocationoverride.location; } else if (["docks", "landfill", "dinner", "pillory"].includes(V.robinmissing)) { T.robin_location = V.robinmissing; } else if (!between(V.hour, 7, 20)){ //if hour is 6 or lower, or 21 or higher - if (V.NPCName[V.NPCNameList.indexOf("Robin")].lust >= 80 && V.robinromance === 1 && between(V.hour, 21, 23) && !V.daily.robin.sleepMasturbate){ - return T.robin_location = "sleepMasturbate"; - } else { - return T.robin_location = "sleep"; - } + T.robin_location = "sleep"; } else if (V.schoolday === 1 && between(V.hour, 8, 15)) { - return (T.robin_location = "school"); - } else if ((V.weekday === 7 || V.weekday === 1) && between(V.hour, 9, 16) && V.NPCName[V.NPCNameList.indexOf("Robin")].trauma < 80) { - if (V.season === "winter") { - T.robin_location = "park"; - } else { - T.robin_location = "beach"; - } + T.robin_location = "school"; } else if (V.halloween === 1 && between(V.hour, 16, 18) && V.monthday === 31) { T.robin_location = "halloween"; + } else if ((V.weekday === 7 || V.weekday === 1) && between(V.hour, 9, 16) && C.npc.Robin.trauma < 80) { + T.robin_location = (V.season === "winter" ? "park" : "beach"); } else { T.robin_location = "orphanage"; } @@ -704,7 +696,6 @@ function getRobinCrossdressingStatus(crossdressLevel) { switch (getRobinLocation()) { case "orphanage": case "sleep": - case "sleepMasturbate": if (crossdressLevel >= 2) T.robin_cd = 2; break; case "park": diff --git a/game/base-system/time.twee b/game/base-system/time.twee index 571813fd2845ce37716b517ab42396115ed1bcf3..c64f8431c82da1813fa6b994dadd4ff7b6895152 100644 --- a/game/base-system/time.twee +++ b/game/base-system/time.twee @@ -564,7 +564,7 @@ <</if>> <<if $month is "february" and $monthday gte 7 and $monthday lte 14>> <<set $valentines to 1>> - <<else>> + <<elseif $valentines is 1>> <<set $valentines to 0>> <<unset $valentines_eden>> <<unset $valentines_eden_bought>> @@ -573,7 +573,7 @@ <</if>> <<if $month is "october" and $monthday gte 21>> <<set $halloween to 1>> - <<else>> + <<elseif $halloween is 1>> <<set $halloween to 0>> <<unset $halloween_whitney>> <<unset $halloween_whitney_proposed>> @@ -581,13 +581,13 @@ <<if $halloween_robin_costume and C.npc.Robin.outfits and C.npc.Robin.outfits.includes($halloween_robin_costume)>> <<removeNNPCOutfit "Robin" $halloween_robin_costume>> <</if>> + <<unset $halloween_robin_scare>> <<unset $halloween_robin_costume>> <<unset $halloween_winter_key>> <<unset $halloween_eden>> <<unset $halloween_eden_bought>> <<unset $halloween_eden_candy_given>> - <<if $halloween_trick_NPC>> - <</if>> + <<unset $halloween_trick_NPC>> <</if>> <<if $month is "november" and $monthday is 2>> <<unset $halloween_kylar>> @@ -595,11 +595,10 @@ <</if>> <<if $month is "december" and $monthday gte 18 and $monthday lte 25>> <<set $christmas to 1>> - <<else>> + <<elseif $christmas is 1>> <<unset $christmas>> <<unset $christmas_event>> <<unset $christmas_event_2>> - <<unset _christmas_event_robin>> <<unset $christmas_gift>> <<unset $christmas_gift_robin>> <<unset $christmas_wrap>> diff --git a/game/overworld-town/loc-home/main.twee b/game/overworld-town/loc-home/main.twee index 3226c4639da62c0dcffe01a25faeb00a0932e422..3fb340884215bfd6c9fae40b3129e5e3b4279882 100644 --- a/game/overworld-town/loc-home/main.twee +++ b/game/overworld-town/loc-home/main.twee @@ -1042,17 +1042,11 @@ You are in the bathroom. <<if _wakingEffect is "dryheaving">> "Are you okay? Let me help," Robin says, easing you back up. <<He>> checks to see if you're fine before getting up <<himself>>. <<set $phase to 1>> - <<elseif _orgasm is true and !$rng lte _robinAwakeChance>> + <<elseif _orgasm is true and $rng gt _robinAwakeChance>> <<set $phase to 1>> <<if $exposed gte 2>> - Robin cuddles you. "You should go-" <<he>> pauses, noticing the moisture on their body and yours. Blushing, <<he>> gathers tissues for both of you. - <<if $rng gte 71>> - "I-It's okay," <<he>> says. - <<elseif $rng gte 31>> - "This might be my fault," <<he>> says. - <<else>> - "I-I might need a bath," <<he>> says. - <</if>> + Robin cuddles you. "You should go-" <<he>> pauses, noticing the moisture on <<his>> body and yours. Blushing, <<he>> gathers tissues for both of you. + "<<print ["I-It's okay", "This might be my fault", "I-I might need a bath"].random()>>," <<he>> says. <<else>> Robin cuddles you. "You should go ba-" <<he>> pauses, noticing the moist patch around your crotch. Blushing, <<he>> passes you a tissue. "I-It's okay," <<he>> says. @@ -1596,19 +1590,27 @@ You are in the main hall of the orphanage. <<if $christmas is 1 and $monthday is 25 and $daystate isnot "night">> The room is alive with festive merriment. +<<elseif $halloween is 1 and $monthday is 31 and $hour gte 15 and $daystate isnot "night">> + <<if !$halloween_robin_costume and !$halloween_robin_scare and ($wraith.state isnot "" and $wraithIntro and $hallucinations gte 1 and $rng lte 70)>> + <!-- This event happens if Robin is wearing the ghost costume, but you don't know that it's Robin. --> + <!-- The odds are 70% if you meet the conditions, much higher than normal, bc this is a non-repeatable event --> + <<set _wraithEvent to true>> + <<else>> + The room is buzzing with the excitement of costumed orphans. + <</if>> <<else>> <<if $daystate is "day">> - A couple of orphans on cleaning duty sweep the floor. + A couple of orphans on cleaning duty sweep the floor. <<elseif $daystate is "dusk">> - You hear hushed voices. + You hear hushed voices. <<elseif $daystate is "dawn">> <<if $schoolday is 1>> - The orphans are heading off to school. + The orphans are heading off to school. <<else>> - The orphans are leaving to find work. + The orphans are leaving to find work. <</if>> <<elseif $daystate is "night">> - The orphans must be asleep. + The orphans must be asleep. <</if>> <</if>> @@ -1711,7 +1713,7 @@ You are in the main hall of the orphanage. <<link [[Next|Orphanage]]>><<endevent>><</link>> -<<elseif $days gte 1 and $NPCName[$NPCNameList.indexOf("Robin")].init is 0 and ($schoolday is 1 and ($hour is 7 or $hour gte 16 and $hour lte 20) or $schoolday isnot 1 and $hour gte 7 and $hour lte 20)>> +<<elseif $days gte 1 and _robin.init is 0 and $hour gte 7 and $hour lte 20 and ($schoolday isnot 1 or !($hour gte 8 and $hour lte 15))>> <<set $robindebt to 0>><<set $robindebtlimit to 5>> <<npc Robin>><<initnpc Robin>><<person1>>You hear a voice shout behind you. "Hey!" It's Robin. <<Hes>> another resident at the orphanage. <<Hes>> always looked up to you, despite being about the same age. <<He>> runs towards you and fails to slow down in time, colliding with you and almost falling over. You hold <<his>> arm to steady <<him>>. "Thanks," <<he>> says, looking embarrassed though still smiling. <br><br> @@ -1748,7 +1750,7 @@ You are in the main hall of the orphanage. <<link [[Next|Orphanage]]>><<endevent>><</link>> <br> -<<elseif $christmas is 1 and $monthday is 25 and $robinmissing is 0 and $NPCName[$NPCNameList.indexOf("Robin")].init is 1 and $christmas_robin_gift_received is undefined and $hour gte 7>> +<<elseif $christmas is 1 and $monthday is 25 and $robinmissing is 0 and _robin.init is 1 and $christmas_robin_gift_received is undefined and $hour gte 7>> <<set $christmas_robin_gift_received to true>> You spot a present laid under the tree with your name on it. It's from Robin. <br><br> @@ -1776,6 +1778,24 @@ and !$fromRobinRoom and _robin.cdquest is 2 and _robin.trauma lte 20 and !$daily <br> <<link [[Ignore|Orphanage]]>><<endevent>><</link>> <<else>> + <<if $halloween is 1 and $monthday is 31 and !$fromRobinRoom and $robinmissing is 0 and $hour gte 16 and $hour lt 19 and _robin.init is 1>> + <<if $halloween_robin_costume>> + You see Robin, dressed as a $halloween_robin_costume and surrounded by excited orphans. + <<elseif _wraithEvent>> + You see someone wearing a bedsheet over their head. They're completely motionless, and the hall is empty and silent. <span class="red">The bedsheet is a terrible, familiar pale.</span> + <br><br> + + <span class="wraith">"Trick or treat."</span> + <br><br> + + You stumble backwards and shriek, and in a single blink, the hall changes completely. Now you see Robin, surrounded by excited orphans and holding <<nnpc_his "Robin">> bedsheet in <<nnpc_his "Robin">> arms, looking at both you and the bedsheet with utter confusion in <<nnpc_his "Robin">> eyes. + <<else>> + You see someone wearing a bedsheet over their head. They're surrounded by excited orphans. + <</if>> + <br><br> + <<ind>><<link [[Approach them|Robin Trick Hall]]>><</link>> + <br><br> + <</if>> <<if $police_hack is 2 and ($pub_hack_job is 1 or $pub_hack_job is 2)>> <<ind>><<link [[Find hacker (0:10)|Orphanage Hacker]]>><<pass 10>><</link>> <br><br> @@ -1787,18 +1807,6 @@ and !$fromRobinRoom and _robin.cdquest is 2 and _robin.trauma lte 20 and !$daily <<ind>><<link [[Decide what to do with Kylar's camera (0:05)|Orphanage Kylar Camera]]>><<pass 5>><</link>> <br><br> <</if>> - <<if $halloween is 1 and $robinmissing is 0 and $hour gte 16 and $hour lt 19 and $monthday is 31 and $NPCName[$NPCNameList.indexOf("Robin")].init is 1>> - <<if $halloween_robin_costume is "witch">> - You see Robin, dressed as a witch and surrounded by excited orphans. - <<elseif $halloween_robin_costume is "vampire">> - You see Robin, dressed as a vampire and surrounded by excited orphans. - <<else>> - You see someone wearing a bedsheet over their head. They're surrounded by excited orphans. - <</if>> - <br><br> - <<ind>><<link [[Go trick-or-treating|Robin Trick Hall]]>><</link>> - <br> - <</if>> <<if $christmas is 1 and $monthday is 25 and $daystate isnot "night" and $exposed lte 0>> <<ind>><<link [[Celebrate Christmas (1:00)|Orphanage Christmas]]>><<pass 60>><<trauma -12>><<stress -6>><</link>><<lltrauma>><<lstress>> <br> @@ -1807,7 +1815,7 @@ and !$fromRobinRoom and _robin.cdquest is 2 and _robin.trauma lte 20 and !$daily <br><br> <<officeicon>><<link [[Bailey's office (0:01)|Bailey's Office]]>><<pass 1>><</link>> <br> - <<if $hour gte 18 and $hour lte 20 and $NPCName[$NPCNameList.indexOf("Robin")].trauma gte 40 and $robinmissing is 0 and !$robinTraumaVisit>> + <<if $hour gte 18 and $hour lte 20 and _robin.trauma gte 40 and $robinmissing is 0 and !$robinTraumaVisit>> <<bedroomicon>><<link [[Bedroom (0:01)|Robin Trauma Visit]]>><<set $phase to 0>><<pass 1>><</link>> <br> <<elseif $kylar.timer.home gte 100 and $kylar.home is undefined>> @@ -1822,7 +1830,7 @@ and !$fromRobinRoom and _robin.cdquest is 2 and _robin.trauma lte 20 and !$daily <</if>> <<bathroomicon>><<link [[Bathroom (0:01)->Bathroom]]>><<pass 1>><</link>> <br> - <<if $NPCName[$NPCNameList.indexOf("Robin")].init is 1 and $exposed lte 0>> + <<if _robin.init is 1 and $exposed lte 0>> <<bedroomicon>><<link [[Robin's room (0:01)|Robin's Room Entrance]]>><<pass 1>><</link>> <br> <</if>> diff --git a/game/overworld-town/loc-shop/widgets.twee b/game/overworld-town/loc-shop/widgets.twee index 78b22fa903ae2d898c2336c3578f0463a4753da5..330912dff4b334b2bf2851207d4e5d98abd0d419 100644 --- a/game/overworld-town/loc-shop/widgets.twee +++ b/game/overworld-town/loc-shop/widgets.twee @@ -991,11 +991,22 @@ Name: <input id="colorName" type="text" value="Custom" maxlength="30" onfocus="V "mummyfacewrap":"locked", "mummytop":"locked", "mummyskirt":"locked", + "cowbell":"locked", + "featheredhairclip":"locked", "catsuit":"locked", "holystole":"locked", - "minisnowman":"locked" + "minisnowman":"locked", + "cowbra":"locked", + "cowpanties":"locked", + "cowsocks":"locked", + "cowsleeves":"locked", + "bellydancer'sveil":"locked", + "rose":"locked", + "scarecrowshirt":"locked", + "scarecrowhat":"locked", }>> <</if>> +<!-- the following lines are for backwards compatibility with older saves. if you want to add a new item, add it above as well. --> <<if $specialClothes.cowbell is undefined>> <<set $specialClothes.cowbell to "locked">> <</if>> @@ -1036,7 +1047,7 @@ Name: <input id="colorName" type="text" value="Custom" maxlength="30" onfocus="V <<if $undergroundbrothelescaped>> <<set $specialClothes["slutshirt"] to "unlocked">> <</if>> -<<if $yeardays gte 47 and $yeardays lte 90>> +<<if $halloween is 1>> <<set $specialClothes["witchdress"] to "unlocked">> <<set $specialClothes["vampirejacket"] to "unlocked">> <<set $specialClothes["witchhat"] to "unlocked">> @@ -1047,7 +1058,7 @@ Name: <input id="colorName" type="text" value="Custom" maxlength="30" onfocus="V <<set $specialClothes["scarecrowshirt"] to "unlocked">> <<set $specialClothes["scarecrowhat"] to "unlocked">> <</if>> -<<if $yeardays gte 102 and $yeardays lte 181>> +<<if $christmas is 1>> <<set $specialClothes["christmasdress"] to "unlocked">> <<set $specialClothes["christmasshirt"] to "unlocked">> <<set $specialClothes["christmastrousers"] to "unlocked">> @@ -1055,7 +1066,7 @@ Name: <input id="colorName" type="text" value="Custom" maxlength="30" onfocus="V <<set $specialClothes["christmaslegwarmers"] to "unlocked">> <<set $specialClothes["minisnowman"] to "unlocked">> <</if>> -<<if $yeardays gte 156 and $yeardays lte 181>> +<<if $valentines is 1>> <<set $specialClothes["rose"] to "unlocked">> <</if>> <<if $brothelshowdata.intro>> @@ -1097,13 +1108,8 @@ Name: <input id="colorName" type="text" value="Custom" maxlength="30" onfocus="V <<if $grace gte 100>> <<set $specialClothes["holystole"] to "unlocked">> <</if>> -<<set _count to 0>> -<<for $_label, $_value range $specialClothes>> - <<if $_value is "unlocked">> - <<set _count++>> - <</if>> -<</for>> -<<if _count is Object.keys($specialClothes).length>> + +<<if Object.values($specialClothes).every(item => item is "unlocked")>> <<earnFeat "Curious Attire">> <</if>> /*Fix for previous save issue when starting without the specialClothing boost, should not be adjusted unless a similar issue occurs*/ @@ -1152,18 +1158,18 @@ Name: <input id="colorName" type="text" value="Custom" maxlength="30" onfocus="V <<if _specialClothesHint is undefined>> <<set _specialClothesHint to { "witchdress":"In stock from the 21st of October.", - "christmasdress":"In stock from the 15th of December.", + "christmasdress":"In stock from the 18th of December.", "serafuku":"Discover the headteacher's secret.", "vampirejacket":"In stock from the 21st of October.", "slutshirt":"Survive slavery in an underground brothel.", - "christmasshirt":"In stock from the 15th of December.", + "christmasshirt":"In stock from the 18th of December.", "bellydancer'stop":"Be offered the star role in a show at the brothel.", - "christmastrousers":"In stock from the 15th of December.", + "christmastrousers":"In stock from the 18th of December.", "bellydancer'sbottoms":"Be offered the star role in a show at the brothel.", "bellydancer'sveil":"Be offered the star role in a show at the brothel.", "loincloth":"Befriend a lonely hunter, or join a pack of wolves.", "witchhat":"In stock from the 21st of October.", - "christmashat":"In stock from the 15th of December.", + "christmashat":"In stock from the 18th of December.", "chefhat":"Become famous for your cream buns.", "fedora":"Eavesdrop as a bartender and learn about a criminal undertaking.", "holypendant":"Discover the soup kitchen.", @@ -1174,7 +1180,7 @@ Name: <input id="colorName" type="text" value="Custom" maxlength="30" onfocus="V "cowpanties":"Become livestock.", "cowsocks":"Become livestock.", "cowsleeves":"Become livestock.", - "christmaslegwarmers":"In stock from the 15th of December.", + "christmaslegwarmers":"In stock from the 18th of December.", "witchshoes":"In stock from the 21st of October.", "mummyfacewrap":"In stock from the 21st of October.", "mummytop":"In stock from the 21st of October.", @@ -1182,7 +1188,7 @@ Name: <input id="colorName" type="text" value="Custom" maxlength="30" onfocus="V "featheredhairclip":"Romance an avian.", "catsuit":"Pillage a shipment.", "holystole":"Requires sufficient devotion.", - "minisnowman":"In stock from the 15th of December.", + "minisnowman":"In stock from the 18th of December.", "rose":"In stock from the 7th of February.", "scarecrowshirt":"In stock from the 21st of October.", "scarecrowhat":"In stock from the 21st of October." diff --git a/game/overworld-town/special-robin/main.twee b/game/overworld-town/special-robin/main.twee index b6675cde0c60dd75ae25bac49cbcd3922d352492..29ee606a88f82c16e3738291b563557e7bdeaf82 100644 --- a/game/overworld-town/special-robin/main.twee +++ b/game/overworld-town/special-robin/main.twee @@ -1,6 +1,6 @@ :: Robin's Room Entrance <<set $outside to 0>><<set $location to "home">><<effects>> -<<run statusCheck("Robin")>> +<<set _robin to statusCheck("Robin")>> <<if $robindebt gte $robindebtlimit and $robindebtintro isnot 1 and $robinpaid isnot 1>> <<set $robinconsole to 0>> @@ -52,23 +52,24 @@ <br> <<elseif _robin_location is "sleep">> You go to Robin's room. There's a note on the door. "Sleeping!" - <br><br> + <<if _robin.lust gte 80 and $robinromance is 1 and between($hour, 21, 23) and !$daily.robin.sleepMasturbate>> + <<set $daily.robin.sleepMasturbate to true>> + <span class="lewd">You notice the door is slightly open.</span> + <br><br> - <<link [[Leave|Orphanage]]>><</link>> - <br> + <<link [[Take a peek|Robin Mischief]]>><</link>> + <br> + <<link [[Close the door|Robin Mischief Close]]>><</link>> + <<else>> + <br><br> + + <<link [[Leave|Orphanage]]>><</link>> + <</if>> + <br> <<if $debug is 1>> <<link [[Wait for Robin (DEBUG)|$passage]]>><<set _rem to ($time lt 420 ? (420 - $time) : (1440 - $time + 420))>><<pass _rem>><</link>> <</if>> -<<elseif _robin_location is "sleepMasturbate">> - <<set $daily.robin.sleepMasturbate to true>> - You go to Robin's room. There's a note on the door. "Sleeping!" <span class="lewd">You notice the door is slightly open.</span> - <br><br> - - <<link [[Take a peek|Robin Mischief]]>><</link>> - <br> - <<link [[Close the door|Robin Mischief Close]]>><</link>> - <br> <<elseif _robin_location is "beach">> You go to Robin's room. There's a note on the door. "Out selling lemonade!" <br><br>