Browse Source

Merge remote-tracking branch 'Blatte/master'

KevinSmarts 5 years ago
parent
commit
36653c1ab8

+ 77 - 32
locations/Komp.qsrc

@@ -154,7 +154,7 @@ if $ARGS[0] = 'porno':
 			'<center><img <<$set_imgh>> src="images/shared/accessories/computer/porno.jpg"></center>'
 			'You find a video you think you''d enjoy, and spend some time watching it. Wow, that girl is so lucky...'
 
-			gs 'arousal', 'porn', 60
+			gs 'arousal', 'voyeur_sex', 60
 			gs 'stat'
 
 			act 'The video ends...':gt 'Komp', 'porno'
@@ -187,7 +187,7 @@ if $ARGS[0] = 'masturbate':
 	gs 'stat'
 
 	if pcs_horny >= 100:
-		$orgasm_or = 'custom'
+		$orgasm_or = 'yes'
 		$orgasm_txt = 'Suddenly your muscles tighten and you cum powerfully, while you stifle your moans so your neighbours won''t find out. Afterwards, you have goosebumps all over your skin. That was just what you needed!'
 	end
 
@@ -1013,11 +1013,18 @@ if $ARGS[0] = 'waitclients':
 
 			act 'Continue':gt 'Komp','waitclients'
 		end
-		act 'Refuse to take off your bra':
-			cls
-			webpopular -= 1
-			gt 'Komp','waitclients'
-		end
+		gs 'willpower', 'exhib', 'resist', 'hard'
+		if will_cost <= pcs_willpwr:
+			act 'Refuse to take off your bra (<<will_cost>> Willpower)':
+				cls
+				webpopular -= 1
+				gs 'willpower', 'pay', 'resist'
+				gs 'stat'
+				gt 'Komp','waitclients'
+			end
+		else
+			act 'Refuse to take off your bra (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
+		end	
 	end
 	if backmfc = 1 and clientask >= 96 and clientask < 98:
 		cls
@@ -1047,11 +1054,19 @@ if $ARGS[0] = 'waitclients':
 
 			act 'Continue':gt 'Komp','waitclients'
 		end
-		act 'Refuse to take off your panties':
-			cls
-			webpopular -= 1
-			gt 'Komp','waitclients'
-		end
+		
+		gs 'willpower', 'exhib', 'resist', 'hard'
+		if will_cost <= pcs_willpwr:
+			act 'Refuse to take off your panties (<<will_cost>> Willpower)':
+				cls
+				webpopular -= 1
+				gs 'willpower', 'pay', 'resist'
+				gs 'stat'
+				gt 'Komp','waitclients'
+			end
+		else
+			act 'Refuse to take off your panties (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
+		end	
 	end
 	if topmfc = 0 and clientask >= 94 and clientask < 96:
 		cls
@@ -1080,11 +1095,18 @@ if $ARGS[0] = 'waitclients':
 
 			act 'Continue':gt 'Komp','waitclients'
 		end
-		act 'Refuse to play with your boobs':
-			cls
-			webpopular -= 1
-			gt 'Komp','waitclients'
-		end
+		gs 'willpower', 'exhib', 'resist', 'hard'
+		if will_cost <= pcs_willpwr:
+			act 'Refuse to play with your boobs (<<will_cost>> Willpower)':
+				cls
+				webpopular -= 1
+				gs 'willpower', 'pay', 'resist'
+				gs 'stat'
+				gt 'Komp','waitclients'
+			end
+		else
+			act 'Refuse to play with your boobs (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
+		end	
 	end
 	if backmfc = 0 and clientask = 93:
 		cls
@@ -1120,11 +1142,19 @@ if $ARGS[0] = 'waitclients':
 			end
 			act 'Continue':gt 'Komp','waitclients'
 		end
-		act 'Ignore him':
-			cls
-			webpopular -= 1
-			gt 'Komp','waitclients'
-		end
+		
+		gs 'willpower', 'exhib', 'resist', 'hard'
+		if will_cost <= pcs_willpwr:
+			act 'Ignore him (<<will_cost>> Willpower)':
+				cls
+				webpopular -= 1
+				gs 'willpower', 'pay', 'resist'
+				gs 'stat'
+				gt 'Komp','waitclients'
+			end
+		else
+			act 'Ignore him (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
+		end	
 	end
 	if backmfc = 0 and clientask = 92:
 		cls
@@ -1171,11 +1201,18 @@ if $ARGS[0] = 'waitclients':
 
 			act 'Continue':gt 'Komp','waitclients'
 		end
-		act 'Ignore him':
-			cls
-			webpopular -= 1
-			gt 'Komp','waitclients'
-		end
+		gs 'willpower', 'exhib', 'resist', 'hard'
+		if will_cost <= pcs_willpwr:
+			act 'Ignore him (<<will_cost>> Willpower)':
+				cls
+				webpopular -= 1
+				gs 'willpower', 'pay', 'resist'
+				gs 'stat'
+				gt 'Komp','waitclients'
+			end
+		else
+			act 'Ignore him (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
+		end	
 	end
 	if backmfc = 0 and pcs_ass >= 30 and webpopular >= 50 and clientask = 91:
 		cls
@@ -1235,10 +1272,18 @@ if $ARGS[0] = 'waitclients':
 			end
 			act 'Continue':gt 'Komp','waitclients'
 		end
-		act 'Ignore him':
-			cls
-			gt 'Komp','waitclients'
-		end
+		gs 'willpower', 'exhib', 'resist', 'hard'
+		if will_cost <= pcs_willpwr:
+			act 'Ignore him (<<will_cost>> Willpower)':
+				cls
+				webpopular -= 1
+				gs 'willpower', 'pay', 'resist'
+				gs 'stat'
+				gt 'Komp','waitclients'
+			end
+		else
+			act 'Ignore him (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
+		end	
 	end
 
 	if webpopular >= 15 and pcs_ass >= 15 and clientask = 89:
@@ -1450,7 +1495,7 @@ if $ARGS[0] = 'waitclients':
 				mfccum += 1
 				pcs_mood = 100
 				gs 'stat'
-				$orgasm_or = 'custom'
+				$orgasm_or = 'yes'
 				$orgasm_txt = 'It feels too good to stop! Before you know it, your fingers are repeatedly penetrating your ass and you moan excitedly, barely keeping yourself from screaming. You just had an anal orgasm in front of <<camclients>> users, completely free of charge! Oops...'
 				gs 'stat'
 			end

+ 28 - 12
locations/LCporn.qsrc

@@ -27,17 +27,23 @@ if $ARGS[0] = 'firsttime':
 
 		act 'Get dressed again':gt 'Lakecafe', 'main'
 	end
+	
+	gs 'willpower', 'sex', 'resist', 'hard'
+	if will_cost <= pcs_willpwr:
+		act 'Get out of here (<<will_cost>> Willpower)':
+			*clr & cla
+			npc_rel['A89'] -= 10
+			minut += 7
+			gs 'willpower', 'pay', 'resist'
+			gs 'stat'
+			'No, no! You quickly squirm past Eugene and leave the pantry, and don''t stop walking until you''re well away from the diner.'
+			LCEugenefirst = 0
 
-	act 'Get out of here':
-		*clr & cla
-		npc_rel['A89'] -= 10
-		minut += 7
-		gs 'stat'
-		'No, no! You quickly squirm past Eugene and leave the pantry, and don''t stop walking until you''re well away from the diner.'
-		LCEugenefirst = 0
-
-		act 'Continue':gt 'nord'
-	end
+			act 'Continue':gt 'nord'
+		end
+	else
+		act 'Get out of here (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
+	end	
 end
 
 if $ARGS[0] = 'sex':
@@ -56,11 +62,14 @@ if $ARGS[0] = 'sex':
 		'Eugene grins at you and says: "I was hoping you''d say that. Come on, let me help you."'
 		'She helps you take your clothes off, and lies down on the mattress with you. She slips her <<dick>>cm <<$dick_girth>> dick into your pussy and starts to fuck you. She spends time rubbing your clit while she fucks you, to keep you nice and wet.'
 		gs 'dinsex', 'boy_puts_his_condom'
-		gs 'dinsex','vaginal_sex',40,'futa'
+		gs 'dinsex', 'vaginal_sex', 40, 'futa', 'sub'
 		'Finally, a good half hour after she started fucking your twat, Eugene finally lets out a loud girly groan.'
 		gs 'dinsex','sexcum'
 		gs 'stat'
 		'She smiles apologetically at you and begins to get dressed again while she says: "Thanks, <<$pcs_nickname>>! You were great... but I really have to get back to work before someone misses me! We''ve been in here way too long already!"'
+		
+		gs 'arousal', 'end'
+		gs 'stat'
 
 		act 'Get dressed again':gt 'Lakecafe', 'main'
 	end
@@ -80,6 +89,9 @@ if $ARGS[0] = 'sex':
 		facial += 1
 		gs 'stat'
 		'She smiles apologetically at you and begins to get dressed again while she says: "Thanks, <<$pcs_nickname>>! You were great... but I really have to get back to work before someone misses me! We''ve been in here way too long already!"'
+		
+		gs 'arousal', 'end'
+		gs 'stat'
 
 		act 'Get dressed again':gt 'Lakecafe', 'main'
 	end
@@ -104,6 +116,8 @@ if $ARGS[0] = 'sex':
 		gs 'stat'
 		'She smiles apologetically at you and begins to get dressed again while she says: "Thanks, <<$pcs_nickname>>! You were great... but I really have to get back to work before someone misses me! We''ve been in here way too long already!"'
 		gs 'dinsex', 'after_anal','no_plug'
+		gs 'arousal', 'end'
+		gs 'stat'
 		
 		act 'Get dressed again':gt 'Lakecafe', 'main'
 	end
@@ -115,10 +129,12 @@ if $ARGS[0] = 'toiletsex':
 	'<center><img <<$set_imgh>> src="images/locations/city/industrial/bbq/sex/toiletsexend.jpg"></center>'
 	'You come up from behind the man, and suddenly wrap your arms around him. He''s startled for a moment, but relaxes when you whisper: "That''s a nice cock you have there! I bet we could have some fun together, you and I..."'
 	'The man gives you a dirty grin when he feels you wrap your fingers around his cock, but he wants more. He takes you by the hand and guides you to the rear entrance of the diner, into the back alley. He positions you against the dumpsters and eagerly shoves his cock inside you.'
-	gs 'dinsex','vaginal_sex',6,'unknown'
+	gs 'dinsex', 'vaginal_sex', 6, 'unknown'
 	'Not a surprise, he barely lasts any time at all, with in a few minutes he grunts and pulls out of your pussy and shoots his load all over you ass and without a further word he goes back into the cafe.'
 	gs 'cum_call','butt',$boy,1
 	gs 'npccleanc',$npclastgenerated
