Browse Source

Merge branch 'master' of https://git.catrenelle.com/Kevin_Smarts/glife

julzor 5 years ago
parent
commit
dd8b7c7790

+ 3 - 3
locations/Prostitute.qsrc

@@ -57,7 +57,6 @@ if $ARGS[0] = 'start':
 				BonusDefV = 0
 				!!Programme of Action
 				program = 0
-				prostitutFight = 1
 
 				if spellavtoklon = 1:klon = 3
 				if spellbefshild = 1:defence = 500}
@@ -79,6 +78,7 @@ if $ARGS[0] = 'start':
 				opp_health[0] = (opp_vital[0] * 10 + opp_stren[0] * 5)
 				opp_willpwr[0] = 50
 				opp_shoot[0] = 10
+				fightEnding = 4
 
 				gt 'fight', 'start'
 			end
@@ -167,7 +167,6 @@ if $ARGS[0] = 'start':
 								BonusDefV = 0
 								!!Programme of Action
 								program = 0
-								prostitutFight = 2
 
 								if spellavtoklon = 1:klon = 3
 								if spellbefshild = 1:defence = 500}
@@ -189,6 +188,7 @@ if $ARGS[0] = 'start':
 								opp_health[0] = (opp_vital[0] * 10 + opp_stren[0] * 5)
 								opp_willpwr[0] = 100
 								opp_shoot[0] = 10
+								fightEnding = 5
 
 								gt 'fight', 'start'
 							end
@@ -240,7 +240,6 @@ if $ARGS[0] = 'start':
 								BonusDefV = 0
 								!!Programme of Action
 								program = 0
-								prostitutFight = 3
 
 								if spellavtoklon = 1:klon = 3
 								if spellbefshild = 1:defence = 500}
@@ -263,6 +262,7 @@ if $ARGS[0] = 'start':
 								opp_health[0] = (opp_vital[0] * 10 + opp_stren[0] * 5)
 								opp_willpwr[0] = 50
 								opp_shoot[0] = 10
+								fightEnding = 6
 
 								gt 'fight', 'start'
 							end

+ 4 - 4
locations/Voltrenersex.qsrc

@@ -8,7 +8,7 @@ if $ARGS[0] = 'start':
 	gs 'stat'
 
 	'<center><img <<$set_imgh>> src="images/locations/pavlovsk/community/gym/volley/sex/voitrensex1.jpg"></center>'
-	'You go to the coaches office just as you open the door an arm reaches out and grabs you by the hand and pulls you inside.'
+	'You go to the coaches office. Just as you open the door, an arm reaches out and grabs you by the hand and pulls you inside.'
 
 	gs 'boyStat', 'A69'
 	silavag = 2
@@ -32,17 +32,17 @@ end
 
 if $ARGS[0] = 'talk':
 	if Voltrenersee = 1:
-		'With a puzzled look on face you look at your coach, he looks at you then let''s go of your hand, and mumbles something: "You have a good technique <<$pcs_lastname>>", with each word his voice becomes more confident "You need to train more. At some point later, I will show you some more techniques, to improve your game." With an even more puzzled look on your face, you turned around and walked out'
+		'With a puzzled look on your face you look at your coach, he looks at you then let''s go of your hand and mumbles something, "You have a good technique <<$pcs_lastname>>." With each word his voice becomes more confident, "You need to train more. At some later point, I will show you some more techniques, to improve your game." With an even more puzzled look on your face, you turn around and walk out'
 	end
 	if Voltrenersee = 2:
-		'Pulling you in and closing the door the coach whispered angrily: "<<$pcs_lastname>> is this what you asking for?", blushing you ran out of the coaches office away from Mikhail Nikolaevich. Although you desire to play on the first team. You''re not ready for something more.'
+		'Pulling you in and closing the door the coach whispered angrily: "<<$pcs_lastname>> is this what you''re asking for?" blushing you run out of the coaches office, away from Mikhail Nikolaevich. Although you desire to play on the first team, you''re not ready for something more.'
 	end
 	if Voltrenersee => 3:
 		cls
 		pcs_horny += 10
 		gs 'stat'
 		'<center><img <<$set_imgh>> src="images/locations/pavlovsk/community/gym/volley/sex/voitrensex2.jpg"></center>'
-		'Vigorously shaking his head Mikhail Nikolaevich, closes the door, the coach turned to you and did not say a word, grabbed you and began to lift up your shirt, and paw at your <<$titsize>> breasts.'
+		'Vigorously shaking his head, Mikhail Nikolaevich closes the door. The coach turns to you and doesn''t say a word, grabs you and begins to lift up your shirt. He starts to paw at your <<$titsize>> breasts.'
 		if guy < 3 and pav_slut <= 25: 'You squeaked indignantly and pulled your shirt back down and ran out of the office. Although you can not say that the actions of the coach were so unpleasant. But you are not ready for such things.'	
 		if (guy >= 3 and guy < 7) or pav_slut > 25: 'You stand and wait until the coach is done playing with your breasts.'
 		if guy >= 7  or pav_slut > 50:

+ 2 - 0
locations/_face_image.qsrc

@@ -1,5 +1,7 @@
 # $face_image
 
+!!use with - <img <<$set_imgh>> src="<<FUNC(''$face_image'')>>">
+
 if player_avatar = 1:$RESULT = 'images/avatar.jpg' & exit
 
 !! These images are missing from my copy of the image folder, so I am commenting them out for now

+ 1 - 1
locations/bass.qsrc

@@ -98,7 +98,6 @@ if $ARGS[0] = 'a':
 			BonusDefV = 0
 			!!Programme of Action
 			program = 5
-			KisaFight = 1
 			klonV = 5
 			defenceV = 800
 
@@ -121,6 +120,7 @@ if $ARGS[0] = 'a':
 			opp_health[0] = (opp_vital * 10 + opp_stren * 5)
 			opp_willpwr[0] = 100
 			opp_shoot[0] = 100
+			fightEnding = 7
 
 			gt 'fight', 'start'
 		end

+ 1 - 1
locations/brothel.qsrc

@@ -1634,7 +1634,7 @@ if $ARGS[0] = 'brothel:section1:session:play:hangbytits':
 	'<b>Rage meter: <<rageMeter>> / 100</b>'
 	'<center><video autoplay loop src="images/locations/shared/brothel/hangbytits.mp4"></video></center>'
 	'Client attaches anoter rope to your already bound tits, using a pulley attached to the ceiling.'
-	'You start to shake in the moment you connect the ropes attached to your breats and the pulley above you..'
+	'You start to shake in the moment you connect the ropes attached to your breasts and the pulley above you..'
 	'<font color=#<<$pcs_font>>>"No Master, you can''t be serious!! You will tear the off! It is against the rules, stop it!</font> you desparetly try to avoid whats coming.'
 	'<font color=#<<$mas_font>>>"NO, it''s not against the rules. They won''t tear off, you''ll see!"</font> with those words he starts to pull the rope up, leveling you from the ground just by your tits.'
 	'<font color=#<<$pcs_font>>>"AYYYEEEEEEEEEEEE!</font> you yell more from horror than actual pain, as you slowly realize..'

+ 135 - 97
locations/brother.qsrc

@@ -296,61 +296,63 @@ if $ARGS[0] = 'start':
 
 			if hour >= 23 and hour < 24 and brotherSex > 4 and brotherNightSex ! daystart:
 				'As you approach your sleeping brother, he suddenly opens his eyes and looks at you.'
-				if sub > 0 or (evgenQW >= 4 and pav_slut >= 75):
-					'"<<$pcs_nickname>>, help me sleep," he begs while throwing back the blanket, revealing his erection.'
+				!!sub/dom dialog needs fixing
+				!!if sub > 0 or (evgenQW >= 4 and pav_slut >= 75):
+				!!	'"<<$pcs_nickname>>, help me sleep," he begs while throwing back the blanket, revealing his erection.'
+				!!	gs 'boyStat', 'A34'
+				!!	brotherSexCount -= 1
+				!!	brotherNightSex = daystart
+
+				!!	gs 'brother', 'brotherSexStart'
+				!!else
+				'He points to the mound under his blanket, "Sis, I can''t get any sleep, can you help?"'
+				cla
+				act 'Help him out':
 					gs 'boyStat', 'A34'
+					'"Yes, I know what to do," you say with a smile while he pulls down his pants, showing you his hard cock.'
 					brotherSexCount -= 1
 					brotherNightSex = daystart
 
 					gs 'brother', 'brotherSexStart'
-				else
-					'He points to the mound under his blanket, "Sis, I can''t get any sleep, can you help?"'
+				end
+				act 'He''s on his own there':
+					'"You''ve got two perfectly good hands for that," you reply with a smile as you turn around to leave.'
 					cla
-					act 'Help him out':
-						gs 'boyStat', 'A34'
-						'"Yes, I know what to do," you say with a smile while he pulls down his pants, showing you his hard cock.'
-						brotherSexCount -= 1
-						brotherNightSex = daystart
-
-						gs 'brother', 'brotherSexStart'
-					end
-					act 'He''s on his own there':
-						'"You''ve got two perfectly good hands for that," you reply with a smile as you turn around to leave.'
-						cla
-						act 'Leave':gt 'sitrPar'
-						exit
-					end
+					act 'Leave':gt 'sitrPar'
+					exit
 				end
+				!!end
 			end
 
 			if father_go = 1 and hour >= 18 and hour < 23 and brotherSex > 4 and brotherEvSex ! daystart:
 				'When you get close, Kolka turns to you.'
-				if sub > 0 or (evgenQW >= 4 and pav_slut >= 75):
+				!!sub/dom dialog needs fixing
+				!!if sub > 0 or (evgenQW >= 4 and pav_slut >= 75):
+					!!gs 'boyStat', 'A34'
+					!!'"Come on, <<$pcs_nickname>>, you have work to do!" Your brother drops his pants, exposing his hard <<npc_dick[''A34'']>> cm dick. "And be quiet, you don''t want to wake up <<$npc_nickname[''A29'']>> and dad."'
+					!!brotherSexCount -= 1
+					!!brotherEvSex = daystart
+
+					!!gs 'brother', 'brotherSexStart'
+				!!else
+				'"Sis, I''ve got a problem," he points to the lump in his pants. "Can you help me solve it?"'
+				cla
+				act 'Help him out':
 					gs 'boyStat', 'A34'
-					'"Come on, <<$pcs_nickname>>, you have work to do!" Your brother drops his pants, exposing his hard <<npc_dick[''A34'']>> cm dick. "And be quiet, you don''t want to wake up <<$npc_nickname[''A29'']>> and dad."'
+					'A huge smile crosses your face, "I know what will solve this problem. Take off your pants, but be quiet."'
+					'Kolka starts to take off his pants, his erect <<npc_dick[''A34'']>> cm cock quickly popping out.'
 					brotherSexCount -= 1
 					brotherEvSex = daystart
 
 					gs 'brother', 'brotherSexStart'
-				else
-					'"Sis, I''ve got a problem," he points to the lump in his pants. "Can you help me solve it?"'
+				end
+				act 'That is so his problem':
+					'"Poor little Kolka, they sell porn in the local shops. I''m sure you can work out the rest," you chuckle quietly as you leave.'
 					cla
-					act 'Help him out':
-						gs 'boyStat', 'A34'
-						'A huge smile crosses your face, "I know what will solve this problem. Take off your pants, but be quiet."'
-						'Kolka starts to take off his pants, his erect <<npc_dick[''A34'']>> cm cock quickly popping out.'
-						brotherSexCount -= 1
-						brotherEvSex = daystart
-
-						gs 'brother', 'brotherSexStart'
-					end
-					act 'That is so his problem':
-						'"Poor little Kolka, they sell porn in the local shops. I''m sure you can work out the rest," you chuckle quietly as you leave.'
-						cla
-						act 'Leave':gt 'sitrPar'
-						exit
-					end
+					act 'Leave':gt 'sitrPar'
+					exit
 				end
+				!!end
 			end
 		end
 	end
@@ -416,26 +418,28 @@ if $ARGS[0] = 'playfootball':
 			'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/kolka/brother.jpg"></center>'
 			'The boys hesitate before one of them responds, "Err... nothing."'
 
-			if pcs_dom > 0 and kolkaseepornday ! daystart:
-				'You can tell they''re lying, so you decide to tease them, "I know, you''re talking about which boys in school you want to kiss, aren''t you?"'
-				'They glare at you and shout, "No!"'
-				'"We wanted to—" Mishan starts before getting cut off when your brother elbows him in the side.'
-				'"Shut up! Don''t tell her," Kolka says sharply. Next thing you know, Kolka and Mishan are arguing, while Zhendos stands there watching them with an annoyed look.'
-				'"Hey, it’s not a big deal. I was just kidding," you say.'
-				'"Porn!" Zhendos blurts out, causing your brother and his friend to stop arguing and fall silent. "We wanted to go watch some porn but you’re here."'
-				'You see Kolka’s face flush red with embarrassment while Mishan laughs and Zhendos rolls his eyes.'
-				'"A girl like you would just get grossed out," Mishan says proudly. "All girls are like that."'
-				act 'Leave':gt $loc, $metka
-				act 'Prove them wrong':
-					*clr & cla
-					gs 'stat'
-					'You tell them if they''re going to watch porn, they''ll need a babysitter. The boys don''t look very pleased, but you don''t give them a choice.'
-					'They have found a spare key for an AV lounge in the school that is not used at this time of day and you all sneak in.'
-
-					act 'Go watch porn':minut += 5 & gt 'seeporn'
-				end
-
-			elseif npc_QW['A34'] >=3 and kolkaseepornday ! daystart:
+			!!sub/dom dialog needs fixing
+			!!if pcs_dom > 0 and kolkaseepornday ! daystart:
+				!!'You can tell they''re lying, so you decide to tease them, "I know, you''re talking about which boys in school you want to kiss, aren''t you?"'
+				!!'They glare at you and shout, "No!"'
+				!!'"We wanted to—" Mishan starts before getting cut off when your brother elbows him in the side.'
+				!!'"Shut up! Don''t tell her," Kolka says sharply. Next thing you know, Kolka and Mishan are arguing, while Zhendos stands there watching them with an annoyed look.'
+				!!'"Hey, it’s not a big deal. I was just kidding," you say.'
+				!!'"Porn!" Zhendos blurts out, causing your brother and his friend to stop arguing and fall silent. "We wanted to go watch some porn but you’re here."'
+				!!'You see Kolka’s face flush red with embarrassment while Mishan laughs and Zhendos rolls his eyes.'
+				!!'"A girl like you would just get grossed out," Mishan says proudly. "All girls are like that."'
+				!!act 'Leave':gt $loc, $metka
+				!!act 'Prove them wrong':
+					!!*clr & cla
+					!!gs 'stat'
+					!!'You tell them if they''re going to watch porn, they''ll need a babysitter. The boys don''t look very pleased, but you don''t give them a choice.'
+					!!'They have found a spare key for an AV lounge in the school that is not used at this time of day and you all sneak in.'
+
+					!!act 'Go watch porn':minut += 5 & gt 'seeporn'
+				!!end
+
+			!!elseif npc_QW['A34'] >=3 and kolkaseepornday ! daystart:
+			if npc_QW['A34'] >=3 and kolkaseepornday ! daystart:
 				'Kolka hesitates for a moment before giving you a funny look, "Actually, <<$pcs_nickname>>, we want to go watch some porn but we weren''t sure with having you around... But I think a girl like you could handle it."'
 				act 'Leave':gt $loc, $metka
 				act 'Show interest':
@@ -655,13 +659,17 @@ if $ARGS[0] = 'showbody':
 		'As you finish studying, Kolka, flush red with excitement, turns to you, "<<$pcs_nickname>>, I have to learn about human anatomy, but I am having trouble with it. Can you help me?"'
 		'Confused, you ask, "What do you mean?"'
 		'"Well, um..." Kolka hesitates. "Can you show me what girls look like..."'
-		if sub < 30:
-			act'Refuse':
+		gs 'willpower', 'exhib', 'resist', 'easy'
+		if will_cost <= pcs_willpwr:
+			act'Refuse (<<will_cost>> Willpower)':
 				cla
+				gs 'willpower', 'pay', 'resist'
 				'Incredulously, you ask, "How the fuck can I do that? Should I just take off my clothes in front of you and let you gawk at me? I''m your sister!"'
 				'Kolka backs down in embarrassment, "You''re right, I''m sorry. I shouldn''t have asked."'
 				act 'Finish':gt $loc, $metka
 			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'"Huh..."':
@@ -680,7 +688,15 @@ if $ARGS[0] = 'showbody':
 	elseif npc_QW['A34'] > 3:
 		act'Undress again':gt'brother','brother_voyeur_ev4'
 
-		if sub < 30: act'Enough for today':gt $loc, $metka
+		gs 'willpower', 'exhib', 'resist', 'easy'
+		if will_cost <= pcs_willpwr:
+			act 'Enough for today (<<will_cost>> Willpower)':
+				gs 'willpower', 'pay', 'resist'
+				gt $loc, $metka
+			end
+		else
+			act 'Enough for today (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
+		end
 		exit
 	else
 		act 'Finish':gt $loc, $metka
@@ -839,39 +855,40 @@ if $ARGS[0] = 'brotherSexEnd':
 	minut += 15
 	gs 'arousal', 'end'
 	gs 'stat'
-	if sub > 0 or (evgenQW >= 4 and pav_slut >= 75):
-		if $loc = 'sitrPar' and father_go = 1 and hour >= 18 and hour < 23:
-			'Panting, Kolka looks at you and says, "That was great, <<$pcs_nickname>>!" He puts his softening cock back in his pants, "Just remember, this is our little secret!" He quickly turns his attention to something else.'
-			act 'Leave': gt 'sitrPar'
-		elseif $loc = 'sitrPar' and npc_rel['A34'] >= 80:
-			'Kolka lets out a deep yawn, "Ah, thanks <<$pcs_nickname>>. You''re the best." The words barely leave his lips before he''s back under the blanket and dozing off.'
-			act 'Leave': gt 'sitrPar'
-		elseif $loc = 'sitrPar':
-			'Still somewhat out of breath, Kolka pats your head gently and says, "Nice one, <<$pcs_nickname>>, you''re well trained. Now remember, don''t tell anyone!" He quickly falls asleep.'
-			act 'Leave': gt 'sitrPar'
-		else
-			minut -= 15
-			gs 'stat'
-			'Kolka gives you an appreciative nod, "Nice one, <<$pcs_nickname>>, you''re well trained. Now, don''t tell anyone!"'
-			act 'Continue':gt $loc, $metka
-		end
+	!!sub/dom dialog needs fixing
+	!!if sub > 0 or (evgenQW >= 4 and pav_slut >= 75):
+		!!if $loc = 'sitrPar' and father_go = 1 and hour >= 18 and hour < 23:
+			!!'Panting, Kolka looks at you and says, "That was great, <<$pcs_nickname>>!" He puts his softening cock back in his pants, "Just remember, this is our little secret!" He quickly turns his attention to something else.'
+			!!act 'Leave': gt 'sitrPar'
+		!!elseif $loc = 'sitrPar' and npc_rel['A34'] >= 80:
+			!!'Kolka lets out a deep yawn, "Ah, thanks <<$pcs_nickname>>. You''re the best." The words barely leave his lips before he''s back under the blanket and dozing off.'
+			!!act 'Leave': gt 'sitrPar'
+		!!elseif $loc = 'sitrPar':
+			!!'Still somewhat out of breath, Kolka pats your head gently and says, "Nice one, <<$pcs_nickname>>, you''re well trained. Now remember, don''t tell anyone!" He quickly falls asleep.'
+			!!act 'Leave': gt 'sitrPar'
+		!!else
+			!!minut -= 15
+			!!gs 'stat'
+			!!'Kolka gives you an appreciative nod, "Nice one, <<$pcs_nickname>>, you''re well trained. Now, don''t tell anyone!"'
+			!!act 'Continue':gt $loc, $metka
+		!!end
+	!!else
+	if $loc = 'sitrPar' and father_go = 1 and hour >= 18 and hour < 23:
+		'With a wide grin on his face, Kolka tells you, "Many thanks, <<$pcs_nickname>>, you''ve helped me a lot." He resumes his prior business.'
+		act 'Leave': gt 'sitrPar'
+	elseif $loc = 'sitrPar' and npc_rel['A34'] >= 80:
+		'Completely sated, Kolka mumbles to you, "Thanks <<$pcs_nickname>>, you''re the best..." In just a few seconds, he''s already dozing off into a blissfull sleep.'
+		act 'Leave': gt 'sitrPar'
+	elseif $loc = 'sitrPar':
+		'Kolka gives his deflating member a quick shake, "Thanks, <<$pcs_nickname>>, you saved me. Now I can finally sleep..." He slides under his covers and promptly falls asleep.'
+		act 'Leave': gt 'sitrPar'
 	else
-		if $loc = 'sitrPar' and father_go = 1 and hour >= 18 and hour < 23:
-			'With a wide grin on his face, Kolka tells you, "Many thanks, <<$pcs_nickname>>, you''ve helped me a lot." He resumes his prior business.'
-			act 'Leave': gt 'sitrPar'
-		elseif $loc = 'sitrPar' and npc_rel['A34'] >= 80:
-			'Completely sated, Kolka mumbles to you, "Thanks <<$pcs_nickname>>, you''re the best..." In just a few seconds, he''s already dozing off into a blissfull sleep.'
-			act 'Leave': gt 'sitrPar'
-		elseif $loc = 'sitrPar':
-			'Kolka gives his deflating member a quick shake, "Thanks, <<$pcs_nickname>>, you saved me. Now I can finally sleep..." He slides under his covers and promptly falls asleep.'
-			act 'Leave': gt 'sitrPar'
-		else
-			minut -= 15
-			gs 'stat'
-			'Kolka lets out a very satisfied sigh, "Ah, thanks so much for that, <<$pcs_nickname>>. I gotta go." He puts his drained cock back into his pants and leaves.'
-			act 'Continue':gt $loc, $metka
-		end
+		minut -= 15
+		gs 'stat'
+		'Kolka lets out a very satisfied sigh, "Ah, thanks so much for that, <<$pcs_nickname>>. I gotta go." He puts his drained cock back into his pants and leaves.'
+		act 'Continue':gt $loc, $metka
 	end
+	!!end
 end
 
 if $ARGS[0] = 'brotherSexCount':
@@ -1232,16 +1249,30 @@ if $ARGS[0] = 'brother_voyeur_ev6':
 		'"You know," Kolka points at your naked bottom.'
 		'"I don''t know, I think this has gone too far already," you answer indignantly.'
 		'"Please, show me!" Kolka pleads.'
-		if sub < 30:
-			act'Refuse and get dressed':gt $loc, $metka
+
+		gs 'willpower', 'exhib', 'resist', 'easy'
+		if will_cost <= pcs_willpwr:
+			act 'Refuse and get dressed (<<will_cost>> Willpower)':
+				gs 'willpower', 'pay', 'resist'
+				gt $loc, $metka
+				end
+		else
+			act 'Refuse and get dressed (<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 Kolka a closer look':gt 'brother','brother_voyeur_ev7'
 	elseif npc_QW['A34'] > 4:
 		'Your brother points to your legs, "<<$pcs_nickname>>, can you show me?" He moves his arms apart, mimicking you spreading your legs.'
 		'A small thrill runs up your spine, "Again?"'
 		'"Again," he grins. "Please?"'
-		if sub < 30:
-			act'Refuse and get dressed':gt $loc, $metka
+
+		gs 'willpower', 'exhib', 'resist', 'easy'
+		if will_cost <= pcs_willpwr:
+			act 'Refuse and get dressed (<<will_cost>> Willpower)':
+				gs 'willpower', 'pay', 'resist'
+				gt $loc, $metka
+				end
+		else
+			act 'Refuse and get dressed (<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 Kolka another close up look':gt 'brother','brother_voyeur_ev7'
 	end
@@ -1317,8 +1348,15 @@ if $ARGS[0] = 'brother_voyeur_ev7':
 				'You ask him, "What now?" You smile at him, because you''re pretty sure you know what''s coming.'
 				'Kolka smiles back, "Will you lie on the floor again?"'
 			end
-			if sub < 30:
-				act'Refuse and get dressed':gt $loc, $metka
+
+			gs 'willpower', 'exhib', 'resist', 'easy'
+			if will_cost <= pcs_willpwr:
+				act 'Refuse and get dressed (<<will_cost>> Willpower)':
+					gs 'willpower', 'pay', 'resist'
+					gt $loc, $metka
+					end
+			else
+				act 'Refuse and get dressed (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
 			end
 			act'Get down on the floor':gt 'brother','brother_voyeur_ev8'
 		end

+ 0 - 1
locations/brother_voyeur.qsrc

@@ -46,7 +46,6 @@ if $ARGS[0] = 'showertalk1':
 	cla & *clr
 	'<center><img <<$set_imgh>> src="images/shared/home/bathroom/brothertalk1.jpg"></center>'
 	'Through the crack in the door you make eye contact with your brother.'
-	'Through the crack in the door you make eye contact with your brother.'
 	'"Hey Kolka!"'
 	'You see the shock in his eyes as he realizes he''s been caught and moves away, trying to close the door. "Wait! Come in here a sec!" you say, a bright and good-humored smile on your face. "And shut the door behind you! Quick! Before <<$npc_nickname[''A29'']>> or dad see!"'
 

+ 6 - 1
locations/defence.qsrc

@@ -1,4 +1,9 @@
 # defence
+
+
+
+!! Old code commented out but there for reference
+!!{
 if defence <= 0:
 	defence = 0
 	defenceM = 0
@@ -97,6 +102,6 @@ if defAtkMV > 0:
 
 	if unmaterial > 0:'<b><font color="red">The enemy''s protection shield is trying to absorb your mana but it does not work.</font></b>'
 end
-
+}
 --- defence ---------------------------------
 

+ 1 - 1
locations/dimaRevenge.qsrc

@@ -301,7 +301,6 @@ if ARGS[0] = 3:
 									BonusDefV = 0
 									!!Programme of Action
 									program = 0
-									DimaFight = 1
 									if spellavtoklon = 1:klon = 3
 									if spellbefshild = 1:defence = 500}
 									gs 'fight','initFight'
@@ -321,6 +320,7 @@ if ARGS[0] = 3:
 									opp_health[0] = (opp_vital[0] * 10 + opp_stren[0] * 5)
 									opp_willpwr[0] = 100
 									opp_shoot[0] = 100
+									fightEnding = 10
 
 									gt 'fight', 'start'
 								end

+ 56 - 67
locations/ender.qsrc

@@ -9,39 +9,38 @@ if $ARGS[0] = 'loss':
 		exit
 	end
 
-	if jugoFight = 1:
+	if fightEnding = 1:
 		if autocombat_surrender = 0 or pcs_health < 100: pcs_health = 100
 		killvar 'autocombat_surrender'
-		jugoFight = 0
+		fightEnding = 0
 
 		'You fall down on the floor and feel your consciousness slipping away.'
 
 		act 'Further': gt 'preTG', 'tatianaPRE'
 		exit
-	elseif jugoFight = 2:
+	elseif fightEnding = 2:
 		if autocombat_surrender = 0 or pcs_health < 100: pcs_health = 100
 		killvar 'autocombat_surrender'
-		jugoFight = 0
+		fightEnding = 0
 
 		'You fall down on the floor as you''re not longer able to fight Juugo.'
 
 		act 'Further':gt'lab','start'
 		exit
-	elseif tatianaFight = 1:
+	elseif fightEnding = 3:
 		if autocombat_surrender = 0 or pcs_health < 100: pcs_health = 100
 		killvar 'autocombat_surrender'
-		tatianaFight = 0
+		fightEnding = 0
 
 		'You fall down on the floor as you''re not longer able to fight Tatiana.'
 
 		act 'Further':gt'lab','start'
 		exit
-	elseif prostitutFight = 1:
+	elseif fightEnding = 4:
 		if autocombat_surrender = 0 or pcs_health < 100: pcs_health = 100
 		killvar 'autocombat_surrender'
-		prostitutFight = 0
+		fightEnding = 0
 		money = 0
-		SUB = SUB + 1
 		Loss += 1
 		if rikudo > 10:rikudo = rikudo - 10
 
@@ -50,12 +49,11 @@ if $ARGS[0] = 'loss':
 
 		act 'Further':gt'park','start'
 		exit
-	elseif prostitutFight = 2:
+	elseif fightEnding = 5:
 		if autocombat_surrender = 0 or pcs_health < 100: pcs_health = 100
 		killvar 'autocombat_surrender'
-		prostitutFight = 0
+		fightEnding = 0
 		money = 0
-		SUB = SUB + 1
 		Loss += 1
 		bandfight = bandfight - 1
 		if rikudo > 10:rikudo = rikudo - 10
@@ -66,10 +64,10 @@ if $ARGS[0] = 'loss':
 
 		act 'Further':gt'park','start'
 		exit
-	elseif prostitutFight = 3:
+	elseif fightEnding = 6:
 		if autocombat_surrender = 0 or pcs_health < 100: pcs_health = 100
 		killvar 'autocombat_surrender'
-		prostitutFight = 0
+		fightEnding = 0
 		money = 0
 		Loss += 1
 		stellfight = stellfight - 1
@@ -86,11 +84,10 @@ if $ARGS[0] = 'loss':
 		
 		act 'Further':gt'park','start'
 		exit
-	elseif KisaFight = 1:
+	elseif fightEnding = 7:
 		if autocombat_surrender = 0 or pcs_health < 100: pcs_health = 100
 		killvar 'autocombat_surrender'
-		KisaFight = 0
-		SUB = SUB + 1
+		fightEnding = 0
 		Loss += 1
 		if rikudo > 10:rikudo = rikudo - 10
 		if KisameSex = 0:KisameSex = 1 & guy = guy + 1
@@ -112,12 +109,11 @@ if $ARGS[0] = 'loss':
 
 		act 'Crawl out of the pool':gt'street'
 		exit
-	elseif RapistFight = 1:
+	elseif fightEnding = 8:
 		if autocombat_surrender = 0 or pcs_health < 100: pcs_health = 100
 		killvar 'autocombat_surrender'
 		if succubusQW >= 4: gt 'succubus', 'RapistFight'
-		RapistFight = 0
-		sub += 1
+		fightEnding = 0
 		Loss += 1
 		if rikudo > 10:rikudo -= 10
 		pcs_vag += 1
@@ -156,20 +152,19 @@ if $ARGS[0] = 'loss':
 
 		act 'Cry': gt $loc, $metka
 		
-	elseif ThiefFight = 1:
+	elseif fightEnding = 9:
 		if autocombat_surrender = 0 or pcs_health < 100: pcs_health = 100
 		killvar 'autocombat_surrender'
-		ThiefFight = 0
-		sub += 1
+		fightEnding = 0
 		Loss += 1
 		money = 0
 		'He knocks you down with one final hit. The moment he puts you out of commission he grabs the money and runs away.'
 		act 'Get back on your feet': gt $loc, $metka
 		exit
-	elseif DimaFight = 1:
+	elseif fightEnding = 10:
 		if autocombat_surrender = 0 or pcs_health < 100: pcs_health = 100
 		killvar 'autocombat_surrender'
-		DimaFight = 0
+		fightEnding = 0
 		grupvalue[4] -= 2
 		if Loss < 0: Loss = 0
 		'<center><img src="images/characters/pavlovsk/school/boy/dimka/revenge/girlbeatsguy2.jpg"></center>'
@@ -178,21 +173,20 @@ if $ARGS[0] = 'loss':
 		'Lena turns to you and says tauntingly, "You either need to learn how to fight or get used to serving us, little bunny." Before you can say anything, the bell rings for class.'
 
 		act 'Continue': gt 'gschool_lessons', 'short_break'
-	elseif gangrapeFight = 1:
+	elseif fightEnding = 11:
 		if autocombat_surrender = 0 or pcs_health < 100: pcs_health = 100
 		killvar 'autocombat_surrender'
-		gangrapeFight = 0
-		sub += 1
+		fightEnding = 0
 		Loss += 1
 		if rikudo > 10:rikudo = rikudo - 10
 
 		'In their drunken state they throw you on the spit-covered porch and began tearing your clothes as you no longer have the strength to resist.'
 
 		act 'Cry':gt'sexm','gangbang'
-	elseif ZverevaFight = 1:
+	elseif fightEnding = 12:
 		if autocombat_surrender = 0 or pcs_health < 100: pcs_health = 100
 		killvar 'autocombat_surrender'
-		ZverevaFight = 0
+		fightEnding = 0
 		zverRageQW = 10
 		Loss += 1
 
@@ -202,18 +196,18 @@ if $ARGS[0] = 'loss':
 		'Christina then again spits on you this time on your face. While making fun of you, Christina kicks you a few times more in the ribs before turning around and walking away.'
 
 		act 'Leave':gs 'gschool_grounds', 'main'
-	elseif stallionfight = 1:
+	elseif fightEnding = 13:
 		if autocombat_surrender = 0 or pcs_health < 100: pcs_health = 100
 		killvar 'autocombat_surrender'
-		stallionfight = 0
+		fightEnding = 0
 		Loss += 1
 		'You breath deeply, totally exhausted as the naked man advances upon you. You no longer have the strength to fight him off.'
 		
 		act 'Lose':gt 'stallion', 'rape'
-	elseif BitchFight = 1:
+	elseif fightEnding = 14:
 		if autocombat_surrender = 0 or pcs_health < 100: pcs_health = 100
 		killvar 'autocombat_surrender'
-		BitchFight = 0
+		fightEnding = 0
 		Loss += 1
 		gs 'pain', 5, 'tummy', 'kick'
 		gs 'pain', 5, 'cheeks', 'hit'
@@ -240,19 +234,19 @@ if $ARGS[0] = 'win':
 		exit
 	end
 
-	if jugoFight = 2:
+	if fightEnding = 2:
 		pcs_health = pcs_vital*10
 		rikudo = rikudo + 10
-		jugoFight = 0
+		fightEnding = 0
 		if winJugo = 0:winJugo = 1
 
 		'Juugo fell to the floor and can no longer keep on fighting.'
 
 		act 'Further':gt'lab','start'
 		exit
-	elseif tatianaFight = 1:
+	elseif fightEnding = 3:
 		pcs_health = pcs_vital*10
-		tatianaFight = 0
+		fightEnding = 0
 		rikudo = rikudo + 10
 		if wintatiana = 0:wintatiana = 1
 
@@ -260,10 +254,9 @@ if $ARGS[0] = 'win':
 
 		act 'Further':gt'lab','start'
 		exit
-	elseif prostitutFight = 1:
-		prostitutFight = 0
+	elseif fightEnding = 4:
+		fightEnding = 0
 		whoreQW = 1
-		pcs_dom += 1
 		Win += 1
 		rikudo = rikudo + 10
 
@@ -271,9 +264,8 @@ if $ARGS[0] = 'win':
 
 		act 'Further':gt'park','start'
 		exit
-	elseif prostitutFight = 2:
-		prostitutFight = 0
-		pcs_dom += 1
+	elseif fightEnding = 5:
+		fightEnding = 0
 		Win += 1
 		bandfight = bandfight + 1
 		rikudo = rikudo + 10
@@ -283,9 +275,8 @@ if $ARGS[0] = 'win':
 
 		act 'Further':gt'park','start'
 		exit
-	elseif prostitutFight = 3:
-		prostitutFight = 0
-		pcs_dom += 1
+	elseif fightEnding = 6:
+		fightEnding = 0
 		Win += 1
 		stellfight = stellfight + 1
 		rikudo = rikudo + 10
@@ -295,10 +286,9 @@ if $ARGS[0] = 'win':
 
 		act 'Further':gt'park','start'
 		exit
-	elseif KisaFight = 1:
+	elseif fightEnding = 7:
 		KisameDead = 1
-		KisaFight = 2
-		pcs_dom += 1
+		fightEnding = 2
 		Win += 1
 		if rikudo > 10:rikudo = rikudo + 3000
 		money = money + 5000
@@ -307,8 +297,7 @@ if $ARGS[0] = 'win':
 
 		act 'Further':gt'street'
 		exit
-	elseif RapistFight = 1 or ThiefFight = 1:
-		ThiefFight = 0
+	elseif fightEnding = 8 or fightEnding = 9:
 		if succubusQW >= 4 and scpopt < 2:
 			$sclocrt = 'ender'
 			$scargrt = 'win'
@@ -316,20 +305,21 @@ if $ARGS[0] = 'win':
 			scpopt = 1
 			gt 'succubus', 'RapistFight'
 		end
-		RapistFight = 0
+
+		'You fought back the '+iif(fightEnding = 8, 'rapist', 'thief')+' and took his wallet.'
+
+		fightEnding = 0
+		fightEnding = 0
 		scpopt = 0
 		if rikudo > 10:rikudo += 100
-		pcs_dom += 1
 		Win += 1
 		money += rand(500,2000)
 
-		'You fought back the '+iif(RapistFight = 1, 'rapist', 'thief')+' and took his wallet.'
-						
 		act 'Leave': gt $loc, $metka
 		exit
-	elseif DimaFight = 1:
+	elseif fightEnding = 10:
 		money += 10000
-		DimaFight = 0
+		fightEnding = 0
 		grupvalue[4] += 3
 		Win += 1
 		'<center><img src="images/characters/pavlovsk/school/boy/dimka/revenge/girlbeatsguy1.jpg"></center>'
@@ -340,10 +330,9 @@ if $ARGS[0] = 'win':
 		'You check his pockets and find 10000 rubles in his wallet. Fucking rich kid. This should teach him. "The teacher is coming," says Lera, "Let''s get out of here."'
 
 		act 'Continue': gt 'gschool_lessons', 'short_break'
-	elseif gangrapeFight = 1:
-		gangrapeFight = 0
+	elseif fightEnding = 11:
+		fightEnding = 0
 		if rikudo > 10:rikudo += 100
-		pcs_dom += 1
 		Win += 1
 		money += rand(500,2000)
 		gs 'stat'
@@ -359,11 +348,11 @@ if $ARGS[0] = 'win':
 				gt 'street'
 			end
 		end
-	elseif ZverevaFight = 1:
+	elseif fightEnding = 12:
 		zverSlutQW = 1
 		lariskaQwestStart = daystart + 7
 		Win += 1
-		ZverevaFight = 0
+		fightEnding = 0
 
 		$npc_notes['A13'] = 'Lariska, who is very dependent on other people''s opinions. After you managed to win the fight against Christina Lariska looks more cheerful. She''s a good volleyball player, and could go pro if she keeps it up even though she doesn''t believe it herself. But with the help of Mikhail Nikolayevich, the volleyball coach, she might make it.'
 
@@ -373,13 +362,13 @@ if $ARGS[0] = 'win':
 		'Christina fell to the ground, and you grabbed her by the hair. "Well bitch, tell the whole school, have you ever sucked a cock or not?" Christine squealed as she admitted to the whole school that she loved sucking cock.'
 
 		act 'Leave':gs 'gschool_grounds', 'main'
-	elseif stallionfight = 1:
-		stallionfight = 0
+	elseif fightEnding = 13:
+		fightEnding = 0
 		Win += 1
 		'The naked man staggers back, all bloody. You''ve beaten him, and it is pretty clear he is finished. You look down and see something odd...'
 		act 'What is that?':gt 'stallion', 'end'
-	elseif BitchFight = 1:
-		BitchFight = 0
+	elseif fightEnding = 14:
+		fightEnding = 0
 		Win += 1
 		'<<$streetev_title>>'
 		'<center><img <<$set_imgh>> src="images/locations/shared/street/girlgang.jpg"></center>'

+ 105 - 124
locations/fight.qsrc

@@ -55,6 +55,7 @@ if $ARGS[0] = 'initFight':
 	killvar 'opp_dambonus'
 	killvar 'opp_init'
 	killvar 'opp_stun'
+	killvar 'opp_timer'
 
 	!! Clear any allies from previous battle
 	i = arrsize('pcs_health')
@@ -100,6 +101,7 @@ if $ARGS[0] = 'clearPCSArray':
 	killvar 'pcs_dambonus', i
 	killvar 'pcs_init', i
 	killvar 'pcs_stun', i
+	killvar 'pcs_timer', i
 
 	killvar 'i'
 end
@@ -169,23 +171,23 @@ if $ARGS[0] = 'start':
 
 	$HTMLText = '<table>
 		<tr>
-			<th align="right">Allies</td>
-			<th align="center" valign="center" rowspan=<<tableSize*2+1>> >vs.</td>
-			<th align="left">Opponents</td>
+			<th align="left">Allies</left></td>
+			<th align="center" valign="center" rowspan=<<tableSize*2+1>> >vs.</center></td>
+			<th align="right">Opponents</right></td>
 		</tr>'
 	i = 0
 	:FightPoster
 	if i < tableSize:
 		$HTMLText += '
 		<tr>
-			<td align="right"><img HEIGHT=400 src="<<$pcs_image[i]>>"></td>
+			<td align="left"><img HEIGHT=400 src="<<$pcs_image[i]>>"></left></td>
 
-			<td align="left"><img HEIGHT=400 src="<<$opp_image[i]>>"></td>
+			<td align="right"><img HEIGHT=400 src="<<$opp_image[i]>>"></right></td>
 		</tr>
 		<tr>
-			<td align="right"><<$pcs_name[i]>></td>
+			<td align="left"><<$pcs_name[i]>></left></td>
 
-			<td align="left"><<$opp_name[i]>></td>
+			<td align="right"><<$opp_name[i]>></right></td>
 		</tr>'
 		i += 1
 		jump 'FightPoster'
@@ -194,27 +196,20 @@ if $ARGS[0] = 'start':
 
 	*pl func('cleanHTML',$HTMLText)
 
-	pcs_timer[0] = 100 - pcs_react
-	if pcs_health[1] > 0:
-		pcs_timer[1] = 100 - pcs_react[1]
-	else
-		pcs_timer[1] = 100
-	end
-	if pcs_health[2] > 0:
-		pcs_timer[2] = 100 - pcs_react[2]
-	else
-		pcs_timer[2] = 100
-	end
-	opp_timer[0] = 100 - opp_react[0]
-	if opp_health[1] > 0:
-		opp_timer[1] = 100 - opp_react[1]
-	else
-		opp_timer[1] = 100
+	i=0
+	:PCSTimerInit
+	if i < arrsize('pcs_health'):
+		pcs_timer[i] = 100 - pcs_react[i]
+		i +=1
+		jump 'PCSTimerInit'
 	end
-	if opp_health[2] > 0:
-		opp_timer[2] = 100 - opp_react[2]
-	else
-		opp_timer[2] = 100
+
+	i=0
+	:OppTimerInit
+	if i < arrsize('opp_health'):
+		opp_timer[i] = 100 - opp_react[i]
+		i +=1
+		jump 'OppTimerInit'
 	end
 
 	act 'Engage': gt 'fight', 'main'
@@ -224,57 +219,51 @@ if $ARGS[0] = 'start':
 	killvar 'i'
 end
 
+if $ARGS[0] = 'findActiveTimer':
+!! Find the participant with the lowest Timer
+!	These values are passed back via two global variables.
+!
+!	$fightTimType = 'player' or 'opponent' depending on which group has the lowest member
+!	fightTimNum = the array number of the lowest participant
+
+	$fightTimType = 'player'
+	fightTimNum = 0
+	!! set this to high so that everyone will be lower.
+	fightTimLow = 99999
+
+	!! Find lowest of pcs participants
+	i = 0
+	:LowTimerLoop1
+	if i < arrsize('pcs_timer'):
+		if pcs_timer[i] < fightTimLow:
+			fightTimLow = pcs_timer[i]
+			fightTimNum = i
+		end
+		i += 1
+		jump 'LowTimerLoop1'
+	end
+
+	!!Find if any Opponents have lower than best PCS
+	i = 0
+	:LowTimerLoop2
+	if i < arrsize('opp_timer'):
+		if opp_timer[i] < fightTimLow:
+			fightTimLow = opp_timer[i]
+			fightTimNum = i
+			$fightTimType = 'opponent'
+		end
+		i += 1
+		jump 'LowTimerLoop2'
+	end
+
+	killvar 'i'
+end
+
 if $ARGS[0] = 'main':
+
 	gs 'fight', 'result_check'
-	if pcs_timer[0] < opp_timer[0] and pcs_timer[0] < opp_timer[1] and pcs_timer[0] < opp_timer[2] and pcs_timer[0] < pcs_timer[1] and pcs_timer[0] < pcs_timer[2]:
-		if opp_health[0] > 0: opp_timer[0] -= pcs_timer[0]
-		if opp_health[1] > 0: opp_timer[1] -= pcs_timer[0]
-		if opp_health[2] > 0: opp_timer[2] -= pcs_timer[0]
-		if pcs_health[1] > 0: pcs_timer[1] -= pcs_timer[0]
-		if pcs_health[2] > 0: pcs_timer[2] -= pcs_timer[0]
-		pcs_timer[0] = 0
-		gt 'fight', 'player', 0
-	elseif pcs_timer[1] < opp_timer[0] and pcs_timer[1] < opp_timer[1] and pcs_timer[1] < opp_timer[2] and pcs_timer[1] < pcs_timer[0] and pcs_timer[1] < pcs_timer[2]:
-		if opp_health[0] > 0: opp_timer[0] -= pcs_timer[1]
-		if opp_health[1] > 0: opp_timer[1] -= pcs_timer[1]
-		if opp_health[2] > 0: opp_timer[2] -= pcs_timer[1]
-		if pcs_health[0] > 0: pcs_timer[0] -= pcs_timer[1]
-		if pcs_health[2] > 0: pcs_timer[2] -= pcs_timer[1]
-		pcs_timer[1] = 0
-		gt 'fight', 'player', 1
-	elseif pcs_timer[2] < opp_timer[0] and pcs_timer[2] < opp_timer[1] and pcs_timer[2] < opp_timer[2] and pcs_timer[2] < pcs_timer[1] and pcs_timer[2] < pcs_timer[0]:
-		if opp_health[0] > 0: opp_timer[0] -= pcs_timer[2]
-		if opp_health[1] > 0: opp_timer[1] -= pcs_timer[2]
-		if opp_health[2] > 0: opp_timer[2] -= pcs_timer[2]
-		if pcs_health[0] > 0: pcs_timer[0] -= pcs_timer[2]
-		if pcs_health[1] > 0: pcs_timer[1] -= pcs_timer[2]
-		pcs_timer[2] = 0
-		gt 'fight', 'player', 2
-	elseif opp_timer[0] < opp_timer[1] and opp_timer[0] < opp_timer[2] and opp_timer[0] < pcs_timer[0] and opp_timer[0] < pcs_timer[1] and opp_timer[0] < pcs_timer[2]:
-		if opp_health[1] > 0: opp_timer[1] -= opp_timer[0]
-		if opp_health[2] > 0: opp_timer[2] -= opp_timer[0]
-		if pcs_health[0] > 0: pcs_timer[0] -= opp_timer[0]
-		if pcs_health[1] > 0: pcs_timer[1] -= opp_timer[0]
-		if pcs_health[2] > 0: pcs_timer[2] -= opp_timer[0]
-		opp_timer[0] = 0
-		gt 'fight', 'opponent', 0
-	elseif opp_timer[1] < opp_timer[0] and opp_timer[1] < opp_timer[2] and opp_timer[1] < pcs_timer[0] and opp_timer[1] < pcs_timer[1] and opp_timer[1] < pcs_timer[2]:
-		if opp_health[0] > 0: opp_timer[0] -= opp_timer[1]
-		if opp_health[2] > 0: opp_timer[2] -= opp_timer[1]
-		if pcs_health[0] > 0: pcs_timer[0] -= opp_timer[1]
-		if pcs_health[1] > 0: pcs_timer[1] -= opp_timer[1]
-		if pcs_health[2] > 0: pcs_timer[2] -= opp_timer[1]
-		opp_timer[1] = 0
-		gt 'fight', 'opponent', 1
-	elseif opp_timer[2] < opp_timer[0] and opp_timer[2] < opp_timer[1] and opp_timer[2] < pcs_timer[0] and opp_timer[2] < pcs_timer[1] and opp_timer[2] < pcs_timer[2]:
-		if opp_health[0] > 0: opp_timer[0] -= opp_timer[2]
-		if opp_health[1] > 0: opp_timer[1] -= opp_timer[2]
-		if pcs_health[0] > 0: pcs_timer[0] -= opp_timer[2]
-		if pcs_health[1] > 0: pcs_timer[1] -= opp_timer[2]
-		if pcs_health[2] > 0: pcs_timer[2] -= opp_timer[2]
-		opp_timer[2] = 0
-		gt 'fight', 'opponent', 2
-	end
+	gs 'fight', 'findActiveTimer'
+	gt 'fight', $fightTimType, fightTimNum
 end
 
 if $ARGS[0] = 'printStats':
@@ -337,7 +326,7 @@ end
 if $ARGS[0] = 'result_check':
 !!cheat to auto-win fights check
 	if fight_cheat = 1:
-		!xgt 'ender', 'win'
+		xgt 'ender', 'win'
 		gt $loc, $metka
 		exit
 	end
@@ -347,19 +336,19 @@ if $ARGS[0] = 'result_check':
 	if pcs_health <= 0:
 		'<b><font color = red> You lost!</font></b>'
 
-		!xgt'ender','loss'
+		xgt'ender','loss'
 		gt $loc, $metka
 		exit
 	elseif opp_health[0] <= 0:
 		'<b><font color = green><<$boydesc>> You won!</font></b>'
 
-		!xgt'ender','win'
+		xgt'ender','win'
 		gt $loc, $metka
 		exit
 	elseif pcs_willpwr <= 0:
 		'<b><font color = red> You cannot summon the will to fight!</font></b>'
 
-		!xgt'ender','loss'
+		xgt'ender','loss'
 		gt $loc, $metka
 		exit
 	end
@@ -370,20 +359,20 @@ end
 !! Kick
 $AttackType[0] = 'Kick'
 $AttackSkill[0] = 'kick'
-AttackMin[0] = 3
-AttackMax[0] = 4
+AttackMin[0] = 5
+AttackMax[0] = 8
 AttackTime[0] = 40
 !! Hard Punch
 $AttackType[1] = 'Hard Punch'
 $AttackSkill[1] = 'punch'
-AttackMin[1] = 2
-AttackMax[1] = 3
+AttackMin[1] = 4
+AttackMax[1] = 6
 AttackTime[1] = 30
 !! Jab
 $AttackType[2] = 'Jab'
 $AttackSkill[2] = 'jab'
-AttackMin[2] = 1
-AttackMax[2] = 2
+AttackMin[2] = 2
+AttackMax[2] = 3
 AttackTime[2] = 15
 
 !!{Attack a target
@@ -400,64 +389,56 @@ if $ARGS[0] = 'Attack':
 	fightAtk_AttackerNumber = ARGS[4]
 
 	if $fightAtk_TargetType = 'opp' and fightAtk_AttackerNumber = 0:
-		$fightAtk['AttackerType'] = 'pcs'
+		$fightAtk_AttackerType = 'pcs'
+		$fightAtk['DefenderName'] = $opp_name[fightAtk_TargetNumber]
 		$fightAtk['AttackerName'] = 'You'
 	elseif $fightAtk_TargetType = 'opp':
-		$fightAtk['AttackerType'] = 'pcs'
-		$fightAtk['AttackerName'] = $pcs_name['<<ARGS[3]>>']
-		$fightAtk['DefenderName'] = $opp_name['<<ARGS[2]>>']
-		$fightAtk['TargetPronoun'] = 'They'
+		$fightAtk['AttackerName'] = $pcs_name[fightAtk_AttackerNumber]
+		$fightAtk['DefenderName'] = $opp_name[fightAtk_TargetNumber]
+		$fightAtk_AttackerType = 'pcs'
 	else
-		$fightAtk['AttackerType'] = 'opp'
-		$fightAtk['AttackerName'] = $opp_name['<<ARGS[3]>>']
-		$fightAtk['DefenderName'] = $pcs_name['<<ARGS[2]>>']
-		$fightAtk['TargetPronoun'] = 'You'
+		$fightAtk_AttackerType = 'opp'
+		$fightAtk['AttackerName'] = $opp_name[fightAtk_AttackerNumber]
+		$fightAtk['DefenderName'] = $pcs_name[fightAtk_TargetNumber]
 	end
 
 	fightAtk_Type = arrpos('$AttackType',$fightAtk_Type)
-	fightAtk['AttackerSkillValue'] = dyneval('result = <<$fightAtk_TargetType>>_<<$AttackSkill[fightAtk_Type]>>[<<fightAtk_TargetNumber>>]')
-	fightAtk['TargetReactValue'] = dyneval('result = <<$fightAtk_TargetType>>_react[<<fightAtk_AttackerNumber>>]')
+	fightAtk['AttackerSkillValue'] = dyneval('result = <<$fightAtk_AttackerType>>_<<$AttackSkill[fightAtk_Type]>>[<<fightAtk_AttackerNumber>>]')
+	fightAtk['TargetReactValue'] = dyneval('result = <<$fightAtk_TargetType>>_react[<<fightAtk_TargetNumber>>]')
 	fightAtk['TargetAgilValue'] = dyneval('result = <<$fightAtk_TargetType>>_agil[<<fightAtk_TargetNumber>>]')
 	fightAtk['MinDamage'] = AttackMin[fightAtk_Type]
 	fightAtk['MaxDamage'] = AttackMax[fightAtk_Type]
 
 	if $fightAtk_TargetType = 'opp' and fightAtk_AttackerNumber = 0:
-		'You attempt to <<$fightAtk["Type"]>> <<$fightAtk["DefenderName"]>>!'
+		'You attempt to <<$fightAtk_Type>> <<$fightAtk["DefenderName"]>>!'
 	else
-		'<<$fightAtk["AttackerName"]>> attempts to <<$fightAtk["Type"]>> <<$fightAtk["DefenderName"]>>!'
+		'<<$fightAtk["AttackerName"]>> attempts to <<$fightAtk_Type>> <<$fightAtk["DefenderName"]>>!'
 	end
 	*nl
 	if fightAtk['AttackerSkillValue'] + rand(0,30) > fightAtk['TargetReactValue'] / 4 + 3 * fightAtk['TargetAgilValue'] / 4:
 		!!Calculate Damage
-		dynamic "fightAtk['Damage'] = <<$fightAtk['AttackerType']>>_stren[<<fightAtk_AttackerNumber>>] * rand(<<fightAtk['MinDamage']>>,<<fightAtk['MaxDamage']>>) / 15"
+		dynamic "fightAtk['Damage'] = <<$fightAtk_AttackerType>>_stren[<<fightAtk_AttackerNumber>>] * rand(<<fightAtk['MinDamage']>>,<<fightAtk['MaxDamage']>>) / 15"
 		!!Apply Damage
 		gs 'fight', 'applyDamage', $fightAtk_TargetType, fightAtk_TargetNumber, fightAtk['Damage']
 		if fightAtk['Damage'] > 10:
 			if $fightAtk_TargetType = 'opp' and fightAtk_AttackerNumber = 0:
-				'The hit is hard and you reel in pain.'
+				'The hit is hard and <<$fightAtk["DefenderName"]>> reels in pain.'
 			else
-				'The hit is hard and <<$fightAtk["AttackerName"]>> reels in pain.'
+				'The hit is hard and you reel in pain.'
 			end
 		else
 			'Its a glancing blow, but still hurts.'
 		end
 	else
-		if $fightAtk_TargetType = 'opp' and fightAtk_AttackerNumber = 0:
+		if $fightAtk_TargetType = 'pcs' and fightAtk_AttackerNumber = 0:
 			'You avoid the blow.'
 		else
-			'<<$fightAtk["AttackerName"]>> avoids the blow.'
+			'<<$fightAtk["DefenderName"]>> avoids the blow.'
 		end
 	end
-	dynamic "<<$fightAtk['AttackerType']>>_timer += AttackTime[fightAtk_Type]"
+	dynamic "<<$fightAtk_AttackerType>>_timer += AttackTime[fightAtk_Type]"
 	cla
 	act 'Next': gt 'fight', 'main'
-
-	killvar 'fightAtk'
-	killvar '$fightAtk'
-	killvar '$fightAtk_Type'
-	killvar '$fightAtk_TargetType'
-	killvar 'fightAtk_TargetNumber'
-	killvar 'fightAtk_AttackerNumber'
 end
 
 if $ARGS[0] = 'opponent':
@@ -483,11 +464,11 @@ if $ARGS[0] = 'opponent':
 	end		
 !!	if opp_magik[0] > 0: gs 'fight', 'opp_spellcast'
 	if rand(0,opp_kick[0]) > 40:
-		gs 'fight', 'Attack', 'Kick', 'pcs', TargetNumber, ARGS[2]
+		gs 'fight', 'Attack', 'Kick', 'pcs', ARGS[2], TargetNumber
 	elseif rand(0,opp_punch[0]) > 40:
-		gs 'fight', 'Attack', 'Hard Punch', 'pcs', TargetNumber, ARGS[2]
+		gs 'fight', 'Attack', 'Hard Punch', 'pcs', ARGS[2], TargetNumber
 	else
-		gs 'fight', 'Attack', 'Jab', 'pcs', TargetNumber, ARGS[2]
+		gs 'fight', 'Attack', 'Jab', 'pcs', ARGS[2], TargetNumber
 	end
 end
 
@@ -517,41 +498,41 @@ if $ARGS[0] = 'player':
 	end
 	if opp_health[0] > 0:
 		act 'Kick <<$opp_name[0]>>':
-			gs 'fight', 'Attack', 'Kick', 'opp', 0, ARGS[2]
+			gs 'fight', 'Attack', 'Kick', 'opp', 0, 0
 		end
 
 		act 'Punch <<$opp_name[0]>> hard':
-			gs 'fight', 'Attack', 'Hard Punch', 'opp', 0, ARGS[2]
+			gs 'fight', 'Attack', 'Hard Punch', 'opp', 0, 0
 		end
 
 		act 'Jab <<$opp_name[0]>>':
-			gs 'fight', 'Attack', 'Jab', 'opp', 0, ARGS[2]
+			gs 'fight', 'Attack', 'Jab', 'opp', 0, 0
 		end
 	end
 	if opp_health[1] > 0:
 		act 'Kick <<$opp_name[1]>>':
-			gs 'fight', 'Attack', 'Kick', 'opp', 1, ARGS[2]
+			gs 'fight', 'Attack', 'Kick', 'opp', 0, 1
 		end
 
 		act 'Punch <<$opp_name[1]>> hard':
-			gs 'fight', 'Attack', 'Hard Punch', 'opp', 1, ARGS[2]
+			gs 'fight', 'Attack', 'Hard Punch', 'opp', 0, 1
 		end
 
 		act 'Jab <<$opp_name[1]>>':
-			gs 'fight', 'Attack', 'Jab', 'opp', 1, ARGS[2]
+			gs 'fight', 'Attack', 'Jab', 'opp', 0, 1
 		end
 	end
 	if opp_health[2] > 0:
 		act 'Kick <<$opp_name[2]>>':
-			gs 'fight', 'Attack', 'Kick', 'opp', 2, ARGS[2]
+			gs 'fight', 'Attack', 'Kick', 'opp', 0, 2
 		end
 
 		act 'Punch <<$opp_name[2]>> hard':
-			gs 'fight', 'Attack', 'Hard Punch', 'opp', 2, ARGS[2]
+			gs 'fight', 'Attack', 'Hard Punch', 'opp', 0, 2
 		end
 
 		act 'Jab <<$opp_name[2]>>':
-			gs 'fight', 'Attack', 'Jab', 'opp', 2, ARGS[2]
+			gs 'fight', 'Attack', 'Jab', 'opp', 0, 2
 		end
 	end	
 end

+ 1 - 0
locations/gdksport.qsrc

@@ -208,6 +208,7 @@ if $ARGS[0] = 'dance2':
 		end
 		!place for use in events
 		if rand(0, 1) = 0:'You see something <a href="exec:gt ''danceGev''">interesting</a>.'
+		gs 'stat'
 	else
 		'There is nothing you can learn from this dance class with your current skill, you need to find a new teacher or travel to the city to find better dance classes if you wish to improve further.'
 

+ 2 - 1
locations/gschool_grounds.qsrc

@@ -474,7 +474,7 @@ if $ARGS[0] = 'KristinaFight':
 	BonusDefV = 0
 	!Action Programme
 	program = 0
-	ZverevaFight = 1
+	fightEnding = 12
 
 	if spellavtoklon = 1:klon = 3
 	if spellbefshild = 1:defence = 500
@@ -531,6 +531,7 @@ if $ARGS[0] = 'SchoolRun':
 end
 
 if $ARGS[0] = 'SchoolRun_result':
+	cla
 	if begresult <= 15:
 		grupvalue[2] -= 2
 		'You barely manage to reach the finish line at all. There''s no point in checking where you finished, you already know you were last by uite a large margin.'

+ 1 - 1
locations/kisameQW.qsrc

@@ -74,7 +74,6 @@ if $ARGS[0] = 'start':
 			!!Programme of Action
 			program = 5
 			kisamePic = 1
-			KisaFight = 1
 			klonV = 5
 			!!defenceV = 10000
 			if spellavtoklon = 1:klon = 3
@@ -96,6 +95,7 @@ if $ARGS[0] = 'start':
 			opp_health[0] = (opp_vital * 10 + opp_stren * 5)
 			opp_willpwr[0] = 100
 			opp_shoot[0] = 100
+			fightEnding = 7
 
 			gt 'fight', 'start'
 			'You kick Kisame in the face. He shows his teeth, and his appearance begins to change. Instantaneously he has blue gills on his face and shark teeth. He whispers with a smile, "You wanna play baby? Let''s play!"'

+ 1 - 1
locations/kseniyaQW.qsrc

@@ -12,7 +12,7 @@ if $ARGS[0] = 'event1':
 	'<center><b><font color="maroon">Woman</font></b></center>'
 	'<center><img <<$set_imgh>> src="images/locations/shared/park/kseniya/flash.jpg"></center>'
 	if ARGS[1] = 1:
-		'As you wonder through the park you see someone in a field, who waves you over. As you get closer you realise it is a topless women, she gives you an enigmatic smile while cupping a breast then runs off.'
+		'As you wonder through the park you see someone in a field, who waves you over. As you get closer you realise it is a topless woman, she gives you an enigmatic smile while cupping a breast then runs off.'
 	else
 		'As you look for somewhere to expose yourself you see someone in a field, who waves you over. As you get closer you realise it is a topless women, she gives you an enigmatic smile while cupping a breast then runs off.'
 	end

+ 3 - 3
locations/lab.qsrc

@@ -68,7 +68,6 @@ if $ARGS[0] = 'start':
 			BonusDefV = 0
 			!!Programme of Action
 			program = 0
-			jugoFight = 2
 			}
 			gs 'fight','initFight'
 
@@ -87,6 +86,7 @@ if $ARGS[0] = 'start':
 			opp_health[0] = (opp_vital * 10 + opp_stren * 5)
 			opp_willpwr[0] = 50
 			opp_shoot[0] = 100
+			fightEnding = 2
 
 			gt 'fight', 'start'
 		end
@@ -116,8 +116,7 @@ if $ARGS[0] = 'start':
 			BonusAtakV = 0
 			BonusDefV = 0
 			!!Programme of Action
-			program = 4
-			tatianaFight = 1}
+			program = 4}
 			gs 'fight','initFight'
 
 			$opp_name[0] = 'Tatiana'
@@ -135,6 +134,7 @@ if $ARGS[0] = 'start':
 			opp_health[0] = (opp_vital * 10 + opp_stren * 5)
 			opp_willpwr[0] = 100
 			opp_shoot[0] = 100
+			fightEnding = 3
 			gt 'fight', 'start'
 		end
 	end

+ 163 - 117
locations/mitka.qsrc

@@ -122,97 +122,113 @@ if $ARGS[0] = 'sex_chat':
 	'You greet him, "I''m doing fine, thanks."'
 	'Mitka smiles, "That''s great to hear, <<$pcs_nickname>>.", then he offers, "<<$mitkaInvitation>>"'
 	
-	! Sveta has never had sex with Mitka and Mitka has not seen Sveta nude in the forest multiple times
+	! Sveta has never had sex with Mitka and Mitka has not seen Sveta nude in the forest or river multiple times
 	if npc_QW['A63'] = 0:
 		*nl
 		'Mitka scratches his balls and adds with a grin: "Hey <<$pcs_nickname>>, do you want to have some fun?"'
 		if pcs_vag = 0:
 			if StoryLine = 1:
-				act 'I don''t know. My mother is obsessed with me staying a virgin.':
-					cla		
-					npc_rel['A63'] -= 1
-					pcs_dom += 1
-					gs 'stat'
-					
-					*nl
-					'You turn around and walk away from Mitka. You know it would be fun, but you promised your mother...'
-					act 'Walk away': gt $loc
-				end
-			else
-				act 'I don''t know. I''m still a virgin...':
-					cla
-					npc_rel['A63'] -= 1
-					pcs_dom += 1
-					gs 'stat'
-					
-					*nl
-					'You turn around and walk away from Mitka. You know it would be fun, but maybe another time...'
-					act 'Walk away': gt $loc
-				end
-			end
-		end
-		if pcs_horny >= 50:
-			act 'Sounds tempting, but only a blowjob.':
-				*clr & cla
-				
-				'<center><img <<$set_imgh>> src="images/locations/gadukino/sex/mitka/mitkabjhome.jpg"></center>'
-				*nl
-				'Mitka takes you to '+iif(mitka_first_drink > 1, 'the familiar old trailer','an old trailer')+' in the woods.'
-				'Mitka sits down on a couch as you kneel in front of him. You take his cock out of his pants and start to suck...'
-				
-				npc_rel['A63'] += 5
-				npc_QW['A63'] = 1
-				gs 'boyStat', 'A63'
-				npc_sex['A63'] += 1
-				gs 'arousal', 'bj', 10, 'sub'
-				gs 'stat'
-				
-				act 'Swallow':
-					*clr & cla
-					mitkarand = rand(0,5)
-					if mitkarand = 5:
-						'<center><img <<$set_imgh>> src="images/locations/gadukino/sex/mitka/mitkabjhomecum2.jpg"></center>'
-						*nl
-						'Mitka stands up and begins to furiously stroke his cock right in your face.'
-						'Within a minute Mitka is panting hard and suddenly you feel hot cum splattering onto your face and in your mouth.'
-						'You smile up at him and lick your lips, pleased with your efforts.'
+				gs 'willpower', 'bj', 'resist'
+				if will_cost <= pcs_willpwr:
+					act 'I don''t know. My mother is obsessed with me staying a virgin. (<<will_cost>> Willpower)':
+						cla		
+						npc_rel['A63'] -= 1
+						gs 'willpower', 'bj', 'resist'
+						gs 'willpower', 'pay', 'resist'
+						gs 'stat'
 						
-						gs 'cum_call','face','A63',1
-					elseif mitkarand >= 3:
-						'<center><img <<$set_imgh>> src="images/locations/gadukino/sex/mitka/mitkabjhomecum3.jpg"></center>'
 						*nl
-						'You bob your head up and down on his cock, trying to cram as much of his cock deep into your mouth. Sometimes you gag as it enters your throat.'
-						'Eventually, you feel Mitka''s cock pulse and a few seconds later your mouth is filled with his salty sperm. You quickly swallow it all down.'
+						'You turn around and walk away from Mitka. You know it would be fun, but you promised your mother...'
+						act 'Walk away': gt $loc
+					end
+				else
+					act 'I don''t know. My mother is obsessed with me staying a virgin. (<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', 'bj', 'resist'
+				if will_cost <= pcs_willpwr:
+					act 'I don''t know. I''m still a virgin. (<<will_cost>> Willpower)':
+						cla
+						npc_rel['A63'] -= 1
+						gs 'willpower', 'bj', 'resist'
+						gs 'willpower', 'pay', 'resist'
+						gs 'stat'
 						
-						gs 'arousal', 'bj', 5, 'sub', 'deepthroat'
-						gs 'cum_call','mouth','A63',1
-						swallow += 1
-					else
-						'<center><img <<$set_imgh>> src="images/locations/gadukino/sex/mitka/mitkabjhomecum1.jpg"></center>'
 						*nl
-						'Mitka stands, places his hands on the back of your head and roughly forces you to take his cock deep into your throat.'
-						'Slowly he builds up a rhythm and finally finishes in your mouth. He makes you swallow and lick him clean before removing his cock from your mouth.'
-						
-						gs 'arousal', 'bj', 5, 'sub', 'deepthroat', 'rough'
-						gs 'cum_call','mouth','A63',1
-						sub += 1
-						swallow += 1
+						'You turn around and walk away from Mitka. You know it would be fun, but maybe another time...'
+						act 'Walk away': gt $loc
 					end
-					gs 'arousal', 'end'
-					gs 'stat'
-
-					act 'Leave': gt $loc
+				else
+					act 'I don''t know. I''m still a virgin. (<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
-		act 'No thanks':
-			cla
-			npc_rel['A63'] -= 1
-			gs 'stat'
+		act 'Sounds tempting, but only a blowjob.':
+			*clr & cla
 			
+			'<center><img <<$set_imgh>> src="images/locations/gadukino/sex/mitka/mitkabjhome.jpg"></center>'
 			*nl
-			'You turn around and walk away from Mitka. You know it would be fun, but maybe another time...'
-			act 'Walk away':gt $loc
+			'Mitka takes you to '+iif(mitka_first_drink > 1, 'the familiar old trailer','an old trailer')+' in the woods.'
+			'Mitka sits down on a couch as you kneel in front of him. You take his cock out of his pants and start to suck...'
+			
+			npc_rel['A63'] += 5
+			npc_QW['A63'] = 1
+			gs 'boyStat', 'A63'
+			npc_sex['A63'] += 1
+			gs 'arousal', 'bj', 10, 'sub'
+			gs 'stat'
+			
+			act 'Swallow':
+				*clr & cla
+				mitkarand = rand(0,5)
+				if mitkarand = 5:
+					'<center><img <<$set_imgh>> src="images/locations/gadukino/sex/mitka/mitkabjhomecum2.jpg"></center>'
+					*nl
+					'Mitka stands up and begins to furiously stroke his cock right in your face.'
+					'Within a minute Mitka is panting hard and suddenly you feel hot cum splattering onto your face and in your mouth.'
+					'You smile up at him and lick your lips, pleased with your efforts.'
+					
+					gs 'cum_call','face','A63',1
+				elseif mitkarand >= 3:
+					'<center><img <<$set_imgh>> src="images/locations/gadukino/sex/mitka/mitkabjhomecum3.jpg"></center>'
+					*nl
+					'You bob your head up and down on his cock, trying to cram as much of his cock deep into your mouth. Sometimes you gag as it enters your throat.'
+					'Eventually, you feel Mitka''s cock pulse and a few seconds later your mouth is filled with his salty sperm. You quickly swallow it all down.'
+					
+					gs 'arousal', 'bj', 5, 'sub', 'deepthroat'
+					gs 'cum_call','mouth','A63',1
+					swallow += 1
+				else
+					'<center><img <<$set_imgh>> src="images/locations/gadukino/sex/mitka/mitkabjhomecum1.jpg"></center>'
+					*nl
+					'Mitka stands, places his hands on the back of your head and roughly forces you to take his cock deep into your throat.'
+					'Slowly he builds up a rhythm and finally finishes in your mouth. He makes you swallow and lick him clean before removing his cock from your mouth.'
+					
+					gs 'arousal', 'bj', 5, 'sub', 'deepthroat', 'rough'
+					gs 'cum_call','mouth','A63',1
+					swallow += 1
+				end
+				gs 'arousal', 'end'
+				gs 'stat'
+
+				act 'Leave': gt $loc
+			end
+		end
+		gs 'willpower', 'bj', 'resist'
+		if will_cost <= pcs_willpwr:
+			act 'No thanks (<<will_cost>> Willpower</font>)':
+				cla
+				npc_rel['A63'] -= 1
+				gs 'willpower', 'bj', 'resist'
+				gs 'willpower', 'pay', 'resist'
+				gs 'stat'
+				
+				*nl
+				'You turn around and walk away from Mitka. You know it would be fun, but maybe another time...'
+				act 'Walk away':gt $loc
+			end
+		else
+			act 'No thanks. (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
 		end
 	! Sveta is not the boys slut but has had sex with Mitka and she does not know Mira likes Mitka or Mira is the boys slut
 	elseif (npc_QW['A63'] > 0 and npc_QW['A63'] < 10) and (npc_QW['A60'] < 2 or npc_QW['A60'] >= 11):
@@ -244,7 +260,6 @@ if $ARGS[0] = 'sex_chat':
 				if npc_QW['A63'] < 10: npc_QW['A63'] += 1
 				gs 'boyStat', 'A63'
 				npc_sex['A63'] += 1
-				sub += 1
 				gs 'cum_call','vagina','A63',1
 				gs 'arousal', 'vaginal', 10, 'sub'
 				gs 'arousal', 'end'
@@ -253,27 +268,40 @@ if $ARGS[0] = 'sex_chat':
 				act 'Leave': gt $loc
 			end
 			if pcs_vag = 0: 
-				act 'No, I''m still a virgin':
+				gs 'willpower', 'sex', 'resist'
+				if will_cost <= pcs_willpwr:
+					act 'No, I''m still a virgin. (<<will_cost>> Willpower)':
+						cla
+						npc_rel['A63'] -= 2
+						gs 'willpower', 'sex', 'resist'
+						gs 'willpower', 'pay', 'resist'
+						gs 'stat'
+						
+						*nl
+						'You tell Mitka you are not ready to lose your virginity yet. You know it would be fun, but maybe another time...'
+						
+						act 'Leave': gt $loc
+					end
+				else
+					act 'No, I''m still a virgin. (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
+				end
+			end
+			gs 'willpower', 'sex', 'resist'
+			if will_cost <= pcs_willpwr:
+				act 'No thanks, not today. (<<will_cost>> Willpower)':
 					cla
 					npc_rel['A63'] -= 2
-					pcs_dom += 1
+					gs 'willpower', 'sex', 'resist'
+					gs 'willpower', 'pay', 'resist'
 					gs 'stat'
 					
 					*nl
-					'You tell Mitka you are not ready to lose your virginity yet. You know it would be fun, but maybe another time...'
+					'You turn around and walk away from Mitka. You know it would be fun, but maybe another time...'
 					
-					act 'Leave': gt $loc
+					act 'Walk away': gt $loc
 				end
-			end
-			act 'No thanks, not today':
-				cla
-				npc_rel['A63'] -= 2
-				gs 'stat'
-				
-				*nl
-				'You turn around and walk away from Mitka. You know it would be fun, but maybe another time...'
-				
-				act 'Walk away': gt $loc
+			else
+				act 'No thanks, not today. (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
 			end
 		elseif mitkarand < 9:
 			'Can you give me a blowjob today?" Mitka asks.'
@@ -321,7 +349,6 @@ if $ARGS[0] = 'sex_chat':
 						
 						gs 'arousal', 'bj', 5, 'sub', 'deepthroat', 'rough'
 						gs 'cum_call','mouth','A63',1
-						sub += 1
 						swallow += 1
 					end
 					gs 'arousal', 'end'
@@ -330,15 +357,22 @@ if $ARGS[0] = 'sex_chat':
 					act 'Leave': gt $loc
 				end
 			end
-			act 'No thanks, not today':
-				cla
-				npc_rel['A63'] -= 2
-				gs 'stat'
-				
-				*nl
-				'You turn around and walk away from Mitka. You know it would be fun, but maybe another time...'
-				
-				act 'Walk away': gt $loc
+			gs 'willpower', 'bj', 'resist'
+			if will_cost <= pcs_willpwr:
+				act 'No thanks, not today. (<<will_cost>> Willpower)':
+					cla
+					npc_rel['A63'] -= 2
+					gs 'willpower', 'bj', 'resist'
+					gs 'willpower', 'pay', 'resist'
+					gs 'stat'
+					
+					*nl
+					'You turn around and walk away from Mitka. You know it would be fun, but maybe another time...'
+					
+					act 'Walk away': gt $loc
+				end
+			else
+				act 'No thanks, not today. (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
 			end
 		else
 			'"I want to do anal today. What do you think?" Mitka asks.'
@@ -366,7 +400,6 @@ if $ARGS[0] = 'sex_chat':
 				if npc_QW['A63'] < 10: npc_QW['A63'] += 1
 				gs 'boyStat', 'A63'
 				npc_sex['A63'] += 1
-				sub += 1
 				gs 'cum_call','anus','A63',1
 				gs 'arousal', 'anal', 15, 'sub', 'rough'
 				gs 'arousal', 'end'
@@ -374,28 +407,41 @@ if $ARGS[0] = 'sex_chat':
 				
 				act 'Leave':gt 'gadukino'
 			end
-			if pcs_ass = 0: 
-				act 'No, I''ve never done anal before':
+			if pcs_ass = 0:
+				gs 'willpower', 'anal', 'resist'
+				if will_cost <= pcs_willpwr:
+					act 'No, I''ve never done anal before (<<will_cost>> Willpower)':
+						cla
+						npc_rel['A63'] -= 2
+						gs 'willpower', 'anal', 'resist'
+						gs 'willpower', 'pay', 'resist'
+						gs 'stat'
+						
+						*nl
+						'You tell Mitka you are not ready to lose your anal virginity yet. You know it would be fun, but maybe another time...'
+						
+						act 'Leave': gt $loc
+					end
+				else
+					act 'No, I''ve never done anal before (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
+				end
+			end
+			gs 'willpower', 'anal', 'resist'
+			if will_cost <= pcs_willpwr:
+				act 'No thanks, not today. (<<will_cost>> Willpower)':
 					cla
 					npc_rel['A63'] -= 2
-					pcs_dom += 1
+					gs 'willpower', 'anal', 'resist'
+					gs 'willpower', 'pay', 'resist'
 					gs 'stat'
 					
 					*nl
-					'You tell Mitka you are not ready to lose your anal virginity yet. You know it would be fun, but maybe another time...'
+					'You turn around and walk away from Mitka. You know it would be fun, but maybe another time...'
 					
-					act 'Leave': gt $loc
+					act 'Walk away': gt $loc
 				end
-			end
-			act 'No thanks, not today':
-				cla
-				npc_rel['A63'] -= 2
-				gs 'stat'
-				
-				*nl
-				'You turn around and walk away from Mitka. You know it would be fun, but maybe another time...'
-				
-				act 'Walk away': gt $loc
+			else
+				act 'No thanks, not today. (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
 			end
 		end
 	! Sveta is not the boys slut and Sveta knows Mira likes Mitka and Mira is not the boys slut yet

+ 164 - 81
locations/mitkabuh.qsrc

@@ -75,7 +75,7 @@ if $ARGS[0] = 'partyalone':
 			npc_rel['A63'] += rand(0,1)
 			npc_rel['A62'] += rand(0,1)
 			npc_rel['A61'] += rand(0,1)
-			gs 'drugs', 'alcohol', 'vodka', 2
+			gs 'drugs', 'alcohol', 'moonshine', 1
 			gs 'stat'
 			
 			'<center><img <<$set_imgh>> src="images/locations/gadukino/village/drinking.jpg"></center>'
@@ -92,9 +92,22 @@ if $ARGS[0] = 'partyalone':
 
 			act 'Continue drinking':gt 'mitkabuh', 'partyalone'
 		end
-		act 'Leave': mitkabuhday = 0 & minut += 15 & gt 'gadroad'
-	! Sveta is drunk and is a sub or already had sex with Mitka or is the village whore
-	elseif gadriver_gang < 3 and (npc_QW['A63'] > 0 or sub >= 25):
+		gs 'willpower', 'drink', 'resist'
+		if will_cost <= pcs_willpwr:
+			act 'Leave (<<will_cost>> Willpower)':
+				mitkabuhday = 0
+				minut += 15
+				gs 'willpower', 'drink', 'resist'
+				gs 'willpower', 'pay', 'resist'
+				gs 'stat'
+				
+				gt 'gadroad'
+			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
+	! Sveta is drunk and already had sex with Mitka or is the village whore
+	elseif npc_QW['A63'] > 0 and gadriver_gang < 3:
 		*clr & cla
 		menu_off = 1
 		if mitkabuhday = 0:
@@ -208,11 +221,28 @@ if $ARGS[0] = 'partywithMira':
 					npc_rel['A62'] += rand(0,1)
 					npc_rel['A61'] += rand(0,1)
 					npc_rel['A60'] += rand(0,1)
-					gs 'drugs', 'alcohol', 'vodka', 2
+					gs 'drugs', 'alcohol', 'moonshine', 1
 					gs 'stat'
 					
 					act 'Continue drinking':gt 'mitkabuh','partywithMira'
 				end
+				gs 'willpower', 'drink', 'resist'
+				if will_cost <= pcs_willpwr:
+					act 'Leave (<<will_cost>> Willpower)':
+						MiraLoc = 0
+						npc_drunk['A60'] = 0
+						mitkabuhmiraday = 0
+						mitkabuhday = 0
+						minut += 15
+						gs 'willpower', 'drink', 'resist'
+						gs 'willpower', 'pay', 'resist'
+						gs 'stat'
+						
+						gt 'gadroad'
+					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
 			else
 				*clr & cla
 				'<center><img <<$set_imgh>> src="images/characters/village/mira/girls_go.jpg"></center>'
@@ -227,8 +257,8 @@ if $ARGS[0] = 'partywithMira':
 	elseif alko >= 10 and mitkabuhday = 0:
 		*clr & cla
 		mitkabuhday = 1
-		! Sveta is the village whore and already had sex with Mitka or is a sub
-		if gadriver_gang < 3 and (npc_QW['A63'] > 0 or sub >= 25):
+		! Sveta already had sex with Mitka or is the village whore
+		if npc_QW['A63'] > 0 and gadriver_gang < 3:
 			if npc_QW['A63'] < 10:
 				gt 'mitkabuh','solo_1to9'
 			elseif npc_QW['A63'] = 10:
@@ -248,18 +278,27 @@ if $ARGS[0] = 'partywithMira':
 			*nl
 			'Mira attempts to pass you another shot glass full of liquor, but you refuse. You have already had too much tonight and are happy to just chat the rest of the night.'
 			if npc_drunk['A60'] < 10:
-				act 'Mira drinks the shot instead':
-					cla
-					minut += 30
-					npc_rel['A63'] += rand(0,1)
-					npc_rel['A62'] += rand(0,1)
-					npc_rel['A61'] += rand(0,1)
-					npc_rel['A60'] += rand(0,1)
-					npc_drunk['A60'] += rand(3,5)
-					gs 'stat'
-					
-					act 'Continue drinking':gt 'mitkabuh','partywithMira'
+				gs 'willpower', 'drink', 'force'
+				if will_cost <= pcs_willpwr:
+					act 'Make Mira drink the shot instead (<<will_cost>> Willpower)':
+						cla
+						minut += 30
+						npc_rel['A63'] += rand(0,1)
+						npc_rel['A62'] += rand(0,1)
+						npc_rel['A61'] += rand(0,1)
+						npc_rel['A60'] += rand(0,1)
+						npc_drunk['A60'] += 5
+						gs 'willpower', 'drink', 'force'
+						gs 'willpower', 'pay', 'force'
+						gs 'stat'
+						
+						act 'Continue drinking':gt 'mitkabuh','partywithMira'
+					end
+				else
+					act 'Make Mira drink the shot instead (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
 				end
+				
+				act 'Leave': MiraLoc = 0 & npc_drunk['A60'] = 0 & mitkabuhmiraday = 0 & mitkabuhday = 0 & minut += 15 & gt 'gadroad'
 			else
 				*clr & cla
 				'<center><img <<$set_imgh>> src="images/characters/village/mira/girls_go.jpg"></center>'
@@ -285,9 +324,17 @@ if $ARGS[0] = 'partywithMira':
 				
 				'<center><img <<$set_imgh>> src="images/locations/gadukino/village/drinking.jpg"></center>'
 				*nl
-				mirarand = rand(0,1)
-				if mirarand = 0:
-					'Mitka pours some of the brew into a clear plastic shot glass and hands it over to you.'
+				'Mitka pours some of the brew into a clear plastic shot glass and hands it over to you.'
+				act 'Drink the shot yourself':
+					cla
+					minut += 30
+					npc_rel['A63'] += rand(0,1)
+					npc_rel['A62'] += rand(0,1)
+					npc_rel['A61'] += rand(0,1)
+					npc_rel['A60'] += rand(0,1)
+					gs 'drugs', 'alcohol', 'moonshine', 1
+					gs 'stat'
+					
 					'You take the shot glass full of moonshine and quickly gulp it down, you cough and suck in your breath. Mira chats with the boys as they drink as well.'
 					'Mitka looks at you approvingly, "Good shit, right?"'
 					if mitka_first_drink = 1:
@@ -296,18 +343,50 @@ if $ARGS[0] = 'partywithMira':
 					else
 						'"Just as good as the last batch you made!" you reply.'
 					end
-					gs 'drugs', 'alcohol', 'vodka', 2
-					gs 'stat'
+					
+					act 'Continue drinking':gt 'mitkabuh','partywithMira'
+				end
+				gs 'willpower', 'drink', 'force'
+				if will_cost <= pcs_willpwr:
+					act 'Make Mira drink the shot instead (<<will_cost>> Willpower)':
+						cla
+						minut += 30
+						npc_rel['A63'] += rand(0,1)
+						npc_rel['A62'] += rand(0,1)
+						npc_rel['A61'] += rand(0,1)
+						npc_rel['A60'] += rand(0,1)
+						npc_drunk['A60'] += 5
+						gs 'willpower', 'drink', 'force'
+						gs 'willpower', 'pay', 'force'
+						gs 'stat'
+						
+						'Mira examines the glass''s contents for a moment, then gulps down the entire glass with a single toss of her head. Her eyes widen and she coughs a little, sucking in her breath with a smile. You chat with the boys as they drink as well.'
+						
+						act 'Continue drinking':gt 'mitkabuh','partywithMira'
+					end
 				else
-					'Mitka pours some of the brew into a clear plastic shot glass and hands it over to Mira.'
-					'Mira examines the glass''s contents for a moment, then gulps down the entire glass with a single toss of her head. Her eyes widen and she coughs a little, sucking in her breath with a smile. You chat with the boys as they drink as well.'
-					npc_drunk['A60'] += rand(3,5)
-					gs 'stat'
+					act 'Make Mira drink the shot instead (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
 				end
-				
+
 				act 'Continue drinking':gt 'mitkabuh','partywithMira'
 			end
-			act 'Leave': MiraLoc = 0 & npc_drunk['A60'] = 0 & mitkabuhmiraday = 0 & mitkabuhday = 0 & minut += 15 & gt 'gadroad'
+			gs 'willpower', 'drink', 'resist'
+			if will_cost <= pcs_willpwr:
+				act 'Leave (<<will_cost>> Willpower)':
+					MiraLoc = 0
+					npc_drunk['A60'] = 0
+					mitkabuhmiraday = 0
+					mitkabuhday = 0
+					minut += 15
+					gs 'willpower', 'drink', 'resist'
+					gs 'willpower', 'pay', 'resist'
+					gs 'stat'
+					
+					gt 'gadroad'
+				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
 		! Sveta is not drunk
 		elseif alko < 10:
 			act 'Drink with the boys':
@@ -318,7 +397,7 @@ if $ARGS[0] = 'partywithMira':
 				npc_rel['A62'] += rand(0,1)
 				npc_rel['A61'] += rand(0,1)
 				npc_rel['A60'] += rand(0,1)
-				gs 'drugs', 'alcohol', 'vodka', 2
+				gs 'drugs', 'alcohol', 'moonshine', 1
 				gs 'stat'
 				
 				'<center><img <<$set_imgh>> src="images/locations/gadukino/village/drinking.jpg"></center>'
@@ -335,7 +414,23 @@ if $ARGS[0] = 'partywithMira':
 
 				act 'Continue drinking':gt 'mitkabuh', 'partywithMira'
 			end
-			act 'Leave': MiraLoc = 0 & npc_drunk['A60'] = 0 & mitkabuhmiraday = 0 & mitkabuhday = 0 & minut += 15 & gt 'gadroad'
+			gs 'willpower', 'drink', 'resist'
+			if will_cost <= pcs_willpwr:
+				act 'Leave (<<will_cost>> Willpower)':
+					MiraLoc = 0
+					npc_drunk['A60'] = 0
+					mitkabuhmiraday = 0
+					mitkabuhday = 0
+					minut += 15
+					gs 'willpower', 'drink', 'resist'
+					gs 'willpower', 'pay', 'resist'
+					gs 'stat'
+					
+					gt 'gadroad'
+				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
 		! Mira is not drunk
 		elseif npc_drunk['A60'] < 10:
 			act 'Watch Mira drink with the boys':
@@ -346,7 +441,7 @@ if $ARGS[0] = 'partywithMira':
 				npc_rel['A61'] += rand(0,1)
 				npc_rel['A60'] += rand(0,1)
 				minut += 30
-				npc_drunk['A60'] += rand(3,5)
+				npc_drunk['A60'] += 5
 				gs 'stat'
 				
 				'<center><img <<$set_imgh>> src="images/locations/gadukino/village/drinking.jpg"></center>'
@@ -391,7 +486,6 @@ if $ARGS[0] = 'solo_1to9':
 			if npc_QW['A63'] < 10: npc_QW['A63'] += 1
 			gs 'boyStat', 'A63'
 			npc_sex['A63'] += 1
-			sub += 1
 			gs 'cum_call','vagina','A63',1
 			gs 'arousal', 'vaginal', 20, 'sub'
 			gs 'arousal', 'end'
@@ -425,7 +519,6 @@ if $ARGS[0] = 'solo_1to9':
 			gs 'boyStat', 'A63'
 			npc_sex['A63'] += 1
 			gs 'arousal', 'bj', 10, 'sub'
-			sub += 1
 			gs 'stat'
 			
 			act 'Make him cum':
@@ -504,7 +597,6 @@ if $ARGS[0] = 'solo_1to9':
 			if npc_QW['A63'] < 10: npc_QW['A63'] += 1
 			gs 'boyStat', 'A63'
 			npc_sex['A63'] += 1
-			sub += 1
 			gs 'cum_call','anus','A63',1
 			gs 'arousal', 'anal', 15, 'sub', 'rough'
 			gs 'arousal', 'end'
@@ -557,7 +649,6 @@ if $ARGS[0] = 'solo_10':
 			npc_QW['A63'] = 11
 			gs 'boyStat', 'A61'
 			npc_sex['A61'] += 1
-			sub += 2
 			if mesec = 0:
 				gs 'cum_call','vagina','A61',1
 				gs 'arousal', 'vaginal', 10, 'sub'
@@ -582,51 +673,48 @@ if $ARGS[0] = 'solo_10':
 				end
 			end
 		end
-		if pcs_dom > 0:
-			act 'Protest':
+		act 'Protest':
+			*clr & cla
+			'<center><img <<$set_imgh>> src="images/locations/gadukino/village/drunkgirl.jpg"></center>'
+			*nl
+			'You refuse, drunkenly trying to fight off the advancing Kolyamba while barely standing on your feet.'
+			'Your struggles piss Mitka off, who grabs you by the arm and leads you '+iif(sunWeather=1,'inside the trailer','into the bedroom of the trailer')+'.'
+			'Mitka whispers in your ear, "You want my dick so bad then you can have it this time. But, next time you will do as I say. Understand?"'
+			
+			act 'Moan in affirmation':
 				*clr & cla
-				'<center><img <<$set_imgh>> src="images/locations/gadukino/village/drunkgirl.jpg"></center>'
+				'<center><img <<$set_imgh>> src="images/locations/gadukino/sex/mitka/mitkasexnopublic.jpg"></center>'
 				*nl
-				'You refuse, drunkenly trying to fight off the advancing Kolyamba while barely standing on your feet.'
-				'Your struggles piss Mitka off, who grabs you by the arm and leads you '+iif(sunWeather=1,'inside the trailer','into the bedroom of the trailer')+'.'
-				'Mitka whispers in your ear, "You want my dick so bad then you can have it this time. But, next time you will do as I say. Understand?"'
+				'Mitka roughly rips all your clothes off, bends you over the bed and begins mercilessly pounding you. You''ve never seen him this way before, maybe everyone is just more drunk than usual and this will all blow over tomorrow.'
+				'All you can manage are moans as Mitka fucks you. They are so loud you are sure everyone else can hear you outside the bedroom. You can''t help but think to yourself that the other guys may start treating you differently after tonight.'
+				'He cums inside of you and then goes back to drinking with Kolyamba and Vasyan, leaving you naked on the bed. After a little while you sober up enough to get dressed and go sit back by the boys.'
 				
-				act 'Moan in affirmation':
-					*clr & cla
-					'<center><img <<$set_imgh>> src="images/locations/gadukino/sex/mitka/mitkasexnopublic.jpg"></center>'
-					*nl
-					'Mitka roughly rips all your clothes off, bends you over the bed and begins mercilessly pounding you. You''ve never seen him this way before, maybe everyone is just more drunk than usual and this will all blow over tomorrow.'
-					'All you can manage are moans as Mitka fucks you. They are so loud you are sure everyone else can hear you outside the bedroom. You can''t help but think to yourself that the other guys may start treating you differently after tonight.'
-					'He cums inside of you and then goes back to drinking with Kolyamba and Vasyan, leaving you naked on the bed. After a little while you sober up enough to get dressed and go sit back by the boys.'
-					
-					npc_rel['A63'] += 1
-					npc_rel['A61'] -= 5
-					npc_QW['A63'] = 11
-					gs 'boyStat', 'A63'
-					npc_sex['A63'] += 1
-					sub += 5
-					if mesec = 0:
-						gs 'cum_call','vagina','A63',1
-						gs 'arousal', 'vaginal', 10, 'sub', 'rough'
+				npc_rel['A63'] += 1
+				npc_rel['A61'] -= 5
+				npc_QW['A63'] = 11
+				gs 'boyStat', 'A63'
+				npc_sex['A63'] += 1
+				if mesec = 0:
+					gs 'cum_call','vagina','A63',1
+					gs 'arousal', 'vaginal', 10, 'sub', 'rough'
+				else
+					gs 'cum_call','anus','A63',1
+					gs 'arousal', 'anal', 10, 'sub', 'rough'
+				end
+				gs 'arousal', 'end'
+				gs 'stat'
+
+				if sunWeather = 1:
+					if MiraLoc ! 5:
+						act 'Sit down outside':gt 'mitkabuh','partyalone'
 					else
-						gs 'cum_call','anus','A63',1
-						gs 'arousal', 'anal', 10, 'sub', 'rough'
+						act 'Sit down outside':gt 'mitkabuh','partywithMira'
 					end
-					gs 'arousal', 'end'
-					gs 'stat'
-
-					if sunWeather = 1:
-						if MiraLoc ! 5:
-							act 'Sit down outside':gt 'mitkabuh','partyalone'
-						else
-							act 'Sit down outside':gt 'mitkabuh','partywithMira'
-						end
+				else
+					if MiraLoc ! 5:
+						act 'Sit down in the trailer':gt 'mitkabuh','partyalone'
 					else
-						if MiraLoc ! 5:
-							act 'Sit down in the trailer':gt 'mitkabuh','partyalone'
-						else
-							act 'Sit down in the trailer':gt 'mitkabuh','partywithMira'
-						end
+						act 'Sit down in the trailer':gt 'mitkabuh','partywithMira'
 					end
 				end
 			end
@@ -660,7 +748,6 @@ if $ARGS[0] = 'solo_11andup_1boy':
 			if npc_QW['A63'] < 20: npc_QW['A63'] += 1
 			npc_sex[$boy[0]] += 1
 			gs 'arousal', 'bj', 10, 'sub'
-			sub += 1
 			gs 'stat'
 			
 			'<center><img <<$set_imgh>> src="images/locations/gadukino/sex/mitka/mitkabjpublic.jpg"></center>'
@@ -725,7 +812,6 @@ if $ARGS[0] = 'solo_11andup_1boy':
 			else
 				gs 'arousal', 'anal', 20, 'sub'
 			end
-			sub += 1
 			gs 'stat'
 			
 			'<center><img <<$set_imgh>> src="images/locations/gadukino/sex/mitka/mitkasexpublic.jpg"></center>'
@@ -796,8 +882,7 @@ if $ARGS[0] = 'solo_11andup_2boys':
 			if npc_QW['A63'] < 20: npc_QW['A63'] += 1
 			npc_sex[$boy[0]] += 1
 			npc_sex[$boy[1]] += 1
-			gs 'arousal', 'bj', 10, 'sub'			
-			sub += 1
+			gs 'arousal', 'bj', 10, 'sub'
 			gang += 1
 			gs 'stat'
 			
@@ -873,7 +958,6 @@ if $ARGS[0] = 'solo_11andup_2boys':
 			else
 				gs 'arousal', 'anal', 10, 'sub', 'rough'
 			end
-			sub += 1
 			gang += 1
 			gs 'stat'
 			
@@ -945,7 +1029,6 @@ if $ARGS[0] = 'solo_11andup_3boys':
 		npc_sex['A62'] += 1
 		gs 'boyStat', 'A61'
 		npc_sex['A61'] += 1
-		sub += 1
 		gang += 1
 		gs 'arousal', 'hj', 5, 'sub', 'gangbang'
 		if mesec = 0:

+ 18 - 10
locations/mitkabuh_group.qsrc

@@ -116,12 +116,28 @@ if $ARGS[0] = 'partywithMira':
 			'"Just as good as the last batch you made!" you reply.'
 
 			npc_drunk['A60'] += 5
-			gs 'drugs', 'alcohol', 'moonshine'
+			gs 'drugs', 'alcohol', 'moonshine', 1
 			gs 'stat'
 			
 			act 'Continue drinking':gt 'mitkabuh_group','partywithMira'
 		end
-		act 'Leave': MiraLoc = 0 & npc_drunk['A60'] = 0 & mitkabuhmiraday = 0 & mitkabuhday = 0 & minut += 15 & gt 'gadroad'
+		gs 'willpower', 'drink', 'resist'
+		if will_cost <= pcs_willpwr:
+			act 'Leave (<<will_cost>> Willpower)':
+				MiraLoc = 0
+				npc_drunk['A60'] = 0
+				mitkabuhmiraday = 0
+				mitkabuhday = 0
+				minut += 15
+				gs 'willpower', 'drink', 'resist'
+				gs 'willpower', 'pay', 'resist'
+				gs 'stat'
+				
+				gt 'gadroad'
+			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
 
@@ -141,7 +157,6 @@ if $ARGS[0] = 'group_sex':
 		if npc_QW['A60'] < 15: npc_QW['A60'] += 1
 		npc_sex[$boy[0]] += 1
 		npc_sex[$boy[1]] += 1
-		sub += 1
 		gang += 1
 		gs 'arousal', 'vaginal', 10, 'sub', 'gangbang'
 		gs 'arousal', 'bj', 10, 'sub', 'gangbang'
@@ -166,7 +181,6 @@ if $ARGS[0] = 'group_sex':
 			npc_rel[$boy[2]] += 1
 			npc_rel['A60'] += 1
 			npc_sex[$boy[2]] += 1
-			sub += 1
 			gang += 1
 			gs 'arousal', 'bj', 10, 'sub', 'gangbang'
 			gs 'stat'
@@ -241,7 +255,6 @@ if $ARGS[0] = 'group_bj':
 			if npc_QW['A60'] < 15: npc_QW['A60'] += 1
 			npc_sex[$boy[0]] += 1
 			npc_sex[$boy[1]] += 1
-			sub += 1
 			gang += 1
 			gs 'arousal', 'hj', 10, 'sub', 'gangbang'
 			gs 'arousal', 'bj', 10, 'sub', 'gangbang'
@@ -281,7 +294,6 @@ if $ARGS[0] = 'group_bj':
 					npc_rel[$boy[2]] += 1
 					npc_rel['A60'] += 1
 					npc_sex[$boy[2]] += 1
-					sub += 1
 					gang += 1
 					gs 'arousal', 'bj', 10, 'sub', 'gangbang'
 					gs 'stat'
@@ -372,7 +384,6 @@ if $ARGS[0] = 'group_bj':
 				if npc_QW['A60'] < 15: npc_QW['A60'] += 1
 				npc_sex[$boy[1]] += 1
 				npc_sex[$boy[2]] += 1
-				sub += 1
 				gang += 1
 				gs 'arousal', 'hj', 10, 'sub', 'gangbang'
 				gs 'arousal', 'bj', 10, 'sub', 'gangbang'
@@ -455,7 +466,6 @@ if $ARGS[0] = 'group_show':
 			npc_rel['A60'] += 1
 			if npc_QW['A63'] < 20: npc_QW['A63'] += 1
 			if npc_QW['A60'] < 15: npc_QW['A60'] += 1
-			sub += 1
 			gs 'stat'
 			
 			mitkapicrand = rand(0,3)
@@ -499,7 +509,6 @@ if $ARGS[0] = 'group_show':
 			npc_rel['A60'] += 1
 			if npc_QW['A63'] < 20: npc_QW['A63'] += 1
 			if npc_QW['A60'] < 15: npc_QW['A60'] += 1
-			sub += 1
 			gs 'stat'
 			
 			if sunWeather = 1:
@@ -619,7 +628,6 @@ if $ARGS[0] = 'group_anal':
 		if npc_QW['A63'] < 20: npc_QW['A63'] += 1
 		if npc_QW['A60'] < 15: npc_QW['A60'] += 1
 		npc_sex[$boy[0]] += 1
-		sub += 1
 		gs 'cum_call','anus',$boy[0],1
 		gs 'arousal', 'anal', 10, 'sub', 'rough', 'deepthroat'
 		gs 'arousal','end'

+ 8 - 49
locations/nill.qsrc

@@ -1,53 +1,12 @@
 # nill
-inFight = 0
-stun = 0
-stunV = 0
-tuman = 0
-tumanV = 0
-klon = 0
-klonV = 0
-blood = 0
-bloodV = 0
-defence = 0
-defenceV = 0
-izanagiV = 0
-round = 0
-heartV = 0
-hodtimeV = 0
-hodtime = 0
-damTip = 0
-damTipV = 0
-unmaterialV = 0
-unmaterial = 0
-defenceM = 0
-defenceW = 0
-defenceActPar = 0
-defenceActParM = 0
-defenceAct = 0
-defenceActM = 0
-defenceMV = 0
-defenceWV = 0
-defenceActParV = 0
-defenceActParMV = 0
-defenceActV = 0
-defenceActMV = 0
-defAtk = 0
-defAtkV = 0
-defAtkM = 0
-defAtkMV = 0
-damTipM = 0
-damTipMV = 0
-kisamePro = 0
-poisonAV = 0
-SasoriBody = 0
-tobiPic = 0
-kisamePic = 0
-sasoriPic = 0
-konanPic = 0
-hidanPic = 0
-barierV = 0
-hidanAtk = 0
-hidanPic = 0
+
+killvar 'fightAtk'
+killvar '$fightAtk'
+killvar '$fightAtk_Type'
+killvar '$fightAtk_TargetType'
+killvar 'fightAtk_TargetNumber'
+killvar 'fightAtk_AttackerNumber'
+
 
 --- nill ---------------------------------
 

+ 3 - 0
locations/panties.qsrc

@@ -1,8 +1,11 @@
 # panties
 
 !!gs 'panties', 'dispose'
+!!to remove panties and destroy them
 !!gs 'panties', 'remove'
+!!To remove panties and store them
 !!gs 'panties', 'wear'
+!!To wear panties
 
 menu_off = 1
 

+ 4 - 4
locations/park.qsrc

@@ -162,7 +162,7 @@ if $ARGS[0] = 'start':
 						BonusDefV = 0
 						!!Programme of Action
 						program = 1
-						RapistFight = 1
+						fightEnding = 8
 
 						if spellavtoklon = 1:klon = 3
 						if spellbefshild = 1:defence = 500}
@@ -586,7 +586,6 @@ if $ARGS[0] = 'prost':
 			BonusDefV = 0
 			!!Programme of Action
 			program = 0
-			prostitutFight = 1
 
 			if spellavtoklon = 1:klon = 3
 			if spellbefshild = 1:defence = 500}
@@ -608,6 +607,7 @@ if $ARGS[0] = 'prost':
 			opp_health[0] = (opp_vital[0] * 10 + opp_stren[0] * 5)
 			opp_willpwr[0] = 50
 			opp_shoot[0] = 10
+			fightEnding = 4
 
 			gt 'fight', 'start'
 		end
@@ -656,7 +656,6 @@ if $ARGS[0] = 'prost':
 					BonusDefV = 0
 					!!Programme of Action
 					program = 0
-					prostitutFight = 2
 
 					if spellavtoklon = 1:klon = 3
 					if spellbefshild = 1:defence = 500}
@@ -678,6 +677,7 @@ if $ARGS[0] = 'prost':
 					opp_health[0] = (opp_vital[0] * 10 + opp_stren[0] * 5)
 					opp_willpwr[0] = 100
 					opp_shoot[0] = 10
+					fightEnding = 5
 
 					gt 'fight', 'start'
 				end
@@ -751,7 +751,6 @@ if $ARGS[0] = 'prost':
 					BonusDefV = 0
 					!!Programme of Action
 					program = 0
-					prostitutFight = 3
 
 					if spellavtoklon = 1:klon = 3
 					if spellbefshild = 1:defence = 500}
@@ -772,6 +771,7 @@ if $ARGS[0] = 'prost':
 					opp_health[0] = (opp_vital[0] * 10 + opp_stren[0] * 5)
 					opp_willpwr[0] = 50
 					opp_shoot[0] = 10
+					fightEnding = 6
 
 					gt 'fight', 'start'
 				end

+ 1 - 1
locations/parkivent.qsrc

@@ -67,7 +67,7 @@ if $ARGS[0] = '1':
 			BonusDefV = 0
 			!!Programme of Action
 			program = 0
-			RapistFight = 1
+			fightEnding = 8
 
 			if spellavtoklon = 1:klon = 3
 			if spellbefshild = 1:defence = 500}

+ 29 - 29
locations/postdeliveries.qsrc

@@ -1122,40 +1122,40 @@ if $ARGS[0] = 'bandsex':
 		'There''s an icy silence in the air for a few seconds, and he adds: "Let''s start simple. Show us your tits."'
 		'You give him a hesitant look, and the other guy pitches in: "Come on, girl. Just show us your tits, and you can go. Unless you want to lose your job..."'
 		'He pulls a lighter out of his pocket, lights it and moves it dangerously close to a fistful of envelopes. If you don''t do something now, he''ll torch them.'
-		act 'Agree to show your boobs':
-			cls
-			postbandQW = 2
-			postexhibi += 1
-			inhib_exp += rand(0,3)
-			'<center><img <<$set_imgh>> src="images/locations/shared/postoffice/events/postboobs1.jpg"></center>'
-			'"No, wait!" you blurt out, quickly stopping him. "I''ll do it..."'
-			'"I knew you would!" he grins, putting out his lighter but keeping it in his hand. He adds: "Go on, then... we don''t have all day!"'
-			'You quickly look around you to make sure no one else can see you, and pull your clothes aside. When you proceed to correct your clothes, the first guy slaps your hands away and says: "Not so fast! You''re done when we say you are."'
-			'After another ten seconds of awkward silence, the quiet one nods approvingly and says: "Very nice."'
-			gs 'arousal', 5,'flash'
-			gs 'stat'
-			'While you quickly cover up, his friend smiles benevolently and offers you your bag: "See, what wasn''t so bad!"'
-			'You quickly take it out of his hands and leave, assuming they''re done with you. From the greedy looks in their eyes, you figure they will probably expect more from you if they catch you again.'
-			act 'Continue your round':gt 'postdeliveries', 'resume'
-		end
-		gs 'willpower', 'exhib', 'resist'
+		gs 'willpower', 'exhib', 'self', 'hard'
 		if will_cost <= pcs_willpwr:
-			act 'Say nothing (<<will_cost>> Willpower)':
+			act 'Agree to show your boobs (<<will_cost>> Willpower)':
 				cls
-				gs 'willpower', 'pay', 'resist'
-				postburn = 1
-				minut += 5
+				gs 'willpower', 'pay', 'self'
+				postbandQW = 2
+				postexhibi += 1
+				inhib_exp += rand(0,3)
+				'<center><img <<$set_imgh>> src="images/locations/shared/postoffice/events/postboobs1.jpg"></center>'
+				'"No, wait!" you blurt out, quickly stopping him. "I''ll do it..."'
+				'"I knew you would!" he grins, putting out his lighter but keeping it in his hand. He adds: "Go on, then... we don''t have all day!"'
+				'You quickly look around you to make sure no one else can see you, and pull your clothes aside. When you proceed to correct your clothes, the first guy slaps your hands away and says: "Not so fast! You''re done when we say you are."'
+				'After another ten seconds of awkward silence, the quiet one nods approvingly and says: "Very nice."'
+				gs 'arousal', 5,'flash'
 				gs 'stat'
-				'<center><img <<$set_imgh>> src="images/locations/shared/postoffice/postburn.jpg"></center>'
-				'When you don''t speak up, he theatrically moves the envelopes into the flame. Within seconds, the contents of your bag are consumed by the flames.'
-				'"You could''ve easily prevented this! If only you weren''t such a prude..." he grins cruelly.'
-				'His friend mockingly pretends to be warming his hands over the smouldering remains of the letters and laughs: "Good luck finding a new job. Now get lost!"'
-				'When you pick up the empty bag and return to the street dejectedly, you realize he''s right. You''re going to get fired, for sure!'
-				act 'Return to the post office':gt 'postdeliveries', 'finishround'
+				'While you quickly cover up, his friend smiles benevolently and offers you your bag: "See, what wasn''t so bad!"'
+				'You quickly take it out of his hands and leave, assuming they''re done with you. From the greedy looks in their eyes, you figure they will probably expect more from you if they catch you again.'
+				act 'Continue your round':gt 'postdeliveries', 'resume'
 			end
 		else
-			act 'Say nothing (<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 to show your boobs (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
+		end
+		act 'Say nothing ':
+			cls
+			postburn = 1
+			minut += 5
+			gs 'stat'
+			'<center><img <<$set_imgh>> src="images/locations/shared/postoffice/postburn.jpg"></center>'
+			'When you don''t speak up, he theatrically moves the envelopes into the flame. Within seconds, the contents of your bag are consumed by the flames.'
+			'"You could''ve easily prevented this! If only you weren''t such a prude..." he grins cruelly.'
+			'His friend mockingly pretends to be warming his hands over the smouldering remains of the letters and laughs: "Good luck finding a new job. Now get lost!"'
+			'When you pick up the empty bag and return to the street dejectedly, you realize he''s right. You''re going to get fired, for sure!'
+			act 'Return to the post office':gt 'postdeliveries', 'finishround'
+		end
 	elseif postbandQW = 2:
 		'You follow the two men to behind the building again, while one of them digs through your bag.'
 		'The first one claps his hands and grins: "Alright, girl. You know what we want."'

+ 6 - 2
locations/preTG.qsrc

@@ -268,6 +268,9 @@ if $ARGS[0] = 'otelPRE':
 										pcs_intel = 50
 										pcs_sprt = 100
 										pcs_react = 50
+										pcs_kick = 20
+										pcs_punch = 20
+										pcs_jab = 20
 										pcs_health = pcs_vital * 10
 										pcs_willpwr = pcs_intel * 5 + pcs_sprt * 5
 										pcs_mana = (pcs_intel * pcs_magik) + pcs_vital * 5
@@ -299,8 +302,7 @@ if $ARGS[0] = 'otelPRE':
 											BonusAtakV = 0
 											BonusDefV = 0
 											!!Programme of Action
-											program = 0
-											jugoFight = 1}
+											program = 0}
 											gs 'fight','initFight'
 
 											$opp_name[0] = 'Gustav'
@@ -318,6 +320,8 @@ if $ARGS[0] = 'otelPRE':
 											opp_health[0] = (opp_vital * 10 + opp_stren * 5)
 											opp_willpwr[0] = 50
 											opp_shoot[0] = 100
+											!!To set the ending text/code
+											fightEnding = 1
 
 											act 'Fight': gt 'fight', 'start'
 										end

+ 1 - 1
locations/sexm.qsrc

@@ -846,7 +846,6 @@ if $ARGS[0] = 'gangrape':
 		BonusDefV = 0
 		!!Programme of Action
 		program = 0
-		gangrapeFight = 1
 
 		if spellavtoklon = 1:klon = 3
 		if spellbefshild = 1:defence = 500}
@@ -867,6 +866,7 @@ if $ARGS[0] = 'gangrape':
 		opp_health[0] = (opp_vital[0] * 10 + opp_stren[0] * 5)
 		opp_willpwr[0] = 100
 		opp_shoot[0] = 100
+		fightEnding = 11
 
 		gt 'fight', 'start'
 	end

+ 1 - 1
locations/sister_party.qsrc

@@ -256,7 +256,7 @@ if $ARGS[0] = 'cum':
 	'<center><b><font color = maroon>Anya</font></b></center>'
 	'<center><video autoplay loop src="images/locations/pavlovsk/resident/rekshome/party/party_sister_9_' + rand(1,2) + '.mp4"></video></center>'
 	'Your bodies convulse and spasm at the same time as a pure wave of pleasure overwhelms you both. In time both of you will claim the other came first, but for now you are lost in the Ecstasy of the moment.'
-	'"Oh, <<$pcs_nickname>>, if you wasn''t my sister I would marry you." Mumbles your sister.'
+	'"Oh, <<$pcs_nickname>>, if you weren''t my sister I would marry you." Mumbles your sister.'
 	'Your warm wet, limp bodies lay entangled in a moment of pure bliss, you fall asleep in each other arms.'    
 
 	$orgasm_or = 'yes'

+ 58 - 35
locations/spell.qsrc

@@ -8,9 +8,28 @@
 !		0  = Failure			-> Spell doesn''t work, probably just fizzles out
 !		-1 = Critical Failure	-> Spell backfires.  Something bad (not terrible) should happen
 !	$ARGS[n >= 2] = Any extra parameters needed by the spell
+!
+!	For Combat Spells:
+!	$ARGS[2] = Target Type ('opp','pcs')
+!	 ARGS[3] = Target party member number
+!	 ARGS[4] = Caster party member number
 
 SuccessValue = $ARGS[1]
 
+! ARGS for Combat Spells if Applicable
+$TargetType = $ARGS[2]
+if $TargetType = 'pcs':
+	$CasterType = 'opp'
+elseif $TargetType = 'opp':
+	$CasterType = 'pcs'
+else
+	$CasterType = 'pcs'
+	$TargetType = 'pcs'
+end
+TargetNumber = ARGS[3]
+CasterNumber = ARGS[3]
+
+
 if $ARGS[0] = 'teleport':
 	! Do the stuff of a Teleport
 	!	ARGS[1] = Success/Failure level
@@ -421,10 +440,10 @@ end
 if $ARGS[0] = 'energo':
 	! defence = absorbs damage before health begins to be removed
 	if SuccessValue > 0:
-		defence += (100 * SuccessValue)
+		dynamic '<<$CasterType>>_shield[<<CasterNumber>>] += (100 * SuccessValue)'
 		'<b><font color = green>An energy shield materializes around you, protecting you from your enemies.</font></b>'
 	elseif SuccessValue < 0:
-		defenceV += 100
+		dynamic '<<$TargetType>>_shield[<<TargetNumber>>] += 100'
 		'<b><font color = red>The spell backfires! An energy shield materializes around your enemy, protecting him from you.</font></b>'
 	else
 		'<b>The spell fizzles.  Nothing seems to happen.</b>'
@@ -445,7 +464,7 @@ end
 
 if $ARGS[0] = 'heal':
 	if SuccessValue > 0:
-		pcs_health += (400 * SuccessValue)
+		dynamic 'pcs_health += (400 * SuccessValue)'
 		'<b><font color = green>Your body surges with life. You feel much stronger.</font></b>'
 	else
 		'<b>The spell fizzles.  Nothing seems to happen.</b>'
@@ -469,7 +488,7 @@ end
 
 if $ARGS[0] = 'scaldingtouch':
 	if SuccessValue > 0:
-		damTip = 250 * SuccessValue
+		gs 'fight', 'applyDamage', $TargetType, TargetNumber, 250 * SuccessValue
 		'<b><font color = green>Flames spring from your hands.</font></b>'
 	else
 		'<b>The spell fizzles.  Nothing seems to happen.</b>'
@@ -479,7 +498,7 @@ end
 
 if $ARGS[0] = 'burninghands':
 	if SuccessValue > 0:
-		damTip = 2500 * SuccessValue
+		gs 'fight', 'applyDamage', $TargetType, TargetNumber, 2500 * SuccessValue
 		'<b><font color = green>A torrent of flames jets from your hands.</font></b>'
 	else
 		'<b>The spell fizzles.  Nothing seems to happen.</b>'
@@ -501,12 +520,12 @@ end
 
 if $ARGS[0] = 'firestorm':
 	if SuccessValue > 0:
-		damTip = 4250 + (2000 * SuccessValue)
+		gs 'fight', 'applyDamage', $TargetType, TargetNumber, 4250 + (2000 * SuccessValue)
 		bonusSh = 100
 		'<b><font color = green>Uncountable glowing embers steak down upon your foes.</font></b>'
 	elseif SuccessValue < 0:
-		damTip = 2000
-		pcs_health -= 200
+		gs 'fight', 'applyDamage', $TargetType, TargetNumber, 2000
+		gs 'fight', 'applyDamage', $CasterType, CasterNumber, 200
 		bonusSh = 100
 		'<b><font color = red>The spell backfires! Uncountable glowing embers steak down upon the battlefield burning everyone.</font></b>'
 	else
@@ -529,11 +548,11 @@ end
 
 if $ARGS[0] = 'shock':
 	if SuccessValue > 0:
-		damTip = (150 * SuccessValue)
+		gs 'fight', 'applyDamage', $TargetType, TargetNumber, 150 * SuccessValue
 		eleSh = 1
 		'<b><font color = green>You build a static electric charge in your hand and zap your opponent.</font></b>'
 	elseif SuccessValue < 0:
-		pcs_health -= 50
+		gs 'fight', 'applyDamage', $CasterType, CasterNumber, 50
 		'<b><font color = red>The spell backfires! You manage to zap yourself with a static charge.</font></b>'
 	else
 		'<b>The spell fizzles.  Nothing seems to happen.</b>'
@@ -543,11 +562,11 @@ end
 
 if $ARGS[0] = 'lightning':
 	if SuccessValue > 0:
-		damTip = (1500 * SuccessValue)
+		gs 'fight', 'applyDamage', $TargetType, TargetNumber, 1500 * SuccessValue
 		eleSh = 1
 		'<b><font color = green>You shoot a lightning bolt from your hand zapping your opponent.</font></b>'
 	elseif SuccessValue < 0:
-		pcs_health -= 300
+		gs 'fight', 'applyDamage', $CasterType, CasterNumber, 300
 		'<b><font color = red>The spell backfires! You manage to zap yourself with lightning.</font></b>'
 	else
 		'<b>The spell fizzles.  Nothing seems to happen.</b>'
@@ -569,13 +588,13 @@ end
 
 if $ARGS[0] = '1000birds':
 	if SuccessValue > 0:
-		damTip = 2750 + (1000 * SuccessValue)
+		gs 'fight', 'applyDamage', $TargetType, TargetNumber, 2750 + (1000 * SuccessValue)
 		bonusSh = 30
 		eleSh = 1
 		'<b><font color = green>You shoot hundreds of small lightning bolts toward your enemy.</font></b>'
 	elseif SuccessValue < 0:
-		damTip = 2000
-		pcs_health -= 200
+		gs 'fight', 'applyDamage', $TargetType, TargetNumber, 2000
+		gs 'fight', 'applyDamage', $CasterType, CasterNumber, 200
 		bonusSh = 30
 		eleSh = 1
 		'<b><font color = red>The spell backfires! Hundreds of small lightning bolts curl toward the battlefield shocking everyone.</font></b>'
@@ -598,12 +617,12 @@ end
 
 if $ARGS[0] = 'quicksand':
 	if SuccessValue > 0:
-		damTip = 100 * SuccessValue
+		gs 'fight', 'applyDamage', $TargetType, TargetNumber, 100 * SuccessValue
 		eleSh = 5
 		'<b><font color = green>You have trapped your opponent in quicksand.</font></b>'
 	elseif SuccessValue < 0:
-		damTip = 100
-		pcs_health -= 50
+		gs 'fight', 'applyDamage', $TargetType, TargetNumber, 100
+		gs 'fight', 'applyDamage', $CasterType, CasterNumber, 50
 		eleSh = 5
 		'<b><font color = red>The spell backfires! You are both trapped in quicksand.</font></b>'
 	else
@@ -631,12 +650,12 @@ end
 
 if $ARGS[0] = 'abyss':
 	if SuccessValue > 0:
-		damTip = 1500 * SuccessValue
+		gs 'fight', 'applyDamage', $TargetType, TargetNumber, 1500 * SuccessValue
 		eleSh = 5
 		'<b><font color = green>The Earth opens up beneath your opponents feet, slamming shut damaging him and depriving him of the ability to move.</font></b>'
 	elseif SuccessValue < 0:
-		damTip = 1500
-		pcs_health -= 200
+		gs 'fight', 'applyDamage', $TargetType, TargetNumber, 1500
+		gs 'fight', 'applyDamage', $CasterType, CasterNumber, 200
 		eleSh = 5
 		'<b><font color = red>The spell backfires! The Earth opens up beneath your opponents feet, slamming shut damaging him and depriving him of the ability to move.  You are also caught.</font></b>'
 	else
@@ -668,12 +687,12 @@ end
 
 if $ARGS[0] = 'sando':
 	if SuccessValue > 0:
-		damTip = 3000 + (2000 * SuccessValue)
+		gs 'fight', 'applyDamage', $TargetType, TargetNumber, 3000 + (2000 * SuccessValue)
 		bonusSh = 50
 		eleSh = 5
 		'<b><font color = green>Two huge plates of earth colapse together crushing the enemy and depriving him of the ability to move.</font></b>'
 	elseif SuccessValue < 0:
-		pcs_health -= 200
+		gs 'fight', 'applyDamage', $CasterType, CasterNumber, 200
 		'<b><font color = red>The spell backfires! Two huge plates of earth colapse together with crushing force, but the enemy is missed and you are instead caught.</font></b>'
 	else
 		'<b>The spell fizzles.  Nothing seems to happen.</b>'
@@ -683,13 +702,13 @@ end
 
 if $ARGS[0] = 'windgust':
 	if SuccessValue > 0:
-		damTip = 100 * SuccessValue
+		gs 'fight', 'applyDamage', $TargetType, TargetNumber, 100 * SuccessValue
 		bonusSh = 50
 		'<b><font color = green>You have created a gust of wind.</font></b>'
 		if klonV > 0:klonV = 0 & '<b><font color = green>Enemy clones are vaporized.</font></b>'
 		if tumanV > 0:tumanV = 0 & '<b><font color = green>Enemy Fog is torn to shreds by the wind.</font></b>'
 	elseif SuccessValue < 0:
-		pcs_health -= 50
+		gs 'fight', 'applyDamage', $CasterType, CasterNumber, 50
 		'<b><font color = red>The spell backfires! You have created a gust of wind, but the enemy is missed and you are instead caught.</font></b>'
 		if klon > 0:klon = 0 & '<b><font color = green>Your clones are vaporized.</font></b>'
 		if tuman > 0:tuman = 0 & '<b><font color = green>Your Fog is torn to shreds by the wind.</font></b>'
@@ -701,13 +720,13 @@ end
 
 if $ARGS[0] = 'pressure':
 	if SuccessValue > 0:
-		damTip = 1000 * SuccessValue
+		gs 'fight', 'applyDamage', $TargetType, TargetNumber, 1000 * SuccessValue
 		bonusSh = 100
 		'<b><font color = green>You dramatically raised the air pressure.</font></b>'
 		if klonV > 0:klonV = 0 & '<b><font color = green>Enemy clones are vaporized.</font></b>'
 		if tumanV > 0:tumanV = 0 & '<b><font color = green>Enemy Fog is torn to shreds by the wind.</font></b>'
 	elseif SuccessValue < 0:
-		pcs_health -= 200
+		gs 'fight', 'applyDamage', $CasterType, CasterNumber, 200
 		'<b><font color = red>The spell backfires! You dramatically raised the air pressure, but the enemy is missed and you are instead caught.</font></b>'
 		if klon > 0:klon = 0 & '<b><font color = green>Your clones are vaporized.</font></b>'
 		if tuman > 0:tuman = 0 & '<b><font color = green>Your Fog is torn to shreds by the wind.</font></b>'
@@ -731,13 +750,13 @@ end
 
 if $ARGS[0] = 'vacuumshells':
 	if SuccessValue > 0:
-		damTip = 2500 * SuccessValue
+		gs 'fight', 'applyDamage', $TargetType, TargetNumber, 2500 * SuccessValue
 		bonusSh = 100
 		'<b><font color = green>Turbulent spheres of vacuum bombard your enemy. The air is full of whistling sounds as the spheres fly by at high speeds over the battlefield.</font></b>'
 		if klonV > 0:klonV = 0 & '<b><font color = green>Enemy clones are vaporized.</font></b>'
 		if tumanV > 0:tumanV = 0 & '<b><font color = green>Enemy Fog is torn to shreds by the wind.</font></b>'
 	elseif SuccessValue < 0:
-		pcs_health -= 200
+		gs 'fight', 'applyDamage', $CasterType, CasterNumber, 200
 		'<b><font color = red>The spell backfires! Turbulent spheres of vacuum bombard your enemy. The air is full of whistling sounds as the spheres fly by at high speeds over the battlefield, but the enemy is missed and you are instead caught.</font></b>'
 		if klon > 0:klon = 0 & '<b><font color = green>Your clones are vaporized.</font></b>'
 		if tuman > 0:tuman = 0 & '<b><font color = green>Your Fog is torn to shreds by the wind.</font></b>'
@@ -775,11 +794,11 @@ end
 
 if $ARGS[0] = 'leechmana':
 	if SuccessValue > 0:
-		damTip = 100 * SuccessValue
+		gs 'fight', 'applyDamage', $TargetType, TargetNumber, 100
 		damTipM = 1000
 		'<b><font color = green>You leech mana from your enemy.</font></b>'
 	elseif SuccessValue < 0:
-		pcs_health -= 50
+		gs 'fight', 'applyDamage', $CasterType, CasterNumber, 50
 		'<b><font color = red>The spell backfires! Ouch!</font></b>'
 	else
 		'<b>The spell fizzles.  Nothing seems to happen.</b>'
@@ -789,11 +808,11 @@ end
 
 if $ARGS[0] = 'flood':
 	if SuccessValue > 0:
-		damTip = 1000 * SuccessValue
+		gs 'fight', 'applyDamage', $TargetType, TargetNumber, 1000 * SuccessValue
 		damTipM = 500
 		'<b><font color = green>A surge of water rises towards your enemy.</font></b>'
 	elseif SuccessValue < 0:
-		pcs_health -= 100
+		gs 'fight', 'applyDamage', $CasterType, CasterNumber, 100
 		'<b><font color = red>The spell backfires! A surge of water rises towards your enemy, but missed and hits you.</font></b>'
 	else
 		'<b>The spell fizzles.  Nothing seems to happen.</b>'
@@ -821,13 +840,13 @@ end
 
 if $ARGS[0] = 'sharkrockets':
 	if SuccessValue > 0:
-		damTip = 1500 * SuccessValue
+		gs 'fight', 'applyDamage', $TargetType, TargetNumber, 1500 * SuccessValue
 		damTipM = 2500
 		bonusSh = 50
 		'<b><font color = green>Blobs of Water shaped like sharks fly towards your enemy stiking them.</font></b>'
 		if klonV > 0:klonV = 0 & '<b><font color = green>Enemy clones are eliminated.</font></b>'
 	elseif SuccessValue < 0:
-		pcs_health -= 100
+		gs 'fight', 'applyDamage', $CasterType, CasterNumber, 100
 		'<b><font color = red>The spell backfires! Blobs of Water shaped like sharks fly towards your enemy, but missed and hits you.</font></b>'
 		if klon > 0:klon = 0 & '<b><font color = green>Your clones are eliminated.</font></b>'
 	else
@@ -859,5 +878,9 @@ end
 
 
 killvar 'SuccessValue'
+killvar '$TargetType'
+killvar 'TargetNumber'
+killvar '$CasterType'
+killvar 'CasterNumber'
 --- spell ---------------------------------
 

+ 2 - 2
locations/stallion.qsrc

@@ -58,8 +58,7 @@ if $ARGS[0] = 'fight':
 		!!Programme of Action
 		program = 0
 		if spellavtoklon = 1:klon = 3
-		if spellbefshild = 1:defence = 500
-		stallionfight = 1}
+		if spellbefshild = 1:defence = 500}
 		gs 'fight','initFight'
 
 		$opp_name[0] = 'Naked Man'
@@ -77,6 +76,7 @@ if $ARGS[0] = 'fight':
 		opp_health[0] = (opp_vital * 10 + opp_stren * 5)
 		opp_willpwr[0] = 100
 		opp_shoot[0] = 10
+		fightEnding = 13
 
 		gt 'fight', 'start'
 	end

+ 8 - 8
locations/street_event.qsrc

@@ -484,7 +484,6 @@ if $ARGS[1] = 'main':
 			BonusDefV = 0
 			!!Programme of Action
 			program = 0
-			RapistFight = 1
 			if spellavtoklon = 1:klon = 3
 			if spellbefshild = 1:defence = 500}
 			gs 'fight','initFight'
@@ -504,6 +503,7 @@ if $ARGS[1] = 'main':
 			opp_health[0] = (opp_vital[0] * 10 + opp_stren[0] * 5)
 			opp_willpwr[0] = 100
 			opp_shoot[0] = 100
+			fightEnding = 8
 
 			gt 'fight', 'start'
 		end
@@ -599,11 +599,6 @@ if $ARGS[1] = 'main':
 				BonusDefV = 0
 				!!Programme of Action
 				program = 0
-				if rand(0,10) < 5:
-					RapistFight = 1
-				else
-					ThiefFight = 1
-				end
 
 				if spellavtoklon = 1:klon = 3
 				if spellbefshild = 1:defence = 500}
@@ -624,6 +619,11 @@ if $ARGS[1] = 'main':
 				opp_health[0] = (opp_vital[0] * 10 + opp_stren[0] * 5)
 				opp_willpwr[0] = 100
 				opp_shoot[0] = 100
+				if rand(0,10) < 5:
+					fightEnding = 8
+				else
+					fightEnding = 9
+				end
 
 				gt 'fight', 'start'
 			end
@@ -676,7 +676,6 @@ if $ARGS[1] = 'main':
 				BonusDefV = 0
 				!!Programme of Action
 				program = 0
-				ThiefFight = 1
 				if spellavtoklon = 1:klon = 3
 				if spellbefshild = 1:defence = 500}
 				'<<$streetev_title>>'
@@ -699,6 +698,7 @@ if $ARGS[1] = 'main':
 				opp_health[0] = (opp_vital[0] * 10 + opp_stren[0] * 5)
 				opp_willpwr[0] = 100
 				opp_shoot[0] = 100
+				fightEnding = 9
 
 				act 'Fight':gt 'fight', 'start'
 			end
@@ -1323,7 +1323,6 @@ if $ARGS[1] = 'main':
 							BonusDefV = 0
 							!!Programme of Action
 							program = 0
-							BitchFight = 1
 
 							if spellavtoklon = 1:klon = 3
 							if spellbefshild = 1:defence = 500}
@@ -1344,6 +1343,7 @@ if $ARGS[1] = 'main':
 							opp_health[0] = (opp_vital[0] * 10 + opp_stren[0] * 5)
 							opp_willpwr[0] = 100
 							opp_shoot[0] = 100
+							fightEnding = 14
 
 							gt 'fight', 'start'
 						end

+ 5 - 6
locations/succubus.qsrc

@@ -106,23 +106,22 @@ if $ARGS[0] = 'RapistFight':
 	act 'Continue':
 		cla
 		scrand = rand(0,3)
-		if RapistFight = 1 and scfwon = 1:
+		if fightEnding = 8 and scfwon = 1:
 			scrand -= 1
 			scfwon = 0
-			RapistFight = 0
-			ThiefFight = 0
+			fightEnding = 0
 			if rikudo > 10:rikudo += 100
 			pcs_dom += 1
 			Win += 1
-		elseif RapistFight = 1:
-			RapistFight = 0
-			ThiefFight = 0
+		elseif fightEnding = 8:
+			fightEnding = 0
 			SUB += 1
 			Loss += 1
 			if rikudo > 10:rikudo -= 10
 		else
 			scrand -= 1
 			scfwon = 0
+			fightEnding = 0
 		end
 		if scrand < succublvl:
 			scfeed = succublvl + rand(1,4)

+ 7 - 6
locations/trFatherMisha.qsrc

@@ -524,17 +524,18 @@ if $ARGS[0] = '':
 					'"We should be safe now that you''ve cum. I demand that you fuck me, otherwise I''ll go and tell <<$npc_nickname[''A29'']>> that you forced me to suck your cock."'
 					act 'Drag him out':
 						cls
-						gs'stat'
 						'<center><img <<$set_imgh>> src="images/characters/city/mikhail/sex/trfatherqw_43.jpg"></center>'
 						'Before he''s able to answer, you start pushing him out of the truck. Mikhail barely manages to get out of the truck, as you push him down on the grass and jump on top of him.'
 						if pcs_vag = 0:'"I''ve always fantasized about this moment. You''ll be my first, daddy." with these words, you grab his cock leading it towards your wet clit, eagerly awaiting for your father to deflower you.'
-						$orgasm_or = 'yes'
+						'As you insert his cock into your wet slit, you take a minute to adjust yourself to your fathers cock. Slowly you begin rhythmically bouncing up and down his cock, as you bend over kissing him.'
+						'Overcome by arousal, your father grabs your ass adjusting the speed of how quickly you bounce up and down. He makes you go faster and faster as he penetrates you deeper. By now you''re loudly moaning your father is a great lover and he knows exactly how to fuck you to give you outmost pleasure.'
+						'Not holding back you furiously and wildly begin bouncing on top of his cock. The two of you sound like two animals in heat as you''re moaning loudly so that everyone in the near vicinity can hear you.'
+						$orgasm_or = 'custom'
+						$orgasm_txt = 'You''re no longer able to hold back your screams of pleasure as your body begins to twitch. It''s a violent orgasm and you''re certain you''ve never felt anything like this before. It''s exactly as you fantasized about, when you met him for the first time.'
 						gs 'arousal', 'vaginal', 5, 'incest'
 						gs 'cum_call', '', 'A35', 1, 0, 12500, rand(20,40)
-						'As you insert his cock into your wet clit, you take a minute to adjust yourself to your fathers cock. Slowly you begin rhythmically bouncing up and down his cock, as you bend over kissing him.'
-						'Overcome by arousal, your father grabs your ass adjusting the speed of how quickly you bounce up and down. He makes you go faster and faster as he penetrates you deeper. By now you''re loudly moaning your father is a great lover and he knows exactly how to fuck you to give you outmost pleasure.'
-						'Not holding back you furiously and wildly begin bouncing on top of his cock. The two of you sound like two animals in heat as you''re moaning loudly so that everyone in the near vicinity can hear you. Not able to hold back anymore you scream out and your body begins to twitch, it''s a violent orgasm and you''re certain you''ve felt anything like this before.'
-						'It''s exactly as you fantasized about it when you met him for the first time. You''re quickly taken aback as Mikhail begins to groan loudly, his cock is growing inside you and shortly thereafter you feel his warm cum shoot inside of you. As he finishes you fall over him as you''re completely exhausted. You embrace him and lay still for a while...'
+						gs 'stat'
+						'Moments later Mikhail begins to groan loudly, his cock starts growing inside you and shortly thereafter you feel his warm cum shoot inside of you. As he finishes you fall over him as you''re completely exhausted. You embrace him and lay still for a while...'
 						!{trfatherMishaQW = 7}
 						gs 'trFatherMisha', 'end'
 					end

+ 1 - 1
locations/vipclub.qsrc

@@ -86,7 +86,7 @@ if $ARGS[0] = 'start':
 							*clr
 							pcs_horny = 0
 							'<center><img <<$set_imgh>> src="images/locations/city/citycenter/nightclub/sex/vip4.jpg"></center>'
-							'Then she turns around and puts it in her pussy, you both begin grinding in an attempt to get the most pleasure possible. At the same time, she goes back to giving a blowjbo to the man you hired. You have an explosive orgasm and can''t wait to see what these two will do next for you.'
+							'Then she turns around and puts it in her pussy, you both begin grinding in an attempt to get the most pleasure possible. At the same time, she goes back to giving a blowjob to the man you hired. You have an explosive orgasm and can''t wait to see what these two will do next for you.'
 
 							$orgasm_or = 'yes'
 							gs 'arousal', 'vaginal_dildo', 10, 'dom'