Browse Source

Merge remote-tracking branch 'upstream/master'

oldentree 5 years ago
parent
commit
a525139895

+ 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/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..'

+ 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 ---------------------------------
 

+ 5 - 3
locations/din_bad.qsrc

@@ -187,10 +187,12 @@ if $ARGS[0] = 'd_bag':
 	if aphrodisiac_have > 0:'<a href="exec: gs ''drugs'', ''aphrodisiac'' & gs ''din_bad'', ''d_bag'' & *pl $aphrodisiac_msg & *pl $min_arousal_msg & killvar ''$min_arousal_msg''">Chew aphrodisiac gum.</a> You have <b><<aphrodisiac_have>></b> gum left in your purse.'
 
 	if lubri > 0:'There''s a tube of lubricant in your purse, enough for <b><<lubri>></b> applications.'
-	if refillable_bottle = 3: 
-		'You carry your sports water bottle in your purse. It''s still completely full. <a href="exec: refillable_bottle = 2 & pcs_hydra += 75 & cumspclnt = 2 & gs ''cum_cleanup'' & gs ''stat'' & gs ''din_bad'', ''d_bag''">Drink</a>'
+	if refillable_bottle = 4: 
+		'You carry your sports water bottle in your purse. It''s still completely full. <a href="exec: refillable_bottle = 3 & pcs_hydra += 75 & cumspclnt = 2 & gs ''cum_cleanup'' & gs ''stat'' & gs ''din_bad'', ''d_bag''">Drink</a>'
+	elseif refillable_bottle = 3:
+		'You carry your sports water bottle in your purse. It''s two-thirds full. <a href="exec: refillable_bottle = 2 & pcs_hydra += 75 & cumspclnt = 2 & gs ''cum_cleanup'' & gs ''stat'' & gs ''din_bad'', ''d_bag''">Drink</a>'
 	elseif refillable_bottle = 2:
-		'You carry your sports water bottle in your purse. It''s half full. <a href="exec: refillable_bottle = 1 & pcs_hydra += 75 & cumspclnt = 2 & gs ''cum_cleanup'' & gs ''stat'' & gs ''din_bad'', ''d_bag''">Drink</a>'
+		'You carry your sports water bottle in your purse. It''s one-third full. <a href="exec: refillable_bottle = 1 & pcs_hydra += 75 & cumspclnt = 2 & gs ''cum_cleanup'' & gs ''stat'' & gs ''din_bad'', ''d_bag''">Drink</a>'	
 	elseif refillable_bottle = 1:
 		'You carry your sports water bottle in your purse. It''s empty.'
 	end

+ 57 - 69
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
@@ -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,50 @@ 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':

+ 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.'
 

+ 1 - 0
locations/gschool_chats3.qsrc

@@ -553,6 +553,7 @@ if $ARGS[0] = 'anushka':
 		end
 		act 'I would like that':
 			*clr & cla
+			meet_after_school = 1
 			npc_rel['A144'] += 1
 			'<center><img <<$set_imgh>> src="images/pc/npc_headshots/big144.jpg"></center>'
 			'"Yes I would like that." You tell her.'

+ 3 - 0
locations/gschool_grounds.qsrc

@@ -230,6 +230,7 @@ if $ARGS[0] = 'main':
 		if LinaSlut > 0 and rand(1,10) < 3:'You see Lina, Dan and Vasily leaving the school together.'
 
 		if Enable_tablemap = 0:
+			if anushkaFirstvisit = 0 and meet_after_school = 1:'<a href="exec:gt ''anushka'', ''meet_after_school''">Anushka Konstantinov</a> is leaning against a tree just in front of the school.'
 			if LariskaHomeIn > 0:'<a href="exec:minut += 1 & gt ''LariskaGo''">Lariska Gruzdev</a> impatiently walks back and fourth across the courtyard, as if she''s waiting for someone.'
 			if JuliaMilLernQW >= 1:'<a href="exec:minut += 1 & gt ''JuliaMilGo''">Julia Milova</a> is sitting somewhere on the school courtyard, reading a book.'
 			if NatashaQW > 0:'<a href="exec:minut += 1 & gt ''NatBelGo''">Natasha Belova</a> is standing in a corner.'
@@ -254,6 +255,7 @@ if $ARGS[0] = 'main':
 		else
 			!display friends in table if switch is on.
 			st_count=0 & $show_table=''
+			if anushkaFirstvisit = 0 and meet_after_school = 1:gs'show_table','<a href="exec:gt ''anushka'', ''meet_after_school''">Anushka Konstantinov</a>','5'
 			if LariskaHomeIn > 0:gs'show_table','<a href="exec:minut += 1 & gt ''LariskaGo''">Lariska Gruzdev</a>','5'
 			if JuliaMilLernQW >= 1:gs'show_table','<a href="exec:minut += 1 & gt ''JuliaMilGo''">Julia Milov</a>','5'
 			if NatashaQW > 0:gs'show_table','<a href="exec:minut += 1 & gt ''NatBelGo''">Natasha Belova</a>','5'
@@ -529,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/kit_din.qsrc

@@ -521,7 +521,7 @@ $fill_bottle = {
 		'You can fill your sports water bottle with filtrated tap water.'
 		act 'Fill your water bottle (0:01)':
 			minut += 1
-			refillable_bottle = 3
+			refillable_bottle = 4
 			gt $loc, $metka
 		end
 	end

+ 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 - 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
 

+ 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."'

+ 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 ---------------------------------
 

+ 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

+ 2 - 2
locations/train_incidental.qsrc

@@ -165,7 +165,7 @@ end
 
 if $ARGS[0] = '26':
 	'<center><img <<$set_imgh>> src="images/locations/shared/train/sex/dblgmas.jpg" ></center>'
-	'There are a few people in the car, a couple young girls sit across you and a couple of business men at the far end of the train. You hear the girls giggling as they whisper back and forth. Blushing slightly they look around, noticing only you nearby, the start goading each other. You are about to ask what they are up to, when both of them pull up their skirts, spreading their legs and begin to masturbate. The don''t pay any attention to you at all as they masturbate, some time later one of them cries out in pleasure, quickly followed by her flipping off her friend. Apparently they was racing to see who could get off first.'
+	'There are a few people in the car, a couple young girls sit across you and a couple of business men at the far end of the train. You hear the girls giggling as they whisper back and forth. Blushing slightly they look around, noticing only you nearby, the start goading each other. You are about to ask what they are up to, when both of them pull up their skirts, spreading their legs and begin to masturbate. The don''t pay any attention to you at all as they masturbate, some time later one of them cries out in pleasure, quickly followed by her flipping off her friend. Apparently they were racing to see who could get off first.'
 	act 'Complete your journey': gt $loc, $metka
 end
 
@@ -319,7 +319,7 @@ if $ARGS[0] = 'breastfeedthebaby':
 				'You unlatch the baby and hand it to the father, then you cover yourself up. The man thanks you for the help.'
 				act 'Finish':gt $loc, $metka
 			elseif temp_var < 12:
-				'You think about it and nod your head while answering: Uhm ... I think I got pretty much milk.'
+				'You think about it and nod your head while answering: "Uhm ... I think I produce a fair amount."'
 				if lactation['breastmm'] >= 500000:
 					'Adding to that: I could fill up a beer glass, when my breasts feel engorged, I think, haha.'
 					'You smile cutely and giggle a bit. You notice how the mans eyes widen from your answer and how he blush.'

+ 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'