+	gs 'arousal', 'end'
+	gs 'stat'
 	act 'Return to the restroom':gt 'laketoilet', 'main'
 end
 

+ 21 - 3
locations/Palatka.qsrc

@@ -36,8 +36,17 @@ if $ARGS[0] = 'pal0':
 	gs 'stat'
 	'<center><img <<$set_imgh>> src="images/locations/city/shared/military/sex/pal0.jpg"></center>'
 	'Once you begin to change clothes, you notice that there are two soldiers in the tent. They see you half-naked, walking up to you with their erect cocks. You long for their cocks, wondering if you should get them off or ignore them and relax after a hard day instead.'
-
-	act 'Send':gt 'palatka', 'start'
+	
+	gs 'willpower', 'sex', 'resist', 'hard'
+	if will_cost <= pcs_willpwr:
+		act 'Send (<<will_cost>> Willpower)':
+			gs 'willpower', 'pay', 'resist'
+			gs 'stat'
+			gt 'palatka', 'start'
+		end
+	else
+		act 'Send (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
+	end	
 
 	act 'Post':
 		gs 'npcgeneratec', 0, 'Soldier', rand(18,34)
@@ -59,7 +68,16 @@ if $ARGS[0] = 'pal1':
 	'<center><img <<$set_imgh>> src="images/locations/city/shared/military/pal1.jpg"></center>'
 	'Entering the tent, you stumble, you reflexively close your eyes, as you prepare to hit the floor face first. Much to your surprise you do not land on the floor. Instead you feel powerful, strong hands catching you. Opening your eyes in surprise, you look up and see that a well-built black soldier has caught you in his arms.'
 
-	act 'Say thank you':gt 'palatka', 'start'
+	gs 'willpower', 'sex', 'resist', 'easy'
+	if will_cost <= pcs_willpwr:
+		act 'Say thank you ':
+			gs 'willpower', 'pay', 'resist'
+			gs 'stat'
+			gt 'palatka', 'start'
+		end
+	else
+		act 'Say thank you (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
+	end	
 
 	act 'Repay in full':
 		sexpartkno = 1

+ 11 - 1
locations/StasQW.qsrc

@@ -40,7 +40,17 @@ elseif StasKafe = 1:
 				'<center><img <<$set_imgh>> src="images/characters/city/stas/go.jpg"></center>'
 				'A bit tipsy you are unsteady on your feet. You stumble and nearly fall, but Stas gallantly caught and helps steady you. Making sure you are alright, he helps support you the rest of the walk home. Once you get to your home, he waits at the door expectantly, he clearly expects you to invite him in.'
 
-				act 'To invite':SStip = 0 & gt 'StasSex'
+				gs 'willpower', 'sex', 'self', 'easy'
+				if will_cost <= pcs_willpwr:
+					act 'Invite him in (<<will_cost>> Willpower)':
+						SStip = 0
+						gs 'willpower', 'pay', 'self'
+						gs 'stat'
+						gt 'StasSex'
+					end
+				else
+					act 'Invite him in (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
+				end	
 
 				act 'Say goodbye':
 					cls

+ 1 - 1
locations/StasSex.qsrc

@@ -22,7 +22,7 @@ if SStip = 0:
 
 			'You feel like you almost can''t take the teasing anymore when he fully pushing himself inside of you, his <<dick>>cm <<$dick_girth>> dick fills your pussy up. He gentle fucks you, slowly working himself deeper into you, while he continues to kiss you and kneed your breasts, you moan in deep pleasure as the two of you make love.'
 			gs 'dinsex','vaginal_sex',15,'sub'
-			$orgasm_or = 'custom'
+			$orgasm_or = 'yes'
 			$orgasm_txt = '<<$boydesc>> groans and you feel a jet of sperm spurt inside of your body, followed by several more.'
 			gs 'cum_call','',$boy,1
 			gs 'cuminsidereact',$boydesc

+ 28 - 15
locations/gevent.qsrc

@@ -132,10 +132,6 @@ if $ARGS[0] = '3':
 	*clr & cla
 	menu_off = 1
 	gs 'drugs', 'alcohol', 'vodka', 3
-	minut += 120
-	stat['bj'] += 3
-	stat['anal'] += 3
-	stat['vaginal'] += 3
 	pcs_vag += 3
 	pcs_ass += 3
 	pcs_throat += 3
@@ -162,6 +158,13 @@ if $ARGS[0] = '3':
 	gs 'stat'
 	'<center><img <<$set_imgh>> src="images/locations/pavlovsk/park/sex/3.jpg"></center>'
 	'You go with the Armenian to his home nearby. In the apartment there are two more guys, also Armenians. They speak to each other in their own language, while drinking alot of alcohol. You don''t realise just how strong it is until you are completely wasted, then they strip and fuck you, taking turns in all of your holes, finishing inside and all over you, all the while they are filming with there phones. Finally, when they are spent and bored of you, they kicked you out of the apartment.'
+	
+	gs 'arousal', 'bj', 50, 'rough', 'rape', 'humiliation', 'group'
+	gs 'arousal', 'vaginal', 50, 'rough', 'rape', 'humiliation', 'group'
+	gs 'arousal', 'anal', 50, 'rough', 'rape', 'humiliation', 'group'
+	minut -= 50
+	gs 'arousal', 'end'
+	gs 'stat'
 
 	act 'Continue':gt 'pavResidential'
 end
@@ -171,16 +174,18 @@ if $ARGS[0] = '4':
 	menu_off = 1
 	guy += 1
 	gs 'drugs', 'alcohol', 'vodka'
-	stat['vaginal'] += 1
 	pcs_vag += 1
 	cumprecheck = 1
 	gs 'cum_manage'
 	spafinloc = 4
 	gs 'cum_manage'
-	minut += 50
 	gs 'stat'
 	'<center><img <<$set_imgh>> src="images/locations/pavlovsk/park/sex/4.jpg"></center>'
 	'You accompany the guy to his house, where you enjoy a few beverages with him. A while later you find yourself on your back, getting pounded by this stranger. He rides you with his hairy body and pulls out right before he orgasms, draping his load all over your buttocks. Not bothering to clean it up, you simply get dressed. You sit back down and chat with him for a while, drinking some tea in an attempt to sober up before leaving. You still feel rather drunk when you close the door behind you, returning to the streets.'
+	
+	gs 'arousal', 'vaginal', 20, 'humiliation'
+	gs 'arousal', 'end'
+	gs 'stat'
 
 	act 'Return to Pavlovsk':gt 'pavResidential'
 end
@@ -189,13 +194,11 @@ if $ARGS[0] = '5':
 	*clr & cla
 	menu_off = 1
 	guy += 1
-	stat['vaginal'] += 1
 	pcs_vag += 1
 	cumprecheck = 1
 	gs 'cum_manage'
 	spafinloc = 4
 	gs 'cum_manage'
-	minut += 15
 	money += 100
 	slutty += 1
 	pav_prostitute += rand(2,4)
@@ -203,6 +206,10 @@ if $ARGS[0] = '5':
 	'<center><img <<$set_imgh>> src="images/locations/pavlovsk/park/sex/5.jpg"></center>'
 	'The guy quickly pulls you into the bushes, separated enough from the main roads to get a quick fuck in without being noticed. Not even bothering to undress you, he simply pulls your clothes to the side and thrusts his dick inside you. Within minutes, his breathing grows heavier and he growls as he shoots his load onto your ass cheeks. He pants: "Nice, babe... you''re definitely worth the money", as he hands you 100 <b>₽</b> and leaves.'
 
+	gs 'arousal', 'vaginal', 15, 'prostitution'
+	gs 'arousal', 'end'
+	gs 'stat'
+	
 	act 'Straighten your clothes':gt 'pavResidential'
 end
 
@@ -210,13 +217,9 @@ if $ARGS[0] = '6':
 	*clr & cla
 	menu_off = 1
 	gs 'cikl'
-	hour = 12
-	minut = 17
 	pav_sex += rand(8,16)
 	guyondisco = rand(5, 10)
 	guy += guyondisco
-	stat['bj'] += guyondisco
-	stat['vaginal'] += guyondisco
 	pcs_vag += guyondisco
 	pcs_throat += guyondisco
 	gang += 1
@@ -258,6 +261,12 @@ if $ARGS[0] = '6':
 	'Taking their turns fucking your mouth and pussy mercilessly, some even came back for seconds while one of them made sure to capture all of it on camera. The last thing you remember is him taking some close-ups of your cum-covered face, saying: "Man look at this whore, no inhibitions whatsoever! This video is going to be a huge hit on the internet!"'
 	'By the time you wake up again it''s the middle of the next day, and you are lying naked in a ditch somewhere just outside of town, covered in semen. Luckily they were decent enough to at least give you your clothes back, which you find in a pile next to you with your other belongings. As you quickly get dressed you silently pray they reconsidered and didn''t share the video, but at the same time know better. As you make your way back to Pavlovsk you realize this probably hurt your reputation in town as a result, since many people will have seen the video by now.'
 
+	gs 'arousal', 'bj', 600, 'rough', 'rape', 'humiliation', 'group'
+	gs 'arousal', 'vaginal', 600, 'rough', 'rape', 'humiliation', 'group'
+	minut -= 600
+	gs 'arousal', 'end'
+	gs 'stat'
+	
 	act 'Return to the Pavlovsk streets':gt 'pavResidential'
 end
 
@@ -265,9 +274,6 @@ if $ARGS[0] = '7':
 	*clr & cla
 	menu_off = 1
 	guy += 2
-	stat['anal'] += 2
-	stat['bj'] += 2
-	stat['vaginal'] += 2
 	pcs_vag += 2
 	pcs_ass += 2
 	pcs_throat += 2
@@ -288,6 +294,13 @@ if $ARGS[0] = '7':
 	'<center><img <<$set_imgh>> src="images/locations/pavlovsk/park/sex/7.jpg"></center>'
 	'The guys bring you back to their apartment, where they swiftly strip you of your clothes and subsequently fuck you in all holes, taking turns spitroasting you. When they''re close to cumming, they force you down on your knees and they both release their loads onto your face. Before you even get a chance to wash up they kick you out, leaving you to get dressed on the streets. You desperately grab your clothes from the ground and quickly hide behind a car as you put them on, hoping no random passers-by spotted you. One of the guys is watching you through the window the whole time, and you can hear his laughter while you run away as quickly as you can.'
 
+	gs 'arousal', 'bj', 50, 'rough', 'rape', 'humiliation', 'group'
+	gs 'arousal', 'vaginal', 50, 'rough', 'rape', 'humiliation', 'group'
+	gs 'arousal', 'anal', 50, 'rough', 'rape', 'humiliation', 'group'
+	minut -= 50
+	gs 'arousal', 'end'
+	gs 'stat'
+	
 	act 'Return to the Pavlovsk streets':gt 'pavResidential'
 end
 

+ 245 - 115
locations/gopnew.qsrc

@@ -34,33 +34,56 @@ if $ARGS[0] = 'start0':
 	'Once they notice you walking into their alley, one of them steps towards you. He gives you a toothy grin as he says: "Hey babe! Want to come hang out with us? We have beer!"'
 
 	act 'Have a beer with them':gt 'gopnew', 'pivas'
-
-	act 'Decline and walk away':
-		cla
-		'You wordlessly shake your head and keep walking, hoping he''ll get the message and leave you alone. He''s not giving up that easily though, and follows you.'
-		'"Come on, babe! Relax! We''re decent guys, you don''t have to be scared around us! We just want to have a good time!" he reassures you. He seems fairly genuine in his offer.'
-
-		act 'Agree to have a beer with them':gt 'gopnew', 'pivas'
-		act 'Decline again, more clearly this time':
+	
+	gs 'willpower', 'drink', 'resist', 'medium'
+	if will_cost <= pcs_willpwr:
+		act 'Decline and walk away (<<will_cost>> Willpower)':
 			cla
-			*clr
-			'"I have no intentions of drinking beer with you. Leave me alone!" you snap at the guy.'
-			'He squints his eyes angrily and shouts: "What!? Are you one of those snobs who look down on us? What the fuck is your problem?"'
-			'The Gopniks are often looked down upon by others, and this guy is taking it very personally that you keep refusing his offer. He''s starting to get mad at you.'
-
+			gs 'willpower', 'pay', 'resist'
+			gs 'stat'
+			'You wordlessly shake your head and keep walking, hoping he''ll get the message and leave you alone. He''s not giving up that easily though, and follows you.'
+			'"Come on, babe! Relax! We''re decent guys, you don''t have to be scared around us! We just want to have a good time!" he reassures you. He seems fairly genuine in his offer.'
+		end
+		
+		act 'Agree to have a beer with them':gt 'gopnew', 'pivas'
+		
+		gs 'willpower', 'drink', 'resist', 'medium'
+		if will_cost <= pcs_willpwr:
+			act 'Decline again, more clearly this time (<<will_cost>> Willpower)':
+				cla & *clr
+				gs 'willpower', 'pay', 'resist'
+				gs 'stat'
+				'"I have no intentions of drinking beer with you. Leave me alone!" you snap at the guy.'
+				'He squints his eyes angrily and shouts: "What!? Are you one of those snobs who look down on us? What the fuck is your problem?"'
+				'The Gopniks are often looked down upon by others, and this guy is taking it very personally that you keep refusing his offer. He''s starting to get mad at you.'
+			end
+			
 			act 'Agree to have a beer after all':gt 'gopnew', 'pivas'
-
-			act 'Push him away and swear at him':
-				cla
-				'"Leave me the fuck alone!" you scream at the hoodlum, and push him away. He won''t let you leave though, and blocks the exit while he grabs you by the arm.'
-				'"All I wanted to do was be nice, and you had to go and be a rude bitch! You''re coming with me, now!" he shouts angrily. All the kindness is gone from his eyes, and he looks like he won''t hesitate to use violence if you don''t do as he says.'
-				'His friends look at the two of you intently now, also upset that you won''t join them. They''ll definitely help their friend, if you try to fight him... there''s no way you can take all three of them on.'
-
-				act 'Try to squirm free and run away':
+			
+			gs 'willpower', 'drink', 'resist', 'medium'
+			if will_cost <= pcs_willpwr:
+				act 'Push him away and swear at him (<<will_cost>> Willpower)':
 					cla
-					'You do your best to wrestle yourself free and run for it, but the guy doesn''t let you escape and gives you a resolving punch in the face. While you try to shake off the dizziness, he and his friends drag you further into the alley. At the back end, they roughly push you against a wall.'
+					gs 'willpower', 'pay', 'resist'
+					gs 'stat'
+					'"Leave me the fuck alone!" you scream at the hoodlum, and push him away. He won''t let you leave though, and blocks the exit while he grabs you by the arm.'
+					'"All I wanted to do was be nice, and you had to go and be a rude bitch! You''re coming with me, now!" he shouts angrily. All the kindness is gone from his eyes, and he looks like he won''t hesitate to use violence if you don''t do as he says.'
+					'His friends look at the two of you intently now, also upset that you won''t join them. They''ll definitely help their friend, if you try to fight him... there''s no way you can take all three of them on.'
+				end
+				
+				gs 'willpower', 'rape', 'resist', 'hard'
+				if will_cost <= pcs_willpwr:
+					act 'Try to squirm free and run away (<<will_cost>> Willpower)':
+						cla
+						gs 'pain', 6, 'head', 'hit'
+						gs 'willpower', 'pay', 'resist'
+						gs 'stat'
+						'You do your best to wrestle yourself free and run for it, but the guy doesn''t let you escape and gives you a resolving punch in the face. While you try to shake off the dizziness, he and his friends drag you further into the alley. At the back end, they roughly push you against a wall.'
 
-					act 'Ask what they want from you':gt 'gopnew', 'bazar'
+						act 'Ask what they want from you':gt 'gopnew', 'bazar'
+					end
+				else
+					act 'Try to squirm free and run away (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
 				end
 
 				act 'Submit and let him take you into the alley':
@@ -69,9 +92,15 @@ if $ARGS[0] = 'start0':
 
 					act 'Ask what they want from you':gt 'gopnew', 'bazar'
 				end
-			end
-		end
-	end
+			else
+				act 'Push him away and swear at him (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
+			end	
+		else
+			act 'Decline again, more clearly this time (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
+		end	
+	else
+		act 'Decline and walk away (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
+	end	
 end
 
 if $ARGS[0] = 'start1':
@@ -84,7 +113,17 @@ if $ARGS[0] = 'start1':
 		'"Come on, babe!" he tries. "Surely you can spare like 30 minutes and have a chat with me?"'
 
 		act 'Go drink beer with him':gt 'gopnew', 'pivas'
-		act 'Decline and leave': minut += 5 & gt 'street'
+			
+		gs 'willpower', 'drink', 'resist', 'medium'
+		if will_cost <= pcs_willpwr:
+			act 'Decline and leave (<<will_cost>> Willpower)': 
+				minut += 5 
+				gs 'willpower', 'pay', 'resist'
+				gs 'stat'
+				gt 'street'
+		else
+			act 'Decline and leave (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
+		end	
 	end
 
 	act 'Go drink beer with him':gt 'gopnew', 'pivas'
@@ -100,7 +139,17 @@ if $ARGS[0] = 'start2':
 		'"Come on, babe!" he tries. "Surely you can spare like 30 minutes and have a chat with me?"'
 
 		act 'Go drink beer with him':gt 'gopnew', 'pivas'
-		act 'Decline and leave': minut += 5 & gt 'street'
+		
+		gs 'willpower', 'drink', 'resist', 'medium'
+		if will_cost <= pcs_willpwr:
+			act 'Decline and leave (<<will_cost>> Willpower)': 
+				minut += 5 
+				gs 'willpower', 'pay', 'resist'
+				gs 'stat'
+				gt 'street'
+		else
+			act 'Decline and leave (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
+		end	
 	end
 
 	act 'Go drink beer with him':gt 'gopnew', 'pivas'
@@ -159,7 +208,17 @@ if $ARGS[0] = 'start4':
 		'"Come on, babe!" he tries. "Surely you can spare like 30 minutes and have a chat with me?"'
 
 		act 'Go drink beer with him':gt 'gopnew', 'pivas'
-		act 'Decline and leave': minut += 5 & gt 'street'
+		
+		gs 'willpower', 'drink', 'resist', 'medium'
+		if will_cost <= pcs_willpwr:
+			act 'Decline and leave (<<will_cost>> Willpower)': 
+				minut += 5 
+				gs 'willpower', 'pay', 'resist'
+				gs 'stat'
+				gt 'street'
+		else
+			act 'Decline and leave (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
+		end	
 	end
 
 	act 'Go drink beer with him':gt 'gopnew', 'pivas'
@@ -286,7 +345,17 @@ if $ARGS[0] = 'start6':
 		'He rubs his groin awkwardly while he tells you: "How long has it been? I want you, now. Follow me."'
 
 		act 'Go with him':gt 'gopnew', 'sexstart'
-		act 'Walk away quickly': minut += 5 & gt 'street'
+		
+		gs 'willpower', 'sex', 'resist', 'medium'
+		if will_cost <= pcs_willpwr:
+			act 'Quickly leave (<<will_cost>> Willpower)': 
+				minut += 5 
+				gs 'willpower', 'pay', 'resist'
+				gs 'stat'
+				gt 'street'
+		else
+			act 'Quickly leave (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
+		end	
 	else
 		'When you approach them, he gives you a dismissive nod, noticing you didn''t ignore him. "Good, you listened. Now get out of here, before we change our minds."'
 
@@ -517,18 +586,26 @@ if $ARGS[0] = 'bazar':
 
 				act 'Kneel before him':gt 'gopnew', 'rapebj'
 
-				act 'Refuse to blow him':
-					cla
-					*clr
-					'When you shake your head, you feel an intense pain on the side of your head and fall down to the ground. When you manage to focus your blurry gaze again, you see Vasan standing over you with a raised fist. "I wasn''t fucking asking, whore! Open. Your. Mouth."'
+				gs 'willpower', 'bj', 'resist', 'hard'
+				if will_cost <= pcs_willpwr:
+					act 'Refuse to blow him (<<will_cost>> Willpower)':
+						cla & *clr
+						gs 'willpower', 'pay', 'resist'
+						gs 'pain', 8, 'head', 'hit'
+						gs 'stat'
+						'When you shake your head, you feel an intense pain on the side of your head and fall down to the ground. When you manage to focus your blurry gaze again, you see Vasan standing over you with a raised fist. "I wasn''t fucking asking, whore! Open. Your. Mouth."'
 
-					act 'Kneel before him':gt 'gopnew', 'rapebj'
-				end
+						act 'Kneel before him':gt 'gopnew', 'rapebj'
+					end
+				else
+					act 'Refuse to blow him (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
+				end	
 			end
 
 			act 'Say you don''t':
-				cla
-				*clr
+				cla & *clr
+				gs 'pain', 8, 'stomach', 'hit'
+				gs 'stat'
 				'"More lies!" Vasan spits in your face.'
 				'He punches you in the stomach before you can respond, and you collapse to your knees before him.'
 				'"That''s right bitch, get on your knees where you belong. Open your fucking mouth!" he shouts, and begins to pull down his pants.'
@@ -546,40 +623,54 @@ if $ARGS[0] = 'bazar':
 		end
 	end
 
-	act 'Say you don''t owe them anything':
-		cla
-		*clr
-		'Vasan laughs and gives you an amused look: "Oh really, and why not? Are you saying I''m a liar and that you''re not a whore?"'
-
-		act 'Tell him he''s a liar':
-			cla
-			*clr
-			'Vasan punches you in the stomach before you can even finish your sentence, besides himself with rage. "You fucking... you''re the liar!"'
+	gs 'willpower', 'misc', 'resist', 'hard'
+	if will_cost <= pcs_willpwr:
+		act 'Say you don''t owe them anything (<<will_cost>> Willpower)':
+			cla & *clr
+			gs 'willpower', 'pay', 'resist'
+			gs 'stat'
+			'Vasan laughs and gives you an amused look: "Oh really, and why not? Are you saying I''m a liar and that you''re not a whore?"'
 
-			act 'Drop to your knees before him':gt 'gopnew', 'rapebj'
-		end
+			act 'Tell him he''s a liar':
+				cla & *clr
+				gs 'pain', 8, 'stomach', 'hit'
+				gs 'stat'
+				'Vasan punches you in the stomach before you can even finish your sentence, besides himself with rage. "You fucking... you''re the liar!"'
 
-		act 'Tell him he''s not a liar':
-			cla
-			*clr
-			'Vasan nods affirmatively: "If I''m not a liar, that means you''re a whore! And like Konstantin said: whores pay, or they get fucked up. What''s it gonna be?"'
+				act 'Drop to your knees before him':gt 'gopnew', 'rapebj'
+			end
 
-			act 'Agree to pay':
-				cla
-				'Vasan grins, when he notices you don''t object: "Good whore. Now, let''s talk money."'
+			act 'Tell him he''s not a liar':
+				cla & *clr
+				'Vasan nods affirmatively: "If I''m not a liar, that means you''re a whore! And like Konstantin said: whores pay, or they get fucked up. What''s it gonna be?"'
 
-				act 'Ask him how much he wants':gt 'gopnew', 'dolg'
-			end
+				act 'Agree to pay':
+					cla
+					'Vasan grins, when he notices you don''t object: "Good whore. Now, let''s talk money."'
 
-			act 'Refuse to pay':
-				cla
-				'"You''re stubborn, aren''t you?" Vasan roars, clearly annoyed. Before you know it he punches you in the face, causing you to fall back onto the ground.'
-				'He undoes his pants while he walks over to you and grunts: "Here''s what happens if you don''t pay..."'
+					act 'Ask him how much he wants':gt 'gopnew', 'dolg'
+				end
+				
+				gs 'willpower', 'misc', 'resist', 'hard'
+				if will_cost <= pcs_willpwr:
+					act 'Refuse to pay (<<will_cost>> Willpower)':
+						cla
+						gs 'pain', 8, 'head', 'hit'
+						gs 'willpower', 'pay', 'resist'
+						gs 'stat'
+						'"You''re stubborn, aren''t you?" Vasan roars, clearly annoyed. Before you know it he punches you in the face, causing you to fall back onto the ground.'
+						'He undoes his pants while he walks over to you and grunts: "Here''s what happens if you don''t pay..."'
 
-				act 'Crawl up to your knees':gt 'gopnew', 'rapebj'
+						act 'Crawl up to your knees':gt 'gopnew', 'rapebj'
+					end
+				else
+					act 'Refuse to pay (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
+				end	
 			end
 		end
-	end
+	else
+		act 'Say you don''t owe them anything (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
+	end	
 end
 
 if $ARGS[0] = 'rapebj':
@@ -593,12 +684,13 @@ if $ARGS[0] = 'rapebj':
 		*clr
 
 		if vasansex = 0:vasansex = 1 & guy += 1
-
-		stat['bj'] += 1
 		'<center><img <<$set_imgh>> src="images/locations/city/residential/street/sex/rapebj1.jpg"></center>'
 		'You stare it down for another while, but realize they''re not going to let you go until they''re satisfied.'
 		'You hesitantly part your lips a little, and take the bulbous purple head of his cock between your lips. You suck on it a little without much enthusiasm, which he notices immediately.'
 		'"What is this garbage? Put some effort into it, slut! Or else..." he grunts.'
+		
+		gs 'arousal', 'bj', 3, 'rape', 'sub', 'humiliation'
+		gs 'stat'
 
 		act 'Put some effort into it':gt 'gopnew', 'tf'
 		act 'Keep doing what you''re doing':gt 'gopnew', 'tf'
@@ -614,40 +706,53 @@ if $ARGS[0] = 'rapebj':
 		'<center><img <<$set_imgh>> src="images/locations/city/residential/street/sex/rapebj2.jpg"></center>'
 		'You open your mouth but don''t take his cock in your mouth. Instead you run your tongue up and down his shaft repeatedly, without much enthusiasm.'
 		'"What is this garbage? Put some effort into it, slut! Or else..." he grunts.'
+		
+		gs 'arousal', 'foreplay', 3, 'rape', 'sub', 'humiliation'
+		gs 'stat'
 
 		act 'Start sucking':gt 'gopnew', 'tf'
 		act 'Keep licking':gt 'gopnew', 'tf'
 	end
+		
+	gs 'willpower', 'bj', 'resist', 'hard'
+	if will_cost <= pcs_willpwr:	
+		act 'Keep your lips tightly together (<<will_cost>> Willpower)':
+			cla & *clr
+			gs 'willpower', 'pay', 'self'
+			gs 'stat'
+			if vasansex = 0:vasansex = 1 & guy += 1
 
-		act 'Keep your lips tightly together':
-		cla
-		*clr
-
-		if vasansex = 0:vasansex = 1 & guy += 1
-
-		stat['bj'] += 1
-		'<center><img <<$set_imgh>> src="images/locations/city/residential/street/sex/rapebj3.jpg"></center>'
-		'Vasan puts one hand over your throat, slowly choking you out while he rubs his cock against your lips impatiently. His other hand goes behind your head, and he thrusts his cock into your mouth when you try to gasp for breath.'
-		'"That''s right, whore... all you need is a little encouragement!" he laughs, and begins to fuck your mouth while he keeps choking you."'
+			'<center><img <<$set_imgh>> src="images/locations/city/residential/street/sex/rapebj3.jpg"></center>'
+			'Vasan puts one hand over your throat, slowly choking you out while he rubs his cock against your lips impatiently. His other hand goes behind your head, and he thrusts his cock into your mouth when you try to gasp for breath.'
+			'"That''s right, whore... all you need is a little encouragement!" he laughs, and begins to fuck your mouth while he keeps choking you."'
+		
+			gs 'arousal', 'bj', 3, 'rape', 'sub', 'humiliation', 'rough'
+			gs 'stat'
 
-		act 'Give in and do what he wants':gt 'gopnew', 'tf'
-	end
+			act 'Give in and do what he wants':gt 'gopnew', 'tf'
+		end
+	else
+		act 'Keep your lips tightly together (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
+	end	
 end
 
 if $ARGS[0] = 'tf':
-	minut += 3
-	pcs_throat += 1
 	'<center><img <<$set_imgh>> src="images/locations/city/residential/street/sex/rapebjt2.jpg"></center>'
 	'Vasan grabs a fistful of your hair and begins to fuck your mouth in earnest. His cock causes a gag reflex every time he hits the back of your throat, and your eyes are tearing up quickly.'
 	'He''s not giving you much chance to breathe, and you''re gasping for breath every time he gives you a bit of a break to breathe. They never last long.'
+	
+	gs 'arousal', 'bj', 3, 'rape', 'sub', 'humiliation', 'rough', 'deepthroat'
+	gs 'stat'
 
 	act 'Continue':
 		cla
 		*clr
-		minut += 3
 		'<center><img <<$set_imgh>> src="images/locations/city/residential/street/sex/rapebjt.jpg"></center>'
 		'Suddenly Vasan thrusts his cock deeper down your throat, and holds your head firmly against his groin once he bottoms out in you.'
 		'You feel like you''re going to throw up!'
+		
+		gs 'arousal', 'bj', 3, 'rape', 'sub', 'humiliation', 'rough', 'deepthroat'
+		gs 'stat'
 
 		act 'Continue':
 			cla
@@ -688,6 +793,9 @@ if $ARGS[0] = 'tf':
 					'Then he grins to his friends: "She''s all yours, guys. Have fun."'
 					'Just when they came closer to you pulling their cocks out of their pants, you hear shouting at the end of the alley. Someone spotted you!'
 					'The Gopniks quickly run away, leaving you alone on the pavement covered in cum, saliva and tears. "Remember, whore... 2,000 <b>₽</b>! Tomorrow!" Vasan shouts, before he disappears around a corner.'
+					
+					gs 'arousal', 'end'
+					gs 'stat'
 
 					act 'Return to the streets': minut += 5 & gt 'street'
 				end
@@ -878,9 +986,7 @@ if $ARGS[0] = 'sexboy1':
 end
 
 if $ARGS[0] = '1':
-	minut += 15
 	pcs_vag += 1
-	stat['vaginal'] += 1
 	gs 'boyStat', $guygop
 	cumprecheck = 1
 	gs 'cum_manage'
@@ -897,24 +1003,28 @@ if $ARGS[0] = '1':
 		pcs_horny += 10
 		'You were not satisfied.'
 	else
-		pcs_horny = 0
-		orgasm += 1
+		$orgasm_or = 'yes'
 		'You orgasm with him, holding your hand over your mouth to stop yourself from crying out.'
 	end
 
 	'<<$boydesc>> wipes his cock on your ass cheeks and tucks it back into his pants. After that, he goes back to drinking beer with his friends, not paying any more attention to you.'
+	
+	gs 'arousal', 'vaginal', 15, 'sub', 'humiliation'
+	gs 'arousal', 'end'
+	gs 'stat'
 
 	act 'Leave': minut += 5 & gt 'street'
 end
 
 if $ARGS[0] = '11':
-	minut += 15
-	stat['bj'] += 1
 	pcs_throat += 1
 	gs 'stat'
 	picrand = rand(13, 22)
 	'<center><img <<$set_imgh>> src="images/shared/sex/blowjob/bj<<picrand>>.jpg"></center>'
 	'<<$boydesc>> guides you to a quiet area, and waits impatiently for you to pull his cock out of his pants. He groans contently when you begin to suck him off diligently. A few minutes later, he groans that he''s about to cum.'
+	
+	gs 'arousal', 'bj', 15, 'sub', 'humiliation'
+	gs 'stat'
 
 	act 'Let him cum in your mouth':
 		cla
@@ -931,7 +1041,10 @@ if $ARGS[0] = '11':
 			gs 'cum_manage'
 			swallow += 1
 			'You swallow <<$boydesc>>''s sperm diligently after which he wipes his dick on your lips, making you lick the last remains off. Once he''s satisfied, he pulls his pants up again and returns to his friends.'
-
+			
+			gs 'arousal', 'end'
+			gs 'stat'
+	
 			act 'Leave': minut += 5 & gt 'street'
 		end
 
@@ -941,7 +1054,10 @@ if $ARGS[0] = '11':
 			sexvolume = 7
 			gs 'cum_manage'
 			'You wait for <<$boydesc>> to turn his back on you, and discreetly spit the semen onto the ground. He doesn''t seem to care what you do with it, he''s already walking away from you.'
-
+			
+			gs 'arousal', 'end'
+			gs 'stat'
+			
 			act 'Leave': minut += 5 & gt 'street'
 		end
 	end
@@ -966,8 +1082,6 @@ if $ARGS[0] = '11':
 end
 
 if $ARGS[0] = '12':
-	minut += 15
-	stat['anal'] += 1
 	pcs_ass += 1
 	gs 'boyStat', $guygop
 	spafinloc = 4
@@ -984,13 +1098,16 @@ if $ARGS[0] = '12':
 		pcs_horny += 10
 		'He doesn''t care about your pleasure, and you''re nowhere near satisfied by the time he finishes.'
 	else
-		pcs_horny = 0
-		orgasm += 1
+		$orgasm_or = 'yes'
 		'You orgasm with him, holding your hand over your mouth to stop yourself from crying out.'
 	end
 
 	'<<$boydesc>> pulls out right before he orgasms, and ends up spraying his sperm all over your ass cheeks. He wipes his cock clean on an unsoiled spot on your ass and tucks it back into his pants, returning to his friends for another beer. He no longer cares what you do or where you go next.'
-
+	
+	gs 'arousal', 'anal', 15, 'sub', 'humiliation'
+	gs 'arousal', 'end'
+	gs 'stat'
+	
 	act 'Leave': minut += 5 & gt 'street'
 end
 
@@ -1001,8 +1118,6 @@ if $ARGS[0] = '2':
 	if GLust ! 2:tiprand = rand(0, 1)
 
 	if tiprand = 0 and GLust ! 2:
-		stat['bj'] += 3
-		gang += 1
 		pcs_throat += 3
 		namgopctnc = 6
 		:goptipr0loop
@@ -1027,15 +1142,18 @@ if $ARGS[0] = '2':
 		'<<$namgop[0]>>. The guys make you kneel before them, and begin to slap their cocks against your face impatiently. You do your best to pay attention to all of them, sucking them off one by one and jerking off those you can''t put in your mouth.'
 
 		'They cum all over your face and in your mouth, and your face looks like a mess by the time they finally let you go.'
+		
+		gs 'arousal', 'bj', 15, 'sub', 'humiliation', 'gangbang'
+		gs 'arousal', 'hj', 15, 'sub', 'humiliation', 'gangbang'
+		minut -= 15
+		gs 'arousal', 'end'
+		gs 'stat'
 
 		act 'Leave': minut += 5 & gt 'street'
+		
 	elseif tiprand = 1 or GLust = 2:
-		stat['bj'] += 1
 		pcs_vag += 1
-		stat['vaginal'] += 1
-		stat['anal'] += 1
 		pcs_ass += 5
-		gang += 1
 		pcs_throat += 3
 		namgopctnc = 6
 		:goptipr1loop
@@ -1075,27 +1193,27 @@ if $ARGS[0] = '2':
 			pcs_horny += 10
 			'The guys don''t care about your pleasure, and you''re nowhere near satisfied by the time they all finish.'
 		else
-			pcs_horny = 0
-			orgasm += 1
+			$orgasm_or = 'yes'
 			'You orgasm during their relentless pounding, holding your hand over your mouth to stop yourself from crying out loud.'
 		end
 
 		'The guys just cum wherever they feel like while they''re fucking you, giving you no warning. By the time they all finish, you''re a mess. You should probably go take a shower...'
-
+		
+		gs 'arousal', 'bj', 15, 'sub', 'humiliation', 'gangbang'
+		gs 'arousal', 'vaginal', 15, 'sub', 'humiliation', 'gangbang'
+		gs 'arousal', 'anal', 15, 'sub', 'humiliation', 'gangbang'
+		minut -= 15
+		gs 'arousal', 'end'
+		gs 'stat'
+		
 		act 'Leave': minut += 5 & gt 'street'
 	end
 end
 
 if $ARGS[0] = '3':
-	minut += 30
 	gs 'stat'
-
-	stat['bj'] += 1
 	pcs_vag += 1
-	stat['vaginal'] += 1
-	stat['anal'] += 1
 	pcs_ass += 5
-	gang += 1
 	pcs_throat += 3
 
 	namgopctnc = 6
@@ -1131,22 +1249,28 @@ if $ARGS[0] = '3':
 		pcs_horny += 10
 		'The guys don''t care about your pleasure, and you''re nowhere near satisfied by the time they all finish.'
 	else
-		pcs_horny = 0
-		orgasm += 1
+		$orgasm_or = 'yes'
 		'You orgasm during their relentless pounding, holding your hand over your mouth to stop yourself from crying out loud.'
 	end
+	
+	gs 'arousal', 'bj', 15, 'sub', 'humiliation', 'gangbang'
+	gs 'arousal', 'vaginal', 15, 'sub', 'humiliation', 'gangbang'
+	gs 'arousal', 'anal', 15, 'sub', 'humiliation', 'gangbang'
+	minut -= 15
+	gs 'arousal', 'end'
+	gs 'stat'
 
 	act 'Leave': minut += 5 & gt 'street'
 end
 
 if $ARGS[0] = 'degrading':
-	minut += 120
 	pcs_vag += 10
 	pcs_ass += 10
-	stat['anal'] += 1
-	stat['vaginal'] += 1
-	rape += 1
 	gopopusday = daystart
+	gs 'pain', 6, 'cheeks', 'slap'
+	gs 'pain', 6, 'breasts', 'slap'
+	gs 'pain', 6, 'vaginal', 'stretch'
+	gs 'pain', 6, 'anal', 'stretch'
 	gs 'stat'
 
 	if VasanTut = 2 and vasansex = 0:vasansex = 1 & guy += 1
@@ -1158,6 +1282,12 @@ if $ARGS[0] = 'degrading':
 
 	'<center><img <<$set_imgh>> src="images/locations/city/residential/street/sex/deg'+rand(1, 9)+'.jpg"></center>'
 	'The guys drive you to a nearby building and drag you inside, forcing you to undress. They spend the next two hours degrading you in every way imaginable: they slap your face and tits, they spit in your face, but most of the time they try to force large objects into your vagina and ass. By the time you''re exhausted, they pick you up and dump you in the back yard with your clothes. When you catch your breath again, you slowly put your clothes on and try to find your way back to the main streets.'
+	
+	gs 'arousal', 'vaginal', 120, 'sub', 'humiliation', 'gangbang', 'rape'
+	gs 'arousal', 'anal', 120, 'sub', 'humiliation', 'gangbang', 'rape'
+	minut -= 15
+	gs 'arousal', 'end'
+	gs 'stat'
 
 	act 'Leave': minut += 5 & gt 'street'
 end

+ 5 - 1
locations/gskino.qsrc

@@ -39,11 +39,15 @@ if money >= 100:
 			'You quietly watch the movie, but suddenly behind you there is a strange sound.'
 			act 'Turn around and look':
 				*clr & cla
-				pcs_horny += 3
 				gs'stat'
 				'<center><video autoplay loop src="images/locations/pavlovsk/park/theater/sex/kino.mp4"></video></center>'
 				'You see on the back row a girl sucking a guy, nobody reacts to the loud smacking sound that can be heard by the whole cinema.'
 				'You turn back and watch the rest of the film.'
+				
+				gs 'arousal', 'voyeur_sex', 2
+				gs 'arousal', 'end'
+				gs 'stat'
+				
 				act 'Leave the cinema':gt 'gskver', 'start'		
 			end
 		end

+ 12 - 1
locations/kino.qsrc

@@ -130,7 +130,18 @@ if $ARGS[0] = 'sex2':
 	'<center><img <<$set_imgh>> src="images/locations/city/citycenter/mall/cinema/sex/kinosex1.jpg"></center>'
 	'Halfway though the movie a man sits down next to you. Smiling, he offers you some of his popcorn.'
 	gs'stat'
-	act 'Run away':gt 'kino'
+	
+	gs 'willpower', 'misc', 'resist', 'hard'
+	if will_cost <= pcs_willpwr:
+		act 'Run away (<<will_cost>> Willpower)':
+			gs 'willpower', 'pay', 'resist'
+			gs 'stat'
+			gt 'kino'
+		end
+	else
+		act 'Run away (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
+	end	
+	
 	act 'Have some':
 		cla
 		*clr

+ 1 - 2
locations/kinoM.qsrc

@@ -83,8 +83,7 @@ if $ARGS[0] = 'sex':
 	if pcs_horny >= 90:
 		pcs_mood += 15
 		pcs_willpwr += 15
-		
-		$orgasm_or = 'custom'
+		$orgasm_or = 'yes'
 		$orgasm_txt = 'As you feel pleasure growing inside of you, you start moaning involuntarily, louder and louder. <<$loverdesc[lover_number]>> puts his hand over your mouth in an effort to muffle the noises. Then a massive orgasm hits you, leaving you shuddering and quivering on his cock.'
 	end
 

+ 322 - 122
locations/klofdomhouse.qsrc

@@ -481,7 +481,17 @@ if $ARGS[0] = 'ev22':
 	'The boss looks closely at you and says, "Come to me, looks like you''re ready to make some more money."'
 
 	act 'Go to the boss''s room':gt 'klofdomhouse', 'ev23'
-	act 'Go home':gt 'street'
+	
+	gs 'willpower', 'misc', 'self', 'hard'
+	if will_cost <= pcs_willpwr:
+		act 'Go home (<<will_cost>> Willpower)':
+			gs 'willpower', 'pay', 'self'
+			gs 'stat'
+			gt 'street'
+		end
+	else
+		act 'Go home (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
+	end	
 end
 
 if $ARGS[0] = 'ev23':
@@ -492,7 +502,17 @@ if $ARGS[0] = 'ev23':
 	'"Well, Well, take off your clothes and show yourself." Says the boss.'
 
 	act 'Show yourself':gt 'klofdomhouse', 'ev24'
-	act 'Get out of here':gt 'street'
+	
+	gs 'willpower', 'misc', 'resist', 'hard'
+	if will_cost <= pcs_willpwr:
+		act 'Get out of here (<<will_cost>> Willpower)':
+			gs 'willpower', 'pay', 'resist'
+			gs 'stat'
+			gt 'street'
+		end
+	else
+		act 'Get out of here (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
+	end	
 end
 
 if $ARGS[0] = 'ev24':
@@ -503,7 +523,17 @@ if $ARGS[0] = 'ev24':
 	'"Show your breasts" Orders the boss.'
 
 	act 'Show your breasts':gt 'klofdomhouse', 'ev25'
-	act 'Get out of here':gt 'street'
+	
+	gs 'willpower', 'misc', 'resist', 'hard'
+	if will_cost <= pcs_willpwr:
+		act 'Get out of here (<<will_cost>> Willpower)':
+			gs 'willpower', 'pay', 'resist'
+			gs 'stat'
+			gt 'street'
+		end
+	else
+		act 'Get out of here (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
+	end	
 end
 
 if $ARGS[0] = 'ev25':
@@ -515,11 +545,18 @@ if $ARGS[0] = 'ev25':
 	gs 'arousal', 'flashlite', 5, 'sub'
 	gs 'stat'
 	act 'Show your ass':gt 'klofdomhouse', 'ev26'
-	act 'Get out of here':
-		gs 'arousal', 'end'
-		gs 'stat'
-		gt 'street'
-	end
+	
+	gs 'willpower', 'misc', 'resist', 'hard'
+	if will_cost <= pcs_willpwr:
+		act 'Get out of here (<<will_cost>> Willpower)':
+			gs 'willpower', 'pay', 'resist'
+			gs 'arousal', 'end'
+			gs 'stat'
+			gt 'street'
+		end
+	else
+		act 'Get out of here (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
+	end	
 end
 
 if $ARGS[0] = 'ev26':
@@ -532,11 +569,18 @@ if $ARGS[0] = 'ev26':
 	gs 'arousal', 'flash', 5, 'sub'
 	gs 'stat'
 	act 'Remove your dress':gt 'klofdomhouse', 'ev27'
-	act 'Get out of here':
-		gs 'arousal', 'end'
-		gs 'stat'
-		gt 'street'
-	end
+	
+	gs 'willpower', 'misc', 'resist', 'hard'
+	if will_cost <= pcs_willpwr:
+		act 'Get out of here (<<will_cost>> Willpower)':
+			gs 'willpower', 'pay', 'resist'
+			gs 'arousal', 'end'
+			gs 'stat'
+			gt 'street'
+		end
+	else
+		act 'Get out of here (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
+	end	
 end
 
 if $ARGS[0] = 'ev27':
@@ -547,11 +591,18 @@ if $ARGS[0] = 'ev27':
 	'"Spreads your legs!" You receive an order.'
 
 	act 'Spread your legs':gt 'klofdomhouse', 'ev28'
-	act 'Get out of here':
-		gs 'arousal', 'end'
-		gs 'stat'
-		gt 'street'
-	end
+	
+	gs 'willpower', 'misc', 'resist', 'hard'
+	if will_cost <= pcs_willpwr:
+		act 'Get out of here (<<will_cost>> Willpower)':
+			gs 'willpower', 'pay', 'resist'
+			gs 'arousal', 'end'
+			gs 'stat'
+			gt 'street'
+		end
+	else
+		act 'Get out of here (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
+	end	
 end
 
 if $ARGS[0] = 'ev28':
@@ -560,14 +611,21 @@ if $ARGS[0] = 'ev28':
 	'<center><img <<$set_imgh>> src="images/characters/city/jora/klof26_6.jpg"></center>'
 	'You sat on the bed and open your legs.'
 	'"And now seduce me" Smiles the boss.'
-	gs 'arousal', 'flash', 5, 'sub'
+	gs 'arousal', 'foreplay', 5, 'sub'
 	gs 'stat'
 	act 'Seduce the boss':gt 'klofdomhouse', 'ev29'
-	act 'Get out of here':
-		gs 'arousal', 'end'
-		gs 'stat'
-		gt 'street'
-	end
+	
+	gs 'willpower', 'misc', 'resist', 'hard'
+	if will_cost <= pcs_willpwr:
+		act 'Get out of here (<<will_cost>> Willpower)':
+			gs 'willpower', 'pay', 'resist'
+			gs 'arousal', 'end'
+			gs 'stat'
+			gt 'street'
+		end
+	else
+		act 'Get out of here (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
+	end	
 end
 
 if $ARGS[0] = 'ev29':
@@ -578,11 +636,18 @@ if $ARGS[0] = 'ev29':
 	gs 'arousal', 'flash', 5, 'sub'
 	gs 'stat'
 	act 'Give him a better view':gt 'klofdomhouse', 'ev30'
-	act 'Get out of here':
-		gs 'arousal', 'end'
-		gs 'stat'
-		gt 'street'
-	end
+	
+	gs 'willpower', 'misc', 'resist', 'hard'
+	if will_cost <= pcs_willpwr:
+		act 'Get out of here (<<will_cost>> Willpower)':
+			gs 'willpower', 'pay', 'resist'
+			gs 'arousal', 'end'
+			gs 'stat'
+			gt 'street'
+		end
+	else
+		act 'Get out of here (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
+	end	
 end
 
 if $ARGS[0] = 'ev30':
@@ -593,11 +658,18 @@ if $ARGS[0] = 'ev30':
 	gs 'arousal', 'flash', 5, 'sub'
 	gs 'stat'
 	act 'Lick the boss''s cock':gt 'klofdomhouse', 'ev31'
-	act 'Get out of here':
-		gs 'arousal', 'end'
-		gs 'stat'
-		gt 'street'
-	end
+	
+	gs 'willpower', 'misc', 'resist', 'hard'
+	if will_cost <= pcs_willpwr:
+		act 'Get out of here (<<will_cost>> Willpower)':
+			gs 'willpower', 'pay', 'resist'
+			gs 'arousal', 'end'
+			gs 'stat'
+			gt 'street'
+		end
+	else
+		act 'Get out of here (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
+	end	
 end
 
 if $ARGS[0] = 'ev31':
@@ -608,11 +680,18 @@ if $ARGS[0] = 'ev31':
 	gs 'arousal', 'foreplay', 5, 'sub'
 	gs 'stat'
 	act 'Suck it':gt 'klofdomhouse', 'ev32'
-	act 'Get out of here':
-		gs 'arousal', 'end'
-		gs 'stat'
-		gt 'street'
-	end
+	
+	gs 'willpower', 'misc', 'resist', 'hard'
+	if will_cost <= pcs_willpwr:
+		act 'Get out of here (<<will_cost>> Willpower)':
+			gs 'willpower', 'pay', 'resist'
+			gs 'arousal', 'end'
+			gs 'stat'
+			gt 'street'
+		end
+	else
+		act 'Get out of here (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
+	end	
 end
 
 if $ARGS[0] = 'ev32':
@@ -624,11 +703,18 @@ if $ARGS[0] = 'ev32':
 	gs 'arousal', 'bj', 5, 'sub'
 	gs 'stat'
 	act 'Spread your legs':gt 'klofdomhouse', 'ev33'
-	act 'Get out of here':
-		gs 'arousal', 'end'
-		gs 'stat'
-		gt 'street'
-	end
+	
+	gs 'willpower', 'misc', 'resist', 'hard'
+	if will_cost <= pcs_willpwr:
+		act 'Get out of here (<<will_cost>> Willpower)':
+			gs 'willpower', 'pay', 'resist'
+			gs 'arousal', 'end'
+			gs 'stat'
+			gt 'street'
+		end
+	else
+		act 'Get out of here (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
+	end	
 end
 
 if $ARGS[0] = 'ev33':
@@ -640,11 +726,18 @@ if $ARGS[0] = 'ev33':
 	gs 'arousal', 'flash', 5, 'sub'
 	gs 'stat'
 	act 'Let him fuck your pussy':gt 'klofdomhouse', 'ev34'
-	act 'Refuse':
-		gs 'arousal', 'end'
-		gs 'stat'
-		gt 'street'
-	end
+	
+	gs 'willpower', 'misc', 'resist', 'hard'
+	if will_cost <= pcs_willpwr:
+		act 'Get out of here (<<will_cost>> Willpower)':
+			gs 'willpower', 'pay', 'resist'
+			gs 'arousal', 'end'
+			gs 'stat'
+			gt 'street'
+		end
+	else
+		act 'Get out of here (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
+	end	
 end
 
 if $ARGS[0] = 'ev34':
@@ -669,11 +762,18 @@ if $ARGS[0] = 'ev34':
 	'"Now I try your ass."'
 
 	act 'Let him fuck your ass':gt 'klofdomhouse', 'ev35'
-	act 'Refuse':
-		gs 'arousal', 'end'
-		gs 'stat'
-		gt 'street'
-	end
+	
+	gs 'willpower', 'misc', 'resist', 'hard'
+	if will_cost <= pcs_willpwr:
+		act 'Get out of here (<<will_cost>> Willpower)':
+			gs 'willpower', 'pay', 'resist'
+			gs 'arousal', 'end'
+			gs 'stat'
+			gt 'street'
+		end
+	else
+		act 'Get out of here (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
+	end	
 end
 
 if $ARGS[0] = 'ev35':
@@ -749,11 +849,18 @@ if $ARGS[0] = 'ev39':
 	'"Serve both my boys only your pussy, both at the same time." Orders the boss.'
 
 	act 'Obediently serve the boys':gt 'klofdomhouse', 'ev40'
-	act 'Refuse':
-		gs 'arousal', 'end'
-		gs 'stat'
-		gt 'street'
-	end
+	
+	gs 'willpower', 'misc', 'resist', 'hard'
+	if will_cost <= pcs_willpwr:
+		act 'Refuse (<<will_cost>> Willpower)':
+			gs 'willpower', 'pay', 'resist'
+			gs 'arousal', 'end'
+			gs 'stat'
+			gt 'street'
+		end
+	else
+		act 'Refuse (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
+	end	
 end
 
 if $ARGS[0] = 'ev40':
@@ -802,10 +909,19 @@ if $ARGS[0] = 'ev42':
 	'He motions to you and says, "Come on baby, swim."'
 
 	act 'Go swimming':gt 'klofdomhouse', 'ev43'
-	act 'Leave':
-		gs 'clothing', 'wear', $normalclothingworntype, normalclothingwornno
-		gt 'down'
-	end
+	
+	gs 'willpower', 'misc', 'resist', 'hard'
+	if will_cost <= pcs_willpwr:
+		act 'Leave (<<will_cost>> Willpower)':
+			gs 'willpower', 'pay', 'resist'
+			gs 'arousal', 'end'
+			gs 'clothing', 'wear', $normalclothingworntype, normalclothingworn
+			gs 'stat'
+			gt 'down'
+		end
+	else
+		act 'Leave (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
+	end	
 end
 
 if $ARGS[0] = 'ev43':
@@ -816,10 +932,19 @@ if $ARGS[0] = 'ev43':
 	'Jora finds you a spot by the pool and tells you, "Lie down <<$pcs_nickname>> wait until more people gather." He goes for a swim.'
 
 	act 'Lie down beside the pool':gt 'klofdomhouse', 'ev44'
-	act 'Leave':
-		gs 'clothing', 'wear', $normalclothingworntype, normalclothingwornno
-		gt 'down'
-	end
+	
+	gs 'willpower', 'misc', 'resist', 'hard'
+	if will_cost <= pcs_willpwr:
+		act 'Leave (<<will_cost>> Willpower)':
+			gs 'willpower', 'pay', 'resist'
+			gs 'arousal', 'end'
+			gs 'clothing', 'wear', $normalclothingworntype, normalclothingworn
+			gs 'stat'
+			gt 'down'
+		end
+	else
+		act 'Leave (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
+	end	
 end
 
 if $ARGS[0] = 'ev44':
@@ -830,12 +955,20 @@ if $ARGS[0] = 'ev44':
 	'You lay around the pool, the pool is filling up with people.'
 	'Jora swims up to you orders, "Take off your clothes in front of the crowd."'
 
-	if sub > 0 or pcs_inhib > 35:act 'Hesitantly remove your top':gt 'klofdomhouse', 'ev45'
+	act 'Hesitantly remove your top':gt 'klofdomhouse', 'ev45'
 
-	act 'Get out of here':
-		gs 'clothing', 'wear', $normalclothingworntype, normalclothingwornno
-		gt 'down'
-	end
+	gs 'willpower', 'misc', 'resist', 'hard'
+	if will_cost <= pcs_willpwr:
+		act 'Get out of here (<<will_cost>> Willpower)':
+			gs 'willpower', 'pay', 'resist'
+			gs 'arousal', 'end'
+			gs 'clothing', 'wear', $normalclothingworntype, normalclothingworn
+			gs 'stat'
+			gt 'down'
+		end
+	else
+		act 'Get out of here (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
+	end	
 end
 
 if $ARGS[0] = 'ev45':
@@ -852,14 +985,23 @@ if $ARGS[0] = 'ev45':
 
 	'Jora says with a grin, "Show the people those tits, they want some entertainment."'
 
-	if sub > 5 or pcs_inhib > 35:act 'Remove hands':gt 'klofdomhouse', 'ev46'
+	act 'Remove hands':gt 'klofdomhouse', 'ev46'
 	gs 'arousal', 'flashlite', 5, 'sub'
 	gs 'exhibitionism', 1
 	gs 'stat'
-	act 'Get out of here':
-		gs 'clothing', 'wear', $normalclothingworntype, normalclothingwornno
-		gt 'down'
-	end
+	
+	gs 'willpower', 'misc', 'resist', 'hard'
+	if will_cost <= pcs_willpwr:
+		act 'Get out of here (<<will_cost>> Willpower)':
+			gs 'willpower', 'pay', 'resist'
+			gs 'arousal', 'end'
+			gs 'clothing', 'wear', $normalclothingworntype, normalclothingworn
+			gs 'stat'
+			gt 'down'
+		end
+	else
+		act 'Get out of here (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
+	end	
 end
 
 if $ARGS[0] = 'ev46':
@@ -873,7 +1015,7 @@ if $ARGS[0] = 'ev46':
 	'You lift your arms behind his head and strike a pose.'
 	'Jora orders, "Remove the rest."'
 
-	if sub > 10 or pcs_inhib > 40:act 'Go into the water and remove bikini bottoms':gt 'klofdomhouse', 'ev47'
+	act 'Go into the water and remove bikini bottoms':gt 'klofdomhouse', 'ev47'
 
 	act 'Get out of here':
 		gs 'arousal', 'end'
@@ -891,15 +1033,23 @@ if $ARGS[0] = 'ev47':
 	'You pull off your bikini bottoms and let them drift away in water.'
 	'Jora orders, "Come out and show yourself to everyone."'
 
-	if sub > 15 or pcs_inhib > 40:act 'Get out of the water':gt 'klofdomhouse', 'ev48'
+	act 'Get out of the water':gt 'klofdomhouse', 'ev48'
 	gs 'arousal', 'flash', 5, 'sub'
 	gs 'exhibitionism', 1
 	gs 'stat'
-	act 'Get out of here':
-		gs 'arousal', 'end'
-		gs 'clothing', 'wear', $normalclothingworntype, normalclothingwornno
-		gt 'down'
-	end
+	
+	gs 'willpower', 'misc', 'resist', 'hard'
+	if will_cost <= pcs_willpwr:
+		act 'Get out of here (<<will_cost>> Willpower)':
+			gs 'willpower', 'pay', 'resist'
+			gs 'arousal', 'end'
+			gs 'clothing', 'wear', $normalclothingworntype, normalclothingworn
+			gs 'stat'
+			gt 'down'
+		end
+	else
+		act 'Get out of here (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
+	end	
 end
 
 if $ARGS[0] = 'ev48':
@@ -911,15 +1061,23 @@ if $ARGS[0] = 'ev48':
 	'You go to the edge of the pool, around you there is a crowd of excited guys.'
 	'Jora orders you, "Spread your legs."'
 
-	if sub > 20 or pcs_inhib > 50:act 'Spread your legs':gt 'klofdomhouse', 'ev49'
+	act 'Spread your legs':gt 'klofdomhouse', 'ev49'
 	gs 'arousal', 'flash', 5, 'sub'
 	gs 'exhibitionism', 3
 	gs 'stat'
-	act 'Get out of here':
-		gs 'arousal', 'end'
-		gs 'clothing', 'wear', $normalclothingworntype, normalclothingwornno
-		gt 'down'
-	end
+	
+	gs 'willpower', 'misc', 'resist', 'hard'
+	if will_cost <= pcs_willpwr:
+		act 'Get out of here (<<will_cost>> Willpower)':
+			gs 'willpower', 'pay', 'resist'
+			gs 'arousal', 'end'
+			gs 'clothing', 'wear', $normalclothingworntype, normalclothingworn
+			gs 'stat'
+			gt 'down'
+		end
+	else
+		act 'Get out of here (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
+	end	
 end
 
 if $ARGS[0] = 'ev49':
@@ -931,14 +1089,22 @@ if $ARGS[0] = 'ev49':
 	'The excitement covers you in heat so you go into the shallow water and relax.'
 	'Jora orders, "Spread your lips."'
 
-	if sub > 25 or pcs_inhib > 55:act 'Spread your lips':gt 'klofdomhouse', 'ev50'
+	act 'Spread your lips':gt 'klofdomhouse', 'ev50'
 	gs 'arousal', 'flash', 5, 'sub'
 	gs 'stat'
-	act 'Get out of here':
-		gs 'arousal', 'end'
-		gs 'clothing', 'wear', $normalclothingworntype, normalclothingwornno
-		gt 'down'
-	end
+	
+	gs 'willpower', 'misc', 'resist', 'hard'
+	if will_cost <= pcs_willpwr:
+		act 'Get out of here (<<will_cost>> Willpower)':
+			gs 'willpower', 'pay', 'resist'
+			gs 'arousal', 'end'
+			gs 'clothing', 'wear', $normalclothingworntype, normalclothingworn
+			gs 'stat'
+			gt 'down'
+		end
+	else
+		act 'Get out of here (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
+	end	
 end
 
 if $ARGS[0] = 'ev50':
@@ -949,14 +1115,22 @@ if $ARGS[0] = 'ev50':
 	'Most of the mens mouths are gaping open.'
 	'Jora orders, "play with yourself."'
 
-	if sub > 30 or pcs_inhib > 60:act 'Caressing your pussy':gt 'klofdomhouse', 'ev51'
+	act 'Caressing your pussy':gt 'klofdomhouse', 'ev51'
 	gs 'arousal', 'vaginal_finger', 5, 'exhibitionism', 'sub'
 	gs 'stat'
-	act 'Get out of here':
-		gs 'arousal', 'end'
-		gs 'clothing', 'wear', $normalclothingworntype, normalclothingwornno
-		gt 'down'
-	end
+	
+	gs 'willpower', 'misc', 'resist', 'hard'
+	if will_cost <= pcs_willpwr:
+		act 'Get out of here (<<will_cost>> Willpower)':
+			gs 'willpower', 'pay', 'resist'
+			gs 'arousal', 'end'
+			gs 'clothing', 'wear', $normalclothingworntype, normalclothingworn
+			gs 'stat'
+			gt 'down'
+		end
+	else
+		act 'Get out of here (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
+	end	
 end
 
 if $ARGS[0] = 'ev51':
@@ -969,13 +1143,19 @@ if $ARGS[0] = 'ev51':
 	act 'Cum':gt 'klofdomhouse', 'ev52'
 	gs 'arousal', 'masturbate', 5, 'exhibitionism', 'sub'
 	gs 'stat'
-	if sub <= 30:
-		act 'Get out of here':
+	
+	gs 'willpower', 'misc', 'resist', 'hard'
+	if will_cost <= pcs_willpwr:
+		act 'Get out of here (<<will_cost>> Willpower)':
+			gs 'willpower', 'pay', 'resist'
 			gs 'arousal', 'end'
-			gs 'clothing', 'wear', $normalclothingworntype, normalclothingwornno
+			gs 'clothing', 'wear', $normalclothingworntype, normalclothingworn
+			gs 'stat'
 			gt 'down'
 		end
-	end
+	else
+		act 'Get out of here (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
+	end	
 end
 
 if $ARGS[0] = 'ev52':
@@ -990,13 +1170,18 @@ if $ARGS[0] = 'ev52':
 	gs 'stat'
 	act 'Insert Dildo':gt 'klofdomhouse', 'ev53'
 
-	if sub <= 30:
-		act 'Get out of here':
+	gs 'willpower', 'misc', 'resist', 'hard'
+	if will_cost <= pcs_willpwr:
+		act 'Get out of here (<<will_cost>> Willpower)':
+			gs 'willpower', 'pay', 'resist'
 			gs 'arousal', 'end'
-			gs 'clothing', 'wear', $normalclothingworntype, normalclothingwornno
+			gs 'clothing', 'wear', $normalclothingworntype, normalclothingworn
+			gs 'stat'
 			gt 'down'
 		end
-	end
+	else
+		act 'Get out of here (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
+	end	
 end
 
 if $ARGS[0] = 'ev53':
@@ -1020,13 +1205,18 @@ if $ARGS[0] = 'ev54':
 	gs 'stat'
 	act 'Put one in your ass':gt 'klofdomhouse', 'ev55'
 
-	if sub <= 30:
-		act 'Get out of here':
+	gs 'willpower', 'misc', 'resist', 'hard'
+	if will_cost <= pcs_willpwr:
+		act 'Get out of here (<<will_cost>> Willpower)':
+			gs 'willpower', 'pay', 'resist'
 			gs 'arousal', 'end'
-			gs 'clothing', 'wear', $normalclothingworntype, normalclothingwornno
+			gs 'clothing', 'wear', $normalclothingworntype, normalclothingworn
+			gs 'stat'
 			gt 'down'
 		end
-	end
+	else
+		act 'Get out of here (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
+	end	
 end
 
 if $ARGS[0] = 'ev55':
@@ -1052,13 +1242,18 @@ if $ARGS[0] = 'ev56':
 	gs 'stat'
 	act 'Obediently hold the glass':gt 'klofdomhouse', 'ev57'
 
-	if sub <= 30:
-		act 'Get out of here':
+	gs 'willpower', 'misc', 'resist', 'hard'
+	if will_cost <= pcs_willpwr:
+		act 'Get out of here (<<will_cost>> Willpower)':
+			gs 'willpower', 'pay', 'resist'
 			gs 'arousal', 'end'
-			gs 'clothing', 'wear', $normalclothingworntype, normalclothingwornno
+			gs 'clothing', 'wear', $normalclothingworntype, normalclothingworn
+			gs 'stat'
 			gt 'down'
 		end
-	end
+	else
+		act 'Get out of here (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
+	end	
 end
 
 if $ARGS[0] = 'ev57':
@@ -1111,13 +1306,18 @@ if $ARGS[0] = 'ev61':
 
 	act 'Fuck the crowd':gt 'klofdomhouse', 'ev62'
 
-	if sub <= 30:
-		act 'Get out of here':
+	gs 'willpower', 'misc', 'resist', 'hard'
+	if will_cost <= pcs_willpwr:
+		act 'Get out of here (<<will_cost>> Willpower)':
+			gs 'willpower', 'pay', 'resist'
 			gs 'arousal', 'end'
-			gs 'clothing', 'wear', $normalclothingworntype, normalclothingwornno
+			gs 'clothing', 'wear', $normalclothingworntype, normalclothingworn
+			gs 'stat'
 			gt 'down'
 		end
-	end
+	else
+		act 'Get out of here (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
+	end	
 end
 
 if $ARGS[0] = 'ev62':

+ 24 - 10
locations/kompMFC.qsrc

@@ -418,11 +418,18 @@ if vibrator = 1 or dildo = 1 or middildo = 1 or largedildo = 1 or bigdildo = 1 o
 					gt'Komp','waitclients'
 				end
 			end
-			act 'Ignore him':
-				cls
-				webpopular -= 1
-				gt'Komp','waitclients'
-			end
+			gs 'willpower', 'exhib', 'resist', 'hard'
+			if will_cost <= pcs_willpwr:
+				act 'Ignore him (<<will_cost>> Willpower)':
+					cls
+					webpopular -= 1
+					gs 'willpower', 'pay', 'resist'
+					gs 'stat'
+					gt 'Komp','waitclients'
+				end
+			else
+				act 'Ignore him (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
+			end	
 		end
 	elseif pcs_vag > 0:
 		if vibrator = 1:
@@ -1019,11 +1026,18 @@ else
 				act'Continue':gt'Komp','waitclients'
 			end
 		end
-		act 'Ignore him':
-			cls
-			webpopular -= 1
-			gt'Komp','waitclients'
-		end
+		gs 'willpower', 'exhib', 'resist', 'hard'
+		if will_cost <= pcs_willpwr:
+			act 'Ignore him (<<will_cost>> Willpower)':
+				cls
+				webpopular -= 1
+				gs 'willpower', 'pay', 'resist'
+				gs 'stat'
+				gt 'Komp','waitclients'
+			end
+		else
+			act 'Ignore him (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
+		end	
 	elseif pcs_vag > 0:
 		act 'Do as he asks':
 			cls

+ 84 - 34
locations/kompMFCtwo.qsrc

@@ -43,11 +43,18 @@ if webpopular >= 15 and pcs_ass >= 15 and clientask = 89:
 		end
 		act'Continue':gt'Komp','waitclients'
 	end
-	act 'Ignore him':
-		cls
-		webpopular -= 1
-		gt'Komp','waitclients'
-	end
+	gs 'willpower', 'exhib', 'resist', 'hard'
+		if will_cost <= pcs_willpwr:
+			act 'Ignore him (<<will_cost>> Willpower)':
+				cls
+				webpopular -= 1
+				gs 'willpower', 'pay', 'resist'
+				gs 'stat'
+				gt 'Komp','waitclients'
+			end
+		else
+			act 'Ignore him (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
+		end	
 end
 
 if webpopular < 50 and clientask = 88:
@@ -82,11 +89,18 @@ if webpopular < 50 and clientask = 88:
 		end
 		act'Continue':gt'Komp','waitclients'
 	end
-	act 'Ignore him':
-		cls
-		webpopular -= 1
-		gt'Komp','waitclients'
-	end
+	gs 'willpower', 'exhib', 'resist', 'hard'
+		if will_cost <= pcs_willpwr:
+			act 'Ignore him (<<will_cost>> Willpower)':
+				cls
+				webpopular -= 1
+				gs 'willpower', 'pay', 'resist'
+				gs 'stat'
+				gt 'Komp','waitclients'
+			end
+		else
+			act 'Ignore him (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
+		end	
 end
 
 if webpopular >= 50 and pcs_vag >= 35 and clientask = 87:
@@ -117,10 +131,18 @@ if webpopular >= 50 and pcs_vag >= 35 and clientask = 87:
 		'The chat is very impressed with your eagerness to please, and makes several lewd comments on what a good slut you are. You wiggle your hips at them for a moment before retrieving the objects and setting them aside.'
 		act'Continue':gt'Komp','waitclients'
 	end
-	act 'Ignore him':
-		cls
-		gt'Komp','waitclients'
-	end
+	gs 'willpower', 'exhib', 'resist', 'hard'
+		if will_cost <= pcs_willpwr:
+			act 'Ignore him (<<will_cost>> Willpower)':
+				cls
+				webpopular -= 1
+				gs 'willpower', 'pay', 'resist'
+				gs 'stat'
+				gt 'Komp','waitclients'
+			end
+		else
+			act 'Ignore him (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
+		end	
 end
 
 if webpopular >= 35 and pcs_vag >= 25 and alko >= 8 and clientask = 86:
@@ -426,11 +448,18 @@ if backmfc = 0 and pcs_vag > 20 and clientask = 83:
 		end
 		act'Continue':gt'Komp','waitclients'
 	end
-	act 'Ignore him':
-		cls
-		webpopular -= 1
-		gt'Komp','waitclients'
-	end
+	gs 'willpower', 'exhib', 'resist', 'hard'
+	if will_cost <= pcs_willpwr:
+		act 'Ignore him (<<will_cost>> Willpower)':
+			cls
+			webpopular -= 1
+			gs 'willpower', 'pay', 'resist'
+			gs 'stat'
+			gt 'Komp','waitclients'
+		end
+	else
+		act 'Ignore him (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
+	end	
 end
 
 if webpopular > 25 and backmfc = 0 and sub > 25 and pcs_vag > 10 and prezik > 0 and clientask = 82:
@@ -464,11 +493,18 @@ if webpopular > 25 and backmfc = 0 and sub > 25 and pcs_vag > 10 and prezik > 0
 		'When it''s in, you slowly pretend that you''re fucking yourself with it, even though it''s more your hips and hands moving than you actually moving the toothbrush. That would hurt like hell! You carefully pull the toothbrush out again, wincing with pain the whole time. Next time someone asks you to do that, you might not be so eager to do it any more... no matter how many tokens they offer.'
 		act'Further':gt'Komp','waitclients'
 	end
-	act 'Ignore him':
-		cls
-		webpopular -= 1
-		gt'Komp','waitclients'
-	end
+	gs 'willpower', 'exhib', 'resist', 'hard'
+	if will_cost <= pcs_willpwr:
+		act 'Ignore him (<<will_cost>> Willpower)':
+			cls
+			webpopular -= 1
+			gs 'willpower', 'pay', 'resist'
+			gs 'stat'
+			gt 'Komp','waitclients'
+		end
+	else
+		act 'Ignore him (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
+	end	
 end
 
 if backmfc = 0 and webpopular >= 50 and pcs_ass > 25 and clientask = 81:
@@ -503,11 +539,18 @@ if backmfc = 0 and webpopular >= 50 and pcs_ass > 25 and clientask = 81:
 		'The pain in your ass is unbearable for a while, but the client is true to his word. He donates a decent amount of tokens and lets you know that he hopes to meet an anal queen like you one day. You''re not sure if you can carry on with your show, though... that hurt a lot more than you thought it would.'
 		act'Continue':gt'Komp','waitclients'
 	end
-	act 'Ignore him':
-		cls
-		webpopular -= 1
-		gt'Komp','waitclients'
-	end
+	gs 'willpower', 'exhib', 'resist', 'hard'
+	if will_cost <= pcs_willpwr:
+		act 'Ignore him (<<will_cost>> Willpower)':
+			cls
+			webpopular -= 1
+			gs 'willpower', 'pay', 'resist'
+			gs 'stat'
+			gt 'Komp','waitclients'
+		end
+	else
+		act 'Ignore him (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
+	end	
 end
 
 if backmfc = 0 and webpopular >= 50 and pcs_ass > 10 and pcs_vag > 10 and sub > 50 and alko >= 6 and clientask = 80:
@@ -548,11 +591,18 @@ if backmfc = 0 and webpopular >= 50 and pcs_ass > 10 and pcs_vag > 10 and sub >
 		'A couple of minutes you finally pulled out of his embattled hell holes hook and crying, completely forgetting about the crowd of screaming spectators, promised myself never to repeat such...'
 		act'Further':gt'Komp','waitclients'
 	end
-	act 'Ignore':
-		cls
-		webpopular -= 1
-		gt'Komp','waitclients'
-	end
+	gs 'willpower', 'exhib', 'resist', 'hard'
+	if will_cost <= pcs_willpwr:
+		act 'Ignore him (<<will_cost>> Willpower)':
+			cls
+			webpopular -= 1
+			gs 'willpower', 'pay', 'resist'
+			gs 'stat'
+			gt 'Komp','waitclients'
+		end
+	else
+		act 'Ignore him (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
+	end	
 end
 
 --- kompMFCtwo ---------------------------------

+ 12 - 1
locations/lena.qsrc

@@ -17,7 +17,18 @@ if $ARGS[0] = 'lena':
 	act 'Move away':gt $loc,$metka
 	if $metka = 'party_gost':
 		'Lena and Ira together clink cups. "<<$pcs_nickname>>, Lets party!" As they offer you a drink.'
-		act 'Drink':gt 'ira', 'drink'
+		
+		gs 'willpower', 'drink', 'resist', 'hard'
+		if will_cost <= pcs_willpwr:
+			act 'Drink (<<will_cost>> Willpower)':
+				gs 'willpower', 'pay', 'self'
+				gs 'stat'
+				gt 'ira', 'drink'
+			end
+		else
+			act 'Drink (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
+		end	
+		
 		act 'Dance':gt 'ira', 'dance'
 	else
 		if alko < 6 and $metka = 'party_home': act 'Have a drink': gt'sbReksHome','party_drink'