Browse Source

Merge remote-tracking branch 'sovietmercader/master'

KevinSmarts 5 years ago
parent
commit
bb4f642e02

+ 0 - 28
locations/Gadsarai.qsrc

@@ -25,8 +25,6 @@ if $ARGS[0] = '':
 	end
 	'An old junk filled barn that could hold some useful items.'
 
-	if mira_dog > 0: 'A naked and chained <a href="exec: gt ''Gadsarai'',''mira_dog'' ">Mira</a> sits near the dog house.</a>'
-
 	if month > 4 and month < 10:
 		if hour > 9 and hour < 20:
 			'On your right is a cattle barn.'
@@ -324,31 +322,5 @@ if $ARGS[0] = 'horse':
 	act 'Go':minut += 5 & gt'Gadsarai'
 end
 
-if $ARGS[0] = 'mira_dog':
-	*clr & cla
-	minut += 5
-	gs 'stat'
-
-	'<center><H4>The barn</H4></center>'
-	'<center><img <<$set_imgh>> src="images/characters/village/mira/mira_kennel2.jpg"></center>'
-	'You see Mira in chains, naked, in the old dog house depicting a dog.'
-
-	act 'Release':
-		cla
-		*clr
-		minut += 5
-		mira_dog = 0
-		gs 'stat'
-		npc_QW['A60'] = 32 & !back to mira questline by illume
-		'<center><img <<$set_imgh>> src="images/characters/village/mira/mira_kennel3.jpg"></center>'
-		'Taking pity, you decide to let go the Mira ahead of time.'
-		'"Okay Mira, I''m feeling mercyfull today. You can consider yourself forgiven." you say, removing Mira''s collar.'
-		'The girl looks nervously at you for a few moments, then quickly gets dressed and runs home.'
-
-		act 'Continue':gt'Gadsarai'
-	end
-	act 'Go':gt'Gadsarai'
-end
-
 --- Gadsarai ---------------------------------
 

+ 23 - 20
locations/Miroslava.qsrc

@@ -1031,12 +1031,14 @@ if $ARGS[0] = 'miratalk':
 			pcs_horny += 10
 			'<center><img <<$set_imgh>> src="images/characters/village/mira/mira3.jpg"></center>'
 			'You coldly tell Mira that you saw her when she fucked Mitka in your meadow. You remind her that she swore not to tell anyone about your secret place. Mira turns red and flutters her eyes at you trying to look innocent as she mumbles that she''s sorry about breaking her promise. Mira asks if there is any way to make amends. You smile and remind her that she promised you three wishes if she ever revealed the meadow to anyone. Mira meekly nods her head confirming that she does indeed remember making that promise and is ready to fullfil them.'
-
-			act 'She deserves some punishment':
-				cla
-				if pcs_dom >= 25:
+			
+			gs 'willpower', 'exhib', 'force'
+			if will_cost <= pcs_willpwr:
+				act 'She deserves some punishment (<<will_cost>> Willpower)':
 					*clr & cla
 					minut += 5
+					gs 'willpower', 'exhib', 'force'
+					gs 'willpower', 'pay', 'force'
 					gs 'stat'
 					'<center><img <<$set_imgh>> src="images/characters/village/mira/mira3.jpg"></center>'
 					act 'Tell her to show you her pussy':
@@ -1054,7 +1056,7 @@ if $ARGS[0] = 'miratalk':
 							pcs_horny += 15
 							gs 'stat'
 							'<center><img <<$set_imgh>> src="images/characters/village/mira/mirawish1.jpg"></center>'
-							'Mentally exulting over your victory, you allow Mira to drag you behind the shed. She stops and turns to you, her face filled with a mix of anger and shame. Mira searches your face for a few secons, hoping that you will relent until she sees that you meant what you said. She stomps her feet a few times on the ground in frustration, and then, with a heavy sigh, she starts to remove her panties.'
+							'Mentally exulting over your victory, you allow Mira to drag you behind the shed. She stops and turns to you, her face filled with a mix of anger and shame. Mira searches your face for a few seconds, hoping that you will relent until she sees that you meant what you said. She stomps her feet a few times on the ground in frustration, and then, with a heavy sigh, she starts to remove her panties.'
 							act 'Watch':
 								*clr & cla
 								minut += 5
@@ -1070,22 +1072,23 @@ if $ARGS[0] = 'miratalk':
 							end
 						end
 					end
-				else
-					act 'Tell her that you want to watch as Mitka fucks her in the ass':
-						*clr & cla
-						minut += 5
-						pcs_horny += 10
-						npc_QW['A60'] = 5
-						npc_rel['A60'] -= 1
-						gs 'stat'
-						'<center><img <<$set_imgh>> src="images/characters/village/mira/mira3.jpg"></center>'
-						'You say you want to see Mitka fuck her ass because she told him your secret. Mira jumps to her feet from the suggestion and just looks at you, but you don`t give her time to recover and continue to emphasize further, Recalling that a deal is a deal, and if your word doesn''t matter, then out friendship will end. Miroslav blushes and hesitantly shifts from foot to foot. You decide to go for broke, turn around and start to leave...'
-						' - Wait, so it`s screaming you in the back of Mira, but you pretend to not notice and go on.'
-						' - Well, <<$pcs_nickname>>, - after a couple of seconds until you hear a hysterical scream from Mira, I`ll think of something!'
-
-						act 'Leave':gt 'Miroslava','Leave'
-					end
 				end
+			else
+				act 'She deserves some punishment (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
+			end
+			act 'Tell her that you want to watch as Mitka fucks her in the ass':
+				*clr & cla
+				minut += 5
+				pcs_horny += 10
+				npc_QW['A60'] = 5
+				npc_rel['A60'] -= 1
+				gs 'stat'
+				'<center><img <<$set_imgh>> src="images/characters/village/mira/mira3.jpg"></center>'
+				'You say you want to see Mitka fuck her ass because she told him your secret. Mira jumps to her feet from the suggestion and just looks at you, but you don`t give her time to recover and continue to emphasize further, Recalling that a deal is a deal, and if your word doesn''t matter, then out friendship will end. Miroslav blushes and hesitantly shifts from foot to foot. You decide to go for broke, turn around and start to leave...'
+				' - Wait, so it`s screaming you in the back of Mira, but you pretend to not notice and go on.'
+				' - Well, <<$pcs_nickname>>, - after a couple of seconds until you hear a hysterical scream from Mira, I`ll think of something!'
+
+				act 'Leave':gt 'Miroslava','Leave'
 			end
 		end
 	elseif npc_QW['A60'] = 4 and Mira4day ! daystart:

+ 127 - 90
locations/abduction.qsrc

@@ -42,7 +42,7 @@ if $ARGS[0] = 'abdRoomFirstChaining':
 	'"Shut up, slut. Usually we torture you for fun as long as we want. When you become broken enough, we sell you to the highest bidder."'
 	'"You cannot do this to me! It''s illegal!'
 	'"Ha, who do you think are our best customers? Politicians, police officers, businessmen... We have our cover. So you should shut up and get used to it!"'
-	'The man leaves without saying another word, even as you are cry and yell at him...'
+	'The man leaves without saying another word, even as you cry and yell at him...'
 	gs 'underwear', 'remove'
 	painkiller_bak = painkiller
 	prezik_bak = prezik
@@ -106,7 +106,7 @@ if $ARGS[0] = 'abdSomeoneComing':
 	minut += 1
 	gs 'stat'
 	'<center><img <<$set_imgh>> src="images/locations/shared/abduction/downstairs2.jpg"></center>'
-	'Steps can be heard - someone is coming down the stairs.'
+	'You hear the sound of footsteps getting louder - someone is coming down the stairs.'
 
 	if pcs_leghair > 3 or pcs_pubes > 3:
 		minut += 20
@@ -128,30 +128,31 @@ if $ARGS[0] = 'abdSomeoneComing':
 		if broken = 0:
 			'You start to tremble in fear of what is going to happen to you next.'
 			act 'Cower in panic on your bed':gt 'abduction', 'abdRape'
+			
+			if rapeCount >= 5: act 'Plead that you cannot bear anymore rough treatment':gt 'abduction', 'abdBreak1'
+		else
+		
 		end
 
-		if rapeCount >= 5 and broken = 0:
-			act 'Plead that you cannot bear anymore rough treatment':gt 'abduction', 'abdBreak1'
-		end
-
-		saleChance = (broken + tortureCount + rapeCount + abdCustomerCount) - 20
-		if broken >= 1:
-			saleChanceRand = rand(1, 100)
-			customerChance = rand(1, 100)
-			painkillerChance = rand(1, 100)
-			buyoutChance = rand(1, 100)
+		buyoutChance = (broken + tortureCount + rapeCount + abdCustomerCount) - 20
+		saleChance = (broken + tortureCount + rapeCount + abdCustomerCount) - 10
+		if broken > 0:
+			saleChanceRand = rand(1,100)
+			customerChance = rand(1,100)
+			painkillerChance = rand(1,100)
+			buyoutChanceRand = rand(1,100)
 			if broken < 10:
 				act 'Welcome back, Master.':gt 'abduction', 'abdBrokenAsk'
 			elseif (broken >= 10 and abdTools = 0):
 				act 'Welcome back, Master.':gt 'abduction', 'abdBrokenGiveTools'
 			else
 				if customerChance <= 50:
-					act 'Welcome back, master':gt 'abductionCustomer', 'abdCustomerGate'
+					act 'Welcome back, Master':gt 'abductionCustomer', 'abdCustomerGate'
 					abdCustomerCount += 1
-				elseif abdCustomerCount > 5 and buyoutChance <= (2 * abdCustomerCount):
+				elseif abdCustomerCount > 5 and buyoutChanceRand <= (2 * buyoutChance):
 					act 'Welcome back, Master':gt 'abductionCustomer', 'abdCustomerGateBuyout'
 				else
-					if abdCustomerCount > 5 and saleChanceRand <= (2 * abdCustomerCount):
+					if abdCustomerCount > 5 and saleChanceRand <= (2 * saleChance):
 						'Master: "I have some good news for you slave."'
 						act 'Yes Master?':gt 'abduction', 'abdBeSold'
 					else
@@ -172,10 +173,21 @@ if $ARGS[0] = 'abdExamStart':
 	menu_off = 1
 	minut += 5
 	'<center><img <<$set_imgh>> src="images/locations/shared/abduction/examroom.jpg"></center>'
-	'You are unblinded in a very bright room, at first not able to see anything.'
+	'The blindfold is removed and you find yourself in a small white room. It is very bright and at first you can barely see.'
 	'As your eyes adjust, you can see that it is some kind of examination room, distantly reminding you of a gynecologists office.'
 	'The man orders you to sit in the chair.'
-	act 'Resist':gt 'abduction', 'abdExamResist'
+	
+	gs 'willpower', 'misc', 'resist', 'hard'
+	if will_cost <= pcs_willpwr:
+		act 'Resist (<<will_cost>> Willpower)':
+			gs 'willpower', 'misc', 'resist', 'hard'
+			gs 'willpower', 'pay', 'resist'
+			gs 'stat'
+			gt 'abduction', 'abdExamResist'
+		end
+	else
+		act 'Resist (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
+	end
 	act 'Obey':gt 'abduction', 'abdExamObey'
 end
 
@@ -185,10 +197,10 @@ if $ARGS[0] = 'abdExamResist':
 	'<center><video autoplay loop src="images/locations/shared/abduction/examslap.mp4"></video></center>'
 	'Being scared of what they''ll do to you, you start yelling and shaking to get loose of the leash.'
 	'Your captor is very strong and your leash and cuffs make your attempt futile.'
-	'He catches you, knocks you down to the ground and slaps your face hard.'
+	'He grabs you, knocks you down to the ground and slaps your face hard.'
 	'"You''re only making it harder, bitch."'
-	'With these words he grabs you like you weigh nothing and throws you on the chair and restrains you.'
-	'He then sits down in a chair opposite to you, located in the far corner of the room.'
+	'With these words he picks you up like you weigh nothing, pushes you in the chair and restrains you.'
+	'He then sits down in a chair over in the far corner of the room.'
 	act 'Continue':gt 'abduction', 'abdExam1'
 end
 
@@ -198,7 +210,7 @@ if $ARGS[0] = 'abdExamObey':
 	'<center><img <<$set_imgh>> src="images/locations/shared/abduction/examsit.jpg"></center>'
 	'Willingly, like a slave you obviously just became, you climb up the chair and lie there, wondering what perverse things are going to happen to you.'
 	'The man ties you up anyway, probably to make sure you don''t try to escape after they start. It makes you even more nervous.'
-	'He then sits down in a chair opposite to you, located in the far corner of the room.'
+	'He then sits down in a chair over in the far corner of the room.'
 	act 'Continue':gt 'abduction', 'abdExam1'
 end
 
@@ -217,7 +229,9 @@ if $ARGS[0] = 'abdExam1':
 		'"Heh, I see."'
 		'He continues in the usual report of his findings.'
 	end
-	"Regarding her usage levels, her throat is <<$throattipe>>. <<$pcs_ass>>."
+	'He continues to examine every inch of you. "Regarding her usage levels:"'
+	'He shines a light in your mouth, and says, "Her throat is <<$throattipe>>."'
+	'Next he feels a finger around your ass, "And her ass is <<$anustipe>>."'
 	'He pulls his finger out of your ass and finally reaches for your pussy.'
 	if pcs_vag = 0:
 		'"Oh, and you''ll like this; Her pussy is a virgin one."'
@@ -225,7 +239,7 @@ if $ARGS[0] = 'abdExam1':
 	else
 		'"And her pussy is <<$vaginatipe>>.'
 	end
-	'The doctor leaves your body alone and prepares several needles filled with unknown fluids.'
+	'The doctor finally takes his hands off of you and prepares several needles filled with unknown fluids.'
 
 	act 'Continue':gt 'abduction', 'abdExam2'
 end
@@ -234,10 +248,9 @@ if $ARGS[0] = 'abdExam2':
 	*clr & cla
 	menu_off = 1
 	'<center><img <<$set_imgh>> src="images/locations/shared/abduction/exam2.jpg"></center>'
-	'The doctor leaves your body alone and prepares several needles filled with unknown fluids.'
 	'"Now there, our little slave, we will make sure you are healthy and ready to be trained."'
-	'He injects all the solutions into you.'
-	'The examination is at an end. The doctor leaves, you are untied, blindfolded again and led back down into the basement.'
+	'He quickly injects all the solutions into one of your arms, "The examination is now over."'
+	'The doctor leaves, and the man puts your shackles and blindfold back on and leads you back down into the basement.'
 	gs 'medical_din','healSTDs'
 
 	examed = 1
@@ -277,24 +290,33 @@ if $ARGS[0] = 'abdBreak1':
 	'"You don''t understand bitch. You will leave this place, in the end. As a broken sex slave or as a dead body."'
 	'"But..."'
 	'"You will be sold to someone as a slave. Or if you won''t accept that role, you will be utilized for the more perverted needs of our customers. Those girls usually don''t survive for long.'
-	'(you nervously gulp)'
-	'"Now show me what sex slave you are."'
+	'You feel a slight sense of dread as your mind races to think of what horrors might await you.'
+	'"Now show me what a good sex slave you are."'
 
 	tortureType = rand(1,3)
-	act 'Spit in his face':gt 'abduction', 'abdTorture'
+	gs 'willpower', 'misc', 'resist', 'hard'
+	if will_cost <= pcs_willpwr:
+		act 'Spit in his face (<<will_cost>> Willpower</font>)':
+			gs 'willpower', 'misc', 'resist', 'hard'
+			gs 'willpower', 'pay', 'resist'
+			gs 'stat'
+			gt 'abduction', 'abdTorture'
+		end
+	else
+		act 'Spit in his face (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
+	end
 
 	if rapeCount <= 10:
-		act 'Say nothing and crawl back to your bed':gt 'abduction', 'abdRape'
+		act 'Say nothing and crawl back to your bed': gt 'abduction', 'abdRape'
 	end
 
 	if tortureCount >= 5 or rapeCount >= 10:
-		if broken = 1 and pcs_vag > 0:
-			act 'Please fuck my pussy, Master':gt 'abduction', 'abdBreak2FuckA1'
+		if broken > 0:
 			act 'Please fuck my mouth, Master':gt 'abduction', 'abdBreak2FuckB1'
-		elseif pcs_vag > 0:
-			act 'You... you are my master. Please use me...':gt 'abduction', 'abdBreak2FuckA1'
+			if pcs_vag > 0: act 'Please fuck my pussy, Master':gt 'abduction', 'abdBreak2FuckA1'
 		else
-			act 'You... you are my master. Please use me...':gt 'abduction', 'abdBreak2FuckB1'
+			act 'You... you are my master. Please accept my mouth for your use...':gt 'abduction', 'abdBreak2FuckB1'
+			if pcs_vag > 0: act 'You... you are my master. Please accept my pussy for your use...':gt 'abduction', 'abdBreak2FuckA1'
 		end
 	end
 end
@@ -303,11 +325,21 @@ if $ARGS[0] = 'abdBrokenGivePainkiller':
 	*clr & cla
 	menu_off = 1
 	'<center><img <<$set_imgh>> src="images/locations/shared/abduction/pill1.jpg"></center>'
-	'Master: "You have been a good slave so far. Good slaves are rewarded."'
+	'Your master approaches you, "You have been a good slave so far. Good slaves are rewarded."'
 	'He hands you a single painkiller pill.'
 
 	act 'Take and swallow it':gt 'abduction', 'abdBrokenGivePainkillerYes'
-	act 'Refuse and keep your mouth shut':gt 'abduction', 'abdBrokenGivePainkillerNo'
+	gs 'willpower', 'misc', 'resist', 'easy'
+	if will_cost <= pcs_willpwr:
+		act 'Refuse and keep your mouth shut (<<will_cost>> Willpower)':
+			gs 'willpower', 'misc', 'resist', 'easy'
+			gs 'willpower', 'pay', 'resist'
+			gs 'stat'
+			gt 'abduction', 'abdBrokenGivePainkillerNo'
+		end
+	else
+		act 'Refuse and keep your mouth shut (<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] = 'abdBrokenGivePainkillerYes':
@@ -315,7 +347,6 @@ if $ARGS[0] = 'abdBrokenGivePainkillerYes':
 	menu_off = 1
 	'<center><img <<$set_imgh>> src="images/locations/shared/abduction/pill2.jpg"></center>'
 	'You happily take the pill and swallow it immediately.'
-	sub += 2
 	gs 'stat'
 	painkillerGive = rand(1,100)
 	if painkillerGive > 20 and broken >= 10:
@@ -329,8 +360,8 @@ if $ARGS[0] = 'abdBrokenGivePainkillerNo':
 	*clr & cla
 	menu_off = 1
 	'<center><video autoplay loop src="images/locations/shared/abduction/sex/pill1.mp4"></video></center>'
-	'Master: "Refusing a gift? It seems like this slaveslut needs to be reminded of her place."'
-	'He ties you down ontop of a table, securing your head.'
+	'You see anger flash across your master''s face. "Refusing a gift? It seems like this slave slut needs to be reminded of her place."'
+	'He ties you down on top of a table, securing your head.'
 	'Some devious device is attached to your nose, pulling your head backwards. It forces you to open your mouth slightly.'
 	'Your master takes a clamp and a pulls your tongue out, tightly and painfully sqeezing it.'
 	'He then secures the pill on top of a dildo and pushes the tip down your throat.'
@@ -342,38 +373,30 @@ if $ARGS[0] = 'abdBrokenGivePainkillerNo':
 	pain['tongue'] += 5
 	pain['throat'] += 5
 	pain['nose'] += 5
-	sub -= 2
 	gs 'stat'
 	act 'Continue':gt 'abduction', 'abdTorture'
 end
 
 if $ARGS[0] = 'abdBrokenAsk':
 	menu_off = 1
-	'Master: "Good. What do you want me to do to you, slaveslut?"'
-	sub += 5
 	gs 'stat'
-	if pcs_vag > 0:
-		act 'Please fuck my pussy, Master':gt 'abduction', 'abdBreak2FuckA1'
-	end
+	
+	'Your master responds, "Very good. What do you want me to do to you, slave slut?"'
+	
 	act 'Please fuck my mouth, Master':gt 'abduction', 'abdBreak2FuckB1'
-	if broken >= 3 and sub >= 70:
-		sub += 3
-		gs 'stat'
-		act 'Please rape me, Master':gt 'abduction', 'abdRape'
-	end
-	if broken >= 5 and sub >= 90:
-		sub += 5
-		gs 'stat'
-		act 'Please punish me, Master':gt 'abduction', 'abdTorture'
-	end
+	
+	if pcs_vag > 0: act 'Please fuck my pussy, Master':gt 'abduction', 'abdBreak2FuckA1'
+	
+	if broken >= 5: act 'Please rape me, Master':gt 'abduction', 'abdRape'
+
+	if broken >= 10: act 'Please punish me, Master':gt 'abduction', 'abdTorture'
 end
 
 if $ARGS[0] = 'abdBreak2FuckA1':
 	*clr & cla
 	menu_off = 1
-	sub += 5
 	broken += 1
-	gs 'cum_call', '', 'master', 0,'', spot, svol
+	gs 'cum_call', '', 'Master', 0,'', spot, svol
 	'<center><img <<$set_imgh>> src="images/locations/shared/abduction/sex/brokena1.jpg"></center>'
 	'Your tormentor unchains you and throws you on your dirty bed.'
 	'Spreading your legs wide apart, you spit on your hand and smear it on your pussy, saying: "Come, take me, Master."'
@@ -388,12 +411,12 @@ end
 if $ARGS[0] = 'abdBreak2FuckA2':
 	*clr & cla
 	menu_off = 1
-	gs 'cum_call', 'mouth', 'master', 0,'', spot, svol
+	gs 'cum_call', 'mouth', 'Master', 0,'', spot, svol
 	'<center><img <<$set_imgh>> src="images/locations/shared/abduction/sex/brokena2.jpg"></center>'
 	'Fucking you wildly for some time, your master stops before he orgasms.'
 	'He unties your hands and legs and instead ties your hands behind your back.'
 	'Knowing what he expects you to do, you open your mouth wide and await his cock.'
-	'After some mouthfucking and gagging, he comes in your mouth.'
+	'After some mouthfucking and gagging, he cums in your mouth.'
 	if broken = 1:
 		*nl
 		'"Very good, slave. You are on a path to redeem yourself." With these words he releases your arms, secures you back in your usual location and then leaves.'
@@ -409,10 +432,9 @@ if $ARGS[0] = 'abdBreak2FuckB1':
 	*clr & cla
 	menu_off = 1
 	broken += 1
-	sub += 5
 	gs 'cum_call', 'mouth', 'Master'
 	'<center><img <<$set_imgh>> src="images/locations/shared/abduction/sex/brokenb1.jpg"></center>'
-	'Your tormentor unchains you and leads you to a device.'
+	'Your master unchains you and leads you to a device.'
 	'You can see that it''s meant to restrain a person in a lying position, with their head at the same height as someone''s crotch.'
 	'You want to please your master, so you lie down on it straight away and dutifully await the attaching of the restraints.'
 	'After your master ties you, he walks up to your head. Your already open mouth is then roughly fucked by his member.'
@@ -427,12 +449,16 @@ if $ARGS[0] = 'abdBreak2FuckB2':
 	*clr & cla
 	menu_off = 1
 	pain['asshole'] += 1
-	broken += 1
-	gs 'cum_call', 'anus', 'Master'
 	'<center><img <<$set_imgh>> src="images/locations/shared/abduction/sex/brokenb2.jpg"></center>'
 	'Surprisingly his dick is not wearing out. He moves behind you and starts to penetrate your ass.'
 	'Trying to relax your anus as much as you can, he enters you quite easily. Just a small reminder of pain goes through your muscles.'
 	'Fucking you furiously for some time, your master cums deep inside you.'
+	if broken = 1:
+		*nl
+		'"Very good, slave. You are on a path to redeem yourself." With these words he releases your arms, secures you back in your usual location and then leaves.'
+	end
+	broken += 1
+	gs 'cum_call', 'anus', 'Master'
 	gs 'arousal', 'anal', 20, 'sub', 'bound'
 	gs 'stat'
 
@@ -459,7 +485,7 @@ if $ARGS[0] = 'abdEscape':
 	minut += 5
 	gs 'stat'
 	act 'Try to break the lock':gt 'abduction', 'abdEscapeWindow1'
-	act 'Go back to your bed and fix your leash back to the wall':gt 'abduction', 'abdRoom'
+	act 'Go back to your bed and reattach your leash to the wall':gt 'abduction', 'abdRoom'
 end
 
 if $ARGS[0] = 'abdEscapeWindow1':
@@ -471,13 +497,13 @@ if $ARGS[0] = 'abdEscapeWindow1':
 	gs 'stat'
 	breakChance = rand(1, 100)
 	if breakChance <= 50:
-		'You hear someone slam a door. Maybe your captors are coming!'
+		'You hear someone slam a door nearby. Maybe your master is returning!'
 		'But you are so close to unscrewing the window! You decide to...'
-		act 'Run back to your bed and leash your chain back':gt 'abduction', 'abdSomeoneComing'
+		act 'Run back to your bed and reattach your leash to the wall':gt 'abduction', 'abdSomeoneComing'
 		act 'Try to unscrew it desperately':gt 'abduction', 'abdEscapeWindow2'
 	else
 		'No luck, the window is screwed in very tight.'
-		act 'Go back':gt 'abduction', 'abdEscape'
+		act 'Go back':gt 'abduction', 'abdFood'
 	end
 end
 
@@ -488,7 +514,7 @@ if $ARGS[0] = 'abdEscapeWindow2':
 	'You continue in your attempts to break the window.'
 	minut += 5
 	gs 'stat'
-	breakChance = rand(1, 100)
+	breakChance = rand(1,100)
 	if breakChance <= 90:
 		'You desperately try to unscrew it, but you run out of time and luck.'
 		'Your master comes into the basement and catches you running around unleashed. This won''t end well for you...'
@@ -555,8 +581,8 @@ if $ARGS[0] = 'abdFood':
 	'There are some water bottles and dried food beneath your bed.'
 	'A half broken, dirty mirror provides some means to inspect your appearance.'
 	'In the corner there is something remotely similar to a shower, with cold water only, though.'
-	'There''s enough space to do some basic <a href="exec:gt ''abduction'', ''abdpushup''">exercise</a>.'
-	chainChance = rand(1, 100)
+	'There''s enough space to do some basic <a href="exec:gt ''abduction'', ''abdexercise''">exercise</a>.'
+	chainChance = rand(1,100)
 	if chainChance <= 20 and (rapeCount > 5 or tortureCount > 5):
 		'Suddenly you spot a loose chainlink on your leash. You try to manipulate it and you manage to free yourself from the wall.'
 		'<a href="exec:gt ''abduction'', ''abdEscape''">Go to the window</a>'
@@ -653,42 +679,54 @@ if $ARGS[0] = 'abdFood':
 	act 'Get back to your bed':gt 'abduction', 'abdRoom'
 end
 
-if $ARGS[0] = 'abdpushup':
-	$loc = 'abduction'
-	$metka = 'abdFood'
+if $ARGS[0] = 'abdexercise':
 	*clr & cla
 	menu_off = 1
-	'<center><video autoplay loop src="images/pc/activities/push_naked.mp4"></video></center>'
 	gs 'exercise', 'tier2', 30, 'stren_exp'
+	
+	'<center><video autoplay loop src="images/pc/activities/push_naked.mp4"></video></center>'
+	*nl
 	'You do push-ups for <<$timestring>> minutes, improving your strength.'
 
 	randpushfact = rand(-5,5)
-	if pcs_energy < 40: randpushfact -= RAND(1,10)
+	if pcs_energy < 40: randpushfact -= rand(1,10)
 
 	pushnum = (pcs_stren * pcs_sleep * pcs_health)  / ( 1 * 67 *  healthmax) + randpushfact
 
 	if pushnum < 1: pushnum = rand(1,5)
-	KILLVAR 'randpushfact'
+	killvar 'randpushfact'
 	'<br>You managed to do <<pushnum>> push-ups. Your previous record is <<pushrecord>>.'
 
 	if pushrecord < pushnum:pushrecord = pushnum & 'This is a new record!'
 	gs 'stat'
-	act 'Finish': gt $loc, $metka
+	
+	act 'Continue':
+		*clr & cla
+		menu_off = 1
+		gs 'exercise', 'tier2', 30, 'vital_exp'
+		
+		'<center><video autoplay loop src="images/pc/activities/abdominal_naked.mp4"></video></center>'
+		*nl
+		'You do a series of abdominal exercises for <<$timestring>> minutes, improving your endurance.'
+		
+		gs 'stat'
+	
+		act 'Finish': gt 'abduction', 'abdFood'
+	end
 end
 
 if $ARGS[0] = 'abdRape':
 	*clr & cla
 	menu_off = 1
 	rapeCount += 1
-	rapeType = rand(1, 5)
-	sub += 3
+	rapeType = rand(1,5)
 	if broken < 10:pcs_mood = 5
 
 	if rapeType = 1:
 		pain['mouth'] += 3
-		gs 'cum_call', 'mouth', 'torturer'
-		i = rand(1, 4)
-		gifornot = rand (1, 100)
+		gs 'cum_call', 'mouth', 'Master'
+		i = rand(1,4)
+		gifornot = rand(1,100)
 		if gifornot > 50:
 			'<center><img <<$set_imgh>> src="images/locations/shared/abduction/sex/mouthgagblow<<i>>.jpg"></center>'
 		else
@@ -702,8 +740,8 @@ if $ARGS[0] = 'abdRape':
 		act 'Continue':gt 'abduction', 'abdRoom'
 	elseif rapeType = 2 and pcs_vag > 0:
 		pain['vaginal'] += 10
-		gs 'cum_call', '', 'torturer', 0
-		i = rand(1, 5)
+		gs 'cum_call', '', 'Master', 0
+		i = rand(1,5)
 		'<center><img <<$set_imgh>> src="images/locations/shared/abduction/sex/fucktiedpussy<<i>>.jpg"></center>'
 		'Your hands are tied and you''re bent over the bed.'
 		'The guy starts to penetrate your pussy without warning. Sharp pain goes through your belly as your pussy is not wet enough to receive a dick.'
@@ -713,8 +751,8 @@ if $ARGS[0] = 'abdRape':
 		act 'Continue':gt 'abduction', 'abdRoom'
 	elseif rapeType = 3:
 		pain['asshole'] += 10
-		gs 'cum_call', 'anus', 'torturer'
-		gifornot = rand (1, 100)
+		gs 'cum_call', 'anus', 'Master'
+		gifornot = rand (1,100)
 		if gifornot > 50:
 			'<center><img <<$set_imgh>> src="images/locations/shared/abduction/sex/fucktiedanal'+rand(1,4)+'.jpg"></center>'
 		else
@@ -758,7 +796,7 @@ if $ARGS[0] = 'abdRape':
 	else
 		pcs_throat += 1
 		pain['mouth'] += 5
-		gs 'cum_call', 'mouth', 'Torturer'
+		gs 'cum_call', 'mouth', 'Master'
 
 		i = rand(1, 4)
 		gifornot = rand (1, 100)
@@ -777,7 +815,6 @@ if $ARGS[0] = 'abdRape':
 end
 
 if $ARGS[0] = 'abdTorture':
-	sub += 5
 	tortureType = rand(1,4)
 	tortureCount += 1
 	gs 'stat'
@@ -1005,7 +1042,7 @@ if $ARGS[0] = 'abdTortureD5':
 	pain['vaginal'] += 5
 	pcs_vag += 1
 	pcs_ass += 1
-	gs 'cum_call', 'mouth', 'Torturer'
+	gs 'cum_call', 'mouth', 'Master'
 	gs 'stat'
 	'<center><video autoplay loop src="images/locations/shared/abduction/sex/tortured5.mp4"></video></center>'
 	'Even though your head is spinning and everything is aching inside you, you are able to make him cum in few minutes.'

+ 172 - 58
locations/abductionCustomer.qsrc

@@ -2,7 +2,7 @@
 
 if $ARGS[0] = 'abdCustomerGate':
 	menu_off = 1
-	'Master: "Hello, slave slut."'
+	'Your master approaches you, "Hello, slave slut."'
 	'"I have a customer here, who came to rent you for a while. Do whatever he asks of you."'
 	buyout = 0
 	act 'Yes, Master.':gt 'abductionCustomer', 'abdCustomerGo'
@@ -10,7 +10,7 @@ end
 
 if $ARGS[0] = 'abdCustomerGateBuyout':
 	menu_off = 1
-	'Master: "Hello, slave slut."'
+	'Your master approaches you, "Hello, slave slut."'
 	'"I have a customer here, who came to rent you for a while. Do whatever he asks of you."'
 	buyout = 1
 	act 'Yes, Master.':gt 'abductionCustomer', 'abdCustomerGo'
@@ -20,7 +20,7 @@ if $ARGS[0] = 'abdCustomerGo':
 	menu_off = 1
 	minut += 5
 	gs 'stat'
-	i = rand(1, 3)
+	i = rand(1,3)
 	'<center><video autoplay loop src="images/locations/shared/abduction/sex/ledonfour<<i>>.mp4"></video></center>'
 	'Your master removes your regular chains and puts you on a leash.'
 	'You are being led up the stairs into the house above your cellar.'
@@ -57,21 +57,21 @@ if $ARGS[0] = 'abdCustomer':
 	if RaceRand = 0:
 		$raceType = 'white'
 		dickChance = 30
-		charTypeRand += rand(-3, 2)
-		bodyTypeRand += rand(-2, 8)
-		heightTypeRand += rand(-1, 6)
+		charTypeRand += rand(-3,2)
+		bodyTypeRand += rand(-2,8)
+		heightTypeRand += rand(-1,6)
 	elseif RaceRand = 1:
 		$raceType = 'black'
 		dickChance = 40
-		charTypeRand += rand(0, 2)
-		bodyTypeRand += rand(0, 6)
-		heightTypeRand += rand(0, 6)
+		charTypeRand += rand(0,2)
+		bodyTypeRand += rand(0,6)
+		heightTypeRand += rand(0,6)
 	elseif RaceRand = 2:
 		$raceType = 'asian'
 		dickChance = 20
-		charTypeRand += rand(-2, 2)
-		bodyTypeRand += rand(-6, 2)
-		heightTypeRand += rand(-4, 1)
+		charTypeRand += rand(-2,2)
+		bodyTypeRand += rand(-6,2)
+		heightTypeRand += rand(-4,1)
 	end
 
 	if pcs_vag = 0:
@@ -79,7 +79,7 @@ if $ARGS[0] = 'abdCustomer':
 	elseif buyout = 1:
 		dick = 24
 	else
-		dickRand = rand(1, 100)
+		dickRand = rand(1,100)
 		if dickRand <= dickChance:
 			dick = rand(15, 40)
 		elseif dickRand <= (dickChance * 2):
@@ -96,25 +96,25 @@ if $ARGS[0] = 'abdCustomer':
 	! customer dick size
 	if dick >= 30:
 		$dick_girth = 'monstrous'
-		cumVol = rand(4, 5)
+		cumVol = rand(4,5)
 	elseif dick >= 25:
 		$dick_girth = 'huge'
 		cumVol += 1
-		cumVol = rand(3, 5)
+		cumVol = rand(3,5)
 	elseif dick >= 20:
 		$dick_girth = 'very big'
-		cumVol = rand(2, 5)
+		cumVol = rand(2,5)
 	elseif dick >= 15:
 		$dick_girth = 'big'
-		cumVol = rand(2, 4)
+		cumVol = rand(2,4)
 	elseif dick >= 10:
 		$dick_girth = 'regular'
 		cumVol -= 1
-		cumVol = rand(1, 4)
+		cumVol = rand(1,4)
 	else
 		$dick_girth = 'tiny'
 		cumVol -= 2
-		cumVol = rand(1, 3)
+		cumVol = rand(1,3)
 	end
 
 	! customer cum volume
@@ -180,7 +180,7 @@ if $ARGS[0] = 'abdCustomer':
 		'Right away you can see that he is just another bastard coming here to use your <<age>> years young body.'
 		'Your master leaves you in the center of the room, still kneeling with the leash attached to your collar.'
 		'As the door closes behind him, the customer slowly turns and you can finally see his face.'
-		act 'Look to his face':gt 'abductionCustomer', 'abdCustomer-buyout1'
+		act 'Look at his face':gt 'abductionCustomer', 'abdCustomer-buyout1'
 	else
 		'<center><video autoplay loop src="images/locations/shared/abduction/sex/slavewhorekneelmaster.mp4"></video></center>'
 		'The customer is a <<$heightType>> <<$bodyType>> <<$raceType>>.'
@@ -223,8 +223,18 @@ if $ARGS[0] = 'abdCustomer-buyout1':
 	'Then suddenly the look on <<$bName>>''s face changes from surprised to something else.'
 	'He comes up to you and gently caresses your face: "Plaything, you say? And do you like it?"'
 	'Surprised by such a question you wait with your answer:'
-	if sub > 95:
-		act 'Admit you like to be dominated, but this is too much':gt 'abductionCustomer', 'abdCustomer-buyout2'
+	
+	gs 'willpower', 'misc', 'self', 'hard'
+	if will_cost <= pcs_willpwr:
+		act 'Admit you like to be dominated, but this is too much (<<will_cost>> Willpower)':
+			gs 'willpower', 'misc', 'self', 'hard'
+			gs 'willpower', 'pay', 'self'
+			gs 'stat'
+
+			gt 'abductionCustomer', 'abdCustomer-buyout2'
+		end
+	else
+		act 'Admit you like to be dominated, but this is too much (<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 you hate it':gt 'abductionCustomer', 'abdCustomer-buyout3'
 end
@@ -250,7 +260,18 @@ if $ARGS[0] = 'abdCustomer-buyout3':
 	'Stepping above you as you helplessly lay on the floor, he opens his zipper and pulls his dick out of his pants.'
 	'You can clearly see his <<dick>> cm long <<$dick_girth>> dick swing above you in the air.'
 	act 'Suck on it':gt 'abductionCustomer', 'abdCustomer-suckTip'
-	act 'Do nothing':gt 'abductionCustomer', 'abdCustomer-fuckAnalRough'
+	gs 'willpower', 'bj', 'resist'
+	if will_cost <= pcs_willpwr:
+		act 'Do Nothing (<<will_cost>> Willpower)':
+			gs 'willpower', 'bj', 'resist'
+			gs 'willpower', 'pay', 'resist'
+			gs 'stat'
+			
+			gt 'abductionCustomer', 'abdCustomer-fuckAnalRough'
+		end
+	else
+		act 'Do Nothing (<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] = 'abdCustomer-buyout4':
 	'<center><img <<$set_imgh>> src="images/locations/shared/abduction/sex/slavewhorefuckanalroughleonid2.jpg"></center>'
@@ -291,7 +312,7 @@ if $ARGS[0] = 'abdCustomer-virgin2':
 	pcs_mood = 5
 	'<center><video autoplay loop src="images/locations/shared/abduction/sex/slavewhorevirgin2.mp4"></video></center>'
 	'He starts to undress, finishing off with his pants. As he pulls them down, you can finally can see his naked member fall out.'
-	'"With renewed terror you start to cry, because the sight of his <<dick>> cm thick <<$dick_girth>> fallus is just terrifying."'
+	'"With renewed terror you start to cry, because the sight of his <<dick>> cm thick <<$dick_girth>> phallus is just terrifying."'
 	gs 'stat'
 	act 'Continue':gt 'abductionCustomer', 'abdCustomer-virgin3'
 end
@@ -379,7 +400,7 @@ if $ARGS[0] = 'abdCustomer-virgin10':
 	minut += 15
 	pcs_mood = 5
 	'<center><video autoplay loop src="images/locations/shared/abduction/sex/slavewhorevirgin10.mp4"></video></center>'
-	'A sound of the master coming from upstairs wakes you up.'
+	'The sound of your master coming downstairs wakes you up.'
 	'You must have fallen asleep from the exhaustion.'
 	*nl
 	'Kneel and stick your ass high in the air, slut.'
@@ -416,17 +437,39 @@ if $ARGS[0] = 'abdCustomer-unzip':
 	if pcs_throat < dick:
 		'It''s obvious that his <<$dick_girth>> dick is above your skill and you know you wouldn''t be able to swallow it whole.'	
 		act 'Suck the tip':gt 'abductionCustomer', 'abdCustomer-suckTip'
-		act 'Force yourself on his cock':gt 'abductionCustomer', 'abdCustomer-suckForceself'
+		gs 'willpower', 'bj', 'self'
+		if will_cost <= pcs_willpwr:
+			act 'Force yourself on his cock (<<will_cost>> Willpower)':
+				gs 'willpower', 'bj', 'self'
+				gs 'willpower', 'pay', 'self'
+				gs 'stat'
+				
+				gt 'abductionCustomer', 'abdCustomer-suckForceself'
+			end
+		else
+			act 'Force yourself on his cock (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
+		end
 	else
 		'Even though his dick is <<$dick_girth>>, you know you''d be able to take it all the way to the balls.'
 		act 'Suck the tip':gt 'abductionCustomer', 'abdCustomer-suckTip'
-		act 'Deepthroat':gt 'abductionCustomer', 'abdCustomer-suckDeep'
+		gs 'willpower', 'bj', 'self'
+		if will_cost <= pcs_willpwr:
+			act 'Deepthroat his cock (<<will_cost>> Willpower)':
+				gs 'willpower', 'bj', 'self'
+				gs 'willpower', 'pay', 'self'
+				gs 'stat'
+				
+				gt 'abductionCustomer', 'abdCustomer-suckDeep'
+			end
+		else
+			act 'Deepthroat his cock (<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
 
 if $ARGS[0] = 'abdCustomer-show':
 	minut += 10
-	i = rand(1, 5)
+	i = rand(1,5)
 	'<center><video autoplay loop src="images/locations/shared/abduction/sex/slavewhoretease<<i>>.mp4"></video></center>'
 	'You decide to tease the customer by showing him your sexy assets by jiggling your girly parts.'
 	'After some time behaving like a slut, it is obvious that he wants something more.'
@@ -434,8 +477,9 @@ if $ARGS[0] = 'abdCustomer-show':
 end
 
 if $ARGS[0] = 'abdCustomer-suckTip':
+	gs 'arousal', 'bj', 15, 'sub'
 	gs 'stat'
-	i = rand(1, 5)	
+	i = rand(1,5)	
 	'<center><video autoplay loop src="images/locations/shared/abduction/sex/slavewhoreblowjobtip<<i>>.mp4"></video></center>'
 	'You try as best as you can to suck the head of his <<dick>> cm sized <<$dick_girth>> dick.'
 	if pcs_throat < dick:
@@ -465,22 +509,43 @@ if $ARGS[0] = 'abdCustomer-suckTip':
 			act 'Continue sucking the tip':gt 'abductionCustomer', 'abdCustomer-fuck'
 		end
 		if pcs_throat < dick:
-			act 'Force yourself on his cock':gt 'abductionCustomer', 'abdCustomer-suckForceself'
+			gs 'willpower', 'bj', 'self'
+			if will_cost <= pcs_willpwr:
+				act 'Force yourself on his cock (<<will_cost>> Willpower)':
+					gs 'willpower', 'bj', 'self'
+					gs 'willpower', 'pay', 'self'
+					gs 'stat'
+					
+					gt 'abductionCustomer', 'abdCustomer-suckForceself'
+				end
+			else
+				act 'Force yourself on his cock (<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 'Deepthroat':gt 'abductionCustomer', 'abdCustomer-suckDeep'
+			gs 'willpower', 'bj', 'self'
+			if will_cost <= pcs_willpwr:
+				act 'Deepthroat his cock (<<will_cost>> Willpower)':
+					gs 'willpower', 'bj', 'self'
+					gs 'willpower', 'pay', 'self'
+					gs 'stat'
+					
+					gt 'abductionCustomer', 'abdCustomer-suckDeep'
+				end
+			else
+				act 'Deepthroat his cock (<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 $charType = 'kind':
 		'The customer seems pleased by your sucking skills, so you continue to tease the tip of his <<$dick_girth>> cock, looking at him with as much sensual abandon that you can muster under the present conditions.'
 		act 'Continue sucking the tip':gt 'abductionCustomer', 'abdCustomer-fuck'
 	end
-	gs 'arousal', 'bj', 15, 'sub'
 end
 
 if $ARGS[0] = 'abdCustomer-suckForceself':
 	pcs_throat += 1
 	pain['throat'] += throatDMG
 	gs 'stat'
-	i = rand(1, 3)
+	i = rand(1,3)
 	'<center><video autoplay loop src="images/locations/shared/abduction/sex/slavewhoreblowjobselfforced<<i>>.mp4"></video></center>'
 	'Knowing you will probably hurt yourself, you force yourself on his <<dick>> cm long cock all the way down to the balls anyway.'
 	'You start gagging and saliva is everywhere, but the customer seems more content now.'
@@ -491,9 +556,10 @@ end
 if $ARGS[0] = 'abdCustomer-suckForced':
 	pain['throat'] += throatDMG * 2
 	pcs_throat += 2
+	gs 'arousal', 'bj', 15, 'sub', 'rough', 'deepthroat', 'humiliation'
 	gs 'stat'
 	endPunishment = 1
-	i = rand(1, 6)
+	i = rand(1,6)
 	'<center><video autoplay loop src="images/locations/shared/abduction/sex/slavewhoreblowjobforced<<i>>.mp4"></video></center>'
 	if buyout = 1:
 		'<<$bName>> starts growling and suddenly pulls his cock out of your mouth.'
@@ -503,7 +569,7 @@ if $ARGS[0] = 'abdCustomer-suckForced':
 	'"What kind of slave are you when you can''t swallow my <<$dick_girth>> dick?"'
 	'He ties you up and forces his cock down your throat, showing you little to no concern.'
 	'You start to gag as he keeps pushing his member deep inside you, sometimes leaving you on the brink of passing out.'
-	vagOrAss = rand (0, 1)
+	vagOrAss = rand (0,1)
 	if buyout = 1:
 		act 'Continue':gt 'abductionCustomer', 'abdCustomer-fuckAnalRough'
 	else
@@ -513,16 +579,15 @@ if $ARGS[0] = 'abdCustomer-suckForced':
 			act 'Continue':gt 'abductionCustomer', 'abdCustomer-fuckAnalRough'
 		end
 	end
-	gs 'arousal', 'bj', 15, 'sub', 'rough', 'deepthroat', 'humiliation'
 end
 
 if $ARGS[0] = 'abdCustomer-suckDeep':
 	pcs_throat += 1
+	gs 'arousal', 'bj', 15, 'sub', 'deepthroat'
 	gs 'stat'
-	i = rand(1, 6)
+	i = rand(1,6)
 	'<center><video autoplay loop src="images/locations/shared/abduction/sex/slavewhoreblowjob<<i>>.mp4"></video></center>'
 	'You swallow his <<$dick_girth>> cock all the way down to the balls.'
-	gs 'arousal', 'bj', 15, 'sub', 'deepthroat'
 	act 'Continue':gt 'abductionCustomer', 'abdCustomer-fuck'
 end
 
@@ -536,7 +601,7 @@ if $ARGS[0] = 'abdCustomer-fuck':
 	if charType = 'sadistic':
 		'"What should I do to you next, bitch?"'
 	else
-		'So how do you want it next, luv?'
+		'So how do you want it next, love?'
 	end
 	'You are not entirely sure if he means that as a question or if he''s just saying that to himself.'
 
@@ -546,7 +611,7 @@ if $ARGS[0] = 'abdCustomer-fuck':
 		'"You thought I''m really interested in your slutty opinion?" He says laughing.'
 		'"A whore, and on top of that a slave whore, has no right to have an opinion."'
 		'You are unable to do anything except whimper like a small child. He ties you up and you know that it''s going to get even worse now.'
-		vagOrAss = rand (0, 1)
+		vagOrAss = rand (0,1)
 		if vagOrAss = 0:
 			act 'Continue':gt 'abductionCustomer', 'abdCustomer-fuckRough'
 		else
@@ -555,7 +620,18 @@ if $ARGS[0] = 'abdCustomer-fuck':
 	else
 		'You decide to:'
 		act 'Be quiet':gt 'abductionCustomer', 'abdCustomer-decide'
-		act 'Beg him to be kind':gt 'abductionCustomer', 'abdCustomer-beg'
+		gs 'willpower', 'sex', 'self'
+		if will_cost <= pcs_willpwr:
+			act 'Beg him to be kind (<<will_cost>> Willpower)':
+				gs 'willpower', 'sex', 'self'
+				gs 'willpower', 'pay', 'self'
+				gs 'stat'
+				
+				gt 'abductionCustomer', 'abdCustomer-beg'
+			end
+		else
+			act 'Beg him to be kind (<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
 
@@ -588,10 +664,8 @@ if $ARGS[0] = 'abdCustomer-beg':
 	minut += 2
 	gs 'stat'
 	'<center><img <<$set_imgh>> src="images/locations/shared/abduction/sex/slavewhorebeg1.jpg"></center>'
-	'Please be kind to me Sir, I''m so afraid and sore... please!'
-	if dick >= 15:
-		'"I''m very afraid of your <<$dick_girth>> penis Sir!"'
-	end
+	'Please be kind to me sir, I''m so afraid and sore... please!'
+	if dick >= 15:'"I''m very afraid of your <<$dick_girth>> penis sir!"'
 	*nl
 	bekindChance = rand(1, 100)
 	endPunishment = 0
@@ -627,7 +701,7 @@ end
 if $ARGS[0] = 'abdCustomer-fuckAnal':
 	pcs_ass += 1
 	gs 'stat'
-	i = rand(1, 5)
+	i = rand(1,5)
 	'<center><video autoplay loop src="images/locations/shared/abduction/sex/slavewhorefuckanal<<i>>.mp4"></video></center>'
 	'The customer puts some lubricant on his <<$dick_girth>> cock and penetrates your ass.'
 	'He doesn''t care much about your feelings but he''s also not exactly hurting you on purpose.'
@@ -636,10 +710,12 @@ if $ARGS[0] = 'abdCustomer-fuckAnal':
 		pain['asshole'] += assDMG
 		pain['tummy'] += assDMG
 		gs 'arousal', 'anal', 30, 'sub', 'rough'
+		gs 'stat'
 		act 'Continue':gt 'abductionCustomer', 'abdCustomer-fuckAnalDeep'
 	else
 		'You have no problems accommodating his <<$dick_girth>> member.'
 		gs 'arousal', 'anal', 30, 'sub'
+		gs 'stat'
 		act 'Continue':gt 'abductionCustomer', 'abdCustomer-cumGate'
 	end
 
@@ -647,8 +723,9 @@ end
 
 if $ARGS[0] = 'abdCustomer-fuckAnalRough':
 	pcs_ass += 2
+	gs 'arousal', 'anal', 30, 'sub', 'rough', 'bound'
 	gs 'stat'
-	i = rand(1, 5)
+	i = rand(1,5)
 	'<center><video autoplay loop src="images/locations/shared/abduction/sex/slavewhorefuckanalrough<<i>>.mp4"></video></center>'
 	if buyout = 1:
 		'<center><img <<$set_imgh>> src="images/locations/shared/abduction/sex/slavewhorefuckanalroughleonid1.jpg"></center>'
@@ -682,8 +759,7 @@ if $ARGS[0] = 'abdCustomer-fuckAnalRough':
 		pain['tummy'] += assDMG
 		gs 'stat'
 		act 'Continue':gt 'abductionCustomer', 'abdCustomer-fuckAnalDeep'
-	end
-	gs 'arousal', 'anal', 30, 'sub', 'rough', 'bound'
+	end	
 end
 
 if $ARGS[0] = 'abdCustomer-fuckAnalDeep':
@@ -723,7 +799,7 @@ end
 if $ARGS[0] = 'abdCustomer-fuckNormal':
 	pcs_vag += 1
 	gs 'stat'
-	i = rand(1, 5)
+	i = rand(1,5)
 	'<center><video autoplay loop src="images/locations/shared/abduction/sex/slavewhorefucknormal<<i>>.mp4"></video></center>'
 	'The customer penetrates your pussy and fucks you.'
 	if vagDMG <= 0:
@@ -752,7 +828,7 @@ end
 if $ARGS[0] = 'abdCustomer-fuckRough':
 	pcs_vag += 2
 	gs 'stat'
-	i = rand(1, 5)
+	i = rand(1,5)
 	'<center><video autoplay loop src="images/locations/shared/abduction/sex/slavewhorefuckrough<<i>>.mp4"></video></center>'
 	'The man takes you by your leash and positions your body as if it''s just meat to be used.'
 	'What comes next is an excruciatingly rough fuck that clearly shows he has no regard for all the pain you have to endure, whatsoever.'	
@@ -820,17 +896,55 @@ if $ARGS[0] = 'abdCustomer-cumGate':
 		'"Now <<$pcs_firstname>> you will be filled with my seed for the first time, so be sure to cherish the memory of this moment!"'
 		act 'Be silent':gt 'abductionCustomer', 'abdCustomer-cumAss'		
 	else
-		'"So where do you want me to put the deposit, luv?"'
+		'"So where do you want me to put the deposit, love?"'
+		
 		act 'Be silent':gt 'abductionCustomer', 'abdCustomer-cum'
-		act 'Ask him to cum inside your pussy':gt 'abductionCustomer', 'abdCustomer-cumPussy'
-		act 'Ask him to cum inside your ass':gt 'abductionCustomer', 'abdCustomer-cumAss'
-		act 'Ask him to cum into your mouth':gt 'abductionCustomer', 'abdCustomer-cumMouth'
+		
 		act 'Ask him to cum on your face':gt 'abductionCustomer', 'abdCustomer-cumFace'
+		
+		gs 'willpower', 'cum_inside', 'self'
+		if will_cost <= pcs_willpwr:
+			act 'Ask him to cum inside your pussy (<<will_cost>> Willpower)':
+				gs 'willpower', 'cum_inside', 'self'
+				gs 'willpower', 'pay', 'self'
+				gs 'stat'
+				
+				gt 'abductionCustomer', 'abdCustomer-cumPussy'
+			end
+		else
+			act 'Ask him to cum inside your pussy (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
+		end
+		
+		gs 'willpower', 'cum_inside_anal', 'self'
+		if will_cost <= pcs_willpwr:
+			act 'Ask him to cum inside your ass (<<will_cost>> Willpower)':
+				gs 'willpower', 'cum_inside_anal', 'self'
+				gs 'willpower', 'pay', 'self'
+				gs 'stat'
+				
+				gt 'abductionCustomer', 'abdCustomer-cumAss'
+			end
+		else
+			act 'Ask him to cum inside your ass (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
+		end
+		
+		gs 'willpower', 'swallow', 'self'
+		if will_cost <= pcs_willpwr:
+			act 'Ask him to cum into your mouth (<<will_cost>> Willpower)':
+				gs 'willpower', 'swallow', 'self'
+				gs 'willpower', 'pay', 'self'
+				gs 'stat'
+				
+				gt 'abductionCustomer', 'abdCustomer-cumMouth'
+			end
+		else
+			act 'Ask him to cum into your mouth (<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
 
 if $ARGS[0] = 'abdCustomer-cum':
-	cumRand = rand(1, 100)
+	cumRand = rand(1,100)
 	if cumRand > 75 and cumRand <= 100:
 		'He decides to cum inside your vagina.'
 		act 'Endure it':gt 'abductionCustomer', 'abdCustomer-cumPussy'
@@ -847,7 +961,7 @@ if $ARGS[0] = 'abdCustomer-cum':
 end
 
 if $ARGS[0] = 'abdCustomer-cumPussy':
-	i = rand(1, 5)
+	i = rand(1,5)
 	'<center><video autoplay loop src="images/locations/shared/abduction/sex/slavewhorecumpussy<<i>>.mp4"></video></center>'
 	if vagDMG > 0:
 		'As he delivers his <<$cumType>> amount of cum inside your vagina, you can feel the tip of his <<$dick_girth>> cock at your cervix and even a bit inside it.'
@@ -887,7 +1001,7 @@ if $ARGS[0] = 'abdCustomer-cumPussy':
 end
 
 if $ARGS[0] = 'abdCustomer-cumAss':
-	i = rand(1, 5)
+	i = rand(1,5)
 	'<center><video autoplay loop src="images/locations/shared/abduction/sex/slavewhorecumass<<i>>.mp4"></video></center>'
 	if assDMG > 0:
 		'As he cums inside your anus, you can feel the banging of his <<$dick_girth>> cock against your intestinal wall.'

+ 94 - 64
locations/andrey.qsrc

@@ -212,12 +212,21 @@ if $ARGS[0] = 'punish':
 			'Mr. Sobulyagin scoffs at you, obviously not swayed so easily by tears. He looks at you in silence, his dark eyes roaming over your body slowly as he licks his lips. "Listen, I''m not a bad guy," he says as he stands from his chair and walks to the door. "I''m willing to give you another chance, but you need to <i>show me</i> how important this job really is to you..." He cups his balls through his slacks and gives them a light squeeze.'
 			*nl
 			'"Or you can leave and lose your job. It''s up to you, but those are your only options." He opens the door for you, allowing you to leave and lose your job if you don''t accept his offer.'
-			act 'Leave':
-				work = 0
-				young_shop_work = 2
-				young_shop_miss = 0
-				minut += 2
-				gt 'young_shop', 'start'
+			gs 'willpower', 'bj', 'resist'
+			if will_cost <= pcs_willpwr:
+				act 'Leave (<<will_cost>> Willpower)':
+					work = 0
+					young_shop_work = 2
+					young_shop_miss = 0
+					minut += 2
+					gs 'willpower', 'bj', 'resist'
+					gs 'willpower', 'pay', 'resist'
+					gs 'stat'
+					
+					gt 'young_shop', 'start'
+				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
 			act 'Accept his offer': gt 'andrey', 'fired1'
 		end
@@ -228,33 +237,41 @@ if $ARGS[0] = 'punish':
 		'<center><img <<$set_imgh>> src="images\locations\city\citycenter\mall\cats\fired.jpg"></center>'
 		*nl
 		'"Well look who decided to drag their ass into work today!" Mr. Sobulyagin''s expression twists into a scowl as he greets you at the store entrance. "I realize coming to work is difficult for you, but do you think you can spare me a moment and come into my office?" he says dryly. You sigh and follow him as he takes you into his office and closes the door. He nods and seems to be talking to himself as much as he is talking to you. He leans against his desk and cupping his crotch as he is smiling at you. "Well you know the deal if you want to keep your job."'
-		act 'Agree': gt 'andrey', 'fired1'
-		act 'Refuse and get fired':
-			cla
-			*clr
-			young_shop_work = 2
-			young_shop_miss = 0
-			char_honest += 5
-			work = 0
-			bonus_mood -= 50
-			minut +=15
-			'<center><img <<$set_imgh>> src="images\locations\city\citycenter\mall\cats\fired.jpg"></center>'
-			*nl
-			'"You''re right, and I''ve decided that I''m not doing you anymore favors to keep my job." Mr. Sobulyagin scowls at you but puts his dick away and pulls out a document from his desk drawer and begins to fill in the blanks. A few minutes later he hands you some papers and you sign them in silence.'
-			msg 'You are no longer employed at this store.'
-			if young_shop_salary > 0 or young_shop_bonus > 0:
-				money += young_shop_salary * 205 + young_shop_bonus * 205
-				'For working <b><<young_shop_salary>></b> days you get paid <b><<young_shop_salary * 205>></b>, with a bonus of <b><<young_shop_bonus * 205>></b> <b>₽</b>. Total income is <b><<young_shop_salary * 205 + young_shop_bonus * 205>></b> <b>₽</b>'
-				'Mr. Sobulyagin. counts <b><<young_shop_salary * 205 + young_shop_bonus * 205>></b> <b>₽</b> and hands it over to you.'
-				! reset money,young_shop_salary,young_shop_bonus to zero for a new week
-				young_shop_salary = 0
-				young_shop_bonus = 0
-			end
-			act 'Leave':
-				minut += 2
-				gt 'young_shop', 'start'
+		gs 'willpower', 'bj', 'resist'
+		if will_cost <= pcs_willpwr:
+			act 'Refuse and get fired (<<will_cost>> Willpower)':
+				cla
+				*clr
+				young_shop_work = 2
+				young_shop_miss = 0
+				char_honest += 5
+				work = 0
+				bonus_mood -= 50
+				minut +=15
+				gs 'willpower', 'bj', 'resist'
+				gs 'willpower', 'pay', 'resist'
+				gs 'stat'
+				'<center><img <<$set_imgh>> src="images\locations\city\citycenter\mall\cats\fired.jpg"></center>'
+				*nl
+				'"You''re right, and I''ve decided that I''m not doing you anymore favors to keep my job." Mr. Sobulyagin scowls at you but puts his dick away and pulls out a document from his desk drawer and begins to fill in the blanks. A few minutes later he hands you some papers and you sign them in silence.'
+				msg 'You are no longer employed at this store.'
+				if young_shop_salary > 0 or young_shop_bonus > 0:
+					money += young_shop_salary * 205 + young_shop_bonus * 205
+					'For working <b><<young_shop_salary>></b> days you get paid <b><<young_shop_salary * 205>></b>, with a bonus of <b><<young_shop_bonus * 205>></b> <b>₽</b>. Total income is <b><<young_shop_salary * 205 + young_shop_bonus * 205>></b> <b>₽</b>'
+					'Mr. Sobulyagin. counts <b><<young_shop_salary * 205 + young_shop_bonus * 205>></b> <b>₽</b> and hands it over to you.'
+					! reset money,young_shop_salary,young_shop_bonus to zero for a new week
+					young_shop_salary = 0
+					young_shop_bonus = 0
+				end
+				act 'Leave':
+					minut += 2
+					gt 'young_shop', 'start'
+				end
 			end
+		else
+			act 'Refuse and get fired (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
 		end
+		act 'Agree': gt 'andrey', 'fired1'
 !!this happens if Sveta misses 3 days of work but kept her job by sucking his dick 5 times, so this would trigger on the 6th time and each time after.
 	else
 		cla
@@ -264,33 +281,41 @@ if $ARGS[0] = 'punish':
 		'"Well look who decided to drag their ass into work today!" Mr. Sobulyagin''s expression twists into a scowl as he greets you at the store entrance. "I realize coming to work is difficult for you, but do you think you can spare me a moment and come into my office?" he says dryly. You sigh and follow him, he takes you into his office and closes the door. "You are missing too much work, the other employees are noticing. I am going to need something more from you to prove your deserve to keep your job."'
 		*nl
 		'He leans against his desk and cupping his crotch as he is smiling at you. "You can start of by sucking my cock then you can bend over and let me fuck you in the ass. That''s the only way you can prove to me that you still deserve to keep your job, got it? If not then you''re just another lazy brat, and I don''t need someone like that working for me."'
-		act 'Agree': gt 'andrey', 'fired2'
-		act 'Refuse and get fired':
-			cla
-			*clr
-			young_shop_work = 2
-			young_shop_miss = 0
-			char_honest += 5
-			work = 0
-			bonus_mood -= 50
-			minut +=15
-			'<center><img <<$set_imgh>> src="images\locations\city\citycenter\mall\cats\fired.jpg"></center>'
-			*nl
-			'"You''re right, I''ve skipped out on work too many times and I''m not doing that anymore to keep my job." Mr. Sobulyagin scowls at you but puts his dick away and pulls out a document from his desk drawer and begins to fill in the blanks. A few minutes later he hands you some papers and you sign them without a word.'
-			msg 'You are no longer employed at this store.'
-			if young_shop_salary > 0 or young_shop_bonus > 0:
-				money += young_shop_salary * 205 + young_shop_bonus * 205
-				'For working <b><<young_shop_salary>></b> days you get paid <b><<young_shop_salary * 205>></b>, with a bonus of <b><<young_shop_bonus * 205>></b> <b>₽</b>. Total income is <b><<young_shop_salary * 205 + young_shop_bonus * 205>></b> <b>₽</b>'
-				'Mr. Sobulyagin. counts out <b><<young_shop_salary * 205 + young_shop_bonus * 205>></b> <b>₽</b> and hands it over to you.'
-				! reset money,young_shop_salary,young_shop_bonus to zero for a new week
-				young_shop_salary = 0
-				young_shop_bonus = 0
-			end
-			act 'Leave':
-				minut += 2
-				gt 'young_shop', 'start'
+		gs 'willpower', 'anal', 'resist'
+		if will_cost <= pcs_willpwr:
+			act 'Refuse (<<will_cost>> Willpower)':
+				cla
+				*clr
+				young_shop_work = 2
+				young_shop_miss = 0
+				char_honest += 5
+				work = 0
+				bonus_mood -= 50
+				minut +=15
+				gs 'willpower', 'anal', 'resist'
+				gs 'willpower', 'pay', 'resist'
+				gs 'stat'
+				'<center><img <<$set_imgh>> src="images\locations\city\citycenter\mall\cats\fired.jpg"></center>'
+				*nl
+				'"You''re right, I''ve skipped out on work too many times and I''m not doing that anymore to keep my job." Mr. Sobulyagin scowls at you but puts his dick away and pulls out a document from his desk drawer and begins to fill in the blanks. A few minutes later he hands you some papers and you sign them without a word.'
+				msg 'You are no longer employed at this store.'
+				if young_shop_salary > 0 or young_shop_bonus > 0:
+					money += young_shop_salary * 205 + young_shop_bonus * 205
+					'For working <b><<young_shop_salary>></b> days you get paid <b><<young_shop_salary * 205>></b>, with a bonus of <b><<young_shop_bonus * 205>></b> <b>₽</b>. Total income is <b><<young_shop_salary * 205 + young_shop_bonus * 205>></b> <b>₽</b>'
+					'Mr. Sobulyagin. counts out <b><<young_shop_salary * 205 + young_shop_bonus * 205>></b> <b>₽</b> and hands it over to you.'
+					! reset money,young_shop_salary,young_shop_bonus to zero for a new week
+					young_shop_salary = 0
+					young_shop_bonus = 0
+				end
+				act 'Leave':
+					minut += 2
+					gt 'young_shop', 'start'
+				end
 			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
+		act 'Agree': gt 'andrey', 'fired2'
 	end
 
 	if cheatWork = 1:
@@ -325,14 +350,19 @@ if $ARGS[0] = 'beg':
 		'"And why in the hell would I do that?" Mr. Sobulyagin scoffs.'
 		'"Oh please! I''ll do anything you want, I really need this job!" You say, trying your absolute best to convince him.'
 		'"Anything? Ha! Fine, I know what you could do!" The manager says as his eyes begin to wander all over your body. "You can start off by sucking my cock and then bend over and let me stick my cock into your ass. That''s the only way you can prove to me you''re a hard worker, got it? If not then you''re just another lazy brat, and I don''t need someone like that working for me."'
-		act 'Tell him you would never do this':
-			cla
-			*clr
-			'<center><img <<$set_imgh>> src="images\locations\city\citycenter\mall\cats\fired.jpg"></center>'
-			*nl
-			'Your face immediately turns beet-red as you try to comprehend what you''ve just heard. "You want me to give you a blowjob...and then have anal sex?" You don''t understand what the hell he''s thinking. "There''s no way I''ll do that!"'
-			'"Fine, then there''s the door!" Mr. Sobulyagin snaps, clearly upset with your answer.'
-			act 'Leave':gt 'young_shop', 'start'
+		gs 'willpower', 'anal', 'resist'
+		if will_cost <= pcs_willpwr:
+			act 'Refuse (<<will_cost>> Willpower</font>)':
+				cla
+				*clr
+				'<center><img <<$set_imgh>> src="images\locations\city\citycenter\mall\cats\fired.jpg"></center>'
+				*nl
+				'Your face immediately turns beet-red as you try to comprehend what you''ve just heard. "You want me to give you a blowjob...and then have anal sex?" You don''t understand what the hell he''s thinking. "There''s no way I''ll do that!"'
+				'"Fine, then there''s the door!" Mr. Sobulyagin snaps, clearly upset with your answer.'
+				act 'Leave':gt 'young_shop', 'start'
+			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
 		act 'Agree': gt 'andrey', 'rehired'
 	end

+ 26 - 4
locations/arturHome.qsrc

@@ -17,13 +17,11 @@ act 'Go to his home':
 	$boydesc = $npc_usedname['A73']
 	silavag = npc_sexskill['A73']
 	dick = npc_dick['A73']
-	arturTimes += 1
 	gs 'stat'
 	'<center><img <<$set_imgh>> src="images/characters/pavlovsk/resident/arthur/artur.jpg"></center>'
 	'Arthur has generously set the table with food and you eat meat wrapped in grape leaves and roasted on skewers. You drink strong Chacha with your food and quickly find yourself getting tipsy. Once you''re nearly done with your meal Arthur turns on some music before approaching, a look of lust on his face. "Come to me girl." He says authoritatively'
 
-	act 'Further':gt 'arturSex'
-
+	act 'Go with him':arturTimes += 1 & gt 'arturSex'
 	if condomtalkartur = 0 and arturSex > 0:
 		act 'Ask him to wear a condom':
 			*clr & cla
@@ -33,8 +31,32 @@ act 'Go to his home':
 			'You ask Arthur to wear a condom. He scoffs loudly at the suggestion and shakes his head."What? Sex with a condom is like breathing through a mask. No!"'
 			! Choosing to give Artur a little accent to emphasize that he is not from the same ethnic group as the rest of town. AB
 
-			act 'Further':gt 'arturSex'
+			act 'Go with him':arturTimes += 1 & gt 'arturSex'
+			gs 'willpower', 'sex', 'resist', 'hard'
+			if will_cost <= pcs_willpwr:
+				act 'Leave (<<will_cost>> Willpower)':
+					gs 'willpower', 'sex', 'resist', 'hard'
+					gs 'willpower', 'pay', 'resist'
+					gs 'stat'
+					
+					gt 'pavCommercial'
+				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
+	end
+	gs 'willpower', 'sex', 'resist', 'hard'
+	if will_cost <= pcs_willpwr:
+		act 'Leave (<<will_cost>> Willpower)':
+			gs 'willpower', 'sex', 'resist', 'hard'
+			gs 'willpower', 'pay', 'resist'
+			gs 'stat'
+			
+			gt 'pavCommercial'
 		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
 

+ 60 - 9
locations/arturQW.qsrc

@@ -21,9 +21,19 @@ if $ARGS[0] = 'arturQW_1':
 			'"Well, if you''re really going to pay that well, then I can hardly refuse." You say smiling at the handsome Armenian.'
 			'My beauty, I will not only pay you that well, but I will treat you like the treasure you are." He assures you.'
 			'Excitedly Arthur comes over and gives your ass a hard squeeze, his fingers sinking into your plump flesh. You moan lightly, feeling him taking a sense of ownership over your body as he grips your butt cheek. "Now that the business is settled, let''s go eat barbecue, drink Chacha brandy!" He declares happily.'
-
+			
+			gs 'willpower', 'sex', 'resist'
+			if will_cost <= pcs_willpwr:
+				act 'Leave (<<will_cost>> Willpower)':
+					gs 'willpower', 'sex', 'resist'
+					gs 'willpower', 'pay', 'resist'
+					gs 'stat'
+					gt 'pavtrain_market', 'start'
+				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
 			act 'Go with Arthur':gt 'arturHome'
-			act 'Leave':gt 'pavtrain_market', 'start'
 		end
 		act 'Refuse':
 			*clr & cla
@@ -33,18 +43,38 @@ if $ARGS[0] = 'arturQW_1':
 			'<center><img <<$set_imgh>> src="images/characters/pavlovsk/resident/arthur/arturqw_2.jpg"></center>'
 			'You smile sadly at him. "Thank you for the tempting offer, but I have so much to do. School work, dancing, volleyball, and I simply don''t have any free time as it is.'
 			'"As you like beautiful." He responds somewhat sadly before adding. "Ah forget it, now let''s go eat barbecue, drink Chacha brandy." He says as he grabs you by your ass and gives it a squeeze, his fingers sinking into your soft flesh. You moan lightly, feeling him taking a sense of ownership over your body as he grips your butt cheek.'
-
+			
+			gs 'willpower', 'sex', 'resist'
+			if will_cost <= pcs_willpwr:
+				act 'Leave (<<will_cost>> Willpower)':
+					gs 'willpower', 'sex', 'resist'
+					gs 'willpower', 'pay', 'resist'
+					gs 'stat'
+					gt 'pavtrain_market', 'start'
+				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
 			act 'Go with Arthur':gt 'arturHome'
-			act 'Leave':gt 'pavtrain_market', 'start'
 		end
 	else
 		*clr & cla
 		gs 'stat'
 
 		'Arthur smiles kindly and hands you a tangerine. "Come to eat barbecue, drink Chacha brandy!"'
-
+		
+		gs 'willpower', 'sex', 'resist'
+		if will_cost <= pcs_willpwr:
+			act 'Leave (<<will_cost>> Willpower)':
+				gs 'willpower', 'sex', 'resist'
+				gs 'willpower', 'pay', 'resist'
+				gs 'stat'
+				gt 'pavtrain_market', 'start'
+			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
 		act 'Go with Arthur':gt 'arturHome'
-		act 'Leave':gt 'pavtrain_market', 'start'
 	end
 end
 
@@ -71,7 +101,18 @@ if $ARGS[0] = 'arturQW_2':
 		'<center><img <<$set_imgh>> src="images/characters/pavlovsk/resident/arthur/arturqw_5.jpg"></center>'
 		'You smile at him, a mix of joy and lust. "Well, Arthur, that changes everything, I would love to keep the books for you."'
 		'"Yes! I knew you would." The Armenian exclaims happily. "Come my beauty, let''s go eat barbecue and drink Chaha brandy." He says as he roughly grabs your ass, palming your soft cheeks with his thick, muscular hands.'
-
+		
+		gs 'willpower', 'sex', 'resist', 'hard'
+		if will_cost <= pcs_willpwr:
+			act 'Leave (<<will_cost>> Willpower)':
+				gs 'willpower', 'sex', 'resist', 'hard'
+				gs 'willpower', 'pay', 'resist'
+				gs 'stat'
+				gt 'pavtrain_market', 'start'
+			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
 		act 'Go with Arthur':gt 'arturHome'
 	end
 	act 'Refuse':
@@ -82,9 +123,19 @@ if $ARGS[0] = 'arturQW_2':
 		'<center><img <<$set_imgh>> src="images/characters/pavlovsk/resident/arthur/arturqw_2.jpg"></center>'
 		'"Thank you for the tempting offer, but I have so much to do. School work, dancing, volleyball, and I don''t have any free time as it is. It''s just too much." You say, sad to have to turn down such a generous opportunity.'
 		'"As you like beautiful." He said somewhat sadly before adding. "Ah forget it, now let''s go eat barbecue, drink Chacha brandy." He says as he grabs you by your ass and gives it a squeeze.'
-
+		
+		gs 'willpower', 'sex', 'resist', 'hard'
+		if will_cost <= pcs_willpwr:
+			act 'Leave (<<will_cost>> Willpower)':
+				gs 'willpower', 'sex', 'resist', 'hard'
+				gs 'willpower', 'pay', 'resist'
+				gs 'stat'
+				gt 'pavtrain_market', 'start'
+			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
 		act 'Go with Arthur':gt 'arturHome'
-		act 'Leave':gt 'pavtrain_market', 'start'
 	end
 end
 

+ 73 - 24
locations/arturRinok.qsrc

@@ -13,31 +13,59 @@ if $ARGS[0] = 'start':
 			gs 'stat'
 			'<center><img <<$set_imgh>> src="images/characters/pavlovsk/resident/arthur/artur.jpg"></center>'
 			'You take the delicious looking fruit and return his smile with one of your own. The man grins and says in a thick accent "You are so beautiful girl! Come to my place and eat barbecue, I have Chacha brandy for us to enjoy together, it will be wonderful time."'
-
-			act 'Refuse':
-				*clr & cla
-				minut += 2
-
-				if bag = 0:$arturgift = 'handbag'
-				if bag > 0:$arturgift = 'cosmetics'
-
-				gs 'stat'
-				'<center><img <<$set_imgh>> src="images/characters/pavlovsk/resident/arthur/artur.jpg"></center>'
-				'Sensing the man has "other" intentions, you start to refuse and back away from the Armenian. He puts his hand out to stop your retreat and says "Hey, I mean no offense. Perhaps my Russian is no good. Nothing bad will happen I swear! I''ll even give you <<$arturgift>> if you come and spend some time with me."'
-
-				act 'Leave':gt 'pavtrain_market', 'start'
-
-				act 'Show interest':
+			
+			gs 'willpower', 'drink', 'resist'
+			if will_cost <= pcs_willpwr:
+				act 'Refuse (<<will_cost>> Willpower)':
 					*clr & cla
 					minut += 2
+
+					if bag = 0:$arturgift = 'handbag'
+					if bag > 0:$arturgift = 'cosmetics'
+					gs 'willpower', 'drink', 'resist'
+					gs 'willpower', 'pay', 'resist'
 					gs 'stat'
+					
 					'<center><img <<$set_imgh>> src="images/characters/pavlovsk/resident/arthur/artur.jpg"></center>'
-					'You can''t help but show interested in the gift the unfamiliar Armenian is offering. Suddenly another Armenian comes up to you and leans in with an equally friendly smile. "Do not fear girl, Uncle Arturik does not bite. He is good man." The second stranger insists.'
-
-					act 'Leave':gt 'pavtrain_market', 'start'
-					act 'Go with Arthur':gt 'arturHome'
+					'Sensing the man has "other" intentions, you start to refuse and back away from the Armenian. He puts his hand out to stop your retreat and says "Hey, I mean no offense. Perhaps my Russian is no good. Nothing bad will happen I swear! I''ll even give you <<$arturgift>> if you come and spend some time with me."'
+					
+					gs 'willpower', 'drink', 'resist'
+					if will_cost <= pcs_willpwr:
+						act 'Leave (<<will_cost>> Willpower)':
+							gs 'willpower', 'drink', 'resist'
+							gs 'willpower', 'pay', 'resist'
+							gs 'stat'
+							gt 'pavtrain_market', 'start'
+						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
+					act 'Show interest':
+						*clr & cla
+						minut += 2
+						gs 'stat'
+						
+						'<center><img <<$set_imgh>> src="images/characters/pavlovsk/resident/arthur/artur.jpg"></center>'
+						'You can''t help but show interested in the gift the unfamiliar Armenian is offering. Suddenly another Armenian comes up to you and leans in with an equally friendly smile. "Do not fear girl, Uncle Arturik does not bite. He is good man." The second stranger insists.'
+						
+						gs 'willpower', 'drink', 'resist', 'hard'
+						if will_cost <= pcs_willpwr:
+							act 'Leave (<<will_cost>> Willpower)':
+								gs 'willpower', 'drink', 'resist', 'hard'
+								gs 'willpower', 'pay', 'resist'
+								gs 'stat'
+								gt 'pavtrain_market', 'start'
+							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
+						act 'Go with Arthur':gt 'arturHome'
+					end
 				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
+			act 'Go with Arthur':gt 'arturHome'
 		end
 	else
 		if arturday ! daystart:
@@ -49,12 +77,23 @@ if $ARGS[0] = 'start':
 
 			if arturblowday ! daystart:
 				'<center><img <<$set_imgh>> src="images/characters/pavlovsk/resident/arthur/artur.jpg"></center>'
-				'Arthur smiles kindly and hand you a particularly juicy looking tangerine. "Sorry, girl, but I have work to do. Unless we make it quick."'
-
+				'Arthur smiles kindly and hands you a particularly juicy looking tangerine. "Sorry, girl, but I have work to do. Unless we make it quick."'
+				
+				gs 'willpower', 'bj', 'resist', 'hard'
+				if will_cost <= pcs_willpwr:
+					act 'Leave (<<will_cost>> Willpower)':
+						gs 'willpower', 'bj', 'resist', 'hard'
+						gs 'willpower', 'pay', 'resist'
+						gs 'stat'
+						gt 'pavtrain_market', 'start'
+					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
 				act 'Go with Arthur':gt 'arturkiosk'
 			elseif arturblowday = daystart:
 				'<center><img <<$set_imgh>> src="images/characters/pavlovsk/resident/arthur/artur.jpg"></center>'
-				'Arthur smile amiably you. "There is much work to do, I''m sorry."'
+				'Arthur smiles kindly at you. "There is much work to do, I''m sorry."'
 
 				act 'Leave':gt 'pavtrain_market', 'start'
 			end
@@ -132,9 +171,19 @@ if $ARGS[0] = 'work_2':
 			'"Yes, but you''ve still got a lot I haven''t finished yet. There is far more to do." You say, concerned.'
 			'"Oh well, we will have time to figure it all out. Some other night, perhaps." He says nonchalantly.'
 			'"Now let''s go eat barbecue and drink Chacha brandy. Then I can grab you by that fine ass of yours." Arthur suggests as he walks over and begins roughly palming your ass.'
-
+			
+			gs 'willpower', 'sex', 'resist', 'hard'
+			if will_cost <= pcs_willpwr:
+				act 'Leave (<<will_cost>> Willpower)':
+					gs 'willpower', 'sex', 'resist', 'hard'
+					gs 'willpower', 'pay', 'resist'
+					gs 'stat'
+					gt 'pavtrain_market', 'start'
+				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
 			act 'Go with Arthur':gt 'arturHome'
-			act 'Leave':gt 'pavtrain_market', 'start'
 		end
 	end
 end

+ 14 - 7
locations/arturSex.qsrc

@@ -31,13 +31,20 @@ act 'Kneel down':
 			act 'Continue': gt 'arturdin', 'facefuck'
 		end
 	end
-
-	act 'Masturbate him':
-		*clr & cla
-		'You began to slowly stroke his large member, but as you look up at Arthur, you see him roll his eyes with impatience before reaching for you.'
-		gs 'arousal', 'hj', 5
-		gs 'stat'
-		act 'Continue': gt 'arturdin', 'facefuck'
+	
+	gs 'willpower', 'bj', 'resist'
+	if will_cost <= pcs_willpwr:
+		act 'Masturbate him (<<will_cost>> Willpower)':
+			*clr & cla
+			'You began to slowly stroke his large member, but as you look up at Arthur, you see him roll his eyes with impatience before reaching for you.'
+			gs 'willpower', 'bj', 'resist'
+			gs 'willpower', 'pay', 'resist'
+			gs 'arousal', 'hj', 5
+			gs 'stat'
+			act 'Continue': gt 'arturdin', 'facefuck'
+		end
+	else
+		act 'Masturbate 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
 

+ 31 - 7
locations/balkon2.qsrc

@@ -37,7 +37,7 @@ end
 if $ARGS[0] = 'palec1':
 	cla
 	*clr
-	pcs_horny += rand(10, 30)
+	pcs_horny += rand(10,30)
 	minut += 1
 	sosedBalDay = daystart
 	gs 'stat'
@@ -93,9 +93,35 @@ if $ARGS[0] = 'sosed':
 	'<center><b><font color="maroon">Balcony</font></b></center>'
 	'<center><img <<$set_imgh>> src="images/locations/city/residential/apartment/sosed.jpg"></center>'
 	'<center>You notice your neighbor to the left standing on his balcony. As he notices that you''re naked he begins staring at you…</center>'
-
-	act 'Show off your body':gt 'balkon2', 'demo1'
-	act 'Flip him off':gt 'balkon2', 'palec1'
+	
+	if exhibitionist_lvl > 0:
+		act 'Show off your body':gt 'balkon2', 'demo1'
+		gs 'willpower', 'exhib', 'self'
+		if will_cost <= pcs_willpwr:
+			act 'Flip him off (<<will_cost>> Willpower)':
+				gs 'willpower', 'exhib', 'self'
+				gs 'willpower', 'pay', 'self'
+				gs 'stat'
+				gt 'balkon2', 'palec1'
+			end
+		else
+			act 'Flip him off (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
+		end
+	else
+		gs 'willpower', 'exhib', 'self'
+		if will_cost <= pcs_willpwr:
+			act 'Show off your body (<<will_cost>> Willpower)':
+				gs 'willpower', 'exhib', 'self'
+				gs 'willpower', 'pay', 'self'
+				gs 'stat'
+				gt 'balkon2', 'demo1'
+			end
+		else	
+			act 'Show off your body (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
+		end
+		act 'Flip him off ':gt 'balkon2', 'palec1'
+	end
+	
 end
 
 !!!Probably CV edition
@@ -208,10 +234,8 @@ if $ARGS[0] = 'finger':
 					'As you open your eyes, you lock eyes with one of your neighbors peering out the window in the house across...'
 					'You can''t help but smile as there''s someone enjoying the show...'
 					
-					act 'Give him a show':gt 'balkon2', 'finger_solo'
-					
+					act 'Give him a show':gt 'balkon2', 'finger_solo'					
 				else
-					
 					$orgasm_or = 'yes'
 					$orgasm_txt = 'Overtaken by the thrill of the risk of being caught in such a compromising act and the diligent work of your skilled fingers brings you to an intense orgasm. Before you know it you grip the railing for support as your juices squirt hard out of you.'
 					'The orgasm is so intense that you''re seeing stars and it almost feels like you''re going to pass out. Somehow you manage to keep your composure as you quickly head back inside as you feel too exposed.'

+ 75 - 60
locations/bass.qsrc

@@ -59,70 +59,86 @@ if $ARGS[0] = 'a':
 				if deodorant_on = 1: gs 'sweat', 'remove_deo' & '<br>Your deodorant gets washed away in the water.'
 				act 'Next':gt 'kisameQW', 'start'
 			end
-
-			act 'Tell Kisame to fuck off':
-				cla
-				'"I don''t care who you are, fuck off!"'
-				'"That''s not nice!" he replies.'
-				'Before you''re able to blink, he grabs you by the waist and throws you into the middle of the pool.'
-				'As you surface, you notice Kisame rapidly approaching you...'
-				if deodorant_on = 1: gs 'sweat', 'remove_deo' & '<br>Your deodorant gets washed away in the water.'
-				act 'Next':gt 'kisameQW', 'start'
+			
+			gs 'willpower', 'misc', 'resist'
+			if will_cost <= pcs_willpwr:
+				act 'Tell Kisame to fuck off (<<will_cost>> Willpower</font>)':
+					cla
+					'"I don''t care who you are, fuck off!"'
+					'"That''s not nice!" he replies.'
+					'Before you''re able to blink, he grabs you by the waist and throws you into the middle of the pool.'
+					'As you surface, you notice Kisame rapidly approaching you...'
+					if deodorant_on = 1: gs 'sweat', 'remove_deo' & '<br>Your deodorant gets washed away in the water.'
+					gs 'willpower', 'misc', 'resist'
+					gs 'willpower', 'pay', 'resist'
+					gs 'stat'
+					act 'Next':gt 'kisameQW', 'start'
+				end
+			else
+				act 'Tell Kisame to fuck off (<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 kisameQW = 1 and KisameDead < 1:
 		'<center><img <<$set_imgh>> src="images/characters/city/kisame/kisamev.jpg"></center>'
 		'Noticing you observing him, Kisame smiles and tells you, "Hi baby. Want me to fill your hot mouth with my shark-seed?"'
-
-		act 'Attack Kisame':
-			cla
-			pcs_horny += 10
-			gs 'boyStat', 'A40'
-			!!stats {
-			strenV = 300
-			speedV = 100
-			agilV = 100
-			reactV = 100
-			vitalV = 200
-			intelV = 100
-			willV = 50
-			!!skills
-			magikV = 10
-			boxingV = 100
-			shootV = 100
-			!!parameters
-			healthV = vitalV * 10 + strenV * 5
-			manaV = intelV * magikV + magikV * 100 + vitalV * 10
-			willpowerV = willV * 10
-			BonusAtakV = 0
-			BonusDefV = 0
-			!!Programme of Action
-			program = 5
-			klonV = 5
-			defenceV = 800
-
-			if spellavtoklon = 1:klon = 3}
-
-			gs 'fight','initFight'
-
-			$opp_name[0] = 'Kisame'
-			$opp_image[0] = 'images/characters/city/kisame/kisamev.jpg'
-			opp_def[0] = 100
-			opp_run[0] = 100
-			opp_wrstlng[0] = 75
-			opp_kick[0] = 0
-			opp_punch[0] = 100
-			opp_jab[0] = 100
-			opp_stren[0] = 200
-			opp_agil[0] = 100
-			opp_vital[0] = 200
-			opp_react[0] = 100
-			opp_health[0] = (opp_vital * 10 + opp_stren * 5)
-			opp_willpwr[0] = 100
-			opp_shoot[0] = 100
-			fightEnding = 7
-
-			gt 'fight', 'start'
+		
+		gs 'willpower', 'bj', 'resist'
+		if will_cost <= pcs_willpwr:
+			act 'Attack Kisame (<<will_cost>> Willpower</font>)':
+				cla
+				pcs_horny += 10
+				gs 'willpower', 'bj', 'resist'
+				gs 'willpower', 'pay', 'resist'
+				gs 'stat'
+				gs 'boyStat', 'A40'
+				!!stats {
+				strenV = 300
+				speedV = 100
+				agilV = 100
+				reactV = 100
+				vitalV = 200
+				intelV = 100
+				willV = 50
+				!!skills
+				magikV = 10
+				boxingV = 100
+				shootV = 100
+				!!parameters
+				healthV = vitalV * 10 + strenV * 5
+				manaV = intelV * magikV + magikV * 100 + vitalV * 10
+				willpowerV = willV * 10
+				BonusAtakV = 0
+				BonusDefV = 0
+				!!Programme of Action
+				program = 5
+				klonV = 5
+				defenceV = 800
+
+				if spellavtoklon = 1:klon = 3}
+
+				gs 'fight','initFight'
+
+				$opp_name[0] = 'Kisame'
+				$opp_image[0] = 'images/characters/city/kisame/kisamev.jpg'
+				opp_def[0] = 100
+				opp_run[0] = 100
+				opp_wrstlng[0] = 75
+				opp_kick[0] = 0
+				opp_punch[0] = 100
+				opp_jab[0] = 100
+				opp_stren[0] = 200
+				opp_agil[0] = 100
+				opp_vital[0] = 200
+				opp_react[0] = 100
+				opp_health[0] = (opp_vital * 10 + opp_stren * 5)
+				opp_willpwr[0] = 100
+				opp_shoot[0] = 100
+				fightEnding = 7
+
+				gt 'fight', 'start'
+			end
+		else
+			act 'Attack Kisame (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
 		end
 
 		act 'Give him a blowjob under water':
@@ -133,7 +149,6 @@ if $ARGS[0] = 'a':
 			gs 'cum_cleanup'
 			if pcs_sweat > 15 : pcs_sweat = 10 + rand(0,4)
 			pcs_mood += 5
-			pcs_willpwr += 5
 
 			if pcs_stren < 40:stren_exp += 1 + (steroid_dose - rand(0,steroid_dose)) & gs 'obj_din', 'steroids'
 			if KisameSex = 0:KisameSex = 1 & Set guy += 1

+ 29 - 26
locations/gadprostitutes.qsrc

@@ -32,12 +32,11 @@ if $ARGS[0] = 'start':
 	!	end
 	!end
 	if hour >= 16 and hour <= 23:
-		! event to remove Sveta from being miras pimp if she becomes the boys slut, the village whore, or a sub
-		if MiraLoc = 8 and mirapimp = 1 and (npc_QW['A63'] >= 10 or gadriver_gang = 2 or sub > 10):
+		! event to remove Sveta from being miras pimp if she becomes the boys slut, the village whore
+		if MiraLoc = 8 and mirapimp = 1 and (npc_QW['A63'] >= 10 or gadriver_gang = 2):
 			*clr & cla
 			
 			mirapimp = 0
-			sub += 5
 			minut += 5
 			gs 'stat'
 			
@@ -51,8 +50,6 @@ if $ARGS[0] = 'start':
 				'Mira continues, "Look at you, just another slut. Mitka, Kolyamba, and Vasyan told me now much they all love fucking and sharing you now. You thought you were so much better than me, well no more! I''m not working for you anymore. You have proven yourself perfectly capable of enjoying getting shared by a group of friends."'
 			elseif gadriver_gang = 2:
 				'Mira continues, "Look at you, just another whore. All the village men can talk about is how much you moaned for each and every one of them. You thought you were so much better than me, well no more! I''m not working for you anymore. You have proven yourself perfectly capable of enjoying getting gangbanged by multiple groups of strangers."'
-			elseif sub > 0:
-				'Mira continues, "Look at you, so meek and submissive. I''ve heard rumors of how you love to submit yourself to others. You thought you were so much better than me, well no more! I''m not working for you anymore. You cannot make me."'
 			end
 			'After Mira is done with her preaching, you try to think of something witty to say or raise your hand to slap her back, but you just can''t bring yourself to do it.'
 			'Mira sees the defeated look in your eyes and knows that she has won. She pulls you into an embrace and whispers, "It''s alright <<$pcs_nickname>>. We can just be friends again. And if you want to, maybe you can come work with me instead?"'
@@ -61,27 +58,33 @@ if $ARGS[0] = 'start':
 		else
 			if MiraLoc = 8:
 				'You see Mira standing below a streetlight a little ways down the road.'
-				! event to become miras pimp if not the boys slut, not the village whore, and a dom
-				if mirapimp = 0 and npc_QW['A63'] < 10 and gadriver_gang = 0 and pcs_dom > 10:
-					act 'Make Mira your prostitute':
-						*clr & cla
-						
-						mirapimp = 1
-						pcs_dom += 5
-						minut += 5
-						gs 'stat'
-						
-						gs 'Miroslava', 'miraclothes'
-						
-						'You call her over to you. Mira, hurries over and looks at you with downcast eyes.  "Hi, <<$pcs_nickname>>.  You having a good night?"'
-						'You look at her angrily. "A better question, my lovely whore, is ''Are you having a good night''?  I want 500 <b>₽</b> per customer you have each night."  You tell her earnestly.'
-						'Mira looks up in shock and with a hurt look on her face.  "What are you talking about?  Do you think I am a hooker?"'
-						'You step up to her and place your hand on her face.  Mira closes her eyes and leans into your hand.  You look into her eyes once she opens them and then SLAP her hard across the face.  Mira falls to the ground and starts to cry.  "You''re my property whore.  You will do whatever I tell you.  You will never lie to me ever again, or I swear I will make you pay.  Understand me?!"'
-						'Mira nods and she wipes away tears.'
-						'You reach down and help her back to her feet.  You brush her off and help her fix her makeup.  "Good, now get that cute ass back out on that road and earn us some money."'
-						'You give Mira a little slap on the ass and smile as you watch Mira start a new chapter of her life as your prostitute.'
-						
-						act 'Finish':gt'gadprostitutes','start'
+				! event to become miras pimp if not the boys slut, not the village whore
+				if mirapimp = 0 and npc_QW['A63'] < 10 and gadriver_gang = 0:
+					gs 'willpower', 'misc', 'force', 'hard'
+					if will_cost <= pcs_willpwr:
+						act 'Make Mira your prostitute (<<will_cost>> Willpower)':
+							*clr & cla
+							
+							mirapimp = 1
+							minut += 5
+							gs 'willpower', 'misc', 'force', 'hard'
+							gs 'willpower', 'pay', 'force'
+							gs 'stat'
+							
+							gs 'Miroslava', 'miraclothes'
+							
+							'You call her over to you. Mira, hurries over and looks at you with downcast eyes.  "Hi, <<$pcs_nickname>>.  You having a good night?"'
+							'You look at her angrily. "A better question, my lovely whore, is ''Are you having a good night''?  I want 500 <b>₽</b> per customer you have each night."  You tell her earnestly.'
+							'Mira looks up in shock and with a hurt look on her face.  "What are you talking about?  Do you think I am a hooker?"'
+							'You step up to her and place your hand on her face.  Mira closes her eyes and leans into your hand.  You look into her eyes once she opens them and then SLAP her hard across the face.  Mira falls to the ground and starts to cry.  "You''re my property whore.  You will do whatever I tell you.  You will never lie to me ever again, or I swear I will make you pay.  Understand me?!"'
+							'Mira nods and she wipes away tears.'
+							'You reach down and help her back to her feet.  You brush her off and help her fix her makeup.  "Good, now get that cute ass back out on that road and earn us some money."'
+							'You give Mira a little slap on the ass and smile as you watch Mira start a new chapter of her life as your prostitute.'
+							
+							act 'Finish':gt'gadprostitutes','start'
+						end
+					else
+						act 'Make Mira your prostitute (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
 					end
 				end
 				! events to prostitute just Mira

+ 5 - 7
locations/gadriver.qsrc

@@ -34,7 +34,7 @@ if $ARGS[0] = 'start':
 
 	if temp_gr = 1 and hour < 5 and month >= 5 and month <= 9 and npc_QW['A60'] >= 20: 'Right next to the path leading to the river, you see <a href="exec: gt ''gadriver'', ''mirapunish'' ">Mira</a> naked, bound with ropes between two trees...'
 
-	if temp_gr = 4 and MiraLoc ! 1 and npc_QW['A63'] >= 13 and hour >= 5 and sub > 0:
+	if temp_gr = 4 and MiraLoc ! 1 and npc_QW['A63'] >= 13 and hour >= 5:
 		if mitkaguysriver ! daystart:
 			mitkaguysriver = daystart
 			'While going to the river you meet Kolyamba and Vasyan. They first invite you to join them, then insist you go with them.'
@@ -73,7 +73,7 @@ if $ARGS[0] = 'start':
 			act 'Go to Gadukino':minut += 20 & MiraLoc ! 1 & gt 'gadukino'
 			act 'Go to the beach':gt 'gadriver', 'gadbitch'
 		end
-	elseif temp_gr = 5 and MiraLoc ! 1 and npc_QW['A63'] >= 13 and hour >= 5 and sub > 0:
+	elseif temp_gr = 5 and MiraLoc ! 1 and npc_QW['A63'] >= 13 and hour >= 5:
 		if mitkaguysriver ! daystart:
 			mitkaguysriver = daystart
 			'While walking towards the river you meet the village boys, whom you''ve been drinking with recently. They ask you to go with them.'
@@ -105,7 +105,7 @@ if $ARGS[0] = 'start':
 			act 'Go to Gadukino':minut += 20 & MiraLoc ! 1 & gt 'gadukino'
 			act 'Go to the beach':gt 'gadriver', 'gadbitch'
 		end
-	elseif temp_gr = 6 and MiraLoc ! 1 and npc_QW['A63'] >= 13 and hour >= 5 and sub > 0:
+	elseif temp_gr = 6 and MiraLoc ! 1 and npc_QW['A63'] >= 13 and hour >= 5:
 		if mitkaguysriver ! daystart:
 			mitkaguysriver = daystart
 			'On your way to the river you meet Vasyan, he insists you follow him home...'
@@ -284,7 +284,7 @@ if $ARGS[0] = 'gadbitch':
 						gs 'stat'
 
 						act 'Finish':gt'gadriver', 'gadbitch'
-					elseif MiraLoc ! 1 and npc_QW['A63'] >= 13 and temp_gr = 1 and hour >= 8 and hour < 20 and sub > 0:
+					elseif MiraLoc ! 1 and npc_QW['A63'] >= 13 and temp_gr = 1 and hour >= 8 and hour < 20:
 						*clr & cla
 						'<center><img <<$set_imgh>> src="images/locations/gadukino/sex/mitka/mitkaguysriversex19.jpg"></center>'
 						'As soon as you get out of the river, you meet a grinning Kolyamba. He smiles wickedly and commands you to get down on your hands and knees so he can fuck you in the ass...'
@@ -998,9 +998,7 @@ if $ARGS[0] = 'GuysRiver':
 			end
 		end
 	end
-	if pcs_dom > 0:
-		act 'Leave':gt'gadriver', 'gadbitch'
-	end
+	act 'Leave':gt'gadriver', 'gadbitch'
 end
 
 if $ARGS[0] = 'fishers':

+ 12 - 1
locations/gadroad.qsrc

@@ -151,7 +151,18 @@ if $ARGS[0] = 'drinking_invite':
 	end
 	! if Sveta came here to kick off Miras quest then she cannot leave otherwise Sveta is free to decline the offer
 	if npc_QW['A60'] > 0 or (MiraLoc ! 5 and npc_QW['A60'] = 0):
-		act 'No thanks, not tonight': gt 'gadroad'
+		gs 'willpower', 'drink', 'resist'
+		if will_cost <= pcs_willpwr:
+			act 'No thanks, not tonight. (<<will_cost>> Willpower)':
+				gs 'willpower', 'drink', 'resist'
+				gs 'willpower', 'pay', 'resist'
+				gs 'stat'
+				
+				gt 'gadroad'
+			end
+		else
+			act 'No thanks, not tonight. (<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
 

+ 183 - 137
locations/gadukino.qsrc

@@ -206,7 +206,6 @@ if $ARGS[0] = 'succubus_hunt':
 				stat['vaginal'] += 1
 				guy += 1
 				pcs_horny = 0
-				pcs_dom += scfeed
 				orgasm += 1 + scfeed
 				pcs_willpwr += 15 * (1 + scfeed)
 				succubxp += 6
@@ -325,106 +324,110 @@ if $ARGS[0] = 'mira_events':
 		if npc_QW['A60'] = 15 and temper >= 10 and sunWeather = 1 and miraprost = 0:
 			'<center><img <<$set_imgh>> src="images/characters/village/mira/miraqw7.jpg"></center>'
 			'Walking through the village, you notice Mira, digging in her vegetable garden. She stands with her ass high in the air, and to your amazement, she isn''t wearing panties. You get a good look at her pussy lips...'
-
-			act 'You approach slowly':
-				*clr & cla
-				minut += 15
-				gs 'stat'
-
-				'<center><img <<$set_imgh>> src="images/characters/village/mira/mira0,<<rand(0,5)>>.jpg"></center>'
-				'You quietly sneak up to her, but she notices your approach and turns around, her hands pull her skirt back into place, blushing. You stare at her for a few seconds silently, and then ask, "Why don''t you have any panties on?" Mira, her eyes darting about, shifting her weight from foot to foot, explaining hesitantly, "Well what happened is, well it''s very hot and I thought it would feel better without panties." You interrupt her with an upraised hand as you get an idea for your second wish... You remind her she still owes you two wishes and you''re ready to collect your second wish. You tell Mira to sit down and she reluctantly agrees. When she is finally sitting, you order her to show you her pussy. Mira grumbles and glares at you, but eventually sighs and slowly lifts up her skirt, giving you a good look at her crotch.'
-				
-				act 'Watch':
+			
+			gs 'willpower', 'prostitution', 'force'
+			if will_cost <= pcs_willpwr:
+				act 'Approach Mira (<<will_cost>> Willpower)':
 					*clr & cla
-					'<center><img <<$set_imgh>> src="images/characters/village/mira/mirawish2.jpg"></center>'
-					'You enjoy the view, then snap your fingers as an amazing idea comes to mind for your second wish. Mira says she thought her second wish was over, but you wouldn''t make it that easy. You ask if she is thinking about backing out of granting your wishes, but Mira says no, she will go through with them. You smile and tell her to follow you.'
+					minut += 15
+					gs 'willpower', 'prostitution', 'force'
+					gs 'willpower', 'pay', 'force'
+					gs 'stat'
+
+					'<center><img <<$set_imgh>> src="images/characters/village/mira/mira0,<<rand(0,5)>>.jpg"></center>'
+					'You quietly sneak up to her, but she notices your approach and turns around, her hands pull her skirt back into place, blushing. You stare at her for a few seconds silently, and then ask, "Why don''t you have any panties on?" Mira, her eyes darting about, shifting her weight from foot to foot, explaining hesitantly, "Well what happened is, well it''s very hot and I thought it would feel better without panties." You interrupt her with an upraised hand as you get an idea for your second wish... You remind her she still owes you two wishes and you''re ready to collect your second wish. You tell Mira to sit down and she reluctantly agrees. When she is finally sitting, you order her to show you her pussy. Mira grumbles and glares at you, but eventually sighs and slowly lifts up her skirt, giving you a good look at her crotch.'
 					
-					act 'Lead her to the road':
+					act 'Watch':
 						*clr & cla
-						minut += 45
-						pcs_dom += 2
-						gs 'arousal', 'voyeur', 2, 'exhibitionism', 'lesbian', 'dom'
-						gs 'stat'
+						'<center><img <<$set_imgh>> src="images/characters/village/mira/mirawish2.jpg"></center>'
+						'You enjoy the view, then snap your fingers as an amazing idea comes to mind for your second wish. Mira says she thought her second wish was over, but you wouldn''t make it that easy. You ask if she is thinking about backing out of granting your wishes, but Mira says no, she will go through with them. You smile and tell her to follow you.'
 						
-						'<center><img <<$set_imgh>> src="images/characters/village/mira/mirawish2_1.jpg"></center>'
-						'You lead her out to the main road. You tell Mira, that she is to pose as a prostitute and attempt to get a customer or two. This is your second wish. You want Mira to become a prostitute and fulfill the desires of anyone who asks for her services. Mira looks shocked but nods that she will do it, Mira looks around the area and seeing no one else watching begins to pose by the roadside for passing cars...'
-						
-
-						act 'Wait for a car...':
+						act 'Lead her to the road':
 							*clr & cla
-							minut += 30
-							pcs_horny += 20
-							miraprost += 1
-							npc_QW['A60'] = 16
-							'<center><img <<$set_imgh>> src="images/characters/village/mira/miraprost.jpg"></center>'
-							'It isn''t long before Mira''s first customer pulls up in a nice vehicle. She takes a deep breath, looks you in the eyes, winks and approaches the vehicle and starts talking to the driver.'
-							'You can''t hear what she is saying but after only a few minutes the door opens and Mira steps into the vehicle. It pulls away, but doesn''t go far. You see it pull off the main road and head down a dirt road. Smiling and wanting to see the action, you run into the woods trying to head off the vehicle.'
+							minut += 45
+							gs 'arousal', 'voyeur', 2, 'exhibitionism', 'lesbian', 'dom'
 							gs 'stat'
-
-							act 'Watch her with the customer':
-								if rand(0,1) = 0:
-									*clr & cla
-									'<center><video autoplay loop src="images/characters/village/mira/sex/miraprost1.mp4"></video></center>'
-									'You walk up and look into the car. You see Mira giving one hell of a blowjob to her first customer. Her head is bobbing up and down on his 17cm cock.'
-									gs 'arousal', 'voyeur', 5, 'exhibitionism'
-									gs 'stat'
-
-									act 'Hide':
+							
+							'<center><img <<$set_imgh>> src="images/characters/village/mira/mirawish2_1.jpg"></center>'
+							'You lead her out to the main road. You tell Mira, that she is to pose as a prostitute and attempt to get a customer or two. This is your second wish. You want Mira to become a prostitute and fulfill the desires of anyone who asks for her services. Mira looks shocked but nods that she will do it, Mira looks around the area and seeing no one else watching begins to pose by the roadside for passing cars...'
+							
+
+							act 'Wait for a car...':
+								*clr & cla
+								minut += 30
+								pcs_horny += 20
+								miraprost += 1
+								npc_QW['A60'] = 16
+								'<center><img <<$set_imgh>> src="images/characters/village/mira/miraprost.jpg"></center>'
+								'It isn''t long before Mira''s first customer pulls up in a nice vehicle. She takes a deep breath, looks you in the eyes, winks and approaches the vehicle and starts talking to the driver.'
+								'You can''t hear what she is saying but after only a few minutes the door opens and Mira steps into the vehicle. It pulls away, but doesn''t go far. You see it pull off the main road and head down a dirt road. Smiling and wanting to see the action, you run into the woods trying to head off the vehicle.'
+								gs 'stat'
+
+								act 'Watch her with the customer':
+									if rand(0,1) = 0:
 										*clr & cla
-										'<center><video autoplay loop src="images/characters/village/mira/sex/miraprost1_1.mp4"></video></center>'
-										'You duck for cover as the guy suddenly gets out of the car and opens the passenger door, grabs Mira''s head and starts forcing his cock deep into her throat.'
-										gs 'arousal', 'voyeur', 10, 'exhibitionism'
+										'<center><video autoplay loop src="images/characters/village/mira/sex/miraprost1.mp4"></video></center>'
+										'You walk up and look into the car. You see Mira giving one hell of a blowjob to her first customer. Her head is bobbing up and down on his 17cm cock.'
+										gs 'arousal', 'voyeur', 5, 'exhibitionism'
 										gs 'stat'
 
-										act 'Keep watching':
+										act 'Hide':
 											*clr & cla
-											'<center><video autoplay loop src="images/characters/village/mira/sex/miraprost1_2.mp4"></video></center>'
-											'Eventually, the guy grunts and cums all over Mira''s face and into her mouth. The nicely dressed man pulls Mira out of the car, hands her a few bills and then drives off.'
-											'Mira walks back towards town counting the money he gave her as she absentmindedly licks the cum as it drips down her face. She smiles at you and shows you the money as you join her.'
+											'<center><video autoplay loop src="images/characters/village/mira/sex/miraprost1_1.mp4"></video></center>'
+											'You duck for cover as the guy suddenly gets out of the car and opens the passenger door, grabs Mira''s head and starts forcing his cock deep into her throat.'
 											gs 'arousal', 'voyeur', 10, 'exhibitionism'
 											gs 'stat'
 
-											act 'Walk back to the village together':
+											act 'Keep watching':
 												*clr & cla
-												minut += 10
-												miraloc = 0
-												gs 'arousal', 'end'
+												'<center><video autoplay loop src="images/characters/village/mira/sex/miraprost1_2.mp4"></video></center>'
+												'Eventually, the guy grunts and cums all over Mira''s face and into her mouth. The nicely dressed man pulls Mira out of the car, hands her a few bills and then drives off.'
+												'Mira walks back towards town counting the money he gave her as she absentmindedly licks the cum as it drips down her face. She smiles at you and shows you the money as you join her.'
+												gs 'arousal', 'voyeur', 10, 'exhibitionism'
 												gs 'stat'
 
-												gt 'gadukino'
+												act 'Walk back to the village together':
+													*clr & cla
+													minut += 10
+													miraloc = 0
+													gs 'arousal', 'end'
+													gs 'stat'
+
+													gt 'gadukino'
+												end
 											end
 										end
-									end
-								else
-									*clr & cla
-									'<center><video autoplay loop src="images/characters/village/mira/miraprost2.mp4"></video></center>'
-									'You walk up and look into the van. You see Mira showing her first customer her tits and rubbing her pussy. You see a hungry gleam in the guy''s eyes, which Mira returns right back.'
-									gs 'arousal', 'voyeur', 20, 'exhibitionism'
-									gs 'stat'
-
-									act 'Keep watching':
+									else
 										*clr & cla
-										'<center><video autoplay loop src="images/characters/village/mira/sex/miraprost2_1.mp4"></video></center>'
-										'Mira and the guy jump into the back of the van and you watch as he starts fucking her wet pussy. His hand covers her mouth as she screams in ecstasy. The guy pounds his 20cm cock deep into her pussy. From Mira''s grunts of partial ecstasy, partial pain, you know the guy is hitting or entering her cervix.'
-										gs 'arousal', 'voyeur', 10, 'exhibitionism'
+										'<center><video autoplay loop src="images/characters/village/mira/miraprost2.mp4"></video></center>'
+										'You walk up and look into the van. You see Mira showing her first customer her tits and rubbing her pussy. You see a hungry gleam in the guy''s eyes, which Mira returns right back.'
+										gs 'arousal', 'voyeur', 20, 'exhibitionism'
 										gs 'stat'
 
-										act 'Hide':
+										act 'Keep watching':
 											*clr & cla
-											'<center><video autoplay loop src="images/characters/village/mira/sex/miraprost2_2.mp4"></video></center>'
-											'You have to duck behind some bushes as they move outside the van. The guy continues to pound into Mira''s pussy until he cums...and cums...and cums. '
-											'After the wild sex, Mira and the guy sit in the van and talk for a bit. He gives her a nice wad of cash and she starts walking to the village. Seeing you, she smiles and says thanks.'
+											'<center><video autoplay loop src="images/characters/village/mira/sex/miraprost2_1.mp4"></video></center>'
+											'Mira and the guy jump into the back of the van and you watch as he starts fucking her wet pussy. His hand covers her mouth as she screams in ecstasy. The guy pounds his 20cm cock deep into her pussy. From Mira''s grunts of partial ecstasy, partial pain, you know the guy is hitting or entering her cervix.'
 											gs 'arousal', 'voyeur', 10, 'exhibitionism'
 											gs 'stat'
 
-											act 'Walk back to the village together':
+											act 'Hide':
 												*clr & cla
-												minut += 10
-												miraloc = 0 
-												gs 'arousal', 'end'
+												'<center><video autoplay loop src="images/characters/village/mira/sex/miraprost2_2.mp4"></video></center>'
+												'You have to duck behind some bushes as they move outside the van. The guy continues to pound into Mira''s pussy until he cums...and cums...and cums. '
+												'After the wild sex, Mira and the guy sit in the van and talk for a bit. He gives her a nice wad of cash and she starts walking to the village. Seeing you, she smiles and says thanks.'
+												gs 'arousal', 'voyeur', 10, 'exhibitionism'
 												gs 'stat'
-												
-												gt 'gadukino'
+
+												act 'Walk back to the village together':
+													*clr & cla
+													minut += 10
+													miraloc = 0 
+													gs 'arousal', 'end'
+													gs 'stat'
+													
+													gt 'gadukino'
+												end
 											end
 										end
 									end
@@ -433,57 +436,82 @@ if $ARGS[0] = 'mira_events':
 						end
 					end
 				end
+			else
+				act 'Approach Mira (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
 			end
+			
+			act 'Walk away': gt 'gadukino'
 		! mira slut events
 		elseif npc_QW['A60'] >= 11 and temper >= 10 and sunWeather = 1 and miraday ! daystart:
 			miraday = daystart
+
 			if pcs_horny > 50 and rand(0,1) = 0:
 				gs 'Miroslava', 'miraclothes'
+				*nl
 				'You meet Mira, who is heading to the river to get some water, seeing you she decides to stop and chat with you for a few minutes.'
-				act 'You''re feeling naughty':
-					*clr & cla
-					if mirasextimes < 50:
-						temp = rand(0,3)
-						if temp = 0:
-							'<center><img <<$set_imgh>> src="images/characters/village/mira/mirasp.jpg"></center>'
-							'You ask Mira to show you her pussy. She smiles casually and rests her hands on the bench, giving you a view of her bare pussy. She isn''t even wearing any panties!'
-						elseif temp = 1:
-							'<center><img <<$set_imgh>> src="images/characters/village/mira/mirasp1.jpg"></center>'
-							'You ask Mira to show you her pussy. She smiles casually sits down on the fence and slightly spreads her legs, showing you her bare pussy. She isn''t even wearing any panties!'
-						elseif temp = 2:
-							'<center><img <<$set_imgh>> src="images/characters/village/mira/mirasp2.jpg"></center>'
-							'You ask Mira to show you her pussy. She smiles casually, sits down on the fence and, looking at you with a gleam in her eyes and a mischievous smile, she pulls aside panties showing off her wet pussy...'	
-						elseif temp = 3:
-							'<center><img <<$set_imgh>> src="images/characters/village/mira/mirasp5.jpg"></center>'
-							'You ask Mira to show you her pussy. She smiles casually and gets on her hands and knees on the bench. She quickly glances around before pulling up her skirt and arching her back, showing you her naked pussy. She isn''t even wearing any panties!'
-						end
-						npc_rel['A60'] += 1
-						gs 'arousal', 'voyeur', 5, 'lesbian'
-						gs 'arousal', 'end'
-						gs 'stat'
+				
+				gs 'willpower', 'exhib', 'force'
+				if will_cost <= pcs_willpwr:
+					act 'You''re feeling naughty (<<will_cost>> Willpower)':
+						*clr & cla						
+						if mirasextimes < 50:
+							temp = rand(0,3)
+							if temp = 0:
+								'<center><img <<$set_imgh>> src="images/characters/village/mira/mirasp.jpg"></center>'
+								*nl
+								'You ask Mira to show you her pussy. She smiles casually and rests her hands on the bench, giving you a view of her bare pussy. She isn''t even wearing any panties!'
+							elseif temp = 1:
+								'<center><img <<$set_imgh>> src="images/characters/village/mira/mirasp1.jpg"></center>'
+								*nl
+								'You ask Mira to show you her pussy. She smiles casually sits down on the fence and slightly spreads her legs, showing you her bare pussy. She isn''t even wearing any panties!'
+							elseif temp = 2:
+								'<center><img <<$set_imgh>> src="images/characters/village/mira/mirasp2.jpg"></center>'
+								*nl
+								'You ask Mira to show you her pussy. She smiles casually, sits down on the fence and, looking at you with a gleam in her eyes and a mischievous smile, she pulls aside panties showing off her wet pussy...'	
+							elseif temp = 3:
+								'<center><img <<$set_imgh>> src="images/characters/village/mira/mirasp5.jpg"></center>'
+								*nl
+								'You ask Mira to show you her pussy. She smiles casually and gets on her hands and knees on the bench. She quickly glances around before pulling up her skirt and arching her back, showing you her naked pussy. She isn''t even wearing any panties!'
+							end
+							npc_rel['A60'] += 1
+							gs 'willpower', 'exhib', 'force'
+							gs 'willpower', 'pay', 'force'
+							gs 'arousal', 'voyeur', 5, 'lesbian'
+							gs 'arousal', 'end'
+							gs 'stat'
 
-						act 'Finish your walk':	gt 'gadukino'
-					else
-						temp = rand(0,1)
-						if temp = 0:
-							'<center><img <<$set_imgh>> src="images/characters/village/mira/mirasp3.jpg"></center>'
-							'You ask Mira to show you her pussy. She smiles casually and sits down on a nearby fence. Mira glances around and spreads her legs... You are surprised to see, she isn''t wearing panties and her gaping pussy is oozing cum. She must have just been fucked.'
-							'"Who did that to you?" you ask her. Mira just smiles devilishly and tells you that it''s a secret.'
-						elseif temp = 1:
-							'<center><img <<$set_imgh>> src="images/characters/village/mira/mirasp4.jpg"></center>'
-							'You ask Mira to show you her pussy. She smiles casually and squats down... You immediately notice how much her cunt and asshole gape. She must have just been fucked in both holes.'
-							'"Who did that to you?" you ask her. Mira just smiles devilishly and tells you that it''s a secret.'
-						end
-						npc_rel['A60'] += 1
-						gs 'arousal', 'voyeur', 10, 'lesbian'
-						gs 'arousal', 'end'
-						gs 'stat'
+							act 'Finish your walk':	gt 'gadukino'
+						else
+							temp = rand(0,1)
+							if temp = 0:
+								'<center><img <<$set_imgh>> src="images/characters/village/mira/mirasp3.jpg"></center>'
+								*nl
+								'You ask Mira to show you her pussy. She smiles casually and sits down on a nearby fence. Mira glances around and spreads her legs... You are surprised to see, she isn''t wearing panties and her gaping pussy is oozing cum. She must have just been fucked.'
+								'"Who did that to you?" you ask her. Mira just smiles devilishly and tells you that it''s a secret.'
+							elseif temp = 1:
+								'<center><img <<$set_imgh>> src="images/characters/village/mira/mirasp4.jpg"></center>'
+								*nl
+								'You ask Mira to show you her pussy. She smiles casually and squats down... You immediately notice how much her cunt and asshole gape. She must have just been fucked in both holes.'
+								'"Who did that to you?" you ask her. Mira just smiles devilishly and tells you that it''s a secret.'
+							end
+							npc_rel['A60'] += 1
+							gs 'willpower', 'exhib', 'force'
+							gs 'willpower', 'pay', 'force'
+							gs 'arousal', 'voyeur', 10, 'lesbian'
+							gs 'arousal', 'end'
+							gs 'stat'
 
-						act 'Finish your walk':	gt 'gadukino'
+							act 'Finish your walk':	gt 'gadukino'
+						end
 					end
+				else
+					act 'You''re feeling naughty (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
 				end
+				
+				act 'Walk away': gt 'gadukino'
 			else
 				*clr & cla
+				
 				temp = rand(0,7)
 				if temp = 0:
 					'<center><img <<$set_imgh>> src="images/characters/village/mira/sex/mirasexgad5.jpg"></center>'
@@ -510,7 +538,7 @@ if $ARGS[0] = 'mira_events':
 					'<center><img <<$set_imgh>> src="images/characters/village/mira/mirasexgad11.jpg"></center>'
 					'Walking through the village, you meet Mira. You notice she is not wearing panties and the white thread of a tampon is sticking out of her pussy...'
 				end		
-				gs 'arousal', 'voyeur', 5, 'exhibitionism'
+				gs 'arousal', 'voyeur', 10, 'exhibitionism'
 				gs 'arousal', 'end'
 				gs 'stat'
 
@@ -527,20 +555,29 @@ if $ARGS[0] = 'mira_events':
 				gs 'arousal', 'voyeur', 10, 'exhibitionism'
 				gs 'stat'
 				
-				act 'Watch':
-					*clr & cla
-					'<center><img <<$set_imgh>> src="images/characters/village/mira/sex/mirasexgad3.jpg"></center>'
-					if rand(0,1) = 0:
-						'They are so absorbed in fucking each other senseless that they ignoring everything else, so you decide to quietly continue to watch. Within a few minutes you see Mitka begin to pick up the pace and he started to drive his cock faster and faster into Mira''s pussy until he grunts like a pig and dumps a huge load of cum into Mira''s pussy which is again squirting. After a few minutes of them just laying together holding each other and gasping for breath, they slowly begin to kiss and laugh as they freshen up. You smile and rub your own dripping snatch before moving away.'
-					else	
-						'They are so absorbed in fucking each other senseless that they ignoring everything else, so you decide to quietly continue to watch. You see Mitka pull his cock out of Mira''s dripping pussy and he drives it deep into her ass, barebacked. Mira let''s out a short scream of protest as Mitka continues to drive his cock into her asshole until his pubes rub up against her ass. Mira writhes under his brutal onslaught. After only a few minutes, Mitka starts to slap her ass leaving bright red marks. Mitka begins to shudder from his thrusts into her ass. Finally, Mitka leans back with his dick still embedded balls deep in Mira''s asshole and lets out a bestial growl as he begins to cum...'
+				gs 'willpower', 'voyeur', 'self'
+				if will_cost <= pcs_willpwr:
+					act 'Continue watching (<<will_cost>> Willpower)':
+						*clr & cla
+						'<center><img <<$set_imgh>> src="images/characters/village/mira/sex/mirasexgad3.jpg"></center>'
+						if rand(0,1) = 0:
+							'They are so absorbed in fucking each other senseless that they ignoring everything else, so you decide to quietly continue to watch. Within a few minutes you see Mitka begin to pick up the pace and he started to drive his cock faster and faster into Mira''s pussy until he grunts like a pig and dumps a huge load of cum into Mira''s pussy which is again squirting. After a few minutes of them just laying together holding each other and gasping for breath, they slowly begin to kiss and laugh as they freshen up. You smile and rub your own dripping snatch before moving away.'
+						else	
+							'They are so absorbed in fucking each other senseless that they ignoring everything else, so you decide to quietly continue to watch. You see Mitka pull his cock out of Mira''s dripping pussy and he drives it deep into her ass, barebacked. Mira let''s out a short scream of protest as Mitka continues to drive his cock into her asshole until his pubes rub up against her ass. Mira writhes under his brutal onslaught. After only a few minutes, Mitka starts to slap her ass leaving bright red marks. Mitka begins to shudder from his thrusts into her ass. Finally, Mitka leans back with his dick still embedded balls deep in Mira''s asshole and lets out a bestial growl as he begins to cum...'
+						end
+						gs 'willpower', 'voyeur', 'self'
+						gs 'willpower', 'pay', 'self'
+						gs 'arousal', 'voyeur', 10, 'exhibitionism'
+						gs 'arousal', 'end'
+						gs 'stat'
+						
+						act 'Finish your walk': gt 'gadukino'
 					end
-					gs 'arousal', 'voyeur', 10, 'exhibitionism'
-					gs 'arousal', 'end'
-					gs 'stat'
-					
-					act 'Finish your walk': gt 'gadukino'
+				else
+					act 'Continue watching (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
 				end
+				
+				act 'Walk away': gt 'gadukino'
 			! mira first wish not done
 			elseif npc_QW['A60'] >= 4:
 				*clr & cla
@@ -549,20 +586,29 @@ if $ARGS[0] = 'mira_events':
 				gs 'arousal', 'voyeur', 10, 'exhibitionism'
 				gs 'stat'
 				
-				act 'Watch':
-					*clr & cla
-					'<center><img <<$set_imgh>> src="images/characters/village/mira/sex/mirasexgad1.jpg"></center>'
-					if rand(0,1) = 0:
-						'A couple of times you think, she''s about to notice you watching, but she never does, continuing to suck Mitka''s cock. Finally, he tilts his head back and Mira, quickly seeing this takes his dick in her hand and directs it into in her mouth, taking a mouth full of sperm. She greedily swallows it all, and licks Mitka''s cock clean before tucking it back into his pants. You see she is about to rise from her knees, so you hastily depart.'
-					else
-						'Until she finally spots you watching her. You see she blushes crimson, but she does not stop sucking, only occasionally shifts her eyes in your direction. You continue to watch as if not seeing anything unusual, as Mira''s head bobs up and down continuing to suck Mitka''s cock. Finally, he tilts his head back and Mira, quickly seeing this takes his dick in her hand and directs it into in her mouth, taking a mouth full of sperm. She greedily swallows it all, and licks Mitka''s cock clean before tucking it back into his pants. You smile at Mira with the most peaceful of expressions and walk away...'
+				gs 'willpower', 'voyeur', 'self'
+				if will_cost <= pcs_willpwr:
+					act 'Continue watching (<<will_cost>> Willpower)':
+						*clr & cla
+						'<center><img <<$set_imgh>> src="images/characters/village/mira/sex/mirasexgad1.jpg"></center>'
+						if rand(0,1) = 0:
+							'A couple of times you think, she''s about to notice you watching, but she never does, continuing to suck Mitka''s cock. Finally, he tilts his head back and Mira, quickly seeing this takes his dick in her hand and directs it into in her mouth, taking a mouth full of sperm. She greedily swallows it all, and licks Mitka''s cock clean before tucking it back into his pants. You see she is about to rise from her knees, so you hastily depart.'
+						else
+							'Until she finally spots you watching her. You see she blushes crimson, but she does not stop sucking, only occasionally shifts her eyes in your direction. You continue to watch as if not seeing anything unusual, as Mira''s head bobs up and down continuing to suck Mitka''s cock. Finally, he tilts his head back and Mira, quickly seeing this takes his dick in her hand and directs it into in her mouth, taking a mouth full of sperm. She greedily swallows it all, and licks Mitka''s cock clean before tucking it back into his pants. You smile at Mira with the most peaceful of expressions and walk away...'
+						end
+						gs 'willpower', 'voyeur', 'self'
+						gs 'willpower', 'pay', 'self'
+						gs 'arousal', 'voyeur', 5, 'exhibitionism'
+						gs 'arousal', 'end'
+						gs 'stat'
+						
+						act 'Finish your walk': gt 'gadukino'
 					end
-					gs 'arousal', 'voyeur', 5, 'exhibitionism'
-					gs 'arousal', 'end'
-					gs 'stat'
-					
-					act 'Finish your walk': gt 'gadukino'
+				else
+					act 'Continue watching (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
 				end
+				
+				act 'Walk away': gt 'gadukino'
 			end
 		! quest not far along enough yet so just talking to mira or already watched mira have sex today
 		else

+ 194 - 18
locations/gadukino_event.qsrc

@@ -127,7 +127,6 @@ if $ARGS[0] = 'gang_apologise':
 			act 'Take the money':
 				*clr & cla
 				minut += 5
-				pcs_dom -= 5
 				gadriver_gang = 2
 				money += 10000
 				gs 'stat'
@@ -141,21 +140,27 @@ if $ARGS[0] = 'gang_apologise':
 				'"I understand..." you answer, turning away and walking away from him.'
 				act 'Walk back to the village':gt 'gadukino'
 			end
-			act 'Refuse':
-				*clr & cla
-				minut += 5
-				pcs_dom += 5
-				gadriver_gang = 3
-				gs 'stat'
+			gs 'willpower', 'prostitution', 'resist', 'hard'
+			if will_cost <= pcs_willpwr:
+				act 'Refuse (<<will_cost>> Willpower)':
+					*clr & cla
+					minut += 5
+					gadriver_gang = 3
+					gs 'willpower', 'prostitution', 'resist', 'hard'
+					gs 'willpower', 'pay', 'resist'
+					gs 'stat'
 
-				'<center><img <<$set_imgh>> src="images/pc/speak_to_the_hand.jpg"></center>'
-				'"I don''t need your fucking money, I''m not a prostitute or a whore" you said in a firm voice, clearly annoyed, looking straight into Uncle Stepan eyes. "You think you can buy my silence with some money, are you really that dumb?"'
-				'He starts acting anxiously telling you once more to take the money. "I''ve already said it, I don''t want your money! But you don''t need to worry I won''t tell anyone what happened." you sternly tell him.'
-				'"That''s a relief..." Stepan says. "I''ll be on my way."'
-				'Just as you were leaving, Uncle Stepan added:'
-				'"One last thing <<$pcs_nickname>>. None of the men will try to fuck you anymore. Mitka warned everyone that if it happens again their cannon would be shooting blanks for the rest of their life... If anyone approaches you, you come to me and I''ll sort it out."'
-				'"I understand..." you answer, turning away and walking away from him.'
-				act 'Walk back to the village':gt 'gadukino'
+					'<center><img <<$set_imgh>> src="images/pc/speak_to_the_hand.jpg"></center>'
+					'"I don''t need your fucking money, I''m not a prostitute or a whore" you said in a firm voice, clearly annoyed, looking straight into Uncle Stepan eyes. "You think you can buy my silence with some money, are you really that dumb?"'
+					'He starts acting anxiously telling you once more to take the money. "I''ve already said it, I don''t want your money! But you don''t need to worry I won''t tell anyone what happened." you sternly tell him.'
+					'"That''s a relief..." Stepan says. "I''ll be on my way."'
+					'Just as you were leaving, Uncle Stepan added:'
+					'"One last thing <<$pcs_nickname>>. None of the men will try to fuck you anymore. Mitka warned everyone that if it happens again their cannon would be shooting blanks for the rest of their life... If anyone approaches you, you come to me and I''ll sort it out."'
+					'"I understand..." you answer, turning away and walking away from him.'
+					act 'Walk back to the village':gt 'gadukino'
+				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
 	end
@@ -177,7 +182,6 @@ if $ARGS[0] = 'gadriver_gang':
 	gadriver_gang = 1
 	gadboyday = daystart
 	npc_QW['A63'] = 21
-	pcs_dom -= 10
 	if pcs_health <= 100:pcs_health += 100
 	gs 'stat'
 
@@ -676,6 +680,23 @@ if $ARGS[0] = 'gadukino_mitka':
 	'"Hey, <<$pcs_nickname>>, let''s go have some fun getting rid of this boner you just gave me."'
 
 	act 'Go with him': gt 'mitkasex', 'gad1', 'A63'
+	gs 'willpower', 'sex', 'resist', 'hard'
+	if will_cost <= pcs_willpwr:
+		act 'Refuse (<<will_cost>> Willpower)':
+			cla
+			npc_rel['A63'] -= 3
+			gs 'willpower', 'sex', 'resist', 'hard'
+			gs 'willpower', 'pay', 'resist'
+			gs 'stat'
+			
+			*nl
+			'You tell him to go away, while quickly walking away in the other direction.'
+			
+			act 'Walk away': gt 'gadukino'
+		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] = 'gadukino_kolyamba':
@@ -689,6 +710,23 @@ if $ARGS[0] = 'gadukino_kolyamba':
 	'Walking through the village you met Kolyamba. Seeing you, he reached into his pants and started playing with his balls. He then grabbed you by the arm and dragged into the bushes next to the road.'
 
 	act 'Go with him': gt 'mitkasex', 'gad1', 'A61'
+	gs 'willpower', 'sex', 'resist', 'hard'
+	if will_cost <= pcs_willpwr:
+		act 'Refuse (<<will_cost>> Willpower)':
+			cla
+			npc_rel['A61'] -= 3
+			gs 'willpower', 'sex', 'resist', 'hard'
+			gs 'willpower', 'pay', 'resist'
+			gs 'stat'
+			
+			*nl
+			'You tell him to go away, while quickly walking away in the other direction.'
+			
+			act 'Walk away': gt 'gadukino'
+		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] = 'gadukino_vasyan':
@@ -702,6 +740,23 @@ if $ARGS[0] = 'gadukino_vasyan':
 	'Walking through the village you met Vasyan. Seeing you, he smiled and waved you over to him. He kisses you on the lips and asks you to join him as he walked into the bushes next to the road.'
 
 	act 'Go with him': gt 'mitkasex', 'gad1', 'A62'
+	gs 'willpower', 'sex', 'resist', 'hard'
+	if will_cost <= pcs_willpwr:
+		act 'Refuse (<<will_cost>> Willpower)':
+			cla
+			npc_rel['A62'] -= 3
+			gs 'willpower', 'sex', 'resist', 'hard'
+			gs 'willpower', 'pay', 'resist'
+			gs 'stat'
+			
+			*nl
+			'You tell him to go away, while quickly walking away in the other direction.'
+			
+			act 'Walk away': gt 'gadukino'
+		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] = 'gadukino_2boys':
@@ -728,6 +783,32 @@ if $ARGS[0] = 'gadukino_2boys':
 		'Walking through the village you met Kolyamba and Vasyan. Seeing you, they grin, grab you by the arms and drag you into the bushes.'
 	end
 	act 'Go with them': gt 'mitkasex', 'gad2'
+	gs 'willpower', 'sex', 'resist', 'hard'
+	if will_cost <= pcs_willpwr:
+		act 'Refuse (<<will_cost>> Willpower)':
+			cla
+			if $ARGS[1] = 1:
+				npc_rel['A63'] -= 3
+				npc_rel['A61'] -= 3
+			elseif $ARGS[1] = 1:
+				npc_rel['A63'] -= 3
+				npc_rel['A62'] -= 3
+			elseif $ARGS[1] = 1:
+				npc_rel['A61'] -= 3
+				npc_rel['A62'] -= 3
+			end
+			gs 'willpower', 'sex', 'resist', 'hard'
+			gs 'willpower', 'pay', 'resist'
+			gs 'stat'
+			
+			*nl
+			'You tell them to go away, while quickly walking away in the other direction.'
+			
+			act 'Walk away': gt 'gadukino'
+		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] = 'mira_mitka':
@@ -742,6 +823,23 @@ if $ARGS[0] = 'mira_mitka':
 	'"Oh hey girls, let''s go have some fun getting rid of this boner you both just gave me."'
 
 	act 'Go with him': gt 'mitkasex', 'forest1', 'A63'
+	gs 'willpower', 'sex', 'resist', 'hard'
+	if will_cost <= pcs_willpwr:
+		act 'Refuse (<<will_cost>> Willpower)':
+			cla
+			npc_rel['A63'] -= 3
+			gs 'willpower', 'sex', 'resist', 'hard'
+			gs 'willpower', 'pay', 'resist'
+			gs 'stat'
+			
+			*nl
+			'You take Mira by the hand and tell him to go away, while quickly walking away in the other direction.'
+			
+			act 'Walk away': gt 'gadukino'
+		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] = 'mira_kolyamba':
@@ -752,9 +850,26 @@ if $ARGS[0] = 'mira_kolyamba':
 
 	'<center><b><font color = maroon>Kolyamba Pyut</font></b></center>'
 	'<center><img <<$set_imgh>> src="images/locations/gadukino/village/kolyamba.jpg"></center>'
-	'Walking with Mira in the village you met Kolyamba. Seeing you and Mira, he starts playing with his balls, and drags you both into the bushes next to the road.'
+	'Walking with Mira in the village you met Kolyamba. Seeing you and Mira, he starts playing with his balls, and tries to grab you both by the hand.'
 
 	act 'Go with him': gt 'mitkasex', 'forest1', 'A61'
+	gs 'willpower', 'sex', 'resist', 'hard'
+	if will_cost <= pcs_willpwr:
+		act 'Refuse (<<will_cost>> Willpower)':
+			cla
+			npc_rel['A61'] -= 3
+			gs 'willpower', 'sex', 'resist', 'hard'
+			gs 'willpower', 'pay', 'resist'
+			gs 'stat'
+			
+			*nl
+			'You take Mira by the hand and tell him to go away, while quickly walking away in the other direction.'
+			
+			act 'Walk away': gt 'gadukino'
+		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] = 'mira_vasyan':
@@ -765,9 +880,25 @@ if $ARGS[0] = 'mira_vasyan':
 
 	'<center><b><font color = maroon>Vasyan Paket</font></b></center>'
 	'<center><img <<$set_imgh>> src="images/locations/gadukino/village/vasyan.jpg"></center>'
-	'Walking with Mira in the village you met Vasyan. Seeing you and Mira, he smiles and drags you both into the bushes next to the road.'
+	'Walking with Mira in the village you met Vasyan. Seeing you and Mira, he smiles and tries to grab you both by the hand.'
 
 	act 'Go with them': gt 'mitkasex', 'forest1', 'A62'
+	if will_cost <= pcs_willpwr:
+		act 'Refuse (<<will_cost>> Willpower)':
+			cla
+			npc_rel['A62'] -= 3
+			gs 'willpower', 'sex', 'resist', 'hard'
+			gs 'willpower', 'pay', 'resist'
+			gs 'stat'
+			
+			*nl
+			'You take Mira by the hand and tell him to go away, while quickly walking away in the other direction.'
+			
+			act 'Walk away': gt 'gadukino'
+		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] = 'mira_2boys':
@@ -794,6 +925,32 @@ if $ARGS[0] = 'mira_2boys':
 		'Walking with Mira in the village you met Kolyamba and Vasyan. Seeing you and Mira, they smile at each other, and drag you both into the bushes.'
 	end
 	act 'Go with them': gt 'mitkasex', 'forest2', $ARGS[1]
+	gs 'willpower', 'sex', 'resist', 'hard'
+	if will_cost <= pcs_willpwr:
+		act 'Refuse (<<will_cost>> Willpower)':
+			cla
+			if $ARGS[1] = 1:
+				npc_rel['A63'] -= 3
+				npc_rel['A61'] -= 3
+			elseif $ARGS[1] = 1:
+				npc_rel['A63'] -= 3
+				npc_rel['A62'] -= 3
+			elseif $ARGS[1] = 1:
+				npc_rel['A61'] -= 3
+				npc_rel['A62'] -= 3
+			end
+			gs 'willpower', 'sex', 'resist', 'hard'
+			gs 'willpower', 'pay', 'resist'
+			gs 'stat'
+			
+			*nl
+			'You take Mira by the hand and tell them to go away, while quickly walking away in the other direction.'
+			
+			act 'Walk away': gt 'gadukino'
+		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] = 'mira_3boys':
@@ -813,6 +970,25 @@ if $ARGS[0] = 'mira_3boys':
 	'Walking with Mira in the village you met Mitka, Kolyamba and Vasyan. Seeing you and Mira, they smile at each other, and drag you both into the bushes.'
 
 	act 'Go with them': gt 'mitkasex', 'forest3'
+	gs 'willpower', 'sex', 'resist', 'hard'
+	if will_cost <= pcs_willpwr:
+		act 'Refuse (<<will_cost>> Willpower)':
+			cla
+			npc_rel['A63'] -= 3
+			npc_rel['A62'] -= 3
+			npc_rel['A61'] -= 3
+			gs 'willpower', 'sex', 'resist', 'hard'
+			gs 'willpower', 'pay', 'resist'
+			gs 'stat'
+			
+			*nl
+			'You take Mira by the hand and tell them to go away, while quickly walking away in the other direction.'
+			
+			act 'Walk away': gt 'gadukino'
+		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] = 'go_home':

+ 36 - 36
locations/leonid.qsrc

@@ -34,7 +34,7 @@ if $ARGS[0] = 'firstTime':
 	'You are in the office with label <<$bName>> <<$bSurname>>, lawyer.'
 	'<<$bName>> orders you to kneel in front of his desk.'
 	'"So <<$pcs_firstname>>, I have taken out of that hole. Do you already see why?"'
-	'"I''m not sure mister <<$bSurname>>"'
+	'"I''m not sure Mister <<$bSurname>>"'
 	'"Then let me explain. I love my wife, but I have certain needs. Long time I have neglected myself, but things got even worse. When I got the opportunity, I got in touch with the ''Haulers''. You know them, those are the people that abducted you and made you a what you are now."'
 	'"What? What do you mean by ''what am I now?''"'
 	'"A slave. My slave."'
@@ -48,12 +48,12 @@ if $ARGS[0] = 'firstTime':
 	''
 	'"Do you think I am stupid? The authorities are under my grasp. I own them. Do it and nobody will see you ever again."'
 	'You get up back to your knees.'
-	'"All right mister <<$bSurname>>, I''ve got the idea. I promise to keep quiet and be your...slave."'
+	'"All right Mister <<$bSurname>>, I''ve got the idea. I promise to keep quiet and be your...slave."'
 	'"Very well. I will call you if I require your presence. Until then you are free to go."'
 	if SchoolAtestat = 0:
-		'"But mister <<$bSurname>>, what do I tell to my <<$npc_nickname[''A29'']>>? How do I explain my absence from the school and everything?"'
+		'"But Mister <<$bSurname>>, what do I tell to my <<$npc_nickname[''A29'']>>? How do I explain my absence from the school and everything?"'
 		'"Do not care about the school. I will take care of it. As for your <<$npc_nickname[''A29'']>>, if she asks, tell her you ran from home to a friend but reconsidered and went back."'
-		'"Yes mister <<$bSurname>>."'
+		'"Yes Mister <<$bSurname>>."'
 		schoolprogul = 0
 	end
 	*nl
@@ -76,11 +76,11 @@ if $ARGS[0] = 'hall':
 	'<center><img <<$set_imgh>> src="images/characters/pavlovsk/resident/leonid/officehall.jpg"></center>'
 	'You are in the hallway leading to several offices. One of the doors has a doorsign <a href="exec:gt ''leonid'', ''office''"><<$bName>> <<$bSurname>>, lawyer.</a>'
 	gs 'stat'
-	leoHorny = rand (0, 20)
-	leoStress = rand (0, 30)
-	leoCoffee = rand (80, 100)
-	leoComfort = rand (0, 30)
-	paperwork = rand (40, 60)
+	leoHorny = rand(0,20)
+	leoStress = rand(0,30)
+	leoCoffee = rand(80,100)
+	leoComfort = rand(0,30)
+	paperwork = rand(40,60)
 	act 'Get back':gt 'pavCommercialOffices'
 end
 
@@ -104,14 +104,14 @@ if $ARGS[0] = 'office':
 		'You are in the office of <<$bName>> <<$bSurname>>. There are three other doors inside the office, one leading to a small <a href="exec:gt ''leonid'', ''officeKitchen''">kitchen</a>, second leading to a conference room and third leading to a <a href="exec:gt ''leonid'', ''toilet''">toilet</a>.'
 		'<a href="exec:gt ''leonid'', ''officeLeonidGate''"><<$bName>> <<$bSurname>></a> is sitting behind his desk, working.'
 		if slaveEventCount > 0:
-			'In the middle of the bookcase, there are hidden doors to a <a href="exec:gt ''leonid'', ''secretRoom''">bondage rooms</a>.'
+			'In the middle of the bookcase, there are hidden doors to a <a href="exec:gt ''leonid'', ''secretRoom''">bondage rooms/a>.'
 		end
 	elseif (hour >= 19 and hour =< 21) and leonidVisit = 1:
 		'<center><img <<$set_imgh>> src="images/characters/pavlovsk/resident/leonid/office.jpg"></center>'
 		'You are in the office of <<$bName>> <<$bSurname>>. There are three other doors inside the office, one leading to a small <a href="exec:gt ''leonid'', ''officeKitchen''">kitchen</a>, second leading to a conference room and third leading to a <a href="exec:gt ''leonid'', ''toilet''">toilet</a>.'
 		'<a href="exec:gt ''leonid'', ''officeLeonidGate''"><<$bName>> <<$bSurname>></a> is sitting behind his desk, waiting for you to come.'
 		if slaveEventCount > 0:
-			'In the middle of the bookcase, there are hidden doors to a <a href="exec:gt ''leonid'', ''secretRoom''">bondage rooms</a>.'
+			'In the middle of the bookcase, there are hidden doors to a <a href="exec:gt ''leonid'', ''secretRoom''">bondage room</a>.'
 		end
 	else
 		'<center><img <<$set_imgh>> src="images/characters/pavlovsk/resident/leonid/officehall.jpg"></center>'
@@ -125,7 +125,7 @@ if $ARGS[0] = 'office':
 	gs 'stat'
 
 	if $clothingworntype = 'nude':
-		'<b>You need to dress up in order to leave.</b>'
+		'<b>You need to get dressed in order to leave.</b>'
 	else
 		act 'Get back':gt 'leonid', 'hall'
 	end
@@ -139,7 +139,6 @@ if $ARGS[0] = 'secretaryGate':
 	if hour	>= 19:
 		gt 'leonid', 'secretaryEndWorkday'
 	end
-	'<table><tr><td valign="top">'
 	if $clothingworntype = 'nude':
 		'<b>You are naked.</b>'
 		'<center><img <<$set_imgh>> src="images/characters/pavlovsk/resident/leonid/secretarynaked.jpg"></center>'
@@ -155,9 +154,12 @@ if $ARGS[0] = 'secretaryGate':
 		'<center><img <<$set_imgh>> src="images/characters/pavlovsk/resident/leonid/secretarysexy.jpg"></center>'
 		mult = 2
 	end
-	'</td><td valign="top">'
-
-
+	
+	'You are in the office of <<$bName>> <<$bSurname>>. There are three other doors inside the office, one leading to a small <a href="exec:gt ''leonid'', ''officeKitchen''">kitchen</a>, second leading to a conference room and third leading to a <a href="exec:gt ''leonid'', ''toilet''">toilet</a>.'
+	*nl
+	'<a href="exec:gt ''leonid'', ''officeLeonidGate''"><<$bName>> <<$bSurname>></a> is sitting behind his desk, working.'
+	*nl
+	
 	if leoHorny < 0:leoHorny = 0
 		if leoHorny > 100: leoHorny = 100
 	if leoStress < 0:leoStress = 0
@@ -170,22 +172,20 @@ if $ARGS[0] = 'secretaryGate':
 		if paperwork > 100:paperwork = 100
 
 	punishBuildup = (40 * leoHorny + 40 * leoStress + 30 * leoCoffee + 30 * leoComfort) / 100
-
-
-	'You are in the office of <<$bName>> <<$bSurname>>. There are three other doors inside the office, one leading to a small <a href="exec:gt ''leonid'', ''officeKitchen''">kitchen</a>, second leading to a conference room and third leading to a <a href="exec:gt ''leonid'', ''toilet''">toilet</a>.'
-	''
-	'<a href="exec:gt ''leonid'', ''officeLeonidGate''"><<$bName>> <<$bSurname>></a> is sitting behind his desk, working.'
-	''
-	'<<$bName>> - status and needs:'
-	'<b>Overall mood:'+punishBuildup+'</b>'
-	'Horniness: '+leoHorny
-	'Stress: '+leoStress
-	'Coffee: '+leoCoffee
-	'Comfort: '+leoComfort
-	''
-	'Your paperwork: '+paperwork
-	''
-	'</td></tr></table>'
+	
+	!'<table><tr><td valign="top">'
+	!'</td><td valign="top">'
+	!'<<$bName>> - status and needs:'
+	!'<b>Overall mood:'+punishBuildup+'</b>'
+	!'Horniness: '+leoHorny
+	!'Stress: '+leoStress
+	!'Coffee: '+leoCoffee
+	!'Comfort: '+leoComfort
+	!''
+	!'Your paperwork: '+paperwork
+	!''
+	!'</td></tr></table>'
+	
 	if punishBuildup >= 100:
 		act 'Be approched':gt 'leonid', 'doPunish'
 	else
@@ -252,7 +252,6 @@ if $ARGS[0] = 'doLazy':
 	leoComfort += rand (5, 15)
 	'<center><img <<$set_imgh>> src="images/characters/pavlovsk/resident/leonid/lazy'+rand(1, 5)+'.jpg"></center>'
 	'You spend your working time polishing your nails and all the stuff everyone actually thinks secretaries do.'
-	''
 	gs 'stat'
 	act 'Continue':gt 'leonid', 'secretaryGate'
 end
@@ -326,7 +325,7 @@ if $ARGS[0] = 'officeKitchenBringCoffeeNormal':
 end
 
 if $ARGS[0] = 'officeFuck':
-	sexType = rand(1, 2)
+	sexType = rand(1,2)
 	if sexType = 1:
 		'<center><video autoplay loop src="images/characters/pavlovsk/resident/leonid/sex/pussy'+rand(1, 5)+'.mp4"></video></center>'
 		'<<$bName>> bends you over his desk, pushing the paperwork away.'
@@ -375,7 +374,7 @@ end
 
 if $ARGS[0] = 'askForJob':
 	minut += 2
-	'Sir you know.. I.. I need money. So i thought, maybe, maybe I could work for you..'
+	'Sir you know.. I.. I need money. So I thought, maybe, maybe I could work for you..'
 	'You don''t want me whoring to random men, do you?'
 	''
 	'Hmm, <<$pcs_firstname>>, I was actually already thinking about hiring a secretary.'
@@ -389,7 +388,8 @@ if $ARGS[0] = 'askForJobYes':
 	''
 	'Good.'
 	'Come next working day between 9 and 10.'
-	'Be sure to dress as befits to your role - here, buy some office clothes (he hands you 5000 RUB).'
+	'Be sure to dress as befits to your new role.'
+	'He takes 5000 rubles and hands them to you. Here, buy some office clothes, I need you to at least look the part.'
 	money += 5000
 	leonidSecretary = 1
 	act 'Leave':gt 'leonid', 'office'