49 Commits df7f9805a0 ... 35cdea2d13

Author SHA1 Message Date
  silentdark 35cdea2d13 Merge branch 'master' of https://git.catrenelle.com/Kevin_Smarts/glife.git 5 years ago
  KevinSmarts 7c2f7932f3 Merge remote-tracking branch 'pfffbft_-_Mantequila/phase_1' 5 years ago
  pfffbft a80533faaf [fixed] Andrei's naked encounter event not finishing 5 years ago
  pfffbft 6f2b699279 [fixed] yard events getting called from within swamp house 5 years ago
  Mike Greene cf099b0266 Merge branch 'master' of https://git.catrenelle.com/Kevin_Smarts/glife 5 years ago
  Mike Greene f9cff24e21 left in debug code; removed 5 years ago
  Mike Greene 83103e472e Implemented Kevin suggestions for cleaner code. 5 years ago
  KevinSmarts cf0739cd96 Merge remote-tracking branch 'KeyMasterOfGozer/master' 5 years ago
  KevinSmarts 8e8078e0bc [fixed] missed an end 5 years ago
  Mike Greene 4488db8c1a Added ability to masturbate in circle to releave horniness. Made image filenames all lower case. 5 years ago
  KevinSmarts 39d4c587fe [fixed] Wrong variables for husband sex arousal 5 years ago
  KevinSmarts a1cda67082 Merge remote-tracking branch 'julzor/master' 5 years ago
  KevinSmarts 454fdb2741 Merge remote-tracking branch 'KeyMasterOfGozer/master' 5 years ago
  KevinSmarts e19dc80fa6 [fixed] updated code to add images and handle arousal correctly, images from Консервытч 5 years ago
  julzor 56c4ab0cc0 [fixed] missing payment in gdksex 5 years ago
  julzor 92cc70dd22 [changed] made the effect of canceling the wait more transparent 5 years ago
  julzor 8fd5f337b0 [fixed] wrong goto's in gopskver and dead ends in etoexhib 5 years ago
  Mike Greene 3931e6e74f Added gs 'stat' to keep stat bars refreshed when casting spells. 5 years ago
  Mike Greene fc43245533 Added Spell Skill Checks 5 years ago
  Mike Greene b60add3749 Moved image to park subfolder 5 years ago
  Mike Greene e6f199d8df Ok, Working Version of Teleport System. Version 1 5 years ago
  Mike Greene be47590dea Add in Tree Circle teleport locations and events 5 years ago
  julzor 7b34f63871 [fixed] dead ends in brother 5 years ago
  julzor b0de6e1d34 [fixed] dead end in gpoli this time for realz 5 years ago
  julzor cf04771b84 [fixed] wrong goto in poli 5 years ago
  julzor 88327d9e9f [text edit] missing price for the refillable water bottle 5 years ago
  julzor 0889eb9342 [text edit] in pavCommercial so the game isn't literally unplayable anymore 5 years ago
  julzor 103c01c3a0 [added] back the console cheat, changed it that the default is a visible console 5 years ago
  KevinSmarts a12cf006eb [fixed] seeded fame for running events 5 years ago
  KevinSmarts ffeec5bb4c [fixed] Event had no image, now imported from Province. Had to change some text and converted it from dynamic locations to ARGS 5 years ago
  KevinSmarts 6188db0086 Merge remote-tracking branch 'julzor/master' 5 years ago
  KevinSmarts 51246dea26 Merge remote-tracking branch 'bicobus/master' 5 years ago
  KevinSmarts 1c5d24bae8 [fixed] Extended arousal calls in teh stair well in Pav as they were too short to registar. 5 years ago
  julzor 99c1f9aa6f [changed] taking a bath only improves skin once per day if somebody wants to cheat he should use the cheat menu and not spam a normal action. To offset that I increases the skin effect by 50% 5 years ago
  julzor 774b136688 [fixed] text and description in brosh to match the correct time during the school day 5 years ago
  julzor 8521068f9c [changed] moved the leave/decline option to the top in brother 5 years ago
  julzor 38dfa44cca [fixed] missing check for the player being a succubus 5 years ago
  bicobus 06ec8fb350 Properly initialize an empty variable while building a list of arguments 5 years ago
  julzor 8383d43102 [changed] price for the shop coat to match similar items in the GM Store 5 years ago
  julzor e8a3db79b7 [changed] changed curloc to $loc, $metka in mod_setting 5 years ago
  julzor f1eda952c6 [fixed] brother staying in bed after getting a hj or bj by his sister 5 years ago
  julzor cd685b0ca3 [fixed] brother wouldn't stay awake from seeing his sisters tits 5 years ago
  KevinSmarts 8e9035dd6a [fixed] missing $ for string variable 5 years ago
  KevinSmarts c964f8ab53 Merge remote-tracking branch 'julzor/master' 5 years ago
  julzor f153ad9656 [fixed] dead end in shop 5 years ago
  KevinSmarts d0507fc7cb Merge remote-tracking branch 'julzor/master' 5 years ago
  KevinSmarts 315c8cbef5 [added] New willpower system, instructions in the willpower file 5 years ago
  julzor 6c0c307045 [text edit] time cheat looks normal now 5 years ago
  julzor 74116f3bc0 [removed] console cheat 5 years ago

+ 7 - 0
glife.qproj

@@ -56,6 +56,7 @@
 		<Location name="food"/>
 		<Location name="food_menu"/>
 		<Location name="virginity_call"/>
+		<Location name="willpower"/>
 	</Folder>
 	<Folder name="Body">
 		<Location name="body"/>
@@ -1098,5 +1099,11 @@
 	</Folder>
 	<Location name="LBZhouse"/>
 	<Location name="BanSexType"/>
+	<Folder name="Magic">
+		<Location name="castSpell"/>
+		<Location name="spellTeleport"/>
+		<Location name="treeCircle"/>
+		<Location name="treeCircActs"/>
+	</Folder>
 	</Structure>
 </QGen-project>

+ 1 - 1
insanity.sh

@@ -75,7 +75,7 @@ else
 fi
 
 _build_negative_match() {
-    _output=""
+    output=""
     for arg in "$@"
     do
         output+=" --and --not -e \"${arg}\""

+ 3 - 3
locations/Cheatmenu_din.qsrc

@@ -445,8 +445,8 @@ $cheatmenu['permanent'] = {
 	if cumeater_cheat = 1:$cheatcumtrait = 'Disabled'
 	if exhib_cheat = 0:$cheatexhib = 'Enabled'
 	if exhib_cheat = 1:$cheatexhib = 'Disabled'
-	if cheatConsole = 0:$cheatConsole = 'Disabled'
-	if cheatConsole = 1:$cheatConsole = 'Enabled'
+	if cheatConsole = 0:$cheatConsole = 'Visible'
+	if cheatConsole = 1:$cheatConsole = 'Hidden'
 	if cheatTime = 0:$cheatTime = 'Disabled'
 	if cheatTime = 1:$cheatTime = 'Enabled'
 
@@ -512,7 +512,7 @@ $cheatmenu['permanent'] = {
 		'No dream chance: <a href="exec:Enable_nodream=input(''Enter no dream chance (%)'') & dynamic $cheatmenu[''permanent'']">Currently OFF</a>'
 	end & !1.2.3 new function
 	*nl
-	'Console input in Objects window: <a href="exec:dynamic $cheatmenu[''consolecheat'']"><<$cheatConsole>></a>'
+	'Hide Console input in objects window: <a href="exec:dynamic $cheatmenu[''consolecheat'']"><<$cheatConsole>></a>'
 	'Time Cheat in Objects window: <a href="exec:dynamic $cheatmenu[''timecheat'']"><<$cheatTime>></a>'
 	*nl
 

+ 41 - 3
locations/MagEncounterFairy.qsrc

@@ -175,7 +175,7 @@ if $ARGS[0] = 'fairy_chat':
 					if clit_size >= 80:'<center><img <<$set_imgh>> src="images/pc/body/clit/clit5.jpg"></center>'
 					'You hear a giggle and you feel a warm tingle at the top of your slit, you reach down and part your pussy lips with your fingers.'
 					'Your clitoris has shunk, and seems to more demure than before! You can''t help but rub all around it, feeling the warm tingling and the moisture build at the entrance.'
-				elseif fairy_surprise <= 7:
+				elseif fairy_surprise <= 6:
 					min_arousal += rand(1,5)
 					'You hear a giggle, then sparkles surround your body and you get all tingly.'
 					'You suddenly feel flustered and more aroused then before.'
@@ -194,7 +194,7 @@ killvar '$din_fairy_chat_no1' & killvar '$din_fairy_shoo' & killvar '$din_fairy_
 
 if $ARGS[0] = 'fairychattopic':
 !!	These are the random chat texts for the Fairy from UsagiTripleSix
-	frandchat = rand(0,14)
+	frandchat = rand(0,16)
 
 	if frandchat = 1:
 		'You spend a while chatting with the fairy. She openly wonders why human children need to go to school, and brags about how fairies already know everything there is to know.'
@@ -224,8 +224,46 @@ if $ARGS[0] = 'fairychattopic':
 		'You have a scary thought while talking to the fairy. Since she''s real, you ask her how many other mythical creatures are real as well. She tells you that she''s sure that there are others out there, but she usually doesn''t stray far from the park.'
 	elseif frandchat = 14:
 		'You get into a pretty heated discussion with the fairy over whether dogs or cats are better. Well, it''s mostly the fairy that gets heated. It would be a mundane discussion for anyone else, but she takes it very seriously.'
-	else
+	elseif frandchat = 15:
 		'Today the fairy introduces you to fairy knock-knock jokes. She spends almost half an hour telling joke after joke, but you failed to understand a single one. By the time you''re ready to leave, she''s complaining about how humans have no sense of humor.'
+	else:
+		! Teleport event
+		if spellKnown['teleport'] = 0:
+			!show and teach Teleport spell
+			'The Fairy wraps her arms around your thumb and lightly tugs you over to a mysterious circle of trees.'
+			''
+			'She says, "You may have seen these circles of trees around the lands.  Fairies planted them long ago and used their magic to tether them together.  Since you also have Fae magic, I can show you how to use them."'
+			''
+			'She continues,"Most of the work was already done in the binding.  In a way, the trees of each circle are the same trees.  You just have to stand inside the circle, then hold in your mind a picture of another circle that you have been to before.  Then you say the word <i>inla</i>.  If your will is strong enough and you have enough magical energy, your energy can be used to enact your will."'
+			''
+			'She giggles.  "This lets you dance through any field you like!  "Let''s go!"'
+			''
+			'She grunts and give you a nudge into the circle.'
+			act 'Stumble into Circle':
+				''
+				'The view outside the circle seems blurry and a little indistinct.  The Fairy''s face scrunches up in concentration as she incants "inla", and the world outside seems to shimmer a little. You feel like you understand how she did that.  Though you can''t tell exactly where you are now in the blurriness, it does look different.'
+				''
+				'The Fairy says, "It''s important to take the time to feel each Fairy Ring, that''s how you can find your way back."  She flies off.'
+				''
+				'You decide it would be wise to memorize your surroundings.'
+				spellKnown['teleport'] = 1
+				tpKnown['GadForest'] = 1
+				cla
+				act 'You step out of the circle...':gt 'gadforest', '1'
+			end
+		else:
+			!take the user to random location
+
+			'The Fairy nudges you into the nearby tree circle, and giggles as you hear her incant "inla", then flies out of the ring.'
+
+			$tpRand[0]='GadForest'
+			$tpRand[1]='PushkinPark'
+			$tpRand[2]='Village'
+
+			gt 'treeCircle', $tpRand[rnd(0,2)]
+
+			killvar $tpRand
+		end
 	end
 
 	act 'Go on your way': killvar 'frandchat' & gt $loc, $metka

+ 80 - 0
locations/beg1.qsrc

@@ -87,22 +87,31 @@ if $ARGS[0] = 'br':
 	if begresult <= 18:  
 		'Sadly, you barely managed to reach the finish line, walking the last 100 meters. Of course, you came in last - but you also made a bit of a fool of yourself.'
 	elseif begresult <= 23:
+		gs 'fame', 'city', 'running', 1
 		'You performed well for an amateur but still only came in last (8th place).'
 	elseif begresult < 19:
+		gs 'fame', 'city', 'running', 1
 		'You fought hard but still have a lot of work ahead of you if you want to be better than your competition. You only came in last (8th place).'
 	elseif begresult < 20:
+		gs 'fame', 'city', 'running', 2
 		'You fought hard, but managed to only take the penultimate place (7th place).'
 	elseif begresult < 21:
+		gs 'fame', 'city', 'running', 2
 		'You fought hard, but only managed to take 6th place.'
 	elseif begresult < 22:
+		gs 'fame', 'city', 'running', 2
 		'You fought hard, but only managed to take 5th place.'
 	elseif begresult < 23:
+		gs 'fame', 'city', 'running', 2
 		'You fought hard, but only managed to take 4th place.'
 	elseif begresult < 24:
+		gs 'fame', 'city', 'running', 3
 		bronzebeg += 1 & money += 100 & 'You fought hard and managed to take 3rd place, earning a prize: You receive a bronze bade and a prize of 100 <b>₽</b>'
 	elseif begresult < 25:
+		gs 'fame', 'city', 'running', 3
 		silverbeg += 1 & money += 500 & 'You fought hard and managed to take 2nd place, earning a prize: You receive a silver badge and a prize of 500 <b>₽</b>'
 	elseif begresult >= 25:
+		gs 'fame', 'city', 'running', 4
 		razradbeg = 1 & goldbeg += 1 & money += 1000 & 'You fought hard and managed to take 1st place! You receive a gold badge, a prize of 1, 000 <b>₽</b> and are now part of your club''s junior squad.'
 	end
 	
@@ -128,20 +137,28 @@ if $ARGS[0] = '3':
 	if begresult <= 18:
 		'But you barely managed to reach the finish line, walking the last 100 meters. Of course, you came in last - but you also made a bit of a fool of yourself.'
 	elseif begresult < 26:
+		gs 'fame', 'city', 'running', 2
 		'You fought hard but still have a lot of work ahead of you if you want to be better than your competition. You only came in last (8th place).'
 	elseif begresult < 27:
+		gs 'fame', 'city', 'running', 2
 		'You fought hard, but managed to only take the penultimate place (7th place).'
 	elseif begresult < 28:
+		gs 'fame', 'city', 'running', 2
 		'You fought hard, but only managed to take 6th place.'
 	elseif begresult < 29:
+		gs 'fame', 'city', 'running', 2
 		'You fought hard, but only managed to take 5th place.'
 	elseif begresult < 30:
+		gs 'fame', 'city', 'running', 2
 		'You fought hard, but only managed to take 4th place.'
 	elseif begresult < 31:
+		gs 'fame', 'city', 'running', 3
 		bronzebeg += 1 & money += 500 & 'You fought hard and managed to take 3rd place, earning a prize: You receive a bronze badge and a prize of 500 <b>₽</b>'
 	elseif begresult < 32:
+		gs 'fame', 'city', 'running', 3
 		silverbeg += 1 & money += 1000 & 'You fought hard and managed to take 2nd place, earning a prize: You reveice a silver badge and a prize of 1, 000 <b>₽</b>'
 	elseif begresult >= 32:
+		gs 'fame', 'city', 'running', 4
 		razradbeg = 2 & goldbeg += 1 & money += 2000 & 'You fought hard and managed to take 1st place! You receive a gold badge, a prize of 2, 000 <b>₽</b> and are now part of your club''s senior squad, representing it at the next city championship!'
 	end
 	act 'Leave':gt 'fit', 'dressing room'
@@ -164,22 +181,31 @@ if $ARGS[0] = '2':
 	'You get in position. Then, you hear the starting shot: The race begins!'
 
 	if begresult <= 18:
+		gs 'fame', 'city', 'running', 1
 		'But you barely managed to reach the finish line, walking the last 100 meters. Of course, you came in last - but you also made a bit of a fool of yourself.'
 	elseif begresult < 33:
+		gs 'fame', 'city', 'running', 2
 		'You fought hard but still have a lot of work ahead of you if you want to be better than your competition. You only came in last (8th place).'
 	elseif begresult < 34:
+		gs 'fame', 'city', 'running', 3
 		'You fought hard, but managed to only take the penultimate place (7th place).'
 	elseif begresult < 35:
+		gs 'fame', 'city', 'running', 3
 		'You fought hard, but only managed to take 6th place.'
 	elseif begresult < 36:
+		gs 'fame', 'city', 'running', 3
 		'You fought hard, but only managed to take 5th place.'
 	elseif begresult < 37:
+		gs 'fame', 'city', 'running', 3
 		'You fought hard, but only managed to take 4th place.'
 	elseif begresult < 38:
+		gs 'fame', 'city', 'running', 4
 		bronzebeg += 1 & money += 1000 & 'You fought hard and managed to take 3rd place, earning a prize: You get a bronze medal and a prize of 1, 000 <b>₽</b>'
 	elseif begresult < 39:
+		gs 'fame', 'city', 'running', 4
 		silverbeg += 1 & money += 2000 & 'You fought hard and managed to take 2nd place, earning a prize: You get a silver medal and a prize of 2, 000 <b>₽</b>'
 	elseif begresult >= 39:
+		gs 'fame', 'city', 'running', 5
 		razradbeg = 3 & goldbeg += 1 & money += 3000 & 'You fought hard and managed to take 1st place! You get a gold medal, a prize of 3000 <b>₽</b> and became the "Track Champion of the City of Saint Petersburg", which qualifies you for the next oblast championship!'
 	end
 	act 'Leave':gt 'fit', 'dressing room'
@@ -203,22 +229,31 @@ if $ARGS[0] = '1':
 	'You get in position. Then, you hear the starting shot: The race begins!'
 
 	if begresult <= 18:
+		gs 'fame', 'city', 'running', 1
 		'But you barely managed to reach the finish line, walking the last 100 meters. Of course, you came in last - but you also made of a fool of yourself. People on the ranks seem to be asking themselves how you even managed to make it this far. Maybe they are right?'
 	elseif begresult < 40:
+		gs 'fame', 'city', 'running', 2
 		'You fought hard but still have a lot of work ahead of you if you want to be better than your competition. You only came in last (8th place).'
 	elseif begresult < 41:
+		gs 'fame', 'city', 'running', 3
 		'You fought hard, but managed to only take the penultimate place (7th place).'
 	elseif begresult < 42:
+		gs 'fame', 'city', 'running', 3
 		'You fought hard, but only managed to take 6th place.'
 	elseif begresult < 43:
+		gs 'fame', 'city', 'running', 3
 		'You fought hard, but only managed to take 5th place.'
 	elseif begresult < 44:
+		gs 'fame', 'city', 'running', 4
 		'You fought hard, but only managed to take 4th place.'
 	elseif begresult < 45:
+		gs 'fame', 'city', 'running', 5
 		bronzebeg += 1 & money += 2000 & 'You fought hard and managed to take 3rd place, earning a prize: You get a bronze medal and a prize of 2, 000 <b>₽</b>'
 	elseif begresult < 46:
+		gs 'fame', 'city', 'running', 5
 		silverbeg += 1 & money += 3000 & 'You fought hard and managed to take 2nd place, earning a prize: You get a silver medal and a prize of 3, 000 <b>₽</b>'
 	elseif  begresult >= 46:
+		gs 'fame', 'city', 'running', 6
 		razradbeg = 4 & goldbeg += 1 & money += 4000 & 'You fought hard and managed to take 1st place! You get a gold medal, a prize of 4000 <b>₽</b> and became the "Track Champion of the Leningrad Oblast", not only putting you on the list of the 50 best track athletes in the Russian Federation but also qualifying you for the next district championship!'
 	end
 	act 'Leave':gt 'fit', 'dressing room'
@@ -242,22 +277,31 @@ if $ARGS[0] = 'kms':
 	'You get in position. Then, you hear the starting shot: The race begins!'
 
 	if begresult <= 18:
+		gs 'fame', 'city', 'running', 2
 		'But you barely managed to reach the finish line, walking the last 100 meters. Of course, you came in last - but you also made of a fool of yourself. People on the ranks seem to be asking themselves how you even managed to make it this far. Maybe they are right?'
 	elseif begresult < 47:
+		gs 'fame', 'city', 'running', 3
 		'You fought hard but still have a lot of work ahead of you if you want to be better than your competition. You only came in last (8th place).'
 	elseif begresult < 48:
+		gs 'fame', 'city', 'running', 4
 		'You fought hard, but managed to only take the penultimate place (7th place).'
 	elseif begresult < 49:
+		gs 'fame', 'city', 'running', 4
 		'You fought hard, but only managed to take 6th place.'
 	elseif begresult < 50:
+		gs 'fame', 'city', 'running', 4
 		'You fought hard, but only managed to take 5th place.'
 	elseif begresult < 51:
+		gs 'fame', 'city', 'running', 5
 		'You fought hard, but only managed to take 4th place.'
 	elseif begresult < 52:
+		gs 'fame', 'city', 'running', 6
 		bronzebeg += 1 & money += 3000 & 'You fought hard and managed to take 3rd place, earning a prize: You get a bronze medal and a prize of 3, 000 <b>₽</b>'
 	elseif begresult < 53:
+		gs 'fame', 'city', 'running', 8
 		silverbeg += 1 & money += 4000 & 'You fought hard and managed to take 2nd place, earning a prize: You get a silver medal and a prize of 4, 000 <b>₽</b>'
 	elseif begresult >= 53:
+		gs 'fame', 'city', 'running', 10
 		razradbeg = 5 & goldbeg += 1 & money += 5000 & 'You fought hard and managed to take 1st place! You get a gold medal, a prize of 5000 <b>₽</b> and became the "Track Champion of the Northwest District". You are now one of the 8 best track athletes in the Russian Federation and qualified for the next national championship!'
 	end
 	act 'Leave':gt 'fit', 'dressing room'
@@ -282,22 +326,31 @@ if $ARGS[0] = 'ross':
 	'You get in position. Then, you hear the starting shot: The race begins!'
 
 	if begresult <= 18:
+		gs 'fame', 'city', 'running', 4
 		'But you barely managed to reach the finish line, walking the last 100 meters. Of course, you came in last - but you also made of a fool of yourself. People on the ranks seem to be asking themselves how you even managed to make it this far. Maybe they are right?'
 	elseif begresult < 54:
+		gs 'fame', 'city', 'running', 6
 		'You fought hard but still have a lot of work ahead of you if you want to be better than your competition. You only came in last (8th place).'
 	elseif begresult < 55:
+		gs 'fame', 'city', 'running', 8
 		'You fought hard, but managed to only take the penultimate place (7th place).'
 	elseif begresult < 56:
+		gs 'fame', 'city', 'running', 8
 		'You fought hard, but only managed to take 6th place.'
 	elseif begresult < 57:
+		gs 'fame', 'city', 'running', 8
 		'You fought hard, but only managed to take 5th place.'
 	elseif begresult < 58:
+		gs 'fame', 'city', 'running', 10
 		'You fought hard, but only managed to take 4th place.'
 	elseif begresult < 59:
+		gs 'fame', 'city', 'running', 15
 		bronzebeg += 1 & money += 4000 & 'You fought hard and managed to take 3rd place, earning a prize: You get a bronze medal and a prize of 4, 000 <b>₽</b>'
 	elseif begresult < 60:
+		gs 'fame', 'city', 'running', 15
 		silverbeg += 1 & money += 5000 & 'You fought hard and managed to take 2nd place, earning a prize: You get a silver medal and a prize of 5, 000 <b>₽</b>'
 	elseif begresult >= 60:
+		gs 'fame', 'city', 'running', 20
 		razradbeg = 6 & goldbeg += 1 & money += 6000 & 'You fought hard and managed to take 1st place! You get a gold medal, a prize of 6000 <b>₽</b> and became the "Track Champion of the Russian Federation". You are the single best track athlete in Russia - maybe you should try to qualify for the European championship?'
 	end
 	act 'Leave':gt 'fit', 'dressing room'
@@ -321,22 +374,31 @@ if $ARGS[0] = 'kval':
 	'You get in position. Then, you hear the starting shot: The race begins!'
 
 	if begresult <= 18:
+		gs 'fame', 'city', 'running', 4
 		'But you barely managed to reach the finish line, walking the last 100 meters. Of course, you came in last - but you also made of a fool of yourself.'
 	elseif begresult < 61:
+		gs 'fame', 'city', 'running', 6
 		'You fought hard but still have a lot of work ahead of you if you want to be better than your competition. You only came in last (8th place).'
 	elseif begresult < 62:
+		gs 'fame', 'city', 'running', 8
 		'You fought hard, but managed to only take the penultimate place (7th place).'
 	elseif begresult < 63:
+		gs 'fame', 'city', 'running', 8
 		'You fought hard, but only managed to take 6th place.'
 	elseif begresult < 64:
+		gs 'fame', 'city', 'running', 8
 		'You fought hard, but only managed to take 5th place.'
 	elseif begresult < 65:
+		gs 'fame', 'city', 'running', 10
 		'You fought hard, but only managed to take 4th place.'
 	elseif begresult < 66:
+		gs 'fame', 'city', 'running', 15
 		razradbegK += 1 & bronzebeg += 1 & money += 5000 & 'You fought hard and managed to take 3rd place, earning a prize. You get a bronze badge and a prize of 5,000 <b>₽</b>, but sadly, only the 1st place adds to your qualification for the European championship.'
 	elseif begresult < 67:
+		gs 'fame', 'city', 'running', 15
 		razradbegK += 1 & silverbeg += 1 & money += 10000 & 'You fought hard and managed to take 2nd place, earning a prize. You get a silver medal and a prize of 10,000 <b>₽</b>, but sadly, only the 1st place adds to your qualification for the European championship.'
 	elseif begresult >= 67:
+		gs 'fame', 'city', 'running', 25
 		razradbegK += 1 & goldbeg += 1 & money += 15000 & 'You fought hard and managed to take 1st place! You get a gold medal, a prize of 15,000 <b>₽</b> and are one step closer to qualifying for the European championship.'
 	end
 	act 'Leave':gt 'fit', 'dressing room'
@@ -362,26 +424,35 @@ if $ARGS[0] = 'evro':
 	'You get in position. Then, you hear the starting shot: The race begins!'
 
 	if begresult <= 16:
+		gs 'fame', 'city', 'running', 6
 		'But you barely managed to reach the finish line, walking the last 100 meters. Of course, you came in last - but you also made of a fool of yourself. People on the ranks seem to be asking themselves how you even managed to make it this far. Maybe they are right?'
 	elseif begresult < 68:
+		gs 'fame', 'city', 'running', 8
 		'You fought hard but still have a lot of work ahead of you if you want to be better than your competition. You only came in last (8th place).'
 	elseif begresult < 70:
+		gs 'fame', 'city', 'running', 10
 		'You fought hard, but managed to only take the penultimate place (7th place).'
 	elseif begresult < 72:
+		gs 'fame', 'city', 'running', 10
 		'You fought hard, but only managed to take 6th place.'
 	elseif begresult < 74:
+		gs 'fame', 'city', 'running', 10
 		'You fought hard, but only managed to take 5th place.'
 	elseif begresult < 76:
+		gs 'fame', 'city', 'running', 15
 		'You fought hard, but only managed to take 4th place.'
 	elseif begresult < 78:
+		gs 'fame', 'city', 'running', 20
 		razradbegEB += 1
 		money += 10000
 		'You fought hard and managed to take 3rd place, earning a prize. You get a bronze medal and a prize of 10,000 <b>₽</b>'
 	elseif begresult < 80:
+		gs 'fame', 'city', 'running', 20
 		razradbegES += 1
 		money += 15000
 		'You fought hard and managed to take 2nd place, earning a prize. You get a silver medal and a prize of 15,000 <b>₽</b>'
 	elseif begresult >= 80: 
+		gs 'fame', 'city', 'running', 30
 		razradbegEG += 1
 		money += 20000
 		'You fought hard and managed to take 1st place. You get a gold medal, a prize of 20,000 <b>₽</b> and are now the "European Track Champion"!'
@@ -409,26 +480,35 @@ if $ARGS[0] = 'Int':
 	'You get in position. Then, you hear the starting shot: The race begins!'
 	
 	if begresult < 18:
+		gs 'fame', 'city', 'running', 10
 		'But you barely managed to reach the finish line, walking the last 100 meters. Of course, you came in last - but you also made of a fool of yourself. People on the ranks seem to be asking themselves how you even managed to make it this far. Maybe they are right?'
 	elseif begresult < 82:
+		gs 'fame', 'city', 'running', 15
 		'You fought hard but still have a lot of work ahead of you if you want to be better than your competition. You only came in last (8th place).'
 	elseif begresult < 85:
+		gs 'fame', 'city', 'running', 20
 		'You fought hard, but managed to only take the penultimate place (7th place).'
 	elseif begresult < 88:
+		gs 'fame', 'city', 'running', 20
 		'You fought hard, but only managed to take 6th place.'
 	elseif begresult < 91:
+		gs 'fame', 'city', 'running', 20
 		'You fought hard, but only managed to take 5th place.'
 	elseif begresult < 94:
+		gs 'fame', 'city', 'running', 25
 		'You fought hard, but only managed to take 4th place.'
 	elseif begresult < 97:
+		gs 'fame', 'city', 'running', 30
 		razradbegIB += 1
 		money += 30000
 		'You fought hard and managed to take 3rd place, earning a prize. You get a bronze medal and a prize of 30,000 <b>₽</b>'
 	elseif begresult < 100:
+		gs 'fame', 'city', 'running', 35
 		razradbegIS += 1
 		money += 50000
 		'You fought hard and managed to take 2nd place, earning a prize. You get a silver medal and a prize of 50,000 <b>₽</b>'
 	elseif begresult >= 100:
+		gs 'fame', 'city', 'running', 50
 		razradbegIG += 1
 		money += 100000
 		'You fought hard and managed to take 1st place. You get a gold medal, a prize of 100,000 <b>₽</b> and the title "World Track Champion" - YOU are the fastest woman alive!'

+ 17 - 17
locations/brosh.qsrc

@@ -7,13 +7,13 @@ gs 'stat'
 evgentipe = rand(0,3)
 
 if evgentipe = 0:
-	'During the break you are greeted by Zhendos, a friend of your brother "<<$pcs_nickname>>! My little pet, meet me after school."'
+	'During the break you are greeted by Zhendos, a friend of your brother "<<$pcs_nickname>>! My little pet, come with me."'
 
-	act 'After school "meeting"':
+	act 'Go with him':
 		cls
 		gs'stat'
 
-		'You meet Zhendos after school, behind the bike sheds.'
+		'You follow Zhendos behind the bike sheds.'
 
 		act 'Suck Zhendos':
 			cls
@@ -37,20 +37,20 @@ if evgentipe = 0:
 				gs 'arousal', 'end'
 				gs 'stat'
 
-				act 'Continue': gt 'gschool_lessons', 'short_break'
+				act 'Go back inside': gt 'gschool_lessons', 'short_break'
 			end
 		end
 	end
 
 	exit
 elseif evgentipe = 1:
-	'During the break you are greeted by Mishan, a friend of your brother "<<$pcs_nickname>>! Let''s meet up after school, I have a treat for you."'
+	'During the break you are greeted by Mishan, a friend of your brother "<<$pcs_nickname>>! Come with me, I have a treat for you."'
 
-	act 'After school "meeting"':
+	act 'Go with him':
 		cls
 		gs'stat'
 
-		'You meet Mishan after school, behind the bike sheds'
+		'You follow Mishan behind the bike sheds.'
 
 		act 'Suck Mishanya':
 			cls
@@ -74,20 +74,20 @@ elseif evgentipe = 1:
 				gs 'arousal', 'end'
 				gs 'stat'
 
-				act 'Continue': gt 'gschool_lessons', 'short_break'
+				act 'Go back inside': gt 'gschool_lessons', 'short_break'
 			end
 		end
 	end
 
 	exit
 elseif evgentipe = 2:
-	'During the break you see your brother Kolka "<<$pcs_nickname>>! Let''s meet after school, I need to relieve some tension."'
+	'During the break you see your brother Kolka "<<$pcs_nickname>>! Follow me, I need to relieve some tension."'
 
-	act 'After school "meeting"':
+	act 'Go with him':
 		cls
 		gs'stat'
 
-		'You meet Kolka after school, behind the bike sheds'
+		'You follow Kolka behind the bike sheds'
 		gs 'boyStat', 'A34'
 		act 'Suck Kolka':
 			cls
@@ -112,7 +112,7 @@ elseif evgentipe = 2:
 				gs 'arousal', 'end'
 				gs 'stat'
 
-				act 'Continue': gt 'gschool_lessons', 'short_break'
+				act 'Go back inside': gt 'gschool_lessons', 'short_break'
 			end
 		end
 		if brotherSex > 6:
@@ -136,20 +136,20 @@ elseif evgentipe = 2:
 
 				gs 'brother', 'brotherSexEnd'
 
-				act 'Continue': gt 'gschool_lessons', 'short_break'
+				act 'Go back inside': gt 'gschool_lessons', 'short_break'
 			end
 		end
 	end
 
 	exit
 elseif evgentipe = 3:
-	'During the break you are greeted by Zhendos and Mishan, friends of your brother. "<<$pcs_nickname>>! You are our after school entertainment."'
+	'During the break you are greeted by Zhendos and Mishan, friends of your brother. "<<$pcs_nickname>>! Come with ust."'
 
-	act 'After school "meeting"':
+	act 'Go with them':
 		cls
 		gs'stat'
 
-		'You meet Zhendos and Mishan after school, behind the bike sheds'
+		'You follow Zhendos and Mishan behind the bike sheds'
 
 		act 'Suck Guys':
 			cls
@@ -165,7 +165,7 @@ elseif evgentipe = 3:
 			gs 'arousal', 'end'
 			gs 'stat'
 
-			act 'Continue': gt 'gschool_lessons', 'short_break'
+			act 'Go back inside': gt 'gschool_lessons', 'short_break'
 		end
 	end
 

+ 6 - 4
locations/brother.qsrc

@@ -366,12 +366,12 @@ if $ARGS[0] = 'start':
 			'Kolka, your brother, is <<brotherAge>> years old. While you share the same mother, Kolka''s dad is your and Anya''s stepfather. He is a student at the same school as you. When not in school, he is either at home playing video games or out playing football with his friends.'
 			*pl
 			'Kolka turns to you and asks, "<<$pcs_nickname>>, can you help me with my homework?"'
-			act'Agree to help him':gt 'brother_lessons', 'homework'
 			act'Decline':
 				cla
 				'You shake your head, "Sorry, little brother. I''m busy right now."'
 				act 'Leave': gt 'sitrPar'
 			end
+			act'Agree to help him':gt 'brother_lessons', 'homework'
 		else
 			act'Offer help with homework': gt 'brother_lessons', 'homework'
 		end
@@ -392,6 +392,7 @@ if $ARGS[0] = 'playfootball':
 			'<center><img <<$set_imgh>> src="images/locations/pavlovsk/school/grounds/football<<picrand>>.jpg"></center>'
 		end
 		'You spend an hour sitting on the bench, watching the guys play football.'
+		act 'Leave':gt $loc, $metka
 	else
 		*clr & cla
 		minut += 60
@@ -403,9 +404,11 @@ if $ARGS[0] = 'playfootball':
 		gs 'stat'
 		'<center><img <<$set_imgh>> src="images/locations/pavlovsk/school/grounds/football3.jpg"></center>'
 		'You spend an hour running around, chasing the ball across the field with Kolka and his friends Mishan and Zhendos.'
+		act 'Leave':gt $loc, $metka
 	end
 	if rand(0, 1) = 0 and seepornofut = 0:
 		'The three boys gather together and begin whispering between themselves while giving you conspiratorial looks.'
+		act 'Leave':gt $loc, $metka
 		act 'Ask what they''re talking about':
 			*clr & cla
 			gs 'stat'
@@ -449,11 +452,10 @@ if $ARGS[0] = 'playfootball':
 
 	if seepornofut >= 1 and kolkaseepornday ! daystart:
 		'The guys gather together and ask you, "<<$pcs_nickname>>, want to watch some porn?"'
-
+		
+		act 'Leave':gt $loc, $metka
 		act 'Go watch porn':minut += 5 & gt 'seeporn'
 	end
-
-	act 'Leave':gt $loc, $metka
 end
 
 if $ARGS[0] = 'kiss_talk':

+ 4 - 4
locations/brother2.qsrc

@@ -309,7 +309,6 @@ if $ARGS[0] = 'wakeup':
 	*nl
 	act'Leave him alone':
 		cla
-		*nl
 		'You shrug, realizing that you''re not going to find a way to wake him up any time soon without him being mad at you and decide to leave him be.'
 		act'Move away':gt $loc, $metka
 	end
@@ -317,7 +316,6 @@ if $ARGS[0] = 'wakeup':
 	act'Yank his blanket off':
 		brotherMorningSex = daystart
 		cla
-		*nl
 		'"Come on Kolka! Wake. UP!"'
 		if $clothingworntype = 'nude':
 			'With a mighty tug, you yank the blanket off of him, leaving him clutching himself and shivering on the couch. After a few moments, he forces his eyes open, blinking wearily as he sits up on the couch and shamelessly glances up and down your naked body.'
@@ -351,8 +349,8 @@ if $ARGS[0] = 'wakeup':
 		
 	if brotherSex >= 2 or pcs_inhib >= 35 or npc_rel['A34'] >= 75:
 		act'Tell him you''ll show him your tits':
-			cla	
-			*nl
+			cla
+			brotherMorningSex = daystart
 			'"I''ll tell you what Kolka, if you get up now, I''ll let you look at my tits."'
 			gs 'brother2', 'wakeupresponse', 'tits'
 			if $clothingworntype ! 'nude':
@@ -551,6 +549,7 @@ end
 
 if $ARGS[0] = 'morninghj':
 	cla & *clr
+	brotherMorningSex = daystart
 	gs 'arousal', 'hj', 5
 	gs 'cum_call','hands', $boy
 	npc_rel['A34'] += 5
@@ -569,6 +568,7 @@ if $ARGS[0] = 'morninghj':
 end
 
 if $ARGS[0] = 'morningbj':
+	brotherMorningSex = daystart
 	brotherwakeup += 1
 	cla & *clr
 	gs 'arousal', 'hj', 5

+ 109 - 91
locations/brother_voyeur.qsrc

@@ -2045,12 +2045,14 @@ if $ARGS[0] = 'brother_shower_fuck_first2':
 			'	"Is... is that cum? Did you cum inside me?!" you pant.'
 			'	"Y-yeah... I was trying to tell you that I was cumming but you didn''t say anything so..."'
 
-			if pillcon >= 30000 or tabletkishot >= 1:
-				'	<i>Well,</i> you think to yourself, <i>It''s a good thing I''m on birth control.</i>'
-			elseif mesec > 0:
-				'	<i>Well,</i> you think to yourself, <i>I don''t think I can get pregnant when I''m on my period... right...?</i>'
-			else
-				'	<i>Shit...</i> You close your eyes, sighing as you feel another glob of Kolka''s cum drip from your pussy. <i>I fucked up...</i>'
+			if succubusflag = 0:
+				if pillcon >= 30000 or tabletkishot >= 1:
+					'	<i>Well,</i> you think to yourself, <i>It''s a good thing I''m on birth control.</i>'
+				elseif mesec > 0:
+					'	<i>Well,</i> you think to yourself, <i>I don''t think I can get pregnant when I''m on my period... right...?</i>'
+				else
+					'	<i>Shit...</i> You close your eyes, sighing as you feel another glob of Kolka''s cum drip from your pussy. <i>I fucked up...</i>'
+				end
 			end
 			act'Continue':gt'brother_voyeur','brother_shower_fuck_end'
 		else
@@ -2145,16 +2147,18 @@ if $ARGS[0] = 'brother_fuck_cum':
 			'	Your cries push him over the edge and Kolka can''t hold back any longer. He groans and pulls you tight against him. His cock plunges deep and you feel his cum spurting deep inside you. The sensation brings you to orgasm, body spasming and your pussy tightening up around him, squeezing him to the last drop.	As your orgasm winds down and your legs stop quivering, you lean forward against the shower wall, Kolka''s cock slipping from between your legs.'
 			'	Pressing your face against the wall, you feel Kolka''s cum drip from your pussy.'
 			*nl
-			if knowpreg = 1 or thinkpreg = 1:
-				'You chuckle to yourself: "Well, at least I can''t get any more pregnant than I already am!"'
-			elseif pillcon >= 30000 or tabletkishot >= 1:
-				'	<i>Fuck, that feels good...</i> you think to yourself as another glob dribbles out, plopping onto the tub floor.'
-				'	<i>It''s a good thing I''m on birth control...</i>'
-			elseif mesec > 0:
-				'	<i>Fuck, that feels good...</i> you think to yourself as another glob dribbles out, plopping onto the tub floor.'
-				'	<i>It''s a good thing I can''t get pregnant when I''m on my period... right...?</i>'
-			else
-				'	<i>Shit...</i> Another glob of cum dribbles from your pussy, plopping onto the tub floor. <i>What if I get pregnant?</i>'
+			if succubusflag = 0:
+				if knowpreg = 1 or thinkpreg = 1:
+					'You chuckle to yourself: "Well, at least I can''t get any more pregnant than I already am!"'
+				elseif pillcon >= 30000 or tabletkishot >= 1:
+					'	<i>Fuck, that feels good...</i> you think to yourself as another glob dribbles out, plopping onto the tub floor.'
+					'	<i>It''s a good thing I''m on birth control...</i>'
+				elseif mesec > 0:
+					'	<i>Fuck, that feels good...</i> you think to yourself as another glob dribbles out, plopping onto the tub floor.'
+					'	<i>It''s a good thing I can''t get pregnant when I''m on my period... right...?</i>'
+				else
+					'	<i>Shit...</i> Another glob of cum dribbles from your pussy, plopping onto the tub floor. <i>What if I get pregnant?</i>'
+				end
 			end
 			act'Continue':gt'brother_voyeur','brother_shower_fuck_end'
 		end
@@ -2166,7 +2170,7 @@ if $ARGS[0] = 'brother_fuck_cum':
 				gs 'cum_call', 'stomach', 'A34', 1
 				'<center><video src="images/shared/home/bathroom/showercum.mp4"></center>'
 				'	"No! Not inside me!" you cry out. You push him off you and turn around. Grabbing his cock, you jerk him vigorously until he groans, spraying hot cum that spatters all over your stomach.'
-				if pillcon < 30000 and pillday < 18 and tabletkishot < 1:'	Feeling his spunk on your stomach, you suddenly grow annoyed and wonder why you even finished him off. "What the fuck Kolka?! Are you <i>trying</i> to get me pregnant?"'
+				if pillcon < 30000 and pillday < 18 and tabletkishot < 1 and succubusflag = 0:'	Feeling his spunk on your stomach, you suddenly grow annoyed and wonder why you even finished him off. "What the fuck Kolka?! Are you <i>trying</i> to get me pregnant?"'
 				act'Continue':gt'brother_voyeur','brother_shower_fuck_end'
 			end
 		end
@@ -2199,16 +2203,18 @@ if $ARGS[0] = 'brother_fuck_cum':
 				act'Continue':gt'brother_voyeur','brother_shower_fuck_end'
 			else
 				'	You smile mischievously and suddenly speed up, causing your brother to erupt inside you. He groans and you curl your toes in pleasure, feeling his cum spurting deep inside you. It''s not enough to bring you to orgasm, but it still feels good. You tighten up on him and work your hips a little more, trying to milk him for a couple more shots. Finally, Kolka pulls away and as his cock slips from inside you, cum bursts out like your pussy was a champagne bottle uncorked.'
-				if knowpreg = 1 or thinkpreg = 1:
-					'You chuckle to yourself: "Well, at least I can''t get any more pregnant than I already am!"'
-				elseif pillcon >= 30000 or tabletkishot >= 1:
-					'	<i>Fuck, that feels good...</i> you think to yourself as another glob dribbles out, plopping onto the tub floor.'
-					'	<i>It''s a good thing I''m on birth control...</i>'
-				elseif mesec > 0:
-					'	<i>Fuck, that feels good...</i> you think to yourself as another glob dribbles out, plopping onto the tub floor.'
-					'	<i>It''s a good thing I can''t get pregnant when I''m on my period... right...?</i>'
-				else
-					'	<i>Shit...</i> Another glob of cum dribbles from your pussy, plopping onto the tub floor. <i>What if I get pregnant?</i>'
+				if succubusflag = 0:
+					if knowpreg = 1 or thinkpreg = 1:
+						'You chuckle to yourself: "Well, at least I can''t get any more pregnant than I already am!"'
+					elseif pillcon >= 30000 or tabletkishot >= 1:
+						'	<i>Fuck, that feels good...</i> you think to yourself as another glob dribbles out, plopping onto the tub floor.'
+						'	<i>It''s a good thing I''m on birth control...</i>'
+					elseif mesec > 0:
+						'	<i>Fuck, that feels good...</i> you think to yourself as another glob dribbles out, plopping onto the tub floor.'
+						'	<i>It''s a good thing I can''t get pregnant when I''m on my period... right...?</i>'
+					else
+						'	<i>Shit...</i> Another glob of cum dribbles from your pussy, plopping onto the tub floor. <i>What if I get pregnant?</i>'
+					end
 				end
 				act'Continue':gt'brother_voyeur','brother_shower_fuck_end'
 			end
@@ -2224,16 +2230,18 @@ if $ARGS[0] = 'brother_fuck_cum':
 			'	Your cries push him over the edge and Kolka can''t hold back any longer. He groans and pulls you tight against him. His cock plunges deep and you feel his cum spurting deep inside you. The sensation brings you to orgasm, body spasming and your pussy tightening up around him, squeezing him to the last drop. As your orgasm winds down and your legs stop quivering, you lean forward against the shower wall, Kolka''s cock slipping from between your legs.'
 			'	Pressing your face against the cool wall, you feel Kolka''s cum drip from your pussy, splashing on the bottom of the tub. You think to yourself...'
 			*nl
-			if knowpreg = 1 or thinkpreg = 1:
-				'You chuckle to yourself: "Well, at least I can''t get any more pregnant than I already am!"'
-			elseif pillcon >= 30000 or tabletkishot >= 1:
-				'	<i>Fuck, that feels good...</i> you think to yourself as another glob dribbles out, plopping onto the tub floor.'
-				'	<i>It''s a good thing I''m on birth control...</i>'
-			elseif mesec > 0:
-				'	<i>Fuck, that feels good...</i> you think to yourself as another glob dribbles out, plopping onto the tub floor.'
-				'	<i>It''s a good thing I can''t get pregnant when I''m on my period... right...?</i>'
-			else
-				'	<i>Shit...</i> Another glob of cum dribbles from your pussy, plopping onto the tub floor. <i>What if I get pregnant?</i>'
+			if succubusflag = 0:
+				if knowpreg = 1 or thinkpreg = 1:
+					'You chuckle to yourself: "Well, at least I can''t get any more pregnant than I already am!"'
+				elseif pillcon >= 30000 or tabletkishot >= 1:
+					'	<i>Fuck, that feels good...</i> you think to yourself as another glob dribbles out, plopping onto the tub floor.'
+					'	<i>It''s a good thing I''m on birth control...</i>'
+				elseif mesec > 0:
+					'	<i>Fuck, that feels good...</i> you think to yourself as another glob dribbles out, plopping onto the tub floor.'
+					'	<i>It''s a good thing I can''t get pregnant when I''m on my period... right...?</i>'
+				else
+					'	<i>Shit...</i> Another glob of cum dribbles from your pussy, plopping onto the tub floor. <i>What if I get pregnant?</i>'
+				end
 			end
 			act'Continue':gt'brother_voyeur','brother_shower_fuck_end'
 		end
@@ -2264,16 +2272,18 @@ if $ARGS[0] = 'brother_fuck_cum':
 				'	"But that''s not fair! So what I want doesn''t count for anything?"'
 				'	"Nope! But I get to decide if I''m feeling generous."'
 				'	With Kolka''s hands balled into fists at his side and your hands on your hips, the two of you glare at each other, scowling. This turned into a much bigger argument than you meant it to.'
-				if knowpreg = 1 or thinkpreg = 1:
-					'You chuckle to yourself: "Well, at least I can''t get any more pregnant than I already am!"'
-				elseif pillcon >= 30000 or tabletkishot >= 1:
-					'	<i>Goddamn it,</i> you think, looking down to watch another glob of cum drips from your snatch. <i>Only my idiot brother could ruin a perfectly good creampie like this.</i>'
-					'	<i>At least I''m on birth control...</i>'
-				elseif mesec > 0:
-					'	<i>Goddamn it,</i> you think, looking down to watch another glob of cum drips from your snatch. <i>Only my idiot brother could ruin a perfectly good creampie like this.</i>'
-					'	<i>At least I don''t have to worry about getting pregnant on my period... right...?</i>'
-				else
-					'	<i>Goddamn it,</i> you think, looking down to watch another glob of cum drips from your snatch. <i>Fuck. I shouldn''t have done this anyways. This gets me pregnant?</i>'
+				if succubusflag = 0:	
+					if knowpreg = 1 or thinkpreg = 1:
+						'You chuckle to yourself: "Well, at least I can''t get any more pregnant than I already am!"'
+					elseif pillcon >= 30000 or tabletkishot >= 1:
+						'	<i>Goddamn it,</i> you think, looking down to watch another glob of cum drips from your snatch. <i>Only my idiot brother could ruin a perfectly good creampie like this.</i>'
+						'	<i>At least I''m on birth control...</i>'
+					elseif mesec > 0:
+						'	<i>Goddamn it,</i> you think, looking down to watch another glob of cum drips from your snatch. <i>Only my idiot brother could ruin a perfectly good creampie like this.</i>'
+						'	<i>At least I don''t have to worry about getting pregnant on my period... right...?</i>'
+					else
+						'	<i>Goddamn it,</i> you think, looking down to watch another glob of cum drips from your snatch. <i>Fuck. I shouldn''t have done this anyways. This gets me pregnant?</i>'
+					end
 				end
 				act'Continue':gt'brother_voyeur','brother_shower_fuck_end'
 			end
@@ -2283,34 +2293,38 @@ if $ARGS[0] = 'brother_fuck_cum':
 				'	"I''m sorry Kolka! Your cock just felt so good, I couldn''t stop! You can''t be mad at me for being too addicted to your cock to stop, right?" You kneel down, trying to apologize by cleaning him up with your tongue.'
 				'	He grumbles a bit but you can tell that he''s not mad at you. "I guess I can''t be mad about that... But next time I ask, I want to cum on your face!"'
 				'	"Okay, it''s a promise!" you say, standing back up and kissing him on the cheek. "So long as I can stop myself that is."'
-				if knowpreg = 1 or thinkpreg = 1:
-					'You chuckle to yourself: "Well, at least I can''t get any more pregnant than I already am!"'
-				elseif pillcon >= 30000 or tabletkishot >= 1:
-					'	<i>Fuck, that felt good...</i> you think to yourself, looking down to watch another glob dribbles out of you with satisfaction.'
-					'	<i>It''s a good thing I''m on birth control...</i>'
-				elseif mesec > 0:
-					'	<i>Fuck, that felt good...</i> you think to yourself as another glob dribbles out, plopping onto the tub floor.'
-					'	<i>It''s a good thing I can''t get pregnant when I''m on my period... right...?</i>'
-				else
-					'	<i>Shit... I probably should have had more self control...</i> you think to yourself, watching another glob of cum dribble from your pussy. <i>What if this gets me pregnant?</i>'
+				if succubusflag = 0:	
+					if knowpreg = 1 or thinkpreg = 1:
+						'You chuckle to yourself: "Well, at least I can''t get any more pregnant than I already am!"'
+					elseif pillcon >= 30000 or tabletkishot >= 1:
+						'	<i>Fuck, that felt good...</i> you think to yourself, looking down to watch another glob dribbles out of you with satisfaction.'
+						'	<i>It''s a good thing I''m on birth control...</i>'
+					elseif mesec > 0:
+						'	<i>Fuck, that felt good...</i> you think to yourself as another glob dribbles out, plopping onto the tub floor.'
+						'	<i>It''s a good thing I can''t get pregnant when I''m on my period... right...?</i>'
+					else
+						'	<i>Shit... I probably should have had more self control...</i> you think to yourself, watching another glob of cum dribble from your pussy. <i>What if this gets me pregnant?</i>'
+					end
 				end
 				act'Continue':gt'brother_voyeur','brother_shower_fuck_end'
 			end
-
-			act'Too much mess':
-				cla
-				if knowpreg = 1 or thinkpreg = 1:
-					'You chuckle to yourself: "Well, at least I can''t get any more pregnant than I already am!"'
-				elseif pillcon >= 30000 or tabletkishot >= 1:
-					'	<i>Fuck, that feels good...</i> you think to yourself, looking down to watch another glob dribbles out of you with satisfaction.'
-					'	<i>It''s a good thing I''m on birth control...</i>'
-				elseif mesec > 0:
-					'	<i>Fuck, that feels good...</i> you think to yourself as another glob dribbles out, plopping onto the tub floor.'
-					'	<i>It''s a good thing I can''t get pregnant when I''m on my period... right...?</i>'
-				else
-					'	<i>Shit...</i> Another glob of cum dribbles from your pussy, plopping onto the tub floor. <i>What if I get pregnant?</i>'
+			
+			if succubusflag = 0:
+				act'Too much mess':
+					cla
+					if knowpreg = 1 or thinkpreg = 1:
+						'You chuckle to yourself: "Well, at least I can''t get any more pregnant than I already am!"'
+					elseif pillcon >= 30000 or tabletkishot >= 1:
+						'	<i>Fuck, that feels good...</i> you think to yourself, looking down to watch another glob dribbles out of you with satisfaction.'
+						'	<i>It''s a good thing I''m on birth control...</i>'
+					elseif mesec > 0:
+						'	<i>Fuck, that feels good...</i> you think to yourself as another glob dribbles out, plopping onto the tub floor.'
+						'	<i>It''s a good thing I can''t get pregnant when I''m on my period... right...?</i>'
+					else
+						'	<i>Shit...</i> Another glob of cum dribbles from your pussy, plopping onto the tub floor. <i>What if I get pregnant?</i>'
+					end
+					act'Continue':gt'brother_voyeur','brother_shower_fuck_end'
 				end
-				act'Continue':gt'brother_voyeur','brother_shower_fuck_end'
 			end
 		end
 
@@ -2343,16 +2357,18 @@ if $ARGS[0] = 'brother_fuck_cum':
 				'	"But that''s not fair! So what I want doesn''t count for anything?"'
 				'	"Nope! But I get to decide if I''m feeling generous."'
 				'	With Kolka''s hands balled into fists at his side and your hands on your hips, the two of you glare at each other, scowling. This turned into a much bigger argument than you meant it to.'
-				if knowpreg = 1 or thinkpreg = 1:
-					'You chuckle to yourself: "Well, at least I can''t get any more pregnant than I already am!"'
-				elseif pillcon >= 30000 or tabletkishot >= 1:
-					'	<i>Goddamn it,</i> you think, looking down to watch another glob of cum drips from your snatch. <i>Only my idiot brother could ruin a perfectly good creampie like this.</i>'
-					'	<i>At least I''m on birth control...</i>'
-				elseif mesec > 0:
-					'	<i>Goddamn it,</i> you think, looking down to watch another glob of cum drips from your snatch. <i>Only my idiot brother could ruin a perfectly good creampie like this.</i>'
-					'	<i>At least I don''t have to worry about getting pregnant on my period... right...?</i>'
-				else
-					'	<i>Goddamn it,</i> you think, looking down to watch another glob of cum drips from your snatch. <i>Fuck. I shouldn''t have done this anyways. This gets me pregnant?</i>'
+				if succubusflag = 0:
+					if knowpreg = 1 or thinkpreg = 1:
+						'You chuckle to yourself: "Well, at least I can''t get any more pregnant than I already am!"'
+					elseif pillcon >= 30000 or tabletkishot >= 1:
+						'	<i>Goddamn it,</i> you think, looking down to watch another glob of cum drips from your snatch. <i>Only my idiot brother could ruin a perfectly good creampie like this.</i>'
+						'	<i>At least I''m on birth control...</i>'
+					elseif mesec > 0:
+						'	<i>Goddamn it,</i> you think, looking down to watch another glob of cum drips from your snatch. <i>Only my idiot brother could ruin a perfectly good creampie like this.</i>'
+						'	<i>At least I don''t have to worry about getting pregnant on my period... right...?</i>'
+					else
+						'	<i>Goddamn it,</i> you think, looking down to watch another glob of cum drips from your snatch. <i>Fuck. I shouldn''t have done this anyways. This gets me pregnant?</i>'
+					end
 				end
 				act'Continue':gt'brother_voyeur','brother_shower_fuck_end'
 			end
@@ -2378,16 +2394,18 @@ if $ARGS[0] = 'brother_fuck_cum':
 				cla
 				'	"Too messy," you say. "Sorry Kolka, but I don''t feel like cleaning that off my face. You understand don''t you?"'
 				'	"Yeah I guess..."'
-				if knowpreg = 1 or thinkpreg = 1:
-					'You chuckle to yourself: "Well, at least I can''t get any more pregnant than I already am!"'
-				elseif pillcon >= 30000 or tabletkishot >= 1:
-					'	<i>Fuck, that feels good...</i> you think to yourself, looking down to watch another glob dribbles out of you with satisfaction.'
-					'	<i>It''s a good thing I''m on birth control...</i>'
-				elseif mesec > 0:
-					'	<i>Fuck, that feels good...</i> you think to yourself as another glob dribbles out, plopping onto the tub floor.'
-					'	<i>It''s a good thing I can''t get pregnant when I''m on my period... right...?</i>'
-				else
-					'	<i>Shit...</i> Another glob of cum dribbles from your pussy, plopping onto the tub floor. <i>Maybe I should have let him cum on my face after all... What if I get pregnant?</i>'
+				if succubusflag = 0:
+					if knowpreg = 1 or thinkpreg = 1:
+						'You chuckle to yourself: "Well, at least I can''t get any more pregnant than I already am!"'
+					elseif pillcon >= 30000 or tabletkishot >= 1:
+						'	<i>Fuck, that feels good...</i> you think to yourself, looking down to watch another glob dribbles out of you with satisfaction.'
+						'	<i>It''s a good thing I''m on birth control...</i>'
+					elseif mesec > 0:
+						'	<i>Fuck, that feels good...</i> you think to yourself as another glob dribbles out, plopping onto the tub floor.'
+						'	<i>It''s a good thing I can''t get pregnant when I''m on my period... right...?</i>'
+					else
+						'	<i>Shit...</i> Another glob of cum dribbles from your pussy, plopping onto the tub floor. <i>Maybe I should have let him cum on my face after all... What if I get pregnant?</i>'
+					end
 				end
 				act'Continue':gt'brother_voyeur','brother_shower_fuck_end'
 			end

+ 67 - 0
locations/castSpell.qsrc

@@ -0,0 +1,67 @@
+# castSpell
+! Used to cast a spell.  Use as a function.  Returns 1 OR 0 for Success or Failure.
+!
+! ARGS[0] is the spell being cast
+!	Valid Spells are
+!		teleport
+
+!teleport
+spellMana['teleport'] = 1000
+spellTime['teleport'] = 20
+spellWill['teleport'] = 20
+spellDiff['teleport'] = 20
+!glamour
+spellMana['glamour'] = 500
+spellTime['glamour'] = 1
+spellWill['glamour'] = 15
+spellDiff['glamour'] = 30
+
+spellSuccess = 0
+
+if spellKnown[$ARGS[0]] = 1:
+	!Make a Skill Check to see if the Spell succeeds
+	spellRoll = pcs_splcstng - spellDiff[$ARGS[0]] - (pcs_horny/5) + rand(1,100)
+	if spellRoll > 50:
+		!Critical Success
+		spellSuccess = 2
+		splcstng_exp += rand(1,spellDiff[$ARGS[0]]) + rand(0,5)
+	elseif spellRoll > 10:
+		!Success
+		spellSuccess = 1
+		splcstng_exp += rand(1,spellDiff[$ARGS[0]])
+	elseif spellRoll > -20:
+		!Failure
+		spellSuccess = 0
+		splcstng_exp += rand(1,spellDiff[$ARGS[0]]) / 2
+	else:
+		!Critical Failure
+		spellSuccess = -1
+		splcstng_exp += rand(1,spellDiff[$ARGS[0]]) / 2
+	end
+	killvar 'spellRoll'
+
+	!Incur the costs of casting the spell
+	if spellSuccess = 2:
+		manaCost = spellMana[$ARGS[0]] / 2
+	elseif spellSuccess = -1:
+		manaCost = spellMana[$ARGS[0]] * 2
+	else:
+		manaCost = spellMana[$ARGS[0]]
+	end
+	pcs_manna -= manaCost
+	!pcs_willpwr -= spellWill[$ARGS[0]]
+	arouseVal = manaCost / 50
+	gs 'arousal', 'voyeur', arouseVal
+	minut -= arouseVal
+	killvar 'arouseVal'
+	killvar 'manaCost'
+
+end
+
+minut += spellTime[$ARGS[0]]
+
+gs 'stat'
+
+result = spellSuccess
+
+--- castSpell ---------------------------------

+ 5 - 1
locations/din_van.qsrc

@@ -179,7 +179,11 @@ $bath = {
 
 		if frost > 0:frost = 0
 
-		pcs_skin += 1
+		if bath_daystart ! daystart:
+			bath_daystart = daystart
+			pcs_skin += rand(1,2)
+		end
+		
 		gs 'stat'
 		'<center><img <<$set_imgh>> src="images/shared/home/bathroom/wash4.jpg"></center>'
 		*nl

+ 48 - 33
locations/etoexhib.qsrc

@@ -214,6 +214,13 @@ if $ARGS[0] = 'pos6':
 
 		act 'Leave':gt 'dachi'
 	end
+
+	! Setup for teleport circle
+	if tpKnown['Village'] = 1:
+		act 'Enter the hidden circle of trees': gt 'treeCircle', 'Village'
+	else:
+		act 'Investigate a mysterious copse of trees': gt 'treeCircle', 'Village'
+	end
 end
 
 if $ARGS[0] = 'pos7':
@@ -297,7 +304,7 @@ if $ARGS[0] = 'pos9':
 		'Work:"For some shoveling work, 3000<b>₽</b>."'
 
 		act 'Agree':
-			cls
+			*clr & cla
 			etoexhib = 11
 			gs 'stat'
 			'<center><img <<$set_imgh>> src="images/locations/suburban/dachastroy.jpg"></center>'
@@ -366,7 +373,7 @@ if $ARGS[0] = 'pos12':
 		'Work:"Sorry young lady. Some motivation would help us work harder."'
 
 		act 'Decline':
-			cls
+			*clr & cla
 			etoexhib = 15
 			temp = daystart
 			gs 'stat'
@@ -377,7 +384,7 @@ if $ARGS[0] = 'pos12':
 		end
 
 		act 'Accept and give half the amount':
-			cls
+			*clr & cla
 			money -= 1500
 			etoexhib = 14
 			temp = daystart
@@ -701,7 +708,7 @@ if $ARGS[0] = 'pos19':
 	'The Lyceum entrance hall. It''s pretty clean and quiet. There is a desk and office for the personnel department. On the wall hangs a timetable.'
 
 	if workPTU = 2:
-		cls
+		*clr & cla
 		pcs_mood -= 50
 		workPTU = 1
 		teachlevel = 0
@@ -814,13 +821,13 @@ if $ARGS[0] = 'pos21':
 	temp = rand(1, 100)
 
 	if temp >= 90:
-		cls
+		*clr & cla
 		gs 'stat'
 		'<center><img <<$set_imgh>> src="images/locations/pavlovsk/altschool/ptu_fight.jpg"></center>'
 		'You see a group of girls, mocking and kicking a young man.'
 
 		act 'Interfere for the man':
-			cls
+			*clr & cla
 			teachlevel += 1
 			'"What are you doing? Immediately stop, I''ll call the police!" You yell at the girls. And they snort:"He''s an ssshole, he deserved it!" but they still leave the guy alone.'
 			'You are a good example by helping the helpless man. This will positively impact your reputation.'
@@ -844,7 +851,7 @@ if $ARGS[0] = 'pos22':
 	temp = rand(1, 100)
 
 	if temp >= 90:
-		cls
+		*clr & cla
 		pcs_horny += 5
 		gs 'stat'
 		'<center><img <<$set_imgh>> src="images/locations/pavlovsk/altschool/ptu_rand.jpg"></center>'
@@ -869,7 +876,7 @@ if $ARGS[0] = 'pos23':
 	temp = rand(1, 100)
 
 	if temp >= 90:
-		cls
+		*clr & cla
 		pcs_horny += 10
 		gs 'stat'
 		'<center><img <<$set_imgh>> src="images/locations/pavlovsk/altschool/ptu_korr1.jpg"></center>'
@@ -915,7 +922,7 @@ if $ARGS[0] = 'pos24tk':
 	'In one corner there is a small old sofa.'
 
 	$prositdirizv = {
-		cls
+		*clr & cla
 		cla
 		gs'stat'
 		set izvad = 1
@@ -943,7 +950,7 @@ if $ARGS[0] = 'pos24tk':
 	if hour >= 14 and hour <= 15:
 		temp = RAND(1,100)
 		if temp >= 90:
-			cls
+			*clr & cla
 			minut += 6
 			pcs_mood -= 10
 			pcs_willpwr -= 10
@@ -996,7 +1003,7 @@ if $ARGS[0] = 'pos25':
 	'<center><img <<$set_imgh>> src="images/locations/pavlovsk/altschool/ptu_klass.jpg"></center>'
 	'Your class.'
 	if workPTU = 3:
-		cls
+		*clr & cla
 		hour = 14
 		workPTU = 4
 		gs 'stat'
@@ -1008,7 +1015,7 @@ if $ARGS[0] = 'pos25':
 
 		act 'Next':gt 'etoexhib', 'pos25'
 	elseif workPTU = 4 and gor_dorm = 4:
-		cls
+		*clr & cla
 		hour = 14
 		gor_dorm = 5
 		gs 'stat'
@@ -1080,7 +1087,7 @@ if $ARGS[0] = 'pos27':
 
 		if temp >= 95:
 			act 'Drop your pencil on the ground':
-				cls
+				*clr & cla
 				pcs_horny += 40
 				minut += 60
 				teachlevel -= 5
@@ -1104,7 +1111,7 @@ if $ARGS[0] = 'pos27':
 			end
 		elseif temp >= 85 and temp < 90:
 			act 'Sit on the table':
-				cls
+				*clr & cla
 				pcs_horny += 40
 				minut += 60
 				teachlevel -= 2
@@ -1117,7 +1124,7 @@ if $ARGS[0] = 'pos27':
 			end
 		elseif temp >= 75 and temp < 80:
 			act 'Drop the chalk':
-				cls
+				*clr & cla
 				pcs_horny += 40
 				minut += 60
 				teachlevel -= 5
@@ -1141,7 +1148,7 @@ if $ARGS[0] = 'pos27':
 			end
 		elseif temp >= 65 and temp < 70:
 			act 'Sit sexily on the table':
-				cls
+				*clr & cla
 				pcs_horny += 40
 				minut += 60
 				teachlevel -= 2
@@ -1154,7 +1161,7 @@ if $ARGS[0] = 'pos27':
 			end
 		elseif temp >= 55 and temp < 60:
 			act 'Show stockings':
-				cls
+				*clr & cla
 				pcs_horny += 40
 				minut += 60
 				teachlevel -= 2
@@ -1170,7 +1177,7 @@ if $ARGS[0] = 'pos27':
 
 	if hour < 16:
 		act 'Teach':
-			cls
+			*clr & cla
 			minut += 60
 			pcs_mood -= 5
 
@@ -1243,7 +1250,7 @@ if $ARGS[0] = 'pos34':
 	temp = rand(1, 100)
 
 	if temp >= 90:
-		cls
+		*clr & cla
 		minut += 15
 		pcs_horny += 20
 		gs 'stat'
@@ -1282,7 +1289,7 @@ if $ARGS[0] = 'pos36':
 	temp = rand(1, 100)
 
 	if temp >= 90:
-		cls
+		*clr & cla
 		minut += 15
 		pcs_horny += 10
 		gs 'stat'
@@ -1308,7 +1315,7 @@ if $ARGS[0] = 'pos37':
 
 	if temp >= 90:
 		act 'Say hello to the Director':
-			cls
+			*clr & cla
 			minut += 15
 			teachlevel += 1
 			gs 'stat'
@@ -1340,7 +1347,7 @@ if $ARGS[0] = 'pos38':
 	temp = rand(1, 100)
 
 	if temp >= 90:
-		cls
+		*clr & cla
 		minut += 15
 		pcs_horny += 10
 		gs 'stat'
@@ -1353,7 +1360,7 @@ if $ARGS[0] = 'pos38':
 
 	if gor_dorm = 5:
 		act 'Search the Web for "Tetrodotoxin"':
-			cls
+			*clr & cla
 			minut += 120
 			gor_dorm = 6
 			gs 'stat'
@@ -1398,7 +1405,7 @@ if $ARGS[0] = 'pos39':
 	temp = rand(1, 100)
 
 	if temp >= 90:
-		cls
+		*clr & cla
 		minut += 15
 		pcs_horny += 10
 		gs 'stat'
@@ -1540,25 +1547,28 @@ if $ARGS[0] = 'pos50':
 end
 
 if $ARGS[0] = 'pos51':
-	cla
-	*clr
+	$menu_loc = 'etoexhib'
+	$menu_arg = 'pos51'
+	menu_off = 0
+	*clr & cla
 	minut += 1
 	gs 'stat'
 	'<center><img <<$set_imgh>> src="images/locations/pavlovsk/resident/apartment/podezd.jpg"></center>'
 	'Entrance to the 5-floors building in which you live. The lock on the door leading to the attic is broken.'
 
 	if sosedQW = 0:
+		menu_off = 1
 		'<br>Suddenly in the stairwell you are faced with a young guy who is climbing up the stairs. He runs into you and is noticeably embarrassed.<font color="#1589FF">"I''m sorry, I did not see you there. You''ve moved into apartment 69, right?"</font>'
 
 		act 'Yes, I live in the apartment 69':
-			cls
+			*clr & cla
 			sosedQW = 1
 			minut += 5
 			gs 'stat'
 			'You nod, confirming that you live in apartment 69. The guy looks visibly delighted and says, <font color="#1589FF">"Wonderful. I lived there before Petrovich. He tormented the whole building. By the way I''m Timothy, and you are?"</font> '
 
 			act '<<$pcs_nickname>>':
-				cls
+				*clr & cla
 				gs 'stat'
 				'<font color="magenta">"My name is <<$pcs_nickname>>,"</font> you say. He nodded his head and began to get the key to open the door of the apartment 68. "Very nice. I live in the next apartment." The guy opened the door and on the threshold appeared the curious face of an elderly woman. She pointed her sharp nose at you and began to curiously look you. Timothy entered the apartment and said irritably, "Mother, stop hanging around the front door!" and closed the door.'
 
@@ -1574,8 +1584,7 @@ if $ARGS[0] = 'pos51':
 	end
 
 	act 'Leave the building':
-		cls
-
+		*clr & cla
 		if $clothingworntype = 'nude':
 			'<b><font color="red">You need to get dressed.</font></b>'
 			xgt $curloc
@@ -1593,7 +1602,10 @@ if $ARGS[0] = 'pos51':
 end
 
 if $ARGS[0] = 'pos52':
-	cls
+	$menu_loc = 'etoexhib'
+	$menu_arg = 'pos52'
+	menu_off = 0
+	*clr & cla
 	minut += 1
 	gs 'stat'
 	'<center><img <<$set_imgh>> src="images/locations/city/residential/apartment/cherdak.jpg"></center>'
@@ -1614,8 +1626,11 @@ end
 if $ARGS[0] = 'pos53':
 	$metka = $ARGS[0]
 	$loc = $CURLOC
+	$menu_loc = 'etoexhib'
+	$menu_arg = 'pos53'
+	menu_off = 0
 	$location_type = 'secluded'
-	cls
+	*clr & cla
 	minut += 1
 	gs 'stat'
 	'<center><img <<$set_imgh>> src="images/locations/city/residential/apartment/roof.jpg"></center>'
@@ -1751,7 +1766,7 @@ if $ARGS[0] = 'pos90':
 	end
 
 	act 'Leave':
-		cls
+		*clr & cla
 		gt 'etoexhib', 'pos24'
 	end
 end

+ 1 - 1
locations/fame.qsrc

@@ -9,7 +9,7 @@
 
 if $ARGS[0] ! 'deg':
 
-	dynamic '<<$ARGS[0]>>_<<ARGS[1]>> += <<ARGS[2]>>'
+	dynamic '<<$ARGS[0]>>_<<$ARGS[1]>> += <<ARGS[2]>>'
 
 	fame_performer = 0
 	fame_sexind = 0

+ 7 - 0
locations/gadforest.qsrc

@@ -120,6 +120,13 @@ if $ARGS[0] = '1':
 		end
 	end
 
+	! Setup for teleport circle
+	if tpKnown['GadForest'] = 1:
+		act 'Enter the hidden circle of trees': gt 'treeCircle', 'GadForest'
+	else:
+		act 'Investigate a mysterious copse of trees': gt 'treeCircle', 'GadForest'
+	end
+
 	! can only be naked if successfully complete Mira gadforest_event, nude_event
 	if $clothingworntype ! 'nude' and clothesAtLocation = 0 and temper >= 15 and sunWeather = 1 and hour>=6 and hour<=20 and miratalkforest > 1 and MiraLoc ! 3 and (pcs_inhib >= 25 or exhibitionist_lvl > 1):
 		act'Strip naked':

+ 75 - 77
locations/gdksex.qsrc

@@ -98,7 +98,7 @@ if $ARGS[0] = 'outside':
 						if DPtipe = 2:
 							'<center><img <<$set_imgh>> src="images/locations/pavlovsk/community/disco/sex/grab.jpg"></center>'
 							'The guy is too drunk to notice your objections and slides a hand underneath your clothes, squeezing your boobs in his hands.'
-							gs 'gdksex', 'blowjob', 'unpaid'
+							act 'Squat down before him': gt 'gdksex', 'blowjob', 'unpaid'
 
 							act 'Don''t say anything':
 								*clr & cla
@@ -139,7 +139,7 @@ if $ARGS[0] = 'outside':
 							end
 
 							'Your horniness has made you rather frisky as well! You moan softly when <<$boydesc>> exposes your boobs and begins to lick and suck on your nipples.'
-							gs 'gdksex', 'blowjob', 'unpaid'
+							act 'Squat down before him': gt 'gdksex', 'blowjob', 'unpaid'
 						end
 
 						gs 'gdksex', 'handjob'
@@ -389,7 +389,7 @@ if $ARGS[0] = 'outside':
 									if pcs_horny < 75 or pav_slut < 75: act 'Go back to the disco': gt 'gdkin'
 
 									gs 'gdksex', 'handjob'
-									gs 'gdksex', 'blowjob', 'unpaid'
+									act 'Squat down before him': gt 'gdksex', 'blowjob', 'unpaid'
 								end
 							end
 						end
@@ -420,21 +420,21 @@ if $ARGS[0] = 'outside':
 		end
 			gs 'gdksex', 'decline'
 			gs 'gdksex', 'handjob'
-			gs 'gdksex', 'blowjob', 'unpaid'
+			act 'Squat down before him': gt 'gdksex', 'blowjob', 'unpaid'
 	elseif (gdk_nice_guy = 1 and pav_slut >= 100 and pav_slut < 125) or (gdk_nice_guy = 0 and pav_slut >= 65 and pav_slut < 75):
 		'<<$boydesc>> says: "<<$pcs_nickname>>, my buddies told me you''re a <<$gnikname>>. I want to have some fun with you too!"'
 		'He pulls his cock out of his pants while he says it, and looks at you expectantly.'
 		
 		gs 'gdksex', 'decline'	
 		gs 'gdksex', 'handjob'
-		gs 'gdksex', 'blowjob', 'unpaid'	
+		act 'Squat down before him': gt 'gdksex', 'blowjob', 'unpaid'	
 	elseif (gdk_nice_guy = 1 and pav_slut >= 125) or (gdk_nice_guy = 0 and pav_slut >= 75):
 		gs 'boymass', 'B'
 		'<<$boydesc>> says: "<<$pcs_nickname>>, let''s cut the crap: the whole town knows you''re a <<$gnikname>>. I want a blowjob, here''s 100 <b>₽</b>."'
 		'He pulls his cock out of his pants while he says it, and looks at you expectantly.'
 		
 		gs 'gdksex', 'decline'
-		gs 'gdksex', 'blowjob', 'paid'
+		act 'Squat down before him': gt 'gdksex', 'blowjob', 'paid'
 	end
 
 	if (gdk_nice_guy = 1 and pav_slut >= 65) or (gdk_nice_guy = 0 and pav_slut >= 35):
@@ -479,7 +479,7 @@ if $ARGS[0] = 'outside':
 				if slutty > 10: 'You have done worse. You only say: "200 <b>₽</b>."'
 				'<<$boydesc>> looks a bit confused for a moment, but gives you 200 <b>₽</b>.'
 			
-				gs 'gdksex', 'blowjob', 'unpaid'
+				act 'Squat down before him': gt 'gdksex', 'blowjob', 'unpaid'
 			end
 		end
 	end
@@ -501,94 +501,92 @@ if $ARGS[0] = 'decline':
 end
 
 if $ARGS[0] = 'blowjob':
-	act 'Squat down before him':
+	*clr & cla
+	minut += 5
+	pcs_horny += 10
+	stat['bj'] += 1
+	if $ARGS[1] = 'paid': 
+		slutty += 1
+		money += 100
+		if gdk_nice_guy = 1:
+			pav_prostitute += rand (1,3)
+		elseif gdk_nice_guy = 0:
+			pav_prostitute += rand (3,9)
+		end
+	end
+	if boynumBlock = 0:guy += 1
+	if boynumBlock > 0 and bmTOTSEX[Tboynum] = 0:guy += 1
+
+	sub += 1
+	gs 'boymass', 'B'
+	bmBJ[Tboynum] += 1
+	gs 'stat'
+	'<center><img <<$set_imgh>> src="images/locations/pavlovsk/community/disco/sex/boybj.jpg"></center>'
+	'You squat before him as you wrap your fingers around his shaft, and slowly begin to jerk him off.'
+
+	act 'Suck his dick':
 		*clr & cla
 		minut += 5
 		pcs_horny += 10
-		stat['bj'] += 1
-		if $ARGS[1] = 'paid': 
-			slutty += 1
-			money += 100
-			if gdk_nice_guy = 1:
-				pav_prostitute += rand (1,3)
-			elseif gdk_nice_guy = 0:
-				pav_prostitute += rand (3,9)
-			end
+
+		if gdk_nice_guy = 1:
+			pav_sex += rand(1,3)
+		elseif gdk_nice_guy = 0:
+			pav_sex += rand(3,9)
 		end
-		if boynumBlock = 0:guy += 1
-		if boynumBlock > 0 and bmTOTSEX[Tboynum] = 0:guy += 1
+			
+		bmGossip[Tboynum] = 2
 
-		sub += 1
-		gs 'boymass', 'B'
-		bmBJ[Tboynum] += 1
 		gs 'stat'
-		'<center><img <<$set_imgh>> src="images/locations/pavlovsk/community/disco/sex/boybj.jpg"></center>'
-		'You squat before him as you wrap your fingers around his shaft, and slowly begin to jerk him off.'
+		'<center><img <<$set_imgh>> src="images/locations/pavlovsk/community/disco/sex/boybj2.jpg"></center>'
+		gs 'dinsex','dinrandbj'
 
-		act 'Suck his dick':
+		act 'Continue':
 			*clr & cla
 			minut += 5
 			pcs_horny += 10
-
-			if gdk_nice_guy = 1:
-				pav_sex += rand(1,3)
-			elseif gdk_nice_guy = 0:
-				pav_sex += rand(3,9)
-			end
-			
-			bmGossip[Tboynum] = 2
-
+			swallow += 1
+			spafinloc = 11
+			gs 'cum_manage'
+			spafinloc = 12
+			gs 'cum_manage'
+			spafinloc = 7
+			gs 'cum_manage'
 			gs 'stat'
-			'<center><img <<$set_imgh>> src="images/locations/pavlovsk/community/disco/sex/boybj2.jpg"></center>'
-			gs 'dinsex','dinrandbj'
+			'<center><img <<$set_imgh>> src="images/locations/pavlovsk/community/disco/sex/boybj3.jpg"></center>'
+			gs 'dinsex','dinrandswallow'
 
-			act 'Continue':
-				*clr & cla
-				minut += 5
-				pcs_horny += 10
-				swallow += 1
-				spafinloc = 11
-				gs 'cum_manage'
-				spafinloc = 12
-				gs 'cum_manage'
-				spafinloc = 7
-				gs 'cum_manage'
-				gs 'stat'
-				'<center><img <<$set_imgh>> src="images/locations/pavlovsk/community/disco/sex/boybj3.jpg"></center>'
-				gs 'dinsex','dinrandswallow'
-
-				act 'Leave':gt 'gdk'
-			end
+			act 'Leave':gt 'gdk'
 		end
+	end
 
-		act 'Turn around and let him fuck you':
-			*clr & cla
-			minut += 5
-			pcs_horny += 10
+	act 'Turn around and let him fuck you':
+		*clr & cla
+		minut += 5
+		pcs_horny += 10
 
-			if boynumBlock = 0:guy += 1
+		if boynumBlock = 0:guy += 1
 
-			bmSEX[Tboynum] += 1
-			gs 'boyStat', $bmNane[Tboynum]
-			pose = 1
+		bmSEX[Tboynum] += 1
+		gs 'boyStat', $bmNane[Tboynum]
+		pose = 1
 
-			if gdk_nice_guy = 1:
-				pav_sex += rand(1,3)
-			elseif gdk_nice_guy = 0:
-				pav_sex += rand(3,9)
-			end
+		if gdk_nice_guy = 1:
+			pav_sex += rand(1,3)
+		elseif gdk_nice_guy = 0:
+			pav_sex += rand(3,9)
+		end
 			
-			bmGossip[Tboynum] = 1
+		bmGossip[Tboynum] = 1
 
-			gs 'stat'
-			'<center><img <<$set_imgh>> src="images/shared/sex/public/boysex.jpg"></center>'
-			'You turn around, bend over, pull down your panties, and lean your hands against a wall for support. <<$boydesc>> immediately gets behind you.'
-			dynamic $sexstart
-			gs 'dinsex','vaginal_sex',10
-			gs 'dinsex','sexcum'
+		gs 'stat'
+		'<center><img <<$set_imgh>> src="images/shared/sex/public/boysex.jpg"></center>'
+		'You turn around, bend over, pull down your panties, and lean your hands against a wall for support. <<$boydesc>> immediately gets behind you.'
+		dynamic $sexstart
+		gs 'dinsex','vaginal_sex',10
+		gs 'dinsex','sexcum'
 
-			act 'Leave':gt 'gdk'
-		end
+		act 'Leave':gt 'gdk'
 	end
 end
 
@@ -616,7 +614,7 @@ if $ARGS[0] = 'handjob':
 				'<center><img <<$set_imgh>> src="images/shared/sex/handjob/hj.jpg"></center>'
 				'You begin to move your hand up and down his shaft slowly, but slowly pick up the pace while you kiss him dominantly.'
 				'<<$boydesc>> wants more however, and suddenly places his hands on your shoulder. He firmly pushes downwards, forcing you to squat before him.'
-				gs 'gdksex', 'blowjob', 'unpaid'
+				act 'Squat down before him': gt 'gdksex', 'blowjob', 'unpaid'
 			end
 		end
 	end
@@ -809,7 +807,7 @@ if $ARGS[0] = 'kissing':
 					if pcs_horny < 75 or pav_slut < 75: act 'Go back to the disco': gt 'gdkin'
 
 					gs 'gdksex', 'handjob'
-					gs 'gdksex', 'blowjob', 'unpaid'
+					act 'Squat down before him': gt 'gdksex', 'blowjob', 'unpaid'
 				end
 			end
 		end

+ 55 - 51
locations/gevent.qsrc

@@ -7,61 +7,65 @@ if $ARGS[0] = '1':
 	*clr & cla
 	menu_off = 1
 	dyadyamishaevent = 1
-	dick = 18
 	gs 'themes', 'indoors'
+	gs 'boyStat', 'A54'
 
-	'You agree to help, and leave the cafe with uncle Misha. When you reach his apartment, he takes you by the hand and pulls you to his bedroom, locking the door with a key behind him. Roughly grabbing you by your hair, he pulls you down to your knees and unbuttons his pants with his other hand. His erect cock springs to life, which he impatiently pushes against your pursed lips.'
-	'"Open your mouth, whore. You know why you are here", he commands, slapping your cheeks with his hand.'
-	'As you try to resist and keep your mouth shut, he starts rubbing the head of his engorged dick against your lips, spreading his precum over it with a lewd grin on his face. When he realizes you have no intentions of opening your mouth he slaps you harder and harder. After one particularly hard slap he leans over and snarls menacingly: "Stop testing my patience and open up, bitch. I''m not going to ask again."'
-	'Reluctantly you open your mouth, allowing his vile smelling dick access past your lips. He places the head of his dick firmly inside your mouth and continues to pressure you: "Go on bitch, suck it. You''ll regret it if you make me do all the work."'
-	'Thoroughly intimidated by his demands, you begin to suck him off obediently. He can tell your heart is not really into it and decides to help out, shoving his cock further and further down your throat until you''re nuzzling his hairy crotch. He leaves it in a few seconds more than you are comfortable with, making you gag. Watching you struggle puts an evil grin on his face and after a while he pulls his dick out of your mouth, a thick strand of saliva slowly dripping off it.'
-	'"Not bad <<$pcs_nickname>>, not bad. Lie down, I''m going to have some fun with you."'
-
-	act 'Lie down on the bed':
+	'<center><img <<$set_imgh>> src="images/characters/pavlovsk/resident/misha/sex/rape.jpg"></center>'
+	'You agree to help, and leave the cafe with uncle Misha. When you reach his apartment, he takes you by the hand and pulls you to his bedroom, locking the door with a key behind him. Roughly grabbing you by your hair, he pulls you down to your knees and unbuttons his pants with his other hand.'
+	act 'Continue':
 		*clr & cla
-		'You are no longer resisting, having lost all hope of getting yourself out of this situation. Lying wearily on the bed, he quickly takes your clothes off and sits down at your feet, examining your pussy with his fingers as much as his eyes.'
-
-		if pcs_vag = 0 and stat['vaginal'] = 0:
-			cumprecheck = 1
-			gs 'cum_manage'
-			'"You''re still a virgin? We''ll have to fix that."'
-			'He mounts you and guides the head of his cock towards your virgin pussy, rubbing it against you for a little while before slamming his cock in all the way, breaking your hymen. It hurts so much! With no concerns for your feelings, he starts hammering his dick in you, while you meekly try to resist but fail to even inconvenience him. After raping your pussy for a few minutes, he pulls his dick out and forcibly thrusts it down your throat. You no longer have the strength to even fight it and just go along with whatever he wants to do, trying to appease him so he doesn''t think of anything worse to do instead. You quietly lick your blood off his dick trying to hide the disgust, and when he cums he pulls back just a bit. You can feel it spasm just as a warm liquid hits your tongue.'
-		else
-			cumprecheck = 1
-			gs 'cum_manage'
-			'"No longer a virgin, eh? No need for me to take it slow, then!"'
-			'He mounts you and guides the head of his cock towards your pussy, rubbing it against your opening for a little while before slamming his cock in all the way. He begins to fuck you with short, intense strokes.'
-
-			if dick - pcs_vag > 10 and dick - pcs_vag <= 7:'The rough handling uncle Misha gives you is feeling quite good, and you wish he''d fuck you even harder.'
-			if dick - pcs_vag > 6 and dick - pcs_vag <= 3:'Uncle Misha''s thrusts hurt a lot, and you wish for it to be over soon.'
-
-			'After raping your pussy for a few minutes, he pulls his dick out and forcibly thrusts it down your throat. You no longer have the strength to even fight it and just go along with whatever he wants to do, trying to appease him so he doesn''t think of anything worse to try instead. When he cums he pulls back just a bit, and you can feel it spasm as a warm liquid hits your tongue.'
-		end
-		
-		act 'Swallow his cum':
+		'<center><img <<$set_imgh>> src="images/characters/pavlovsk/resident/misha/sex/bj.jpg"></center>'
+		'His erect cock springs to life, which he impatiently pushes against your pursed lips.'
+		'"Open your mouth, whore. You know why you are here", he commands, slapping your cheeks with his hand.'
+		'As you try to resist and keep your mouth shut, he starts rubbing the head of his engorged dick against your lips, spreading his precum over it with a lewd grin on his face. When he realizes you have no intentions of opening your mouth he slaps you harder and harder. After one particularly hard slap he leans over and snarls menacingly: "Stop testing my patience and open up, bitch. I''m not going to ask again."'
+		'Reluctantly you open your mouth, allowing his vile smelling dick access past your lips. He places the head of his dick firmly inside your mouth and continues to pressure you: "Go on bitch, suck it. You''ll regret it if you make me do all the work."'
+		'Thoroughly intimidated by his demands, you begin to suck him off obediently. He can tell your heart is not really into it and decides to help out, shoving his cock further and further down your throat until you''re nuzzling his hairy crotch. He leaves it in a few seconds more than you are comfortable with, making you gag. Watching you struggle puts an evil grin on his face and after a while he pulls his dick out of your mouth, a thick strand of saliva slowly dripping off it.'
+		'"Not bad <<$pcs_nickname>>, not bad. Lie down, I''m going to have some fun with you."'
+		gs 'arousal', 'bj', 25, 'rough', 'rape'
+
+		act 'Lie down on the bed':
 			*clr & cla
-			stat['vaginal'] += 1
-			stat['bj'] += 1
-			swallow += 1
-			spafinloc = 12
-			gs 'cum_manage'
-			pcs_throat += 1
-
-			if pcs_vag < dick:pcs_vag += 1
-
-			rape += 1
-			minut += 75
-			money += 500
-			gs 'stat'
-
-			'<center><img <<$set_imgh>> src="images/locations/pavlovsk/park/sex/1.jpg"></center>'
-			'His sperm tastes quite bitter as it hits your tongue. Nevertheless, knowing it is what he expects you to do, you swallow it and lick your lips clean like an obedient girl.'
-			'"You swallowed it, girl?" he asks, melodramatically patting your head as a sign of approval. He continues: "Very nice. Go ahead and get dressed, I''ll give you a present for your efforts."'
-			'Uncle Misha leaves the room as you get dressed, and while you quickly put your clothes back on you hope that ''present'' is not more punishment in some shape or form. To your surprise, his present is actually a bank note worth 500 <b>₽</b>.'
-			'"Go on child, go buy yourself some ice cream. I know you''re from a poor family, so if you''re ever in need of money you can come pay me a visit. There''s more where that came from."'
-			'Having had his fun, he gestures that you should get lost now. You quietly take the money from uncle Misha''s hand, and leave as he says.'
-
-			act 'Leave uncle Misha''s apartment':gt 'pod_ezd','etaj_2'
+			'<center><img <<$set_imgh>> src="images/characters/pavlovsk/resident/misha/sex/sex.jpg"></center>'
+			'You are no longer resisting, having lost all hope of getting yourself out of this situation. Lying wearily on the bed, he quickly takes your clothes off and sits down at your feet, examining your pussy with his fingers as much as his eyes.'
+
+			if pcs_vag = 0 and stat['vaginal'] = 0:
+				cumprecheck = 1
+				gs 'cum_manage'
+				'"You''re still a virgin? We''ll have to fix that."'
+				'He mounts you and guides the head of his cock towards your virgin pussy, rubbing it against you for a little while before slamming his cock in all the way, breaking your hymen. It hurts so much! With no concerns for your feelings, he starts hammering his dick in you, while you meekly try to resist but fail to even inconvenience him.'
+				gs 'arousal', 'vaginal', 25, 'rough'
+				'After raping your pussy for a few minutes, he pulls his dick out and forcibly thrusts it down your throat. You no longer have the strength to even fight it and just go along with whatever he wants to do, trying to appease him so he doesn''t think of anything worse to do instead. You quietly lick your blood off his dick trying to hide the disgust, and when he cums he pulls back just a bit. You can feel it spasm just as a warm liquid hits your tongue.'
+			else
+				cumprecheck = 1
+				gs 'cum_manage'
+				'"No longer a virgin, eh? No need for me to take it slow, then!"'
+				'He mounts you and guides the head of his cock towards your pussy, rubbing it against your opening for a little while before slamming his cock in all the way. He begins to fuck you with short, intense strokes.'
+
+				if dick - pcs_vag > 10 and dick - pcs_vag <= 7:'The rough handling uncle Misha gives you is feeling quite good, and you wish he''d fuck you even harder.'
+				if dick - pcs_vag > 6 and dick - pcs_vag <= 3:'Uncle Misha''s thrusts hurt a lot, and you wish for it to be over soon.'
+				gs 'arousal', 'vaginal', 25, 'rough', 'rape'
+
+				'After raping your pussy for a few minutes, he pulls his dick out and forcibly thrusts it down your throat. You no longer have the strength to even fight it and just go along with whatever he wants to do, trying to appease him so he doesn''t think of anything worse to try instead. When he cums he pulls back just a bit, and you can feel it spasm as a warm liquid hits your tongue.'
+			end
+			
+			act 'Swallow his cum':
+				*clr & cla
+				swallow += 1
+				gs 'cum_call', 'mouth', 'A54'
+				minut += 5
+				money += 500
+				gs 'arousal', 'end'
+				gs 'stat'
+
+				'<center><img <<$set_imgh>> src="images/characters/pavlovsk/resident/misha/sex/cum.jpg"></center>'
+				'His sperm tastes quite bitter as it hits your tongue. Nevertheless, knowing it is what he expects you to do, you swallow it and lick your lips clean like an obedient girl.'
+				'"You swallowed it, girl?" he asks, melodramatically patting your head as a sign of approval. He continues: "Very nice. Go ahead and get dressed, I''ll give you a present for your efforts."'
+				'Uncle Misha leaves the room as you get dressed, and while you quickly put your clothes back on you hope that ''present'' is not more punishment in some shape or form. To your surprise, his present is actually a bank note worth 500 <b>₽</b>.'
+				'"Go on child, go buy yourself some ice cream. I know you''re from a poor family, so if you''re ever in need of money you can come pay me a visit. There''s more where that came from."'
+				'Having had his fun, he gestures that you should get lost now. You quietly take the money from uncle Misha''s hand, and leave as he says.'
+
+				act 'Leave uncle Misha''s apartment':gt 'pod_ezd','etaj_2'
+			end
 		end
 	end
 end

+ 19 - 9
locations/gopskver.qsrc

@@ -12,6 +12,8 @@ gs 'stat'
 gs 'dinsexFX'
 if $prevloc = 'gkafe':
 	'<center><img <<$set_imgh>> src="images/locations/pavlovsk/trainstation/cafe/gkafe2.jpg"></center>'
+elseif $prevloc = 'pavtrainhall':
+	'<center><img <<$set_imgh>> src="images/locations/pavlovsk/trainstation/vokzal.jpg"></center>'
 else
 	'<center><img <<$set_imgh>> src="images/locations/pavlovsk/park/skver.jpg"></center>'
 end
@@ -21,6 +23,8 @@ if kotovLoveQW > 0:
 	if hour < 20:
 		if $prevloc = 'gkafe':
 			'Vitek Kotov sees you entering the cafe and tells you to come over. When you approach him, he explains he''s drinking some beer with his friends, and offers you to join them.'
+		elseif $prevloc = 'pavtrainhall':
+			'Vitek Kotov sees you entering the train station and tells you to come over. When you approach him, he explains he''s drinking some beer with his friends, and offers you to join them.'
 		else
 			'Vitek Kotov sees you walking in the park, and tells you to come over. When you approach him, he explains he''s drinking some beer with his friends in the park, and offers you to join them.'
 		end
@@ -207,8 +211,8 @@ else
 				iif($prevloc = 'gkafe','The boys ordered some extra beers ','The boys have some extra beers with them,') + 'and invite you to have a seat and join them.'
 
 				act 'Decline the beer and leave':
-					if $prevloc = 'gkafe':
-						gt 'gkafe'
+					if $prevloc = 'gkafe' or $prevloc = 'pavtrainhall':
+						gt $prevloc
 					else
 						gt 'gskver', 'start'
 					end
@@ -231,8 +235,8 @@ else
 					'The guys cheer and pour out a beer for you. Vasily gives you ' + iif($prevloc = 'gkafe','a glass','the cup') +' while the others propose a toast, already having beers in their hands. You happily join them in their toast, and spend the next 15 minutes chatting with them and having sips of your cold beer.'
 							
 					act 'Continue':
-						if $prevloc = 'gkafe':
-							gt 'gkafe'
+						if $prevloc = 'gkafe' or $prevloc = 'pavtrainhall':
+							gt $prevloc
 						else
 							gt 'gskver', 'start'
 						end
@@ -260,17 +264,21 @@ else
 						'Vasily puts his hand on your shoulder and tells you that his friends aren''t the kind of guys a nice girl should be getting drunk with and sends you on your way.'
 
 						act 'Continue':
-							if $prevloc = 'gkafe':
-								gt 'gkafe'
+							if $prevloc = 'gkafe' or $prevloc = 'pavtrainhall':
+								gt $prevloc
 							else
 								gt 'gskver', 'start'
 							end
 						end
 					end
 				elseif pav_slut < 75:
-					if $prevloc = 'gkafe':'Vasily suggests to the guys to leave the cafe and continue drinking in the park. You are too drunk to resist so you just follow them to the park'
+					if $prevloc = 'gkafe':
+						'Vasily suggests to the guys to leave the cafe and continue drinking in the park. You are too drunk to resist so you just follow them to the park'			
+					elseif $prevloc = 'pavtrainhall':
+						'Vasily suggests to the guys to leave the train station and continue drinking in the park. You are too drunk to resist so you just follow them to the park'	
+					end
 					'At one point, Vasily sits down next to you and says: "Hey <<$pcs_nickname>>... I''ve heard from someone that you''re a huge tease, is that true?"'
-
+					
 					act '"Yes that''s true"':
 						*clr & cla
 						gs 'stat'
@@ -381,7 +389,9 @@ else
 			'Vasily grins and shouts as he sees you walk by: "Look guys, it''s our favourite slut! <<$shultextrand>>" His friends laugh loudly at your expense.'
 			
 			if $prevloc = 'gkafe':
-				act 'Blush and quickly leave the cafe':gt'pavtrain'
+				act 'Blush and quickly leave the cafe': gt $prevloc
+			elseif $prevloc = 'pavtrainhall':
+				act 'Blush and quickly leave the train station': gt $prevloc
 			else
 				act 'Blush and keep walking':gt 'gskver', 'start'
 				if BjBeerQW >= 5:

+ 1 - 1
locations/gpoli.qsrc

@@ -313,7 +313,7 @@ if $ARGS[0] = '':
 
 					'"That''s it, you might still feel a bit off but the infection is now cured".'
 
-					act 'Leave':gt 'poli', 'start'
+					act 'Leave':gt 'gpoli'
 				end
 			end
 		end

+ 5 - 2
locations/hunter_interactions.qsrc

@@ -630,8 +630,11 @@ if $ARGS[0] = 'andrei_quick_fuck':
                 minut -= 10
                 
                 act 'Further':
-                    if $loc = 'swamp_yard': gt 'swamp_yard'
-                    if $loc = 'swamp_woods': gt 'swamp_woods', 'shooting_practice', 'practice'    
+                    if $loc = 'swamp_woods':
+                        gt 'swamp_woods', 'shooting_practice', 'practice'    
+                    else
+                        if $loc = 'swamp_yard': gt 'swamp_yard'
+                    end    
                 end
             end 
 		end

+ 4 - 2
locations/husbSex.qsrc

@@ -472,8 +472,10 @@ if $ARGS[0] = 'miss':
 
 	'<center><img <<$set_imgh>> src="images/shared/sex/vag/miss/vag.jpg"></center>'
 	'<<$husName>> spreads your legs and uses his fingers to caress your pussy.'
+	'After a few minutes you are practically begging him to take you and he is more than willing, it is slow and gentle making you feel full and satisfied.'
 
-	gs 'arousal', 'vaginal_finger', 20
+	gs 'arousal', 'vaginal_finger', 5
+	gs 'arousal', 'vaginal', 15
 	gs 'stat'
 	
 	gs'orgazm','start'
@@ -497,7 +499,7 @@ if $ARGS[0] = 'dog':
 	'<center><img <<$set_imgh>> src="images/shared/sex/vag/doggy/dog1.jpg"></center>'
 	'<<$husName>> turns you around into the doggy style position and spreads your buttcheeks before he enters you.'
 
-	gs 'arousal', 'anal', 30, 'sub'
+	gs 'arousal', 'vaginal', 30, 'sub'
 	gs 'stat'
 	
 	gs'orgazm','start'

+ 213 - 210
locations/lake.qsrc

@@ -54,7 +54,7 @@ if $ARGS[0] = 'start':
 			'Also you can sunbathe or swim.'
 
 			act 'Walk on the beach':
-				cls
+				cla & *clr
 				minut += 60
 				pcs_mood += 5
 				gs 'stat'
@@ -215,7 +215,7 @@ end
 if $ARGS[0] = 'aquapark':
 	$location_type = 'public_outdoors'
 	minut += 5
-	cls
+	cla & *clr
 	gs 'stat'
 	'<center><img <<$set_imgh>> src="images/locations/city/residential/lake/aquapark.jpg"></center>'
 	'You go to the attractions.'
@@ -226,7 +226,7 @@ end
 
 if $ARGS[0] = 'gidro':
 	$location_type = 'event_outdoors'
-	cls
+	cla & *clr
 	gs 'stat'
 	minut += 1
 	'<center><img <<$set_imgh>> src="images/locations/city/residential/lake/aquapark.jpg"></center>'
@@ -238,7 +238,7 @@ if $ARGS[0] = 'gidro':
 			pcs_mood += 10
 			pcs_willpwr += 10
 			money -= 100
-			cls
+			cla & *clr
 			minut += 30
 			'<center><img <<$set_imgh>> src="images/locations/city/residential/lake/gidro.jpg"></center>'
 			'You take a jet ski, and spend 30 minutes having loads of fun.'
@@ -256,7 +256,7 @@ end
 
 if $ARGS[0] = 'banan':
 	$location_type = 'event_outdoors'
-	cls
+	cla & *clr
 	gs 'stat'
 	minut += 1
 	'<center><img <<$set_imgh>> src="images/locations/city/residential/lake/aquapark.jpg"></center>'
@@ -267,7 +267,7 @@ if $ARGS[0] = 'banan':
 		act 'Go for a ride (100 <b>₽</b>)':
 			pcs_mood += 10
 			pcs_willpwr += 10
-			cls
+			cla & *clr
 			minut += 30
 			money -= 100
 			'<center><img <<$set_imgh>> src="images/locations/city/residential/lake/banan.jpg"></center>'
@@ -286,7 +286,7 @@ end
 
 if $ARGS[0] = 'gorka':
 	$location_type = 'event_outdoors'
-	cls
+	cla & *clr
 	gs 'stat'
 	minut += 1
 	'<center><img <<$set_imgh>> src="images/locations/city/residential/lake/aquapark.jpg"></center>'
@@ -297,7 +297,7 @@ if $ARGS[0] = 'gorka':
 		act 'Go for a ride (50 <b>₽</b>)':
 			pcs_mood += 10
 			pcs_willpwr += 10
-			cls
+			cla & *clr
 			minut += 15
 			money -= 50
 			'<center><img <<$set_imgh>> src="images/locations/city/residential/lake/gorka.jpg"></center>'
@@ -312,7 +312,7 @@ end
 
 if $ARGS[0] = 'horse':
 	$location_type = 'event_outdoors'
-	cls
+	cla & *clr
 	gs 'stat'
 	minut += 1
 	'<center><img <<$set_imgh>> src="images/locations/city/residential/lake/horse0.jpg"></center>'
@@ -323,7 +323,7 @@ if $ARGS[0] = 'horse':
 		act 'Go for a ride (100 <b>₽</b>)':
 			pcs_mood += 10
 			pcs_willpwr += 10
-			cls
+			cla & *clr
 			minut += 30
 			money -= 100
 			'<center><img <<$set_imgh>> src="images/locations/city/residential/lake/horse.jpg"></center>'
@@ -351,7 +351,7 @@ if $ARGS[0] = 'walklake1':
 	$dinribak = {
 		gs 'boyStat', 'A177'
 		act 'Leave the idiot alone':
-			cls
+			cla & *clr
 			minut += 2
 			gs 'stat'
 			'<center><img <<$set_imgh>> src="images/locations/city/residential/lake/sex/walk1/walk1.jpg"></center>'
@@ -360,7 +360,7 @@ if $ARGS[0] = 'walklake1':
 			act 'Leave':gt 'lake', 'start'
 
 			act 'Money first':
-				cls
+				cla & *clr
 				minut += 2
 				gs 'stat'
 				'<center><img <<$set_imgh>> src="images/locations/city/residential/lake/sex/walk1/walk1.jpg"></center>'
@@ -370,7 +370,7 @@ if $ARGS[0] = 'walklake1':
 				act 'Change your mind and leave':gt 'lake', 'start'
 
 				act 'Take the money':
-					cls
+					cla & *clr
 					minut += 2
 					money += 2000
 
@@ -387,7 +387,7 @@ if $ARGS[0] = 'walklake1':
 					'Time slows to a halt and you have start to think that this torment will never end, when the guy pulls his cock out of your mouth.'
 
 					act '...':
-						cls
+						cla & *clr
 						minut += 2
 						sub += 1
 						sexvolume = 35
@@ -402,7 +402,7 @@ if $ARGS[0] = 'walklake1':
 						'The guy starts to cum on your face, a jet of his semen flies into your mouth and you feel awful taste of his sperm.'
 
 						act 'Wait for the man':
-							cls
+							cla & *clr
 							minut += 2
 							sub += 1
 							$ribakName = 'whore'
@@ -418,7 +418,7 @@ if $ARGS[0] = 'walklake1':
 		end
 
 		act 'Go closer':
-			cls
+			cla & *clr
 			minut += 2
 			gs 'stat'
 			'<center><img <<$set_imgh>> src="images/locations/city/residential/lake/sex/walk1/walk1.jpg"></center>'
@@ -427,7 +427,7 @@ if $ARGS[0] = 'walklake1':
 			act 'Faint compliance then run':gt 'lake', 'start'
 
 			act 'Kneel in front of the guy':
-				cls
+				cla & *clr
 				minut += 2
 
 				if ribakSex = 0:ribakSex = 1 & guy += 1
@@ -443,7 +443,7 @@ if $ARGS[0] = 'walklake1':
 				'"Open your fucking mouth," Growls the man "and stick out your tongue."'
 
 				act 'Comply':
-					cls
+					cla & *clr
 					minut += 2
 					sub += 1
 					sexvolume = 35
@@ -458,7 +458,7 @@ if $ARGS[0] = 'walklake1':
 					'You obediently open your mouth and stick out your tongue. Immediately you are slapped in the face with a jet of sperm. Then another and another, covering your face. The sperm gets into your mouth and you feel its nasty taste.'
 
 					act 'Wait for the man':
-						cls
+						cla & *clr
 						minut += 2
 						sub += 1
 						swallow += 1
@@ -467,7 +467,7 @@ if $ARGS[0] = 'walklake1':
 						'Your face is dripping with semen, you feel no taste in your mouth and look at the guy. The guy smile and with his finger collects some sperm from your face. Then he puts his finger in your mouth causing you to lick sperm. When his finger is clean, he gathers the remnants of sperm from your face on his finger and stuck it back in your mouth. Once again you suck his finger and swallow cum.'
 
 						act 'Wait for the man':
-							cls
+							cla & *clr
 							minut += 2
 							sub += 1
 							$ribakName = 'lowered whore'
@@ -481,7 +481,7 @@ if $ARGS[0] = 'walklake1':
 				end
 
 				act 'Try to move out of the way':
-					cls
+					cla & *clr
 					minut += 2
 					spafinloc = 11
 					gs 'cum_manage'
@@ -500,7 +500,7 @@ if $ARGS[0] = 'walklake1':
 		act 'Leave':gt 'lake', 'start'
 
 		act 'Approach':
-			cls
+			cla & *clr
 			minut += 2
 			gs 'stat'
 			'<center><img <<$set_imgh>> src="images/locations/city/residential/lake/sex/walk1/walk1.jpg"></center>'
@@ -518,14 +518,14 @@ if $ARGS[0] = 'walklake1':
 
 			if pcs_apprnc >= 60:
 				act 'What do you want?':
-					cls
+					cla & *clr
 					minut += 2
 					gs 'stat'
 					'<center><img <<$set_imgh>> src="images/locations/city/residential/lake/sex/walk1/walk1.jpg"></center>'
 					'You asked what the guy wants. The guy looks at you again with a smirk. "You have written on his face that you are a whore. Here to earn your living?"'
 
 					act 'How dare you? (Troubled)':
-						cls
+						cla & *clr
 						minut += 2
 						gs 'stat'
 						'<center><img <<$set_imgh>> src="images/locations/city/residential/lake/sex/walk1/walk1.jpg"></center>'
@@ -534,7 +534,7 @@ if $ARGS[0] = 'walklake1':
 					end
 
 					act 'What? (Wonder)':
-						cls
+						cla & *clr
 						minut += 2
 						gs 'stat'
 						'<center><img <<$set_imgh>> src="images/locations/city/residential/lake/sex/walk1/walk1.jpg"></center>'
@@ -543,7 +543,7 @@ if $ARGS[0] = 'walklake1':
 					end
 
 					act 'hmm (thinking)':
-						cls
+						cla & *clr
 						minut += 2
 						gs 'stat'
 						'<center><img <<$set_imgh>> src="images/locations/city/residential/lake/sex/walk1/walk1.jpg"></center>'
@@ -560,7 +560,7 @@ if $ARGS[0] = 'walklake1':
 
 		if $ribakName = 'whore':
 			act 'Two pieces!':
-				cls
+				cla & *clr
 				minut += 2
 				gs 'stat'
 				'<center><img <<$set_imgh>> src="images/locations/city/residential/lake/sex/walk1/walk1.jpg"></center>'
@@ -569,7 +569,7 @@ if $ARGS[0] = 'walklake1':
 				act 'Leave':gt 'lake', 'start'
 
 				act 'Take the money':
-					cls
+					cla & *clr
 					minut += 2
 					money += 2000
 					ribakSex += 1
@@ -584,7 +584,7 @@ if $ARGS[0] = 'walklake1':
 					'Time slows to a halt and you have start to think that this torment will never end, when the guy pulls his cock out of your mouth.'
 
 					act '...':
-						cls
+						cla & *clr
 						minut += 2
 						sub += 1
 						sexvolume = 35
@@ -599,7 +599,7 @@ if $ARGS[0] = 'walklake1':
 						'The guy starts to cum on your face, a jet of his semen flies into your mouth and you feel awful taste of his sperm.'
 
 						act 'Wait for the man':
-							cls
+							cla & *clr
 							minut += 2
 							sub += 1
 							$ribakName = 'whore'
@@ -614,7 +614,7 @@ if $ARGS[0] = 'walklake1':
 			end
 		elseif $ribakName ! 'whore':
 			act 'Kneel in front of the man':
-				cls
+				cla & *clr
 				minut += 2
 				ribakSex += 1
 				stat['bj'] += 1
@@ -628,7 +628,7 @@ if $ARGS[0] = 'walklake1':
 				'"Open your fucking mouth," Growls the man "and stick out your tongue."'
 
 				act 'Comply':
-					cls
+					cla & *clr
 					minut += 2
 					sub += 1
 					sexvolume = 35
@@ -643,7 +643,7 @@ if $ARGS[0] = 'walklake1':
 					'You obediently open your mouth and stick out your tongue. Immediately you are slapped in the face with a jet of sperm. Then another and another, covering your face. The sperm gets into your mouth and you feel its nasty taste.'
 
 					act 'Wait for the man':
-						cls
+						cla & *clr
 						minut += 2
 						sub += 1
 						swallow += 1
@@ -652,7 +652,7 @@ if $ARGS[0] = 'walklake1':
 						'Your face is dripping with semen, you feel no taste in your mouth and look at the guy. The guy smile and with his finger collects some sperm from your face. Then he puts his finger in your mouth causing you to lick sperm. When his finger is clean, he gathers the remnants of sperm from your face on his finger and stuck it back in your mouth. Once again you suck his finger and swallow cum.'
 
 						act 'Wait for the man':
-							cls
+							cla & *clr
 							minut += 2
 							sub += 1
 							$ribakName = 'lowered whore'
@@ -666,7 +666,7 @@ if $ARGS[0] = 'walklake1':
 				end
 
 				act 'Try to move out of the way':
-					cls
+					cla & *clr
 					minut += 2
 					spafinloc = 11
 					gs 'cum_manage'
@@ -740,200 +740,35 @@ if $ARGS[0] = 'walklake2':
 
 	act 'Leave':gt 'lake', 'start'
 
-	$din_stasValera4 = {
-		act 'Relax':
-			cls
-			minut += 2
-			pcs_horny += 20
-
-			npc_sex['A50'] += 1
-			if ValeraSex = 0:ValeraSex = 1 & guy += 1
-
-			StVaGang = 1
-			gang += 1
-			gs 'stat'
-			'<center><img <<$set_imgh>> src="images/locations/city/residential/lake/sex/stas/lake.jpg"></center>'
-			'You are relaxed and begin to enjoy the caressing of your breasts and pussy.'
-			gs 'boyStat', 'A47'
-			pose = 0
-			sexpartkno = 1
-			dynamic $sexstart
-			'You feel ready as Stasik holding your feet, spreads your legs and brings his hard penis down to your soft pussy.'
-			gs 'dinsex','vaginal_sex',10
-			'While you fuck Stasik, Valera slumps to your face and brings his erect cock to your lips.'
-			gs 'boyStat', 'A48'
-			stat['bj'] += 1
-			dynamic $dinrandbj
-			gs 'boyStat', 'A47'
-			gs 'dinsex','sexcum'
-			'Valera groans and his cock shudders in your mouth.'
-			swallow += 1
-			gs 'boyStat', 'A48'
-			sexpartkno = 1
-			spafinloc = 12
-			gs 'cum_manage'
-			gs 'dinsex','dinrandswallow'
-
-			act 'Further':
-				cls
-				minut += 2
-				gs 'stat'
-				'The tired men dismount and help dress you as they dress themselves. Stasik lifts you back on to your feet, "You''re a cool girl <<$pcs_nickname>>, let us walk you home."'
-
-				act 'I''ll manage':
-					cls
-					minut += 2
-					gs 'stat'
-					'You refuse and Stasik shrugs, "Well, as you wish."'
-
-					act 'Leave':gt 'lake', 'start'
-				end
-
-				act 'Agree':
-					cls
-					minut += 5
-					cumface = 0
-					StasValeraKnow = 1
-					gs 'stat'
-					if $clothingworntype = 'swimwear':
-						gs 'clothing', 'wear', $normalclothingworntype, normalclothingwornno
-						'You go to the changing room and quickly get out of your swimwear and dress in your regular clothes.'
-					end
-					'The boys walk either side of you like bodyguards as you make your way home. Along the way they keep silent, even the more sprightly Stasik seems to be at a loss for words. Finally you stop before the door of your apartment. You say goodbye to the guys and they go.'
-
-					act 'Leave':gt 'korr'
-				end
-			end
-		end
-	}
-
-	$din_stasValera3 = {
-		act 'Further':
-			cls
-			minut += 2
-			pcs_horny += 20
-			gs 'stat'
-			'You are relaxed and begin to enjoy the sensations in your chest arising from Stasiks touching. With a well honed movement he lowers the cups of your bra freeing your breasts. You do not have time to blink as Stasiks lips cover your nipple.'
-
-			act 'Hey! What are you doing?':
-				cls
-				minut += 2
-				gs 'stat'
-				'You jump to your feet adjusting your bra. Stasik smiles, "Do not be afraid girl."'
-
-				act 'Leave':gt 'lake', 'start'
-			end
-
-			act 'Feebly protest':
-				cls
-				minut += 2
-				pcs_horny += 20
-				gs 'stat'
-				'You try to pull your bra back and whisper, "No." Stasik smiles, "Do not be shy girl."'
-				dynamic $din_stasValera4
-			end
-
-			act 'Be silent':
-				cls
-				minut += 2
-				pcs_horny += 30
-				gs 'stat'
-				'You get comfortable enjoying the skillful way Staik sucks your breast, his hands begin to passionately caress your body. His strong fingers penetrate your panties and began to caress your pussy.'
-				dynamic $din_stasValera4
-			end
-		end
-	}
-
-	$din_stasValera2 = {
-		act 'Remove Stasiks hands from you':
-			cls
-			minut += 2
-			gs 'stat'
-			'You angrily remove his hands from your body. Stasik grins, "C''mon baby, relax."'
-
-			act 'Rebel and go':
-				cls
-				minut += 2
-				gs 'stat'
-				'You angrily stand up and began to leave. Stasik gets to his feet and tries to persuade you to go with the guys to the cafe.'
-
-				act 'Leave':gt 'lake', 'start'
-			end
-
-			act 'Keep silent':
-				cls
-				minut += 2
-				pcs_horny += 20
-				gs 'stat'
-				'You say nothing and Stasik immediately takes advantage of your confusion. His hands gently squeeze your chest and you feel a pleasant warmth and tenderness from your breasts being stimulated.'
-				dynamic $din_stasValera3
-			end
-		end
-
-		act 'Smile and pretend nothing is happening.':
-			cls
-			minut += 2
-			pcs_horny += 20
-			gs 'stat'
-			'You start to smile, feeling a Stasiks touch excite you. You close your eyes for a moment and suddenly feel a hand on your chest. You open your eyes in surprise and see how completely unflappable Stasik is squeezing your chest with a dreamy smile on his face.'
-			dynamic $din_stasValera3
-		end
-	}
-
-	$din_stasValera = {
-		act '<<$pcs_nickname>>':
-			cls
-			minut += 2
-			gs 'stat'
-			'You tell Stasik that your name is <<$pcs_nickname>>. He smiles even wider and says, "Nice to meet you." Valera also comes over and says hello to you. The men settle on the shore near you.'
-
-			act 'Lie on the sand':
-				cls
-				minut += 2
-				pcs_horny += 15
-				gs 'stat'
-				'You lay down on the sand and the men settle on either side of you. Stasik begins to tell you that he works with Valera as sales representatives of a major company, and boasts about their seniority and importance. Without breaking conversation, Stasik puts his hand on your stomach and begins stroking.'
-				dynamic $din_stasValera2
-			end
-
-			act 'Sit on the sand':
-				cls
-				minut += 2
-				pcs_horny += 15
-				gs 'stat'
-				'You sat down on the sand and the men settle on either side of you. Stasik begins to tell you that he works with Valera as sales representatives of a major company, and boasts about their seniority and importance. Without breaking conversation, Stasik puts his hand on your ass and starts stroking.'
-				dynamic $din_stasValera2
-			end
-		end
-	}
-
 	if StasikValera = 0:
 		act 'Look at them':
-			cls
+			cla & *clr
 			minut += 1
 			StasikValera = 1
 			gs 'stat'
+			'<center><img <<$set_imgh>> src="images/locations/city/residential/lake/sex/stas/stasValera.jpg"></center>'
 			'You look at the men and notice that they are whispering to each other. Then one of the men comes up to you. He says smiling, "Hey beautiful, I am Stasik, and this is my friend Valera. What''s your name?"'
-			dynamic $din_stasValera
+			act '<<$pcs_nickname>>': gt 'lake', 'stasValera'
 
-			act 'I have to go.':
-				cls
+			act 'I have to go':
+				cla & *clr
 				minut += 1
 				gs 'stat'
 				'You''re not going to get acquainted with these fellows and began to leave. Stasik tries to persuade you. "Come on, babe. Do we look like savages? We just wanted to talk, but I understand if you''re frightened. I just wanted to ask you your name."'
-				dynamic $din_stasValera
+				act '<<$pcs_nickname>>': gt 'lake', 'stasValera'
 
 				act 'Leave':gt 'lake', 'start'
 			end
 		end
 	end
 
-	if npc_sex['A50'] > 0 or ValeraSex > 0:
+	if npc_sex['A48'] > 0:
+		npc_sex['A48'] += 1
+		npc_sex['A49'] += 1
 		act 'Wave to them':
 			cla
 			*clr
 			!!guy += 2
-			dynamic $venerasiak
 			'<center><img <<$set_imgh>> src="images/locations/city/residential/lake/sex/walk2/walk2.jpg"></center>'
 			'Looking directly at them you pull off your panties and wave to them. The men almost run toward you, you threw off the rest and kneel.'
 
@@ -941,7 +776,6 @@ if $ARGS[0] = 'walklake2':
 				cla
 				*clr
 				stat['bj'] += 1
-				dynamic $venerasiakOral
 				'<center><img <<$set_imgh>> src="images/locations/city/residential/lake/sex/walk2/walk3.jpg"></center>'
 				'the men unbutton their pants as they run to you, you take their members alternately sucking one then the other. One of the men roughly grabs your ass and tries to put you on all fours.'
 
@@ -1023,6 +857,175 @@ if $ARGS[0] = 'walklake2':
 	end
 end
 
+if $ARGS[0] = 'stasValera':
+	cla & *clr
+	minut += 2
+	gs 'stat'
+	'<center><img <<$set_imgh>> src="images/locations/city/residential/lake/sex/stas/talk1.jpg"></center>'
+	'You tell Stasik that your name is <<$pcs_nickname>>. He smiles even wider and says, "Nice to meet you." Valera also comes over and says hello to you. The men stand by the shore near you.'
+
+	act 'Chat with them':
+		cla & *clr
+		minut += 2
+		gs 'stat'
+		'<center><img <<$set_imgh>> src="images/locations/city/residential/lake/sex/stas/talk6.jpg"></center>'
+		'You stand aroundtalking to the men. Stasik begins to tell you that he works with Valera as sales representatives of a major company, and boasts about their seniority and importance. Throughout the conversation, both men are making lewd gestures and Stasik moves his hand to your chest.'
+		act 'Remove Stasik''s hands from you': gt 'lake', 'stasValera2a'
+		act 'Smile and pretend nothing is happening': gt 'lake', 'stasValera2b'
+	end
+end
+
+if $ARGS[0] = 'stasValera2a':
+	cla & *clr
+	minut += 2
+	gs 'stat'
+	'<center><img <<$set_imgh>> src="images/locations/city/residential/lake/sex/stas/refuse1.jpg"></center>'
+	'You angrily remove his hands from your body. Stasik grins, "C''mon baby, relax."'
+
+	act 'Rebel and go':
+		cla & *clr
+		minut += 2
+		gs 'stat'
+		'<center><img <<$set_imgh>> src="images/locations/city/residential/lake/sex/stas/refuse3.jpg"></center>'
+		'You angrily stand up and began to leave. Stasik gets to his feet and tries to persuade you to go with the guys to the cafe.'
+
+		act 'Leave':gt 'lake', 'start'
+	end
+
+	act 'Keep silent':
+		cla & *clr
+		'<center><img <<$set_imgh>> src="images/locations/city/residential/lake/sex/stas/tits1.jpg"></center>'
+		'You say nothing and Stasik immediately takes advantage of your confusion. His hands gently squeeze your chest and you feel a pleasant warmth and tenderness from your breasts being stimulated.'
+		gs 'arousal', 'foreplay', 5
+		minut -= 3
+		gs 'stat'
+		act 'Further': gt 'lake', 'stasValera3'
+	end
+end
+
+if $ARGS[0] = 'stasValera2b':
+	cla & *clr
+	'<center><img <<$set_imgh>> src="images/locations/city/residential/lake/sex/stas/tits1.jpg"></center>'
+	'You start to smile, feeling a Stasiks touch excite you. You close your eyes for a moment and suddenly feel a hand on your chest. You open your eyes in surprise and see how completely unflappable Stasik is squeezing your chest with a dreamy smile on his face.'
+	gs 'arousal', 'foreplay', 5
+	minut -= 3
+	gs 'stat'
+	act 'Further': gt 'lake', 'stasValera3'
+end
+
+if $ARGS[0] = 'stasValera3':
+	cla & *clr
+	'<center><img <<$set_imgh>> src="images/locations/city/residential/lake/sex/stas/tits2.jpg"></center>'
+	'You are relaxed and begin to enjoy the sensations in your chest arising from Stasiks touching. With a well honed movement he lowers the cups of your bra freeing your breasts. You do not have time to blink as Stasiks lips cover your nipple.'
+	gs 'arousal', 'foreplay', 5
+	minut -= 3
+	gs 'stat'
+
+	act 'Hey! What are you doing?':
+		cla & *clr
+		minut += 2
+		gs 'stat'
+		'<center><img <<$set_imgh>> src="images/locations/city/residential/lake/sex/stas/refuse4.jpg"></center>'
+		'You jump to your feet adjusting your bra. Stasik smiles, "Do not be afraid girl."'
+
+		act 'Leave':gt 'lake', 'start'
+	end
+
+	act 'Feebly protest':
+		cla & *clr
+		'<center><img <<$set_imgh>> src="images/locations/city/residential/lake/sex/stas/talk5.jpg"></center>'
+		'You try to pull your bra back and whisper, "No." Stasik smiles, "Do not be shy girl."'
+		gs 'arousal', 'foreplay', 5
+		minut -= 3
+		gs 'stat'
+		act 'Relax': gt 'lake', 'stasValera4'
+	end
+
+	act 'Be silent':
+		cla & *clr
+		'<center><img <<$set_imgh>> src="images/locations/city/residential/lake/sex/stas/tits3.jpg"></center>'
+		'You get comfortable enjoying the skillful way Staik sucks your breast, his hands begin to passionately caress your body. His strong fingers penetrate your panties and began to caress your pussy.'
+		gs 'arousal', 'foreplay', 5
+		minut -= 3
+		gs 'stat'
+		act 'Relax': gt 'lake', 'stasValera4'
+	end
+end
+
+if $ARGS[0] = 'stasValera4':
+	cla & *clr
+
+	npc_sex['A48'] += 1
+	npc_sex['A49'] += 1
+	guy += 2
+	gang += 1
+	gs 'stat'
+	'<center><img <<$set_imgh>> src="images/locations/city/residential/lake/sex/stas/oral<<rand(1,6)>>.jpg"></center>'
+	'The guys pull out they cocks and you kneel down to get them warmed up. It doesn''t take long before you are in the mood for more and it is clear they are too.'
+	gs 'arousal', 'bj', 5
+	minut -= 3
+	gs 'stat'
+	act 'Get fucked':
+		gs 'boyStat', 'A47'
+		'<center><img <<$set_imgh>> src="images/locations/city/residential/lake/sex/stas/sex<<rand(7,9)>>.jpg"></center>'
+		'You feel ready as Stasik holding your feet, spreads your legs and brings his hard penis down to your soft pussy.'
+		gs 'dinsex','vaginal_sex',10
+		act 'Don''t forget Valera':
+			'<center><img <<$set_imgh>> src="images/locations/city/residential/lake/sex/stas/sex<<rand(1,6)>>.jpg"></center>'
+			'While you fuck Stasik, Valera slumps to your face and brings his erect cock to your lips.'
+			gs 'boyStat', 'A48'
+			dynamic $dinrandbj
+			gs 'boyStat', 'A47'
+			pose = 1
+			gs 'dinsex','sexcum'
+			act 'Finish Valera off':
+				'<center><img <<$set_imgh>> src="images/locations/city/residential/lake/sex/stas/sex<<cum(1,4)>>.jpg"></center>'
+				'Valera groans and his cock shudders in your mouth.'
+				swallow += 1
+				gs 'boyStat', 'A48'
+				gs 'cum_call', 'mouth' 'A48', 1
+				gs 'arousal', 'bj', 5
+				gs 'dinsex','dinrandswallow'
+
+				act 'Further':
+					cla & *clr
+					minut += 2
+					gs 'arousal', 'end'
+					gs 'stat'
+					'<center><img <<$set_imgh>> src="images/locations/city/residential/lake/sex/stas/undress.jpg"></center>'
+					'The tired men dismount and help dress you as they dress themselves. Stasik lifts you back on to your feet, "You''re a cool girl <<$pcs_nickname>>, let us walk you home."'
+
+					act 'I''ll manage':
+						cla & *clr
+						minut += 2
+						gs 'stat'
+						'<center><img <<$set_imgh>> src="images/locations/city/residential/lake/sex/stas/refuse2.jpg"></center>'
+						'You refuse and Stasik shrugs, "Well, as you wish."'
+
+						act 'Leave':gt 'lake', 'start'
+					end
+
+					act 'Agree':
+						cla & *clr
+						minut += 5
+						cumface = 0
+						StasValeraKnow = 1
+						gs 'stat'
+						'<center><img <<$set_imgh>> src="images/locations/city/residential/lake/sex/stas/stasValera.jpg"></center>'
+						if $clothingworntype = 'swimwear':
+							gs 'clothing', 'wear', $normalclothingworntype, normalclothingwornno
+							'You go to the changing room and quickly get out of your swimwear and dress in your regular clothes.'
+						end
+						'The boys walk either side of you like bodyguards as you make your way home. Along the way they keep silent, even the more sprightly Stasik seems to be at a loss for words. Finally you stop before the door of your apartment. You say goodbye to the guys and they go.'
+
+						act 'Leave':gt 'korr'
+					end
+				end
+			end
+		end
+	end
+end
+
 if $ARGS[0] = 'vlake1':
 	$location_type = 'event_outdoors'
 	cla

+ 7 - 0
locations/lug.qsrc

@@ -122,6 +122,13 @@ if $ARGS[0] = 'prut2':
         gt 'lug', 'prut'
     end
 
+	! Setup for teleport circle
+	if tpKnown['PushkinPark'] = 1:
+		act 'Enter the hidden circle of trees': gt 'treeCircle', 'PushkinPark'
+	else:
+		act 'Investigate a mysterious copse of trees': gt 'treeCircle', 'PushkinPark'
+	end
+
 	if MagikDostup ! 1 and rand (1, 4) <= pcs_magik and (hour <=6 or hour >=19):
 		if knowsfairy < 1 and fairyskip = 0:
 			$metka = 'prut2'

+ 8 - 8
locations/mod_setting.qsrc

@@ -48,7 +48,7 @@ act ''+iif(settingmode = 1, '<center><b>Install new mod</b></center>','Install n
 	killvar 'mod_info'
 	$mod_temp=input('input mod name (as for the example image above, input <B>isample</B>)')
 	if $mod_temp='':exit
-	ADDQST 'mod/<<$mod_temp>>.qsp'
+	addqst 'mod/<<$mod_temp>>.qsp'
 	gs 'mod_<<$mod_temp>>_setup'
 	if $mod_info[0] = '':
 		msg '<b><<$mod_temp>>.qsp</b> is not a Girl life ECV mod, please contract its author for help'
@@ -59,19 +59,19 @@ act ''+iif(settingmode = 1, '<center><b>Install new mod</b></center>','Install n
 	$mod_version[mod_list] = $mod_info[1]
 	$mod_author[mod_list] = $mod_info[2]
 	$mod_desc[mod_list] = $mod_info[3]
-	gt curloc
+	gt $loc, $metka
 end
 act ''+iif(settingmode = 1, '<center><b>Disable all mods</b></center>','Disable all mods')+'':
 	if input('Are you sure? ALL mod will be disabled!<br>please input <b>qqq</B> to confirm') = 'qqq':
-		KILLQST
+		killqst
 		set mod_list=0
-		KILLVAR '$mod_name'
-		KILLVAR '$mod_version'
-		KILLVAR '$mod_author'
-		KILLVAR '$mod_desc'
+		killvar '$mod_name'
+		killvar '$mod_version'
+		killvar '$mod_author'
+		killvar '$mod_desc'
 		'All mod disabled. You can re-install them later.'
 		cla
-		act 'Continue':goto curloc
+		act 'Continue':gt $loc, $metka
 	end
 end
 --- mod_setting ---------------------------------

+ 9 - 6
locations/obj_din.qsrc

@@ -2635,25 +2635,28 @@ if $ARGS[0] = 'old':
 	addobj '<center>Refresh</center>'
 	!addobj '<center>Settings</center>'
 	!addobj '<center>Cheats</center>'
-	if cheatConsole = 1:
-		addobj '<center>Console</center>'
-	end
+	if cheatConsole = 0: addobj '<center>Console</center>'
 	! if disable_autosave = 1:
 		! addobj '<center><font color = red><b>[</b></font>Autosave<font color = red><b>]</b></font></center>'
 	! else
 		! addobj '<center><font color = green><b>[</b></font>Autosave<font color = green><b>]</b></font></center>'
 	! end
 	if cheatTime = 1:
-		addobj '<center><i>-1 Hour</i></center>'
-		addobj '<center><i>+1 Hour</i></center>'
+		addobj '<center>-1 Hour</center>'
+		addobj '<center>+1 Hour</center>'
 	end
 	addobj ''
 	addobj '<center><font color = red>Emergency</font></center>'
+	addobj ''
+	if debug_warning_closed = 0:
+		addobj '<center>This window is for debug only and can be safely closed.</center>'
+		addobj '<center>Remove debug info</center>'
+	end
 end
 
 if $ARGS[0] = 'wait':
 	cla
-	waiting = input ("How long would you like to wait?<br>(Default 15 minutes, maximum 120 minutes)")
+	waiting = input ("How long would you like to wait?<br>(maximum 120 minutes, leave blank or press cancel to wait 15 minutes)")
 
 	if waiting = '':
 		minut += 15

+ 3 - 2
locations/onobjsel.qsrc

@@ -30,9 +30,10 @@ if $selobj = '<center>Refresh</center>':gs '$menu_obnovit'
 	! if $selobj = '<center><font color = green><b>[</b></font>Autosave<font color = green><b>]</b></font></center>':gs 'obj_din', 'autosave'
 ! end
 if $selobj = '<center>Console</center>':dynamic $cheatmenu['dynamic']
-if $selobj = '<center><i>-1 Hour</i></center>':gs 'obj_din', '-1 Hour'
-if $selobj = '<center><i>+1 Hour</i></center>':gs 'obj_din', '+1 Hour'
+if $selobj = '<center>-1 Hour</center>':gs 'obj_din', '-1 Hour'
+if $selobj = '<center>+1 Hour</center>':gs 'obj_din', '+1 Hour'
 if $selobj = '<center><font color = red>Emergency</font></center>':gs 'obj_din', 'emergency'
+if $selobj = '<center>Remove debug info</center>': debug_warning_closed = 1 & gs 'stat'
 
 !The old menu: end
 

+ 7 - 0
locations/park.qsrc

@@ -84,6 +84,13 @@ if $ARGS[0] = 'start':
 
 	act 'Walk around the park (1:00)': gt 'parkdin'
 
+	! Setup for teleport circle
+	if tpKnown['CentralPark'] = 1:
+		act 'Enter the hidden circle of trees': gt 'treeCircle', 'CentralPark'
+	else:
+		act 'Investigate a mysterious copse of trees': gt 'treeCircle', 'CentralPark'
+	end
+
 	if hour >= 10 and hour <= 22:
 		act 'Have some food in the cafe': minut += 5 & gt 'ParkKafe', 'start'
 	end

+ 1 - 1
locations/pavCommercial.qsrc

@@ -137,7 +137,7 @@ else
 	$desc_txt2 = '<a href="exec:msg ''vocational school, which is closed right now. It will reopen again at 7:00''">vocational school</a>.'
 end
 
-'<br>If you continue past the shops, you''ll eventually find a <<$desc_txt2>>.'
+'<br>If you continue past the shops, you''ll eventually find a <<$desc_txt2>>'
 
 if workPTU > 2:act '<b>Go to the hostel</b>':gt 'etoexhib', 'pos40'
 

+ 1 - 1
locations/pavtrainhall.qsrc

@@ -26,7 +26,7 @@ if $ARGS[0] = '':
 	*nl
 	if StoryLine = 1 and SchoolAtestat = 0:
 		if (sunWeather = 0 or temper <= 0) and hour >= 18 and hour < 20 and week < 6:
-			'You see your classmates <a href="exec:minut += 3 & gt ''gopskver''">Vitek, Dan and Vasily</a> hanging around here.'
+			'You see your classmates <a href="exec:minut += 3 & $prevloc = $loc & gt ''gopskver''">Vitek, Dan and Vasily</a> hanging around here.'
 		end
 	end
 	*nl

+ 8 - 0
locations/placer_gskver.qsrc

@@ -148,6 +148,14 @@ end
 !_________________Change the date/nights, seasons. End.___________________________
 
 
+!Setup for teleport circle
+if tpKnown['PavlovskPark'] = 1:
+	act 'Enter the hidden circle of trees': gt 'treeCircle', 'PavlovskPark'
+else:
+	act 'Investigate a mysterious copse of trees': gt 'treeCircle', 'PavlovskPark'
+end
+
+
 if soniaPS=5 and rand(1,10)=>9 and hour>14 and hour<20:
 	''
 	'<b>While you walk past a row of bushes, you hear some strange sounds coming from behind them.</B>'

+ 53 - 36
locations/pod_ezd.qsrc

@@ -1041,22 +1041,24 @@ end
 !game events in the attic (fifth floor)
 if $ARGS[0] = 'etaj5_cherdak_ev1':
 	menu_off = 1
-	gs 'arousal', 'voyeur', 5
+	gs 'arousal', 'voyeur', 7
+	minut -= 3
 	gs 'stat'
 	'<center><img <<$set_imgh>> src="images/locations/pavlovsk/resident/apartment/stairs/event/sex/ev1_1.jpg"></center>'
 	'When you walk up the stairs to the fifth floor, you see some unfamiliar boys fucking a girl. Currently, one guy is fucking her while the other one films everything with his camera.'
 	gs 'gopsex', 'masturb_gg'
 	act 'Hide and keep watching':
 		*clr & cla
-		gs 'arousal', 'voyeur', 4
+		gs 'arousal', 'voyeur', 6
+		minut -= 3
 		'<center><img <<$set_imgh>> src="images/locations/pavlovsk/resident/apartment/stairs/event/sex/ev1_2.jpg"></center>'
 		'Suddenly you see the guy holding the camera reach down undoes pants, before telling her to take his cock out and give him a blowjob. She happily does and takes the large cock in her mouth, while the guy behind her is still pounding her. He slaps her ass a few times, knowing her moans will make the other guy feel great.'
 		gs 'gopsex', 'masturb_gg'
-		minut -=2
 		gs 'stat'
 		act 'Stay hidden and keep watching':
 			*clr & cla
-			gs 'arousal', 'voyeur', 5
+			gs 'arousal', 'voyeur', 8
+			minut -= 3
 			gs 'stat'
 			'<center><img <<$set_imgh>> src="images/locations/pavlovsk/resident/apartment/stairs/event/sex/ev1_3.jpg"></center>'
 			'The guys switch places now, and the other guy now holds the camera while the girl keeps sucking on one cock while getting fucked by the other. He makes sure to zoom in on her face while the other guy spanks her hard, trying to provoke a cute reaction for the video.'
@@ -1070,25 +1072,27 @@ end
 
 if $ARGS[0] = 'etaj5_cherdak_ev2':
 	menu_off = 1
-	gs 'arousal', 'voyeur', 4
+	gs 'arousal', 'voyeur', 6
+	minut -= 4
 	gs 'stat'
 	'<center><img <<$set_imgh>> src="images/locations/pavlovsk/resident/apartment/stairs/event/sex/ev2_1.jpg"></center>'
 	'When you walk up the stairs to the fifth floor, you see a guy and a girl having sex. Currently, the girl is giving him an enthusiastic blowjob while a second guy films everything with his camera.'
 	act 'Hide and keep watching':
 		*clr & cla
-		gs 'arousal', 'voyeur', 3
+		gs 'arousal', 'voyeur', 5
+		minut -= 3
 		gs 'stat'
 		'<center><img <<$set_imgh>> src="images/locations/pavlovsk/resident/apartment/stairs/event/sex/ev2_2.jpg"></center>'
 		'After a moment she decides that one cock is not enough and, with a lewd voice, asks: "Please, I need more cocks, let me suck yours too."'
 		'The other guy is happy to oblige, and soon she is struggling to take both cocks in her mouth. You can tell this is definitely not the first time she has done this.'
 		act 'Continue':
 			*clr & cla
-			gs 'arousal', 'voyeur', 2
+			gs 'arousal', 'voyeur', 5
+			minut -= 3
 			'<center><img <<$set_imgh>> src="images/locations/pavlovsk/resident/apartment/stairs/event/sex/ev2_3.jpg"></center>'
 			'Suddenly, the boys pull away from the girl. They tell her: "Alright, time to fuck. Show your ass to the camera, Maria."'
 			'She obediently does, pulling her ass cheeks aside to show the boys her puckered anus. It doesn''t look very tight, but does look ready for anal sex, maybe they had been planning this?'
 			gs 'gopsex', 'masturb_gg'
-			minut -=3
 			gs 'stat'
 			act 'Continue':
 				*clr & cla
@@ -1098,7 +1102,7 @@ if $ARGS[0] = 'etaj5_cherdak_ev2':
 				gs 'stat'
 				act 'Continue':
 					*clr & cla
-					gs 'arousal', 'voyeur', 2
+					gs 'arousal', 'voyeur', 5
 					'<center><img <<$set_imgh>> src="images/locations/pavlovsk/resident/apartment/stairs/event/sex/ev2_5.jpg"></center>'
 					'After a while, the couple changes position and you see the guy rubbing his dick against her ass. As you expected, his cock slides in her ass quite easily, and the guy takes the initiative now and begins to thrust his dick deeper inside her ass while she tries to steady herself against the wall.'
 					gs 'gopsex', 'masturb_gg'
@@ -1113,7 +1117,7 @@ if $ARGS[0] = 'etaj5_cherdak_ev2':
 						gs 'stat'
 						act 'Continue':
 							*clr & cla
-							gs 'arousal', 'voyeur', 2
+							gs 'arousal', 'voyeur', 5
 							'<center><img <<$set_imgh>> src="images/locations/pavlovsk/resident/apartment/stairs/event/sex/ev2_7.jpg"></center>'
 							'The guys tell her to get on her knees, and eagerly jerk off over her while the camera guy films the jets of cum land on her face.'
 							gs 'gopsex', 'masturb_gg'
@@ -1127,7 +1131,7 @@ if $ARGS[0] = 'etaj5_cherdak_ev2':
 								gs 'stat'
 								act 'Continue':
 									*clr & cla
-									minut +=2
+									minut += 2
 									gs 'arousal', 'end'
 									gs 'stat'
 									'<center><img <<$set_imgh>> src="images/locations/pavlovsk/resident/apartment/stairs/event/sex/ev2_9.jpg"></center>'
@@ -1153,7 +1157,8 @@ end
 
 if $ARGS[0] = 'etaj5_cherdak_ev3':
 	menu_off = 1
-	gs 'arousal', 'voyeur', 4
+	gs 'arousal', 'voyeur', 6
+	minut -= 3
 	gs 'stat'
 	'<center><img <<$set_imgh>> src="images/locations/pavlovsk/resident/apartment/stairs/event/sex/ev3_1.jpg"></center>'
 	'When you walk up the stairs to the fifth floor, you see a girl giving two guys an enthusiastic blowjob at the same time. One of the guys is filming everything with his camera.'
@@ -1165,12 +1170,12 @@ if $ARGS[0] = 'etaj5_cherdak_ev3':
 		gs 'stat'
 		act 'Continue':
 			*clr & cla
-			gs 'arousal', 'voyeur', 4
+			gs 'arousal', 'voyeur', 5
+			minut -= 3
 			'<center><img <<$set_imgh>> src="images/locations/pavlovsk/resident/apartment/stairs/event/sex/ev3_3.jpg"></center>'
 			'The man holding the camera is tired of being left out, and he asks his friend to swing her around she can use her mouth at the same time. He does, and tells the girl to lean against the other man''s chest while she sucks him off. The girl does, and from the look in her eyes you can tell she''s thrilled by all this.'
 			'After about five minutes the body of the guy behind her tenses, and from his grunting you can only assume he finished right in her pussy.'
 			gs 'gopsex', 'masturb_gg'
-			minut -=3
 			gs 'stat'
 			act 'Continue':
 				*clr & cla
@@ -1180,7 +1185,8 @@ if $ARGS[0] = 'etaj5_cherdak_ev3':
 				gs 'stat'
 				act 'Continue':
 					*clr & cla
-					gs 'arousal', 'voyeur', 2
+					gs 'arousal', 'voyeur', 5
+					minut -= 3
 					gs 'arousal', 'end'
 					gs 'stat'
 					'<center><img <<$set_imgh>> src="images/locations/pavlovsk/resident/apartment/stairs/event/sex/ev3_5.jpg"></center>'
@@ -1199,17 +1205,18 @@ end
 
 if $ARGS[0] = 'etaj5_cherdak_ev4':
 	menu_off = 1
-	gs 'arousal', 'voyeur', 5
+	gs 'arousal', 'voyeur', 7
+	minut -= 3
 	gs 'stat'
 	'<center><img <<$set_imgh>> src="images/locations/pavlovsk/resident/apartment/stairs/event/sex/ev4_1.jpg"></center>'
 	'When you walk up the stairs to the fifth floor, you see an unfamiliar girl showing off her boobs to two guys. One of them is holding a camera. You''re fairly sure you have never seen any of them before.'
 	act 'Hide and keep watching':
 		*clr & cla
-		gs 'arousal', 'voyeur', 2
+		gs 'arousal', 'voyeur', 5
+		minut -= 3
 		'<center><img <<$set_imgh>> src="images/locations/pavlovsk/resident/apartment/stairs/event/sex/ev4_2.jpg"></center>'
 		'One of the guys boldly walks up to the girl, his dicking hanging out of his pants already. She unashamedly squats before him and takes the dick in her mouth, giving him a skillful blowjob while the other guy keeps filming everything. Are they shooting a porn video!?'
 		gs 'gopsex', 'masturb_gg'
-		minut -=3
 		gs 'stat'
 		act 'Continue':
 			*clr & cla
@@ -1219,7 +1226,7 @@ if $ARGS[0] = 'etaj5_cherdak_ev4':
 			gs 'stat'
 			act 'Continue':
 				*clr & cla
-				gs 'arousal', 'voyeur', 2
+				gs 'arousal', 'voyeur', 5
 				minut -=3
 				'<center><img <<$set_imgh>> src="images/locations/pavlovsk/resident/apartment/stairs/event/sex/ev4_4.jpg"></center>'
 				'The girl then stands up straight and gets between the two guys, presenting her ass to one of them while she leans over to take the dick of the other back in her mouth. Soon she''s being spit-roasted, taking in dicks on both ends.'
@@ -1233,7 +1240,8 @@ if $ARGS[0] = 'etaj5_cherdak_ev4':
 					gs 'stat'
 					act 'Continue':
 						*clr & cla
-						gs 'arousal', 'voyeur', 2
+						gs 'arousal', 'voyeur', 5
+						minut -= 3
 						gs 'arousal', 'end'
 						gs 'stat'
 						'<center><img <<$set_imgh>> src="images/locations/pavlovsk/resident/apartment/stairs/event/sex/ev4_6.jpg"></center>'
@@ -1256,13 +1264,15 @@ end
 if $ARGS[0] = 'event_1':
 	menu_off = 1
 	*clr & cla
-	gs 'arousal', 'voyeur', 2
+	gs 'arousal', 'voyeur', 5
+	minut -= 3
 	gs 'stat'
 	'<center><img <<$set_imgh>> src="images/locations/pavlovsk/resident/apartment/stairs/event/ev1_1.jpg"></center>'
 	'As you walk around a corner in the stairwell, you''re suddenly looking straight at a woman''s bare pussy! She''s sitting on some stairs and is casually smoking a cigarette. Her partner chats her up, while he has a great look at her naked pussy and her widely spread legs.'
 	act 'Keep watching':
 		*clr & cla
-		gs 'arousal', 'voyeur', 3
+		gs 'arousal', 'voyeur', 6
+		minut -= 3
 		gs 'stat'
 		'<center><img <<$set_imgh>> src="images/locations/pavlovsk/resident/apartment/stairs/event/ev1_2.jpg"></center>'
 		'The girl notices you, and gives you a cute wink. She keeps talking with her partner, and pulls her boobs out of her shirt while spreading her legs even further. You''re confused is she doing this for you, or for him?'
@@ -1275,7 +1285,8 @@ end
 if $ARGS[0] = 'event_2':
 	menu_off = 1
 	*clr & cla
-	gs 'arousal', 'voyeur', 7
+	gs 'arousal', 'voyeur', 10
+	minut -= 3
 	'<center><img <<$set_imgh>> src="images/locations/pavlovsk/resident/apartment/stairs/event/sex/ev3.jpg"></center>'
 	'As you walk around a corner in the stairwell, you run into two boys fucking some random girl dressed in lingerie and a coat. She looks familiar.'
 	'You hide for a second and try to look if you can recognize her in some way, but she''s squeezed between the boys and her face is hidden the whole time.'
@@ -1288,13 +1299,15 @@ end
 if $ARGS[0] = 'event_3':
 	menu_off = 1
 	*clr & cla
-	gs 'arousal', 'voyeur', 3
+	gs 'arousal', 'voyeur', 6
+	minut -= 3
 	gs 'stat'
 	'<center><img <<$set_imgh>> src="images/locations/pavlovsk/resident/apartment/stairs/event/ev4_1.jpg"></center>'
 	'As you walk around a corner in the stairwell, you see Yelena Kotov, a girl from your class. She''s taking off her panties in front of several guys. If her brother Vitek could see this, he''d probably be beating the crap out of them right now he''s really protective of his sister.'
 	act 'Hide and watch them':
 		*clr & cla
-		gs 'arousal', 'voyeur', 3
+		gs 'arousal', 'voyeur', 6
+		minut -= 3
 		gs 'stat'
 		'<center><img <<$set_imgh>> src="images/locations/pavlovsk/resident/apartment/stairs/event/ev4_2.jpg"></center>'
 		'Lena turns her back to the guys next, and pulls up her skirt slightly. She shows off her well-toned ass, slowly wagging it as she asks seductively over her shoulder: "Do you like what you see, boys?"'
@@ -1306,11 +1319,11 @@ if $ARGS[0] = 'event_3':
 			gs 'stat'
 			act 'Continue':
 				*clr & cla
-				gs 'arousal', 'voyeur', 3
+				gs 'arousal', 'voyeur', 5
+				minut -= 3
 				'<center><img <<$set_imgh>> src="images/locations/pavlovsk/resident/apartment/stairs/event/ev4_4.jpg"></center>'
 				'Lena really gets into it, posing seductively for the camera now while she lets her skirt ride up a little more. You can tell the stares of the guys turn her on a lot, and you realize Vitek''s little sister is not as innocent as she looks.'
 				gs 'gopsex', 'masturb_gg'
-				minut -=3
 				gs 'stat'
 				act 'Continue':
 					*clr & cla
@@ -1320,7 +1333,7 @@ if $ARGS[0] = 'event_3':
 					gs 'stat'
 					act 'Continue':
 						*clr & cla
-						gs 'arousal', 'voyeur', 3
+						gs 'arousal', 'voyeur', 5
 						'<center><img <<$set_imgh>> src="images/locations/pavlovsk/resident/apartment/stairs/event/ev4_6.jpg"></center>'
 						'Lena turns her back to the guys again, her skirt pulled up so far now that she''s showing off all her holes to the camera.'
 						gs 'gopsex', 'masturb_gg'
@@ -1344,7 +1357,8 @@ end
 
 if $ARGS[0] = 'event_4':
 	menu_off = 1
-	gs 'arousal', 'voyeur', 3
+	gs 'arousal', 'voyeur', 6
+	minut -= 3
 	gs 'stat'
 	'<center><img <<$set_imgh>> src="images/locations/pavlovsk/resident/apartment/stairs/event/ev5_1.jpg"></center>'
 	'You see a cute girl in a nightie standing on a flight of stairs, in the stairwell, doing several poses for a strong looking man holding a camera.'
@@ -1356,11 +1370,11 @@ if $ARGS[0] = 'event_4':
 		gs 'stat'
 		act 'Continue':
 			*clr & cla
-			gs 'arousal', 'voyeur', 3
+			gs 'arousal', 'voyeur', 5
+			minut -= 3
 			'<center><img <<$set_imgh>> src="images/locations/pavlovsk/resident/apartment/stairs/event/ev5_3.jpg"></center>'
 			'He continues: "Okay, now raise your nightie, I want some photos of your body too. Excellent babe, you''re doing great."'
 			gs 'gopsex', 'masturb_gg'
-			minut -=3
 			gs 'stat'
 			act 'Continue':
 				*clr & cla
@@ -1373,7 +1387,8 @@ if $ARGS[0] = 'event_4':
 				gs 'stat'
 				act 'Continue':
 					*clr & cla
-					gs 'arousal', 'voyeur', 3
+					gs 'arousal', 'voyeur', 5
+					minut -= 3
 					'<center><img <<$set_imgh>> src="images/locations/pavlovsk/resident/apartment/stairs/event/ev5_5.jpg"></center>'
 					'He encourages her further: "Wow, that''s hot. Bend over babe, show me your pretty ass."'
 					'She leans over and pulls her nightie up, showing the camera her bare ass cheeks and pulls one to the side a bit with her hand to show off her holes more: "Like this?"'
@@ -1383,15 +1398,16 @@ if $ARGS[0] = 'event_4':
 					gs 'stat'
 					act 'Continue':
 						*clr & cla
-						gs 'arousal', 'masturbate', 3
+						gs 'arousal', 'masturbate', 5
+						minut -= 3
 						'<center><img <<$set_imgh>> src="images/locations/pavlovsk/resident/apartment/stairs/event/ev5_6.jpg"></center>'
 						'He walks up a bit closer to her: "Almost done babe, I just need a few close-ups. Just bend over and show me your ass."'
 						gs 'gopsex', 'masturb_gg'
-						minut -=3
 						gs 'stat'
 						act 'Continue':
 							*clr & cla
-							gs 'arousal', 'voyeur', 3
+							gs 'arousal', 'voyeur', 5
+							minut -= 3
 							gs 'arousal', 'end'
 							gs 'stat'
 							'<center><img <<$set_imgh>> src="images/locations/pavlovsk/resident/apartment/stairs/event/ev5_7.jpg"></center>'
@@ -1415,7 +1431,8 @@ end
 
 if $ARGS[0] = 'event_5':
 	menu_off = 1
-	gs 'arousal', 'voyeur', 5
+	gs 'arousal', 'voyeur', 10
+	minut -= 5
 	gs 'stat'
 	'<center><img <<$set_imgh>> src="images/characters/pavlovsk/resident/luda/event/ev2.jpg"></center>'
 	'You greet aunt Luda in the stairwell, she''s on her way back up after throwing away some garbage. She greets you back, but says she has no time to chat and it looks like she''s in a hurry to get back to her apartment. When you look up, you see she''s not even wearing any pants or underwear! She can be so slutty sometimes.'

+ 2 - 0
locations/preCUST.qsrc

@@ -231,6 +231,7 @@ if $ARGS[0] = 'Done':
 		pcs_energy = 100
 		pcs_hydra = 100
 		pcs_sleep = 100
+		willpowermax = 150
 
 !!		Starting Option Adjustments
 !!		The TG Background options would be aplied here
@@ -297,6 +298,7 @@ if $ARGS[0] = 'Done':
 		pcs_energy = 100
 		pcs_hydra = 100
 		pcs_sleep = 100
+		willpowermax = 100
 
 !!		Starting Option Adjustments
 !!		The TG Background options would be aplied here

+ 18 - 0
locations/preSYS.qsrc

@@ -475,6 +475,7 @@ if $ARGS[0] = 'charselect':
 				pcs_skin = 40
 				genbsize = 17
 				salo = 60
+				willpowermax = 90
 				gt 'preCUST', 'SGStart'
 			end
 		end
@@ -495,6 +496,7 @@ if $ARGS[0] = 'charselect':
 				grupvalue[6] = 30
 				npc_rel['A29'] += 20
 				if player_avatar ! 1: pcs_hairlng = 200
+				willpowermax = 80
 				gt 'preCUST', 'SGStart'
 			end
 		end
@@ -519,6 +521,7 @@ if $ARGS[0] = 'charselect':
 				npc_rel['A129'] += 10
 				komp = 1
 				if player_avatar ! 1: pcs_hairlng = 120
+				willpowermax = 90
 				gt 'preCUST', 'SGStart'
 			end
 		end
@@ -540,6 +543,7 @@ if $ARGS[0] = 'charselect':
 				chessmonth = month
 				npc_rel['A151'] += 20
 				if player_avatar ! 1: pcs_hairlng = 200
+				willpowermax = 90
 				gt 'preCUST', 'SGStart'
 			end
 		end
@@ -568,6 +572,7 @@ if $ARGS[0] = 'charselect':
 				gsAboVolley += 30
 				npc_rel['A13'] += 10
 				npc_rel['A69'] += 10
+				willpowermax = 140
 				gt 'preCUST', 'SGStart'
 			end
 		end
@@ -602,6 +607,7 @@ if $ARGS[0] = 'charselect':
 				gsAboDance += 30
 				npc_rel['A23'] += 20
 				grupvalue[1] = 20
+				willpowermax = 140
 				gt 'preCUST', 'SGStart'
 			end
 		end
@@ -626,6 +632,7 @@ if $ARGS[0] = 'charselect':
 				npc_rel['A8'] += 5
 				npc_rel['A18'] -= 30
 				npc_rel['A131'] += 10
+				willpowermax = 140
 				gt 'preCUST', 'SGStart'
 			end
 		end
@@ -647,6 +654,7 @@ if $ARGS[0] = 'charselect':
 				npc_rel['A131'] += 10
 				npc_rel['A149'] += 10
 				npc_rel['A34'] += 10
+				willpowermax = 140
 				gt 'preCUST', 'SGStart'
 			end
 		end
@@ -679,6 +687,7 @@ if $ARGS[0] = 'charselect':
 				gs 'preSYS', 'socialgroup_setting', 10, 5, 0, 0, 0, 0
 				npc_rel['A140'] += 10
 				salo = 80
+				willpowermax = 110
 				gt 'preCUST', 'SGStart'
 			end
 		end
@@ -719,6 +728,7 @@ if $ARGS[0] = 'charselect':
 				gs 'preSYS', 'socialgroup_setting_boys', 20, 20, 20, 20, 20, 0
 				salo = 60
 				pav_sex = 20
+				willpowermax = 110
 				gt 'preCUST', 'SGStart'
 			end
 		end
@@ -759,6 +769,7 @@ if $ARGS[0] = 'charselect':
 				npc_rel['A33'] -= 10
 				npc_rel['A34'] -= 10
 				grupvalue[4] = 40
+				willpowermax = 130
 				gt 'preCUST', 'SGStart'
 			end
 		end
@@ -794,6 +805,7 @@ if $ARGS[0] = 'charselect':
 				npc_rel['A29'] -= 20
 				npc_rel['A33'] -= 10
 				npc_rel['A34'] -= 10
+				willpowermax = 120
 				gt 'preCUST', 'SGStart'
 			end
 		end
@@ -856,6 +868,7 @@ if $ARGS[0] = 'charselect':
 				kotovLoveQW = 1
 				vitekvisit = 5
 				npc_sex['A9'] += 5
+				willpowermax = 100
 				gt 'preCUST', 'SGStart'
 			end
 		end
@@ -915,6 +928,7 @@ if $ARGS[0] = 'charselect':
 				npc_rel['A28'] -= 10
 				npc_rel['A29'] -= 10
 				npc_rel['A33'] += 10
+				willpowermax = 120
 				gt 'preCUST', 'SGStart'
 			end
 		end
@@ -941,6 +955,7 @@ if $ARGS[0] = 'charselect':
 				pcs_observ = 20
 				pcs_skin = 10
 				npc_rel['A11'] -= 20
+				willpowermax = 80
 				gt 'preCUST', 'SGStart'
 			end
 		end
@@ -964,6 +979,7 @@ if $ARGS[0] = 'charselect':
 					pcs_lashes = 2
 				end
 				salo = 20
+				willpowermax = 70
 				gt 'preCUST', 'SGStart'
 			end
 		end
@@ -995,6 +1011,7 @@ if $ARGS[0] = 'charselect':
 				npc_rel['A28'] += 10
 				npc_rel['A29'] += 10
 				npc_rel['A11'] -= 20
+				willpowermax = 150
 				gt 'preCUST', 'SGStart'
 			end
 		end
@@ -1061,6 +1078,7 @@ if $ARGS[0] = 'charselect':
 				orgasm = 15
 				swallow = 20
 				trt_cumeater = 1
+				willpowermax = 50
 				gt 'preCUST', 'SGStart'
 			end
 		end

+ 4 - 3
locations/shop.qsrc

@@ -22,6 +22,7 @@ if $shoplocation = 'main':
 	if hour < 8 or hour > 20:
 		'The supermarket is currently closed.'
 
+		if $loc = 'shop': $loc = $loc_bak
 		act 'Leave the store':minut += 3 & gt $loc
 		exit
 	end
@@ -378,13 +379,13 @@ if $shoplocation = 'clothing':
 				'Coat 1'
 				func('$clothing_name', 'coat', 1)
 				if CloInhibit > pcs_inhib:'You don''t feel daring enough to buy an outfit this revealing.'
-				'Costs 5,000 <b>₽</b>.'
+				'Costs 1,400 <b>₽</b>.'
 
 				act 'Leave':gt 'shop'
-				if money >= 5000 and CloInhibit <= pcs_inhib:
+				if money >= 1400 and CloInhibit <= pcs_inhib:
 					act 'Buy':
 						cla
-						money -= 5000
+						money -= 1400
 						coat[1] = 1
 						coatH[1] = 60
 						gt 'shop', '<font color="green">You bought <b>coat 1</b>.</font>'

+ 41 - 0
locations/spellTeleport.qsrc

@@ -0,0 +1,41 @@
+#spellTeleport
+! Do the stuff of a Teleport
+!	ARGS[0] = the Target Location
+
+$NewLocation = $ARGS[0]
+
+:RandLocLoop
+$randomLoc = $tpLocations[rand(0,arrsize($tpLocations) - 1)]
+if $randomLoc = $NewLocation or $randomLoc = $EntryPoint:
+	jump 'RandLocLoop'
+end
+
+didItWork = func("castSpell", "teleport")
+
+if didItWork > 0:
+	*nl
+	"The blur you see just outside the ring seems to shift."
+	wait 1000
+	if $treeCircArg[$NewLocation] = "":
+		gt $treeCircLoc[$NewLocation]
+	else:
+		gt $treeCircLoc[$NewLocation], $treeCircArg[$NewLocation]
+	end
+elseif didItWork < 0:
+	*nl
+	"The blur you see just outside the ring seems to shift.  Something did not go right!"
+	wait 1000
+	if $treeCircArg[$randomLoc] = "":
+		gt $treeCircLoc[$randomLoc]
+	else:
+		gt $treeCircLoc[$randomLoc], $treeCircArg[$randomLoc]
+	end
+else:
+	'You feel drained, but the energy fizzles out and nothing happens'
+end
+
+killvar '$randomLoc'
+killvar '$NewLocation'
+killvar didItWork
+
+-- spellTeleport ---------------------------------

+ 1 - 1
locations/sportShop.qsrc

@@ -12,7 +12,7 @@ if $ARGS[0] = 'start':
 	'As soon as you enter, a high energy song with a thumping baseline fills your eardrums, making you feeling pumped and awake. The store is sleek and professional, the walls and floors advertising all different kinds of sporting equipment and attire. The room is filled with beautifully fit people shopping, their bodies varying from big and muscular to lean and trim. If they don''t inspire you to want to work out, the posters advertising past and present famous athletes is motivating as hell.'
 	*nl
 	if refillable_bottle = 0 and money >= 1000 and bag > 0: 
-		'You can buy a high-quality <a href="exec:minut += 5 & money -= 1000 & refillable_bottle = 1 & gt ''sportShop'', ''start''">water bottle</a> that you can carry around in your purse.'
+		'You could buy a high-quality <a href="exec:minut += 5 & money -= 1000 & refillable_bottle = 1 & gt ''sportShop'', ''start''">water bottle (1000 <b>₽</b>)</a> that you can carry around in your purse.'
 	elseif refillable_bottle = 0 and (money < 1000 or bag = 0):
 		'The shop sells high-quality water bottles for 1,000 <b>₽</b>. You could carry one around in '+iif(bag > 0, 'your', 'a')+' purse.'
 	end

+ 10 - 7
locations/stat.qsrc

@@ -192,12 +192,11 @@ elseif pcs_inhib > 100:
 end
 
 healthmax = (pcs_vital * 10 + pcs_stren * 5)
-willpowermax = (pcs_intel * 5 + pcs_sprt * 5)
 stammax = 5 * (2 * pcs_vital + pcs_agil + pcs_stren) / 2
 mannamax = (pcs_intel * pcs_magik) + pcs_magik * 100 + pcs_vital * 10 + rikudo
 speed = (2 * (pcs_stren + pcs_agil) + pcs_vital) / 5
 if healthmax < 1: healthmax = 1
-if willpowermax < 1: willpowermax = 1
+if willpowermax < 50: willpowermax = 50
 if stammax < 1: stammax = 1
 if mannamax < 1: mannamax = 1
 
@@ -424,6 +423,10 @@ if minut >= 60:
 		pcs_sleep -= 4
 	end
 
+	pcs_willpwr += willpowermax/50
+	if pcs_willpwr > willpowermax: pcs_willpwr = willpowermax
+	if pcs_willpwr < 20: will_degrade += 1
+	if will_degrade >= 20: willpowermax -= 1 & will_degrade = 0
 	if pcs_stam > stammax: pcs_stam = stammax
 
 	gs 'femcyc'
@@ -935,15 +938,15 @@ else
 end
 
 if pcs_willpwr >= willpowermax:
-	$pcs_willpwr = '<font color="green">Your mind is clear.</font>'
+	$pcs_willpwr = '<font color="green">You feel in charge of your actions.</font>'
 elseif pcs_willpwr >= willpowermax * 75 / 100:
-	$pcs_willpwr = '<font color=#0064FF>You are mostly clear of mind.</font>'
+	$pcs_willpwr = '<font color=#0064FF>You are mostly in control.</font>'
 elseif pcs_willpwr >= willpowermax * 50 / 100:
-	$pcs_willpwr = '<font color="brown">You are depressed.</font>'
+	$pcs_willpwr = '<font color="brown">You might have to make some concessions.</font>'
 elseif pcs_willpwr >= willpowermax * 25 / 100:
-	$pcs_willpwr = '<font color="red">You have depression.</font>'
+	$pcs_willpwr = '<font color="red">You will have to toe the line.</font>'
 else
-	$pcs_willpwr = '<font color="red">You are on the verge of madness.</font>'
+	$pcs_willpwr = '<font color="red">You are completely at our people''s mercy.</font>'
 end
 
 !!stop auto birth control pill taking if the player believes they are pregnant or are pregnant

+ 1 - 1
locations/street.qsrc

@@ -68,7 +68,7 @@ housrA = 0
 if car > 0 and cardrive = 1: 'In the parking lot is <a href="exec:GS ''carF'', ''start''">your <<$car>></a>.'
 
 if home_owned[1] > 0:
-	act '<b>GO HOME</b>':
+	act '<b>Go home</b>':
 		gorand = rand(0, 100)
 
 		if (loh > 0 or gnewQW = 7) and gopdolg > 0 and hour >= 20 and gorand >= 80:

+ 0 - 7
locations/swamphouse.qsrc

@@ -46,13 +46,6 @@ if $ARGS[0] = 'start' or $ARGS[0] = '':
 		'The hunters aren''t here right now'
 	end
 
-	if hour >= 8 and hour < 20: 
-		gs 'swamp_yard', 'daytime_flavor_events'
-	else
-		gs 'swamp_yard', 'nighttime_flavor_events'
-	end
-
-
 	*nl
 	
 	act 'Go outside':

+ 26 - 0
locations/treeCircActs.qsrc

@@ -0,0 +1,26 @@
+#treeCircActs
+! Handles making Action Entries for Different Tree Circle Entry Points
+!	Call as a GoSub with ARGS:
+!	ARGS[0] = Location Identifier	['CentralPark']
+!	ARGS[1] = Localtion Label		['Central Park']
+!	ARGS[2] = location leaving to	['park']
+!	ARGS[3] = parameter for prev	['start']
+
+
+
+if $EntryPoint = $ARGS[0]:
+	act 'Leave the circle to <<$treeCircName[$ARGS[0]]>>':
+		if $treeCircArg['<<$ARGS[0]>>'] = '':
+			gt $treeCircLoc['<<$ARGS[0]>>']
+		else:
+			gt $treeCircLoc['<<$ARGS[0]>>'], $treeCircArg['<<$ARGS[0]>>']
+		end
+	end
+else:
+	if canTeleport = 1 and tpKnown[$ARGS[0]] = 1:
+		$dynAction = "act 'Will yourself to <<$treeCircName[$ARGS[0]]>>': gs 'spellTeleport', '<<$ARGS[0]>>'"
+		dynamic $dynAction
+	end
+end
+
+--- treeCircActs ---------------------------------

+ 89 - 0
locations/treeCircle.qsrc

@@ -0,0 +1,89 @@
+#treeCircle
+! The Magical Teleport Tree Circle
+!
+! ARGS[0] is your entrance point as those listed below.  If the user doesn''t have the magical ability,
+!		they will only be allowed to leave back from their entry point.
+
+! Locations
+$tpLocations[0] = 'CentralPark'
+$tpLocations[1] = 'PavlovskPark'
+$tpLocations[2] = 'GadForest'
+$tpLocations[3] = 'PushkinPark'
+$tpLocations[4] = 'Village'
+
+! Build Info Arrays for Locations
+!	treeCircName = The Pretty Name of the Location
+!	treeCircLoc  = The Location to send the user to when leaving Circle
+!	treeCircArg  = An argument to get the user to the right spot in the location.
+!Central Park Location
+$treeCircName['CentralPark'] = 'Central Park'
+$treeCircLoc['CentralPark'] = 'park'
+$treeCircArg['CentralPark'] = 'start'
+!Pavlovsk Park Location
+$treeCircName['PavlovskPark'] = 'Pavlovsk Park'
+$treeCircLoc['PavlovskPark'] = 'placer_gskver'
+$treeCircArg['PavlovskPark'] = ''
+!Gadukino Forest Location
+$treeCircName['GadForest'] = 'Gadukino Forest'
+$treeCircLoc['GadForest'] = 'gadforest'
+$treeCircArg['GadForest'] = '1'
+!Pushkin Park Location
+$treeCircName['PushkinPark'] = 'Pushkin Park'
+$treeCircLoc['PushkinPark'] = 'lug'
+$treeCircArg['PushkinPark'] = 'prut2'
+!Communal Village Spring Location
+$treeCircName['Village'] = 'Communal Village Spring'
+$treeCircLoc['Village'] = 'etoexhib'
+$treeCircArg['Village'] = 'pos6'
+
+$EntryPoint = $ARGS[0]
+
+*clr & cla
+
+'<center><h2>Mysterious Circle of Trees</h2></center>'
+'<center><img <<$set_imgh>> src="images/locations/shared/park/tree_circle.jpg"></center>'
+
+'The small clearing in the center of the tree circle is two body lengths wide.  The ground is covered with a soft, sponging moss.  Everything is surprisingly visible considering you cna barely see the sky through the overhead cover of leaves and branches.  As you look to the outside of the circle, everything seems to be vague and indistinct.  This makes it hard to comprehend what lies outside the ring.'
+*nl
+
+! Determine if this user can teleport at all.
+canTeleport = 0
+if spellKnown['teleport'] = 1:
+	'You take the Fairy''s advice and get to know this Circle.'
+	minut += 15
+	if pcs_manna > spellMana['teleport']:
+		canTeleport = 1
+	else:
+		*nl
+		'You feel too tired to pull off a shift right now.'
+	end
+else:
+	'You can feel something strange and powerful in this place, but you can''t quite put your finger on it.  It is intriguing, though, so you take your time and loook the place over to try to understand it.'
+	minut += 15
+end
+
+! Learn the current entry point
+tpKnown[$EntryPoint] = 1
+
+! Setup Actions for locations when applicable
+i = 0
+:LocLoop
+if i < ARRSIZE('$tpLocations'):
+	gs 'treeCircActs', $tpLocations[i]
+	i += 1
+	jump 'LocLoop'
+end
+killvar 'i'
+
+act 'Masturbate to clear your head.':
+	*nl
+	'<center><video autoplay loop src="images/locations/shared/park/tree_masturb.mp4"></center>'
+	*nl
+	'That''s better!'
+	orgasm_or = 'yes'
+	gs 'arousal', 'masturbate', 15
+	gs 'arousal', 'end'
+	gs 'stat'
+end
+
+--- treeCircle ---------------------------------

+ 267 - 0
locations/willpower.qsrc

@@ -0,0 +1,267 @@
+# willpower
+
+!!To use call with gs 'willpower', '<type>'
+!!type is the nature of the demand and can be any of the following:
+!!
+!!Sex acts, this is for the cost to refuse advances or force another to partake
+!!'hj', 'bj', 'sex', 'anal', 'gangbang', 'prostitution', 'swallow', 'cum_inside'
+!!Bridging a gap in skill, for succeeding when not quite meeting the required skill/attribute, must include skill with _lvl postfix in $ARGS[1]
+!!'skill'
+!!Standing up to unwanted sex
+!!'rape'
+!!Refusing peer pressure
+!!'drink', 'drugs', 'crime', 'exhib'
+!!Forcing Sveta to stay awake
+!!'sleep'
+!!The value returned as will_cost can be used to inform the player of cost and limit actions
+!!To apply the cost just call gs 'willpower', 'resist' or gs 'willpower', 'force'
+!!Force is for Sveta forcing someone else and will slowly increase the will stat, otherwise its the same as resist
+
+if $ARGS[0] = 'calc':
+	gs 'willpower', 'dnd'
+	will_calc = will_dnd
+!!fatigue
+	if pcs_sleep < 5:
+		will_calc += 50
+	elseif pcs_sleep < 10:
+		will_calc += 25
+	elseif pcs_sleep < 20:
+		will_calc += 10
+	elseif pcs_sleep < 30:
+		will_calc += 5
+	end
+!!hunger
+	if pcs_energy < 5:
+		will_calc += 50
+	elseif pcs_energy < 10:
+		will_calc += 25
+	elseif pcs_energy < 20:
+		will_calc += 10
+	elseif pcs_energy < 30:
+		will_calc += 5
+	end
+!!thirst
+	if pcs_hydra < 5:
+		will_calc += 50
+	elseif pcs_hydra < 10:
+		will_calc += 25
+	elseif pcs_hydra < 20:
+		will_calc += 10
+	elseif pcs_hydra < 30:
+		will_calc += 5
+	end
+!!Very horny
+	if pcs_horny >= 90: will_calc += 10
+!!Bad syphilis, you is mental
+	if Sifilis >= 50: will_calc += 100
+!!feeling sick
+	if sick > 72:
+		will_calc += 35
+	elseif sick > 48:
+		will_calc += 20
+	elseif sick > 24:
+		will_calc += 10
+	elseif sick > 1:
+		will_calc += 5
+	end
+
+end
+
+if $ARGS[0] = 'hj':
+	gs 'willpower', 'calc'
+	will_cost = 0
+	if stat['hj'] <= 90:
+		will_cost = ((100 - stat['hj']) + will_calc)/10
+	else
+		will_cost = (10 + will_calc)/10
+	end
+end
+
+if $ARGS[0] = 'bj':
+	gs 'willpower', 'calc'
+	will_cost = 0
+	if missCum >= timeTresh: will_calc += 100
+	if stat['bj'] <= 90:
+		will_cost = ((100 - stat['bj']) + will_calc)/10
+	else
+		will_cost = (10 + will_calc)/10
+	end
+end
+	
+if $ARGS[0] = 'sex':
+	gs 'willpower', 'calc'
+	will_cost = 0
+	if stat['vaginal'] <= 90:
+		will_cost = ((100 - stat['vaginal']) + will_calc)/10
+	else
+		will_cost = (10 + will_calc)/10
+	end
+end
+	
+if $ARGS[0] = 'anal':
+	gs 'willpower', 'calc'
+	will_cost = 0
+	if missCum >= timeTresh: will_calc += 100
+	if stat['anal'] <= 90:
+		will_cost = ((100 - stat['anal']) + will_calc)/10
+	else
+		will_cost = (10 + will_calc)/10
+	end
+end
+	
+if $ARGS[0] = 'gangbang':
+	gs 'willpower', 'calc'
+	will_cost = 0
+	if missCum >= timeTresh: will_calc += 100
+	if stat['group'] <= 90:
+		will_cost = ((100 - stat['group']) + will_calc)/10
+	else
+		will_cost = (10 + will_calc)/10
+	end
+end
+	
+if $ARGS[0] = 'prostitution':
+	gs 'willpower', 'calc'
+	will_cost = 0
+	if missCum >= timeTresh: will_calc += 100
+	prost_will = pav_prostitute + city_prostitute + oldtown_prostitute + village_prostitute
+	if prost_will <= 90:
+		will_cost = ((100 - prost_will) + will_calc)/10
+	else
+		will_cost = (10 + will_calc)/10
+	end
+end
+	
+if $ARGS[0] = 'swallow':
+	gs 'willpower', 'calc'
+	will_cost = 0
+	if trt_cumeater = 0:
+		will_cost = (100 + will_calc)/10
+	else
+		will_cost = (10 + will_calc)/10
+	end
+end
+
+!! no stat for this currently so just a baseline figure and reduction if cum already inside
+if $ARGS[0] = 'cum_inside':
+	gs 'willpower', 'calc'
+	will_cost = 0
+	if missCum >= timeTresh: will_calc += 100
+	if cumloc[0] <= 0:
+		will_cost = (100 + will_calc)/10
+	else
+		will_cost = (10 + will_calc)/10
+	end
+end
+
+!! requires the skill to be named with the _lvl postfix
+if $ARGS[0] = 'skill':
+	gs 'willpower', 'calc'
+	will_cost = 0
+	dynamic 'will_cost = <<$ARGS[1]>> + will_calc)/10'
+end
+	
+if $ARGS[0] = 'rape':
+	gs 'willpower', 'calc'
+	will_cost = 0
+	if missCum >= timeTresh: will_calc += 100
+	if stat['bj'] <= 90:
+		will_cost = ((100 - stat['bj']) + will_calc)/10
+	else
+		will_cost = (10 + will_calc)/10
+	end
+end
+
+if $ARGS[0] = 'drink':
+	gs 'willpower', 'calc'
+	will_cost = 0
+	if alko > 10:
+		will_cost = (60 + will_calc)/10
+	elseif alko > 6:
+		will_cost = (100 + will_calc)/10
+	elseif alko > 3:
+		will_cost = (80 + will_calc)/10
+	end
+end
+
+!!Drug needs already included in the will_calc so just a small base cost here
+if $ARGS[0] = 'drugs':
+	gs 'willpower', 'calc'
+	will_cost = 0
+	will_cost = (20 + will_calc)/10
+end
+
+!!There is no related stat so just a base cost of 6
+if $ARGS[0] = 'crime':
+	gs 'willpower', 'calc'
+	will_cost = 0
+	will_cost = (60 + will_calc)/10
+end
+
+if $ARGS[0] = 'exhib':
+	gs 'willpower', 'calc'
+	will_cost = 0
+	if stat['bj'] <= 90:
+	if Exhibitionist_lvl = 3:
+		will_cost = (0 + will_calc)/10
+	elseif Exhibitionist_lvl = 2:
+		will_cost = (1 + will_calc)/10
+	elseif Exhibitionist_lvl = 1:
+		will_cost = (2 + will_calc)/10
+	elseif pcs_inhib > 70:
+		will_cost = (3 + will_calc)/10
+	else
+		will_cost = (100 - pcs_inhib + will_calc)/10
+	end
+end
+
+!!this is to force you to stay wake so will cost nothing if you have more than 5 sleep, it has no base cost as there will always be a sleep cost in calc
+if $ARGS[0] = 'sleep':
+	gs 'willpower', 'calc'
+	will_cost = 0
+	if pcs_sleep <= 5: will_cost = will_calc/10
+end
+
+!!modifiers for drink an drugs
+if $ARGS[0] = 'dnd':
+	will_dnd = 0
+	if alko > 10:
+		will_dnd += 80
+	elseif alko > 6:
+		will_dnd += 40
+	elseif alko > 3:
+		will_dnd += 20
+	end
+
+	!!cigarettes
+	if smokerNeed > 10: will_dnd += 10
+	!!amphetamines
+	if amphWithdrawl > 2:
+		will_dnd += 40
+	elseif amphHigh > 0:
+		will_dnd += 60
+	end
+	!!heroine
+	if SLomka > 0:
+		will_dnd += 80
+	elseif StrongNarkota > 0:
+		will_dnd += 50
+	end
+	!!cocaine
+	if narkoman = 1:
+		will_dnd += 40
+	elseif nark < 0:
+		will_dnd -= 20
+	end
+end
+
+if $ARGS[0] = 'resist': pcs_willpwr -= will_cost
+
+if $ARGS[0] = 'force':
+	pcs_willpwr -= will_cost
+	will_counter += 1
+	if will_counter > 10: pcs_will += 1
+end
+
+--- willpower ---------------------------------
+