From b52df7d637b28a627f8297e5355730c7e08f734e Mon Sep 17 00:00:00 2001
From: Cutiland <cutilandisaway@gmail.com>
Date: Sat, 6 May 2023 23:05:28 +0000
Subject: [PATCH] Rainy Day Harassment and Leaving the Changing Room While
 Naked scenes

---
 game/base-clothing/wardrobes.twee             |   2 +
 game/overworld-town/loc-beach/events.twee     |  22 ++
 .../overworld-town/loc-danube-homes/work.twee |   2 +-
 game/overworld-town/loc-street/events.twee    | 287 ++++++++++++++++++
 game/overworld-town/loc-street/widgets.twee   |  38 ++-
 5 files changed, 349 insertions(+), 2 deletions(-)

diff --git a/game/base-clothing/wardrobes.twee b/game/base-clothing/wardrobes.twee
index ed6e8573db..e3b03a6c7a 100644
--- a/game/base-clothing/wardrobes.twee
+++ b/game/base-clothing/wardrobes.twee
@@ -1298,6 +1298,8 @@
 		<<case "Changing Room">>
 			<<if $exposed lte 1>>
 				<<link [[Leave|Beach]]>><<cleanupOnWardrobeExit>><</link>>
+			<<elseif $exhibitionism gte 75>>
+				<<link [[Sneak outside|Beach Changing Room Sneak]]>><</link>><<exhibitionist5>>
 			<<else>>
 				You can't go out like this!
 			<</if>>
diff --git a/game/overworld-town/loc-beach/events.twee b/game/overworld-town/loc-beach/events.twee
index 6aaff48143..1ae14f103c 100644
--- a/game/overworld-town/loc-beach/events.twee
+++ b/game/overworld-town/loc-beach/events.twee
@@ -1010,3 +1010,25 @@ You hold your shaking arms by your side and let your skirt billow in the wind. T
 <<link [[Next|Beach]]>><<endevent>><<set $eventskip to 1>><</link>>
 <br>
 
+:: Beach Changing Room Sneak
+<<effects>>
+
+You peek out of the changing room; it's about a hundred feet to the water. There are several people enjoying the beach but no one paying attention to you. If you move quickly you're sure no one will see you. 
+<br><br>
+
+You take a deep breath and charge out of the changing room. You feel the wind flowing over your whole body as you sprint down the beach. The dry sand is difficult to run through, but you don't think you've attracted any attention yet.
+<br><br>
+
+<<if $rng gte 51>>
+	<<generate1>><<person1>>
+	Suddenly a <<person>> spots you and shouts, drawing more attention to you. In a few seconds it feels like the whole beach now has their attention on you and your naked body. You try to run faster, but you're sure everyone has enough time to see all the intimate details they want.
+	<<gstress>><<garousal>> <<stress 6>><<arousal 600>>
+	<br><br>
+
+<<else>>
+	Finally you make it to the wet sand and the last few feet. You splash into the water and kneel down, hiding yourself under the waves.
+	<br><br>
+
+<</if>>
+
+<<link [[Next|Sea Beach]]>><<endevent>><</link>>
\ No newline at end of file
diff --git a/game/overworld-town/loc-danube-homes/work.twee b/game/overworld-town/loc-danube-homes/work.twee
index 6c4e2476ce..1d9fd9b10a 100644
--- a/game/overworld-town/loc-danube-homes/work.twee
+++ b/game/overworld-town/loc-danube-homes/work.twee
@@ -2496,4 +2496,4 @@ You hear a voice from the door. "I'm back!" It's the <<person>>. <<His>> pets su
 <<clearNPC "danube_cat_2">>
 
 <<link [[Leave|Danube Street]]>><<unset $danubecathappiness>><<endevent>><</link>>
-<br>
+<br>
\ No newline at end of file
diff --git a/game/overworld-town/loc-street/events.twee b/game/overworld-town/loc-street/events.twee
index 49a487805b..53388b594f 100644
--- a/game/overworld-town/loc-street/events.twee
+++ b/game/overworld-town/loc-street/events.twee
@@ -10825,3 +10825,290 @@ There's also a condom glued on the inner side. <<gcondoms 1>>
 <<endevent>>
 <<destinationeventend>>
 
+:: Street Rainy Follow
+<<effects>><<set $rainyDayHarass to $worn.under_lower.name>>
+
+You follow the <<person1>><<person>> inside. <<He>> stops you in the <<if $bus is "domus">>entryway<<else>>foyer<</if>>. 
+<br><br>
+
+"Wait here for a second, wouldn't want you getting the carpet all wet! I'll grab you a <<if $worn.upper.name.includes("towel") or $worn.lower.name.includes("towel")>>dry <</if>>towel."
+<br><br>
+
+<<He>> disappears around a corner for a moment, then returns, carrying a large towel. "Here you go! Wrap yourself up in this for a few minutes while I throw your clothes in the dryer. I won't peek, I promise."
+<br><br>
+
+<<link [[Next|Street Rainy Follow 2]]>><<strip>><</link>>
+
+:: Street Rainy Follow 2
+<<effects>><<towelup>>
+
+<<He>> turns around while you strip out of your clothes and put the towel on. You hand them to <<him>>. 
+<br><br>
+
+"Make yourself comfortable," <<he>> says, disappearing back around the corner.
+<br><br>
+
+You take the opportunity to dry yourself off with the towel. <<if $bus is "domus">>A low, mechanical rumbling emanates from the direction the <<person1>><<person>> went.<<else>>Careful not to get anything wet, you sit down in one of the chairs in the corner of the foyer.<</if>>
+<br><br>
+
+<<link [[Next|Street Rainy Follow 3]]>><</link>>
+
+:: Street Rainy Follow 3
+<<effects>><<set $upperwet to 0>><<set $lowerwet to 0>><<set $underlowerwet to 0>>
+
+After a while, the <<person1>><<person>> reappears, bundle of clothes in tow. "Here you go, <<girl>>. Nice and warm." <<He>> turns around again to let you get changed.
+<br><br>
+
+<<cleareventpool>>
+
+<<addinlineevent "rainy_day_harassement_normal" 4>>
+	The <<person1>><<person>> takes the towel from you once you've got your clothes back on.<<clotheson>> <<Hes>> right, they're still nice and warm from the dryer.<<lstress>><<stress -6>>
+	<br><br>
+
+	You thank <<him>> and walk back outside. "Don't stay out too long in this weather!" <<he>> shouts from behind you.
+	<br><br>
+
+	<<if $bus is "domus">>
+		<<link [[Next|Domus Street]]>><<pass 15>><<endevent>><</link>>
+	<<else>>
+		<<link [[Next|Danube Street]]>><<pass 15>><<endevent>><</link>>
+	<</if>>
+
+<</addinlineevent>>
+
+<<addinlineevent "rainy_day_harassement_lewd" 1>>
+
+	<<if $rainyDayHarass is "naked">>
+		Everything's present and accounted for, but there's something extra, too. It's a <<if $NPCList[0].pronoun is "m">>jockstrap<<else>>g-string<</if>>. It must've gotten mixed in with your clothes in the dryer.<<garousal>><<arousal 600>>
+		<br><br>
+
+	<<else>>
+		Everything's present and accounted for, except for your $rainyDayHarass. <<He>> must've taken <<if $rainyDayUnderlower.plural is 1>>them<<else>>it<</if>> while drying your clothes.<<gstress>><<stress 6>>
+		<br><br>
+
+	<</if>>
+
+	"I don't hear you changing," <<he>> says over <<his>> shoulder. "Something wrong?"
+	<br><br>
+
+	<<if $rainyDayHarass isnot "naked">>
+		<<link [[Ask for your underwear back|Street Rainy Ask]]>><<set $phase to 1>><</link>>
+		<br>
+		<<link [[Let it go|Street Rainy Let]]>><</link>>
+	<<else>>
+		<<link [["Tell " + $NPCList[0].pronouns.him|Street Rainy Tell]]>><</link>>
+		<br>
+		<<link [[Get dressed anyway|Street Rainy Let]]>><<set $phase to 2>><</link>>
+	<</if>>
+
+<</addinlineevent>>
+<<runeventpool>>
+
+:: Street Rainy Tell
+<<effects>>
+
+You inform <<him>> about the underwear.
+
+"Sorry, only thing I had that was clean," <<he>> stammers. "Figured it'd still be better than nothing. No idea why you weren't wearing any undies, <<girl>>, but in a town like this you should really know better."
+<br><br>
+
+<<link [[Insist|Street Rainy Insist]]>><</link>><<englishdifficulty 1 1000>>
+<br>
+<<link [[Get dressed anyway|Street Rainy Let]]>><<set $phase to 2>><</link>>
+
+:: Street Rainy Ask
+<<effects>>
+
+You ask <<him>> what happened to your underwear. "What--" <<he>> says, nearly turning around before remembering <<his>> manners. "What underwear? I wasn't going to say anything, but you weren't wearing any!"
+<br><br>
+
+<<link [[Insist|Street Rainy Insist]]>><</link>><<set $phase to 1>><<englishdifficulty 1 1000>>
+<br>
+<<link [[Let it go|Street Rainy Let]]>><</link>>
+
+:: Street Rainy Insist
+<<effects>>
+
+<<if $phase is 1>>
+
+	<<if $submissive gte 1150>>
+		"Please give me back my underwear," you say. "I know you took it..."
+		<br><br>
+	<<elseif $submissive lte 850>>
+		"Really, luring a <<girl>> in so you can steal <<pher>> underwear?" you scoff. "Give it back before I get mad."
+		<br><br>
+	<<else>>
+		"Stealing underwear from an orphan?" you frown. "That's low."
+		<br><br>
+	<</if>>
+
+<<else>>
+
+	<<if $submissive gte 1150>>
+		"I appreciate it, but no thank you," you respond.
+		<br><br>
+	<<elseif $submissive lte 850>>
+		"I'm good," you respond. "I try not to wear strangers' underwear."
+		<br><br>
+	<<else>>
+		"Thanks but no thanks," you respond.
+		<br><br>
+	<</if>>
+
+<</if>>
+
+<<if $englishSuccess>>
+
+	<<if $phase is 1>>
+
+		<<He>> disappears around the corner once more and returns with your $rainyDayHarass shortly after. <span class="green">"Sorry about that,"</span> <<he>> says, handing <<if $rainyDayUnderlower.plural is 1>>them<<else>>it<</if>> back to you. "Got mixed in with the rest of the laundry."
+
+	<<else>>
+
+		<<He>> shrugs. <span class="green">"Suit yourself."</span>
+
+	<</if>>
+
+	<<clotheson>>
+
+	<<He>> takes the towel from you once you've got your clothes on. You thank <<him>> as you walk back out onto <<if $bus is "domus">>Domus<<else>>Danube<</if>> street.
+	<br><br>
+
+	"Don't stay out too long in this weather!" <<he>> shouts from behind you.
+	<br><br>
+
+	<<if $bus is "domus">>
+		<<link [[Next|Domus Street]]>><<unset $rainyDayHarass>><<endevent>><</link>>
+	<<else>>
+		<<link [[Next|Danube Street]]>><<unset $rainyDayHarass>><<endevent>><</link>>
+	<</if>>
+
+<<else>>
+
+	"You know, there's a certain proverb that's coming to mind right now," <<he>> says, spinning around to face you. 
+	<br><br>
+	
+	"Don't look a gift horse in the mouth. Sound familiar?" <span class="red"><<He>> lunges at you!</span>
+	<br><br>
+
+	<<link [[Next|Street Rainy Sex]]>><<set $molestationstart to 1>><</link>>
+
+<</if>>
+
+:: Street Rainy Sex
+
+<<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|Street Rainy Sex End]]>><</link>></span><<nexttext>>
+<<else>>
+	<span id="next"><<link [[Next|Street Rainy Sex]]>><</link>></span><<nexttext>>
+<</if>>
+
+:: Street Rainy Sex End
+<<effects>>
+
+<<if $enemyarousal gte $enemyarousalmax>>
+	<<ejaculation>>
+	
+	The <<person1>><<person>> pulls you to your feet. "Hope you learned something today," <<he>> says, shoving you out the door and back into the rain.
+	<br><br>
+
+	<<He>> didn't give you back your clothes. You knock on the door, but nobody answers.<<gtrauma>><<trauma 1>>
+	<br><br>
+
+	<<lowerruined>><<upperruined>><<underlowerruined>><<underupperruined>><<clothesruinstat>>
+
+	<<towelup>>
+
+<<elseif $enemyhealth lte 0>>
+	You manage to knock the <<person1>><<person>> to the ground, grab your clothes, and sprint out the door. 
+	<br><br>
+
+	You keep running until you find a quiet spot to catch your breath and get dressed.
+	<br><br>
+
+	<<clotheson>>
+<</if>>
+
+<<endcombat>>
+
+<<if $bus is "domus">>
+	<<link [[Next|Domus Street]]>><<endevent>><<unset $rainyDayHarass>><</link>>
+<<else>>
+	<<link [[Next|Danube Street]]>><<endevent>><<unset $rainyDayHarass>><</link>>
+<</if>>
+
+:: Street Rainy Let
+<<effects>>
+
+<<if $phase is 1>>
+
+	<<if $submissive gte 1150>>
+		"Oh," you reply. "<<if isLoveInterest("Kylar")>>This isn't the first time it's happened...<<else>>Th-that's okay, you can keep them.<</if>>"
+		<br><br>
+	<<elseif $submissive lte 850>>
+		"Whatever," you reply. "<<if isLoveInterest("Kylar")>>I'm used to it.<<else>>I'll buy more.<</if>>"
+		<br><br>
+	<<else>>
+		"Forget it," you reply. "<<if isLoveInterest("Kylar")>>Happens all the time.<<else>>I must've just forgotten them this morning."<</if>>
+		<br><br>
+	<</if>>
+
+<<elseif $phase is 2>>
+	Shrugging, you throw your clothes on, including the <<if $NPCList[0].pronoun is "m">>jockstrap<<underlowerwear 28>><<else>>g-string<<underlowerwear 16>><</if>>.
+
+<<else>>
+
+	<<if $submissive gte 1150>>
+		"I'm okay," you reply. "Don't worry about it..."
+		<br><br>
+	<<elseif $submissive lte 850>>
+		"It's nothing," you reply. "Don't worry about it."
+		<br><br>
+	<<else>>
+		"I'm fine," you reply. "Don't worry about it."
+		<br><br>
+	<</if>>
+
+<</if>>
+
+<<clotheson>>
+<<He>> takes the towel from you once you've got your clothes on. You thank <<him>> as you walk back out onto <<if $bus is "domus">>Domus<<else>>Danube<</if>> street.
+<br><br>
+
+"Don't stay out too long in this weather!" <<he>> shouts from behind you.
+<br><br>
+
+<<if $bus is "domus">>
+	<<link [[Next|Domus Street]]>><<unset $rainyDayHarass>><<endevent>><</link>>
+<<else>>
+	<<link [[Next|Danube Street]]>><<unset $rainyDayHarass>><<endevent>><</link>>
+<</if>>
+
+:: Street Rainy Walk
+<<effects>>
+
+You ignore the <<person1>><<person>>'s offer and keep moving.
+<br><br>
+
+<<if $bus is "domus">>
+	<<link [[Next|Domus Street]]>><<endevent>><</link>>
+<<else>>
+	<<link [[Next|Danube Street]]>><<endevent>><</link>>
+<</if>>
\ No newline at end of file
diff --git a/game/overworld-town/loc-street/widgets.twee b/game/overworld-town/loc-street/widgets.twee
index c57f61e07e..5008eab6a1 100644
--- a/game/overworld-town/loc-street/widgets.twee
+++ b/game/overworld-town/loc-street/widgets.twee
@@ -2317,6 +2317,35 @@
 	<</switch>>
 <</widget>>
 
+<<widget "rainyDayHarass">>
+	<<generate1>><<person1>>
+
+	A <<person>> calls out to you from the doorway of a nearby <<if $bus is "domus">>house<<else>>mansion<</if>>.
+	<br><br>
+
+	<<switch random(1,5)>>
+		<<case 1>>
+			"What're you doing out alone in this awful weather, <<girl>>? C'mon inside, I'll let you dry off," <<he>> says, gesturing towards the door.
+		<<case 2>>
+			"Good lord, <<girl>>, you're drenched!" <<he>> laughs. "C'mon in, I'll let you hide from the rain for a bit," <<he>> says, gesturing towards the door.
+		<<case 3>>
+			"You're going to get yourself sick walking around like that," <<he>> tuts. "C'mere and get dried off," <<he>> says, gesturing towards the door.
+		<<case 4>>
+			"You seem like you're lost, <<girl>>. How about you come inside and dry off while you get your bearings?" <<he>> asks, gesturing towards the door.
+		<<case 5>>
+			"Cats and dogs today, 'eh <<girl>>? Need somewhere to take shelter for a bit?" <<he>> asks, gesturing towards the door.
+	<</switch>>
+	<br><br>
+
+	<<link [["Follow " + $NPCList[0].pronouns.him|Street Rainy Follow]]>><</link>>
+	<br>
+	<<if $bus is "domus">>
+		<<link [[Keep walking|Street Rainy Walk]]>><</link>>
+	<<else>>
+		<<link [[Keep walking|Street Rainy Walk]]>><</link>>
+	<</if>>
+<</widget>>
+
 :: Widget Passout Street [widget]
 <<widget "passoutstreet">>
 	<<if isPlayerNonparasitePregnancyEnding()>>
@@ -3259,7 +3288,7 @@
 <</widget>>
 
 <<widget "eventsstreetday">>
-	<<set $dangerevent to random(1, 184)>>
+	<<set $dangerevent to random(1, 190)>>
 	<<rng>>
 	<<if $location is "alley" and !Time.schoolDay and $bullytimer gte $rng and C.npc.Whitney.init is 1 and !["dungeon", "pillory"].includes(C.npc.Whitney.state) and $daily.whitney.park is undefined>>
 		<<set $bullytimer to 0>>
@@ -3318,6 +3347,13 @@
 		<<streetmodelshow>>
 	<<elseif $dangerevent lte 184>>
 		<<streetnpcflash>>
+	<<elseif $dangerevent lte 190>>
+		<<if ($bus is "domus" or $bus is "danube") and $weather is "rainy" and ($upperwetstage is 1 or $lowerwetstage is 1)>>
+			<<rainyDayHarass>>
+		<<else>>
+			<<eventAmbient>>
+			<<destinationeventend>>
+		<</if>>
 	<</if>>
 <</widget>>
 
-- 
GitLab