diff --git a/game/03-JavaScript/time.js b/game/03-JavaScript/time.js index fcbab1d37df6092148a4af7ce163d823f76d0ecf..36c799ad95d5ae143a25c6378508daa328c909ca 100644 --- a/game/03-JavaScript/time.js +++ b/game/03-JavaScript/time.js @@ -1014,6 +1014,7 @@ function noonCheck() { fragment.append(wikifier("dailySellProduce")); if (V.lake_ice_broken >= 1) V.lake_ice_broken--; if (V.lake_ice_broken <= 0) delete V.lake_ice_broken; + if (V.edenNightmareWake) delete V.edenNightmareWake; fragment.append(wikifier("menstruationCycle")); pregnancyProgress(); diff --git a/game/base-system/sleep.twee b/game/base-system/sleep.twee index 78e95c6a66f65513c8fbec330e67729e06220565..ccbfabe45f519c8e8cf2d3c2a6cfa9c33b31bfe3 100644 --- a/game/base-system/sleep.twee +++ b/game/base-system/sleep.twee @@ -154,9 +154,15 @@ <<case "cabin">> <<if wraithSleepEventCheck()>> <<wraithEvent>> - <<elseif Time.hour lte 6 and C.npc.Eden.lust gte 26 and $edenwake isnot 1>> - <<set $edenwake to 1>> - <<set _sleepinterrupt to 1>> + <<elseif Time.hour lte 6 and $edenwake isnot 1>> + <<if C.npc.Eden.lust gte 26>> + <<set $edenwake to 1>> + <<set _sleepinterrupt to 1>> + <<elseif $rng gte 90>> + <<set $edenwake to 1>> + <<set $edenNightmareWake to true>> + <<set _sleepinterrupt to 1>> + <</if>> <</if>> <<case "forest">> <<if $location is "forest" and $wolfpackferocity gte 10 and $wolfwake isnot 1>> @@ -289,7 +295,7 @@ <<set $tiredness -= $_bonusFatigueLoss>> <<set Weather.BodyTemperature.addActivity("sleep")>> - + <<if $location is "tower">> <<bird_pass 60>> <<else>> @@ -648,14 +654,14 @@ The figures tell you that you have a choice to make, one <span class="sub">that cannot be ignored or easily taken back</span>.<<if $earSlime.dreamRejected gte 10>> The volume of their combined voices makes it sound like a demand rather than an offer.<</if>> <br><br> - The voice from the left whispers in your ear. Its words overlap themselves, promising you many things at once. It claims it will bring you fulfilment by granting you + The voice from the left whispers in your ear. Its words overlap themselves, promising you many things at once. It claims it will bring you fulfilment by granting you <<if _pregnancyEnabled>> a womb filled with life<<if $breastfeedingdisable is "f">> and breasts filled with milk<</if>>. <<if !$player.vaginaExist and !(playerIsPregnant() and playerAwareTheyArePregnant()) and Object.values($children).find(child => child.mother === "pc")>> It also promises that the limits of your current body will not hold you back. <</if>> <<else>> - pure femininity. + pure femininity. <</if>> <br> The first voice is interrupted by the one on your right, grabbing your attention. Your mind is assaulted with more promises. It tells you that it will help you fulfil yourself through diff --git a/game/base-system/text.twee b/game/base-system/text.twee index fc445d1d419e03b5b40cff085e47b483ee3e78b4..22212437d30bdae4b88983d52c888358c4bf1e5e 100644 --- a/game/base-system/text.twee +++ b/game/base-system/text.twee @@ -3388,7 +3388,6 @@ <</if>> <</silently>>_text_output<</widget>> - <<widget "bastard">><<silently>> <<if $player.gender_appearance is "m">> <<set _text_output to "bastard">> @@ -3397,6 +3396,14 @@ <</if>> <</silently>>_text_output<</widget>> +<<widget "cunt">><<silently>> + <<if $player.gender_appearance is "m">> + <<set _text_output to "dick">> + <<else>> + <<set _text_output to "cunt">> + <</if>> +<</silently>>_text_output<</widget>> + <<widget "tearful">> <<if $trauma gte $traumamax>> Eyes glazed and empty, diff --git a/game/overworld-forest/loc-cabin/main.twee b/game/overworld-forest/loc-cabin/main.twee index 2e3fccd88edfe9c13fc709a7e118415b7f2f1ab1..6af55be2028ab55fbdda8c55af2c247a28857311 100644 --- a/game/overworld-forest/loc-cabin/main.twee +++ b/game/overworld-forest/loc-cabin/main.twee @@ -257,7 +257,16 @@ There is a thermometer outside the window. It reads <span class="teal"><<print W <br> <</if>> <<refuseicon>><<link [[Refuse|Eden Breakfast]]>><<npcincr Eden love -1>><<npcincr Eden dom -1>><<set $phase to 2>><</link>><<ldom>><<llove>> + <<elseif $edenNightmareWake is true>> + <<unset $edenNightmareWake>> + You catch <<him>> eyeing your <<= $asphyxiaLvl gte 3 ? "neck" : "wrists">>, but <<he>> quickly looks away when <<he>> sees you've noticed. + <br><br> + + <<link [[Ask about last night|Eden Nightmare Morning]]>><<set $phase to 0>><</link>> + <br> + <<link [[Pretend nothing happened|Eden Nightmare Morning]]>><<set $phase to 1>><</link>> + <br> <<else>> Eden is getting ready for the day. <br><br> @@ -839,17 +848,27 @@ Your clothes are kept in the corner. <<getouticon>><<link [[Get out of bed|Eden Cabin]]>><</link>> <<elseif _sleepinterrupt>> <<npc Eden>><<person1>> - <<if _orgasm is true>> - Eden starts groping. <<He>> feels the moistness around your crotch. "I've been neglectful," <<he>> says, rubbing up against you. + <<if $edenNightmareWake>> + You wake up to Eden mumbling. <<Hes>> still asleep, but <<he>> looks agitated. + <br><br> + + <<link [[Try to wake <<him>> up|Eden Nightmare]]>><<set $phase to 0>><</link>> + <br> + <<link [[Ignore <<him>>|Eden Nightmare]]>><<set $phase to 1>><<unset $edenNightmareWake>><</link>> + <br> <<else>> - You wake up to Eden's groping. <<He>> starts rubbing up against you. - <</if>> - <br><br> + <<if _orgasm is true>> + Eden starts groping. <<He>> feels the moistness around your crotch. "I've been neglectful," <<he>> says, rubbing up against you. + <<else>> + You wake up to Eden's groping. <<He>> starts rubbing up against you. + <</if>> + <br><br> - <<link [[Let it happen|Eden Sleep Sex]]>><<set $sexstart to 1>><</link>><<promiscuous1>> - <br> - <<link [[Push away|Eden Sleep Push]]>><<npcincr Eden love -3>><<npcincr Eden dom -1>><</link>><<lllove>><<ldom>> - <br> + <<link [[Let it happen|Eden Sleep Sex]]>><<set $sexstart to 1>><</link>><<promiscuous1>> + <br> + <<link [[Push away|Eden Sleep Push]]>><<npcincr Eden love -3>><<npcincr Eden dom -1>><</link>><<lllove>><<ldom>> + <br> + <</if>> <<else>> <br><br> @@ -933,6 +952,57 @@ You shove <<him>> away from you. <<link [[Next|Eden Cabin Bed]]>><</link>> +:: Eden Nightmare +<<set $outside to 0>><<set $location to "cabin">><<effects>> + +<<if $phase is 0>> /* Try to wake up */ + You go to wake <<him>>, your hand brushing against <<his>> shoulder. + <br><br> + Eden wakes up with a start and grabs you by the <<= $asphyxiaLvl gte 3 ? "neck" : "wrists">>, pinning you to the bed. <<His>> hands squeeze <<= $asphyxiaLvl gte 3 ? "around your throat. <span class="red">You can't breathe!</span>" : "you, preventing you from moving.">> + <br><br> + <<He>> doesn't seem to recognise you. You <<= $asphyxiaLvl gte 3 ? "choke out a gasp" : "cry out in pain">>, which brings <<him>> back to <<his>> senses.<<pain 4>><<gpain>> + <br><br> + <<He>> lets you go and glares at you. "Don't startle me.<<if C.npc.Eden.love gte 150>> You should know better by now.<</if>>" + <br><br> + <<He>> rolls over and goes back to sleep. You wonder if you'll have bruises tomorrow.<<= $asphyxiaLvl gte 3 ? "<<bruise neck>>" : "<<bruise leftarm>><<bruise rightarm>>">> + <br><br> + You manage to fall back into an uneasy sleep. +<<else>> /* Ignore */ + You do your best to go back to sleep. +<</if>> +<br><br> + +<<link [[Next|Eden Cabin Bed]]>><</link>> +<br> + +:: Eden Nightmare Morning +<<set $outside to 0>><<set $location to "cabin">><<effects>> + +<<if $phase is 0>> /* Ask about last night */ + <<if $speech_attitude is "meek">> + You look down at the floor. "W-were you having a bad dream last night?" + <<elseif $speech_attitude is "bratty">> + You cross your arms and stare at <<him>>. "What was last night all about?" + <<else>> + "Did you have a nightmare last night?" you ask. + <</if>> + <br><br> + <<He>> looks at you and your bruises. <<He>> scowls. + <<if C.npc.Eden.love gte 150>> + "Bad hunt," <<he>> says, and storms off before you can say anything else. + <<else>> + <<He>> grunts and turns away from you. + <</if>> + <br><br> + You rub your aching <<= $asphyxiaLvl gte 3 ? "neck" : "wrists">>. +<<else>> /* Pretend nothing happened */ + You think better of asking <<him>>. +<</if>> +<br><br> + +<<link [[Next|Eden Cabin]]>><<endevent>><</link>> +<br> + :: Eden Night Wardrobe <<effects>> diff --git a/game/overworld-town/loc-pub/main.twee b/game/overworld-town/loc-pub/main.twee index 38cf43b8772f049f434ac30f0126c379460e3b64..3f59bbabaf6491059f92044f5d3a7b6f59fd88b6 100644 --- a/game/overworld-town/loc-pub/main.twee +++ b/game/overworld-town/loc-pub/main.twee @@ -276,28 +276,30 @@ You make <span class="gold">£<<print $blackmoney>>.</span> <br> :: Pub Task - <<set $outside to 0>><<set $location to "pub">><<effects>><<set $bus to "harvest">> <<if $pubstage is undefined>> + <<set $pubstage to 1>><<set $pubtask to "forest">> "I can help you," Landry says, reclining. "But I need you to do something for me. And no, it's not about money. I was expecting a package that never arrived, I need you to find it for me. Good thing I know exactly where to find it, it had a GPS tracker. <span class="gold">It's deep in the forest beside the town."</span> <br><br> "Get it for me and I'll prevent any of your past misdemeanours being pinned on you. It's a small black box. You shouldn't get it confused with any rocks or twigs. Oh, and do be careful. People disappear in there all the time." - <br><br> - <<set $pubtask to "forest">> - <<set $pubstage to 1>> - <<link [[Leave|Pub]]>><<endevent>><</link>> - <br> <<elseif $pubstage is 1>> + <<set $pubstage to 2>><<set $pubtask to "moor">> "I can help again," Landry says, reclining. "But I have another job for you. Another package failed to arrive. <span class="gold">This one was lost on the moor</span>, some distance from town. You'll need to leave on the Harvest road to reach it." <br><br> "Get it for me and I'll prevent any of your past misdemeanours being pinned on you. It's another small black box. Oh, and do be careful. I don't believe the tales of monsters, but there's a sensible reason behind some superstitions." +<<elseif $pubstage is 2>> + <<unset $pubstage>><<set $pubtask to "sewers">> + "I can help you," Landry says, reclining. "But I need you to do something for me. And no, it's not about money. I was expecting a package that never arrived. I need you to find it for me. Good thing I know exactly where to find it, since it had a GPS tracker. <span class="gold">It's deep in the old sewers below town.</span>" <br><br> - <<set $pubtask to "moor">> - <<unset $pubstage>> - <<link [[Leave|Pub]]>><<endevent>><</link>> - <br> + "Get it for me and I'll prevent any of your past misdemeanours being pinned on you. It's a small black box. You shouldn't get it confused with any puddles or grime. + <br><br> + "Oh, and do be careful. People get swept downstream all the time." <</if>> +<br><br> + +<<link [[Leave|Pub]]>><<endevent>><</link>> +<br> :: Pub Box diff --git a/game/overworld-town/loc-temple/garden.twee b/game/overworld-town/loc-temple/garden.twee index 28e314d2466307170396291746e1446797ca2fbf..0639f2ad43c476e643ea715a3f7e8221bdc2bb35 100644 --- a/game/overworld-town/loc-temple/garden.twee +++ b/game/overworld-town/loc-temple/garden.twee @@ -255,7 +255,11 @@ You find <<him>> tending to a row of trellises, each bearing a vibrant vine of h <</if>> <</if>> <br> - <<link [[Refuse|Temple Drink Refuse]]>><<grace -1>><</link>><<lgrace>> + <<if playerIsPregnant() and playerAwareTheyArePregnant() and $templePromised is "Sydney">> + <<link [[Refuse|Temple Drink Refuse]]>><</link>> + <<else>> + <<link [[Refuse|Temple Drink Refuse]]>><<grace -1>><</link>><<lgrace>> + <</if>> <br> <</if>> <</if>> @@ -283,7 +287,23 @@ You stroke the vines as they surround you, and hum gently. :: Temple Drink Refuse <<set $outside to 1>><<set $location to "temple">><<temple_effects>><<effects>> -You refuse the drink. The <<monk>> is disappointed, but doesn't press you. +<<if playerIsPregnant() and playerAwareTheyArePregnant()>> + <<if $templePromised is "Sydney">> + <<if $rng gte 51>> + <<He>> smiles. "Ah, I didn't realise. Congratulations on your child," <<he>> says, then takes your mug and drinks it too. + <<else>> + <<He>> nods. "Ah, I see. Congratulations on your child. An expectant <<pmother>> shouldn't be working out in the garden. I'm impressed by your dedication, but be careful." <<He>> stands, and leaves you alone. + <</if>> + <<else>> + <<if $rng gte 51>> + <<He>> nods. "I see. Well, it's best for the child," <<he>> says. <<He>> takes your mug and drinks it. + <<else>> + <<He>> nods. "I see. An expectant <<pmother>> shouldn't work out in the garden. Be careful," <<he>> says, then walks away. + <</if>> + <</if>> +<<else>> + You refuse the drink. The <<monk>> is disappointed, but doesn't press you. +<</if>> <br><br> <<link [[Next|Temple Garden]]>><<endevent>><</link>> diff --git a/game/overworld-underground/loc-cave/pub.twee b/game/overworld-underground/loc-cave/pub.twee index 0fcd61d81c729c398cfd9b94f5117894edd1dd7f..ac587b3ba7b6a1ba739a98986359cf431ff8fc88 100644 --- a/game/overworld-underground/loc-cave/pub.twee +++ b/game/overworld-underground/loc-cave/pub.twee @@ -412,14 +412,18 @@ You are in the smuggler's pub, hidden underground. Wooden platforms and walls ha <br> <</if>> <</if>> + <<if $pubtask is "sewers" and $pubtask2 isnot 1 and [undefined, "smuggler"].includes($sewersBox)>> + <<crimeicon "black box">><<link [[Search for Landry's black box|Smuggler Pub Box]]>><</link>><<set $sewersBox to "smuggler">> + <br> + <</if>> <<if $smuggler_pub_zephyr is 1>> - <<link [[Speak to Zephyr|Smuggler Pub Zephyr]]>><</link>> + <<socialiseicon>><<link [[Speak to Zephyr|Smuggler Pub Zephyr]]>><</link>> <br> <</if>> - <<link [[Enter sewers (0:05)|Sewers Algae]]>><<pass 5>><<sewersstart>><</link>> + <<sewericon>><<link [[Enter sewers (0:05)|Sewers Algae]]>><<pass 5>><<sewersstart>><</link>> <br> <<if $historytrait gte 4>> - <<link [[Follow the tunnel to the watery cave (0:05)|Beach Cave Pub Entrance]]>><</link>> + <<ind>><<link [[Follow the tunnel to the watery cave (0:05)|Beach Cave Pub Entrance]]>><</link>> <br> <</if>> <</if>> @@ -694,3 +698,119 @@ You sit at Zephyr's table. "Well if it isn't me old chum," <<he>> says. "Fancy a <<endcombat>> <<link [[Next|Smuggler Pub]]>><</link>> <br> + +:: Smuggler Pub Box +<<effects>> + +<<generate1>><<generate2>><<generate3>><<generate4>><<generate5>> +<<if $smugglerBox is true>> + <<unset $smugglerBox>> + "Look who's back," the <<person1>><<person>> says. + <br><br> + "We won't be as generous with our offer this time," the <<person3>><<person>> says. + <br><br> + + <<link [[Next|Smuggler Pub Box Sex]]>><<set $molestationstart to 1>><</link>> + <br> +<<else>> + You are approached by a group of smugglers. + <br><br> + "We know why you're here, <<girl>>," a <<person1>><<person>> says. + <br><br> + A <<person2>><<person>> holds up the black box. "This is what you want, isn't it?" + <br><br> + "We'll give it to you, but not without something in exchange," a <<person3>><<person>> says, approaching you. + <br><br> + + <<link [[Accept|Smuggler Pub Box 2]]>><<set $phase to 0>><</link>> + <br> + <<link [[Walk away|Smuggler Pub Box 2]]>><<set $phase to 1>><<set $smugglerBox to true>><</link>> + <br> +<</if>> + +:: Smuggler Pub Box 2 +<<effects>> + +<<if $phase is 0>> /* Accept */ + The smugglers surround you. + <br><br> + "I'm going to enjoy this," a <<person5>><<person>> says. + <br><br> + + <<link [[Next|Smuggler Pub Box Sex]]>><<set $sexstart to 1>><</link>> + <br> +<<else>> /* Walk away */ + Deciding not to take any risks, you leave from where you entered. + <br><br> + The box remains in the smugglers' possession. + <br><br> + + <<link [[Next|Smuggler Pub]]>><<endevent>><</link>> + <br> +<</if>> + +:: Smuggler Pub Box Sex +<<if $sexstart is 1>> + <<set $sexstart to 0>> + <<consensual>> + <<set $consensual to 1>> + <<neutral 1>> + + <<maninit>> +<</if>> + +<<if $molestationstart is 1>> + <<set $molestationstart to 0>> + <<controlloss>> + <<violence 1>> + <<neutral 1>> + <<molested>> + + <<maninit>> +<</if>> + +<<effects>> +<<effectsman>> +<<man>> +<<stateman>> +<br><br> +<<actionsman>> + +<<if _combatend>> + <span id="next"><<link [[Next|Smuggler Pub Box Sex Finish]]>><</link>></span><<nexttext>> +<<else>> + <span id="next"><<link [[Next|Smuggler Pub Box Sex]]>><</link>></span><<nexttext>> +<</if>> + +:: Smuggler Pub Box Sex Finish +<<effects>> + +<<if $enemyhealth lte 0>> + They all fall over each other in a heap of tangled limbs. You take advantage of the chaos to dart in, grab the black box, and leave. +<<elseif $enemyarousal gte $enemyarousalmax>> + <<ejaculation>> + + "Man, that was great," the <<person3>><<person>> says. + <br><br> + The <<person2>><<person>> hands you the box. "Thanks for the release, <<girl>>." + <br><br> + <<if $consensual is 1>> + <<tearful>> you turn back to the pub. + <<else>> + They laugh as you walk away. + <</if>> +<<else>> + "You little <<cunt>>," the <<person1>><<person>> says. "Fine. But don't expect us to be so generous next time." + <br><br> + The <<person3>><<person>> makes a show of putting the box back on the table. + <br><br> + <<tearful>> you leave empty handed. +<</if>> +<br><br> + +<<clotheson>> +<<endcombat>> + +<<set $pubtask2 to 1>> +<<link [[Next|Smuggler Pub]]>><<unset $sewersBox>><</link>> +<br> \ No newline at end of file diff --git a/game/overworld-underground/loc-sewers/old-sewers-events.twee b/game/overworld-underground/loc-sewers/old-sewers-events.twee index 728318293a141e2fcce896744fc48b6c77fe793b..4800d6c208f86aafb419cc3e83411b79e566802d 100644 --- a/game/overworld-underground/loc-sewers/old-sewers-events.twee +++ b/game/overworld-underground/loc-sewers/old-sewers-events.twee @@ -645,3 +645,72 @@ The tendrils retreat, vanishing into the dark. <<endcombat>> <<destinationsewers>> + +:: Sewers Box Lizard +<<effects>> + +<<beastNEWinit 4 lizard>> +You see a group of <<beastsplural>> guarding the box. One lunges at you! +<br><br> + +<<link [[Next|Sewers Box Lizard Rape]]>><<set $molestationstart to 1>><</link>> +<br> + +:: Sewers Box Lizard Rape +<<if $molestationstart is 1>> + <<set $molestationstart to 0>> + <<controlloss>> + <<violence 1>> + <<neutral 1>> + <<molested>> + <<beastCombatInit>> + <<beastTrainGenerate>> +<</if>> + +<<effects>> +<<effectsman>> +<br> +<<beast $enemyno>> +<br><br> +<<stateman>> +<br><br> +<<actionsman>> + +<<if _combatend>> + <span id="next"><<link [[Next|Sewers Box Lizard Rape Finish]]>><</link>></span><<nexttext>> +<<else>> + <span id="next"><<link [[Next|Sewers Box Lizard Rape]]>><</link>></span><<nexttext>> +<</if>> + +:: Sewers Box Lizard Rape Finish +<<effects>> + +<<if $enemyhealth lte 0>> + <<beastwound>> + + The <<beasttype>> hisses and rears back. There's fear in <<bhis>> eyes. <<bHe>> turns and disappears underneath the sewage, in search of easier prey. +<<elseif $enemyarousal gte $enemyarousalmax>> + <<beastejaculation>> + + The <<beasttype>> looks satisfied. <<bHe>> licks your cheek with <<bhis>> forked tongue. Then <<bhe>> darts underneath the sewage in search of more prey. +<</if>> +<br><br> +<<if $combatTrain.length gt 0>> + Another <<beasttype>> tries to mount you! + <<combatTrainAdvance>> + <br><br> + + <<link [[Next|Sewers Box Lizard Rape]]>><</link>> + <br> +<<else>> + <<tearful>>, you gather yourself, keeping your guard up. + <br><br> + After a few moments, you retrieve the black box from its resting place.<<set $pubtask2 to 1>> + <br><br> + + <<clotheson>> + <<endcombat>> + + <<link [[Next|Sewers Wood]]>><<unset $sewersBox>><<set $eventskip to 1>><</link>> + <br> +<</if>> \ No newline at end of file diff --git a/game/overworld-underground/loc-sewers/old-sewers.twee b/game/overworld-underground/loc-sewers/old-sewers.twee index 885c5630875446ee38cdc7427df143abb927d6b5..50b57f09e9f29fc5f689f7297240febbe67ab738 100644 --- a/game/overworld-underground/loc-sewers/old-sewers.twee +++ b/game/overworld-underground/loc-sewers/old-sewers.twee @@ -334,6 +334,10 @@ You are in the old sewers. Decaying logs litter the tunnel. <<sewericon "wood">><<link [[Hide in a log|Sewers Wood Hide]]>><</link>> <br> <</if>> + <<if $pubtask is "sewers" and $pubtask2 isnot 1 and [undefined, "sewersWood"].includes($sewersBox)>> + <<crimeicon "black box">><<link [[Search for Landry's black box|Sewers Box Lizard]]>><</link>><<set $sewersBox to "sewersWood">> + <br> + <</if>> <<sewericon "webs">><<link [[Tunnel covered in webs (0:05)|Sewers Webs]]>><<pass 5>><</link>> <br> <<if $nextPassageCheck is "Sewers Residential">> @@ -522,7 +526,7 @@ A breeze emerges from the pit. It makes your <<genitals 1>> tingle. Arms stretched out either side, you walk across the gap. A warm air gushes up from the pit and caresses you. It's too much. Your knees buckle. <br><br> <<orgasm>> - + You fall from the walkway, plunging into dark water below. <br><br> <<sewersend>>