1
0

61 Commity e58351235e ... 5df48a8656

Autor SHA1 Správa Dátum
  KevinSmarts 5df48a8656 Merge remote-tracking branch 'CroWke/master' 5 rokov pred
  KevinSmarts efb3f8d63e Merge remote-tracking branch 'julzor/master' 5 rokov pred
  KevinSmarts e782d27c3e Merge remote-tracking branch 'Karma/master' 5 rokov pred
  KevinSmarts 0c6618da78 Merge remote-tracking branch 'Maid_Christine/dev' 5 rokov pred
  CroWke 736e5ae011 [fixed] The swimwear selfies didn't work properly, they do now. 5 rokov pred
  CroWke 7b34e6fed3 [added] beach should now work as well 5 rokov pred
  CroWke 8015788017 [fixed] $locclass added for beach selfies. minor code fixes. 5 rokov pred
  CroWke 4ec097d277 [edit] Added flashing constraints 5 rokov pred
  julzor 9fdb724d57 [fixed] cum_calls, boystat and preg checks in brother_voyeur 5 rokov pred
  CroWke bb4265a53b [added] flashing selfies 5 rokov pred
  julzor dc7b24f329 [fixed] kolkas dick didn't grow (sad!) 5 rokov pred
  julzor c9f8337394 Merge branch 'master' of https://git.catrenelle.com/Kevin_Smarts/glife 5 rokov pred
  julzor a6951aa972 [fixed] missing ' in spell 5 rokov pred
  KevinSmarts 00ede143ae Merge remote-tracking branch 'julzor/master' 5 rokov pred
  KevinSmarts 15bfa713da Merge remote-tracking branch 'KeyMasterOfGozer/master' 5 rokov pred
  julzor 318f97b74f [removed] Rex (RIP) 5 rokov pred
  KeyMasterOfGozer ad1c4e0356 Added Success and Failure conditions for Combat spells. 5 rokov pred
  CroWke c82e19c833 [new] New file for events with Natasha and Kolka 5 rokov pred
  KeyMasterOfGozer a5c5c89ade one more quote and some additional comments. 5 rokov pred
  KeyMasterOfGozer dacc05dd6e Stupid single quotes. 5 rokov pred
  KeyMasterOfGozer eb875fea09 Added some comment as to usage of spell infrastructure 5 rokov pred
  KeyMasterOfGozer a93178f164 Unified learning Spells. Now any spell teacher just has one line of code to setup actions for learning all of their spell list. Currently only Tatiana and Kakuzu. Tatiana's spells are no longer automatic, but may take a few attempts of study to learn like Kakuzu's. 5 rokov pred
  KeyMasterOfGozer 346ce3742e Added Magical Teleport locations to Cheat Menu 5 rokov pred
  KeyMasterOfGozer 85c8aebbd4 Remove old separate spell system 5 rokov pred
  KeyMasterOfGozer bce75db821 Unify Combat and Non-Combat spells in same system 5 rokov pred
  KeyMasterOfGozer b2149eb6e4 minor bug and syntax fixes 5 rokov pred
  KeyMasterOfGozer ae914bba03 Merge branch 'master' into dev 5 rokov pred
  KevinSmarts cb6104770e Merge remote-tracking branch 'Milky_boobs/master' 5 rokov pred
  sandra_schulz d41ca2e9ad [fixed] some more bugs fixed that are caused by cheats in lact_lib. 5 rokov pred
  sandra_schulz 82e989fbf0 [fixed] Missing apostrophes in gschool_lessons 5 rokov pred
  KeyMasterOfGozer 3adaa3b30e more minor syntax fixes 5 rokov pred
  julzor ff357a1ced [fixed] missing ' in gschool_lessons 5 rokov pred
  KeyMasterOfGozer 222ad98753 minor bug fix 5 rokov pred
  KeyMasterOfGozer 77b53f393b Merge branch 'master' into dev 5 rokov pred
  KeyMasterOfGozer 9c30ecba9a Moved Combat spells into new paradigm for spell casting. Updated all Spell Learning a well as menu and cheat displays. 5 rokov pred
  Christine 1f419cfee1 Maid: Minfor fix 5 rokov pred
  KevinSmarts f86b26361d Merge remote-tracking branch 'Karma/master' 5 rokov pred
  KevinSmarts 3524eac509 Merge remote-tracking branch 'KeyMasterOfGozer/master' 5 rokov pred
  KevinSmarts 39d1af672b [fixed] noticed choice not setup correctly 5 rokov pred
  KeyMasterOfGozer ef8863275b Used wrong type in function result 5 rokov pred
  KevinSmarts 1ca1752f52 [fixed] else: used where it should be else 5 rokov pred
  julzor 3d50fb2451 [fixed] changed else: to else 5 rokov pred
  KevinSmarts ceb9775361 Merge remote-tracking branch 'KeyMasterOfGozer/master' 5 rokov pred
  KevinSmarts 26236ee4fb Merge remote-tracking branch 'Karma/master' 5 rokov pred
  KeyMasterOfGozer 498d2b15a8 Merge branch 'master' of https://git.catrenelle.com/Kevin_Smarts/glife 5 rokov pred
  KeyMasterOfGozer bd65c81694 remove colons from else clauses 5 rokov pred
  KeyMasterOfGozer 82cacff279 Fix type mismatch error 5 rokov pred
  KevinSmarts f2813fac50 Merge remote-tracking branch 'Milky_boobs/master' 5 rokov pred
  KeyMasterOfGozer ab599d552c Added more refined body modifications from Tatiana. 5 rokov pred
  sandra_schulz 4ca8eab90b [fixed] Fixed an issue reported by "blauz" which causes the breasts to reset breastccm to the AA cups. 5 rokov pred
  sovietmercader 7e02c85412 [fixed] relationship values should be for mitka not mira 5 rokov pred
  Christine a527963c96 Maid: Tanya buys a Strap-on 5 rokov pred
  KevinSmarts 89132cab5d [fixed] seeded more prostitute clothing for G+M, Kats and Fashionista 5 rokov pred
  KevinSmarts 51f691801c Merge remote-tracking branch 'Karma/master' 5 rokov pred
  Christine 8b5092ae96 Maid: Tanya Date Stats 5 rokov pred
  Christine 8987a296eb Maid: Tanya Dating Options 5 rokov pred
  julzor de5f4874c5 [fixed] removed wrong information in cikl 5 rokov pred
  KeyMasterOfGozer a596fe701d Merge branch 'master' into dev 5 rokov pred
  KeyMasterOfGozer e0654d9aef Merge branch 'master' into dev 5 rokov pred
  KeyMasterOfGozer 151a55615c Merge branch 'master' into dev 5 rokov pred
  KeyMasterOfGozer bce423cdba Beginning Combat Spell integration. 5 rokov pred
44 zmenil súbory, kde vykonal 2870 pridanie a 1810 odobranie
  1. 2 2
      glife.qproj
  2. 80 60
      locations/Cheatmenu_din.qsrc
  3. 2 2
      locations/MagEncounterFairy.qsrc
  4. 36 3
      locations/_attributes_average.qsrc
  5. 30 7
      locations/_attributes_cheap.qsrc
  6. 34 20
      locations/_attributes_expensive.qsrc
  7. 14 9
      locations/brother_voyeur.qsrc
  8. 17 26
      locations/castSpell.qsrc
  9. 5 3
      locations/cikl.qsrc
  10. 23 23
      locations/dimaRevenge.qsrc
  11. 10 19
      locations/gLakeNude.qsrc
  12. 6 9
      locations/glake.qsrc
  13. 1 1
      locations/gopsex.qsrc
  14. 2 2
      locations/gschool_lessons.qsrc
  15. 1 1
      locations/hunter_interactions.qsrc
  16. 1 1
      locations/hunters.qsrc
  17. 6 497
      locations/kakuzu.qsrc
  18. 8 8
      locations/kid.qsrc
  19. 157 105
      locations/lab.qsrc
  20. 17 5
      locations/lact_lib.qsrc
  21. 1 1
      locations/lug.qsrc
  22. 29 78
      locations/magik.qsrc
  23. 12 12
      locations/mitka.qsrc
  24. 874 0
      locations/natkolEv.qsrc
  25. 4 1
      locations/nichBedroomServant.qsrc
  26. 2 0
      locations/nichNicholas.qsrc
  27. 339 2
      locations/nichTanya.qsrc
  28. 11 2
      locations/nichUtil.qsrc
  29. 1 0
      locations/npcstatic2.qsrc
  30. 1 20
      locations/npcstatic4.qsrc
  31. 1 1
      locations/npcstatic5.qsrc
  32. 49 79
      locations/obj_din.qsrc
  33. 1 1
      locations/pavComplexb3.qsrc
  34. 1 2
      locations/pavcomplexrolan.qsrc
  35. 78 18
      locations/phone_selfies.qsrc
  36. 13 0
      locations/pirsingsalon.qsrc
  37. 452 684
      locations/spell.qsrc
  38. 392 0
      locations/spellList.qsrc
  39. 0 41
      locations/spell_teleport.qsrc
  40. 129 20
      locations/telefon.qsrc
  41. 22 39
      locations/test.qsrc
  42. 2 2
      locations/treeCircActs.qsrc
  43. 1 1
      locations/treeCircEntry.qsrc
  44. 3 3
      locations/treeCircle.qsrc

+ 2 - 2
glife.qproj

@@ -208,7 +208,6 @@
 		<Location name="atakB"/>
 		<Location name="atakB1"/>
 		<Location name="atakM"/>
-		<Location name="spell"/>
 		<Location name="ender"/>
 		<Location name="nill"/>
 		<Location name="test"/>
@@ -1115,7 +1114,8 @@
 	<Location name="BanSexType"/>
 	<Folder name="Magic">
 		<Location name="castSpell"/>
-		<Location name="spell_teleport"/>
+		<Location name="spellList"/>
+		<Location name="spell"/>
 		<Location name="treeCircle"/>
 		<Location name="treeCircActs"/>
 		<Location name="treeCircEntry"/>

+ 80 - 60
locations/Cheatmenu_din.qsrc

@@ -1515,6 +1515,54 @@ $cheatmenu['month'] = {
 	'<a href="exec:temp_month = 12 & $temp_month = ''December'' & dynamic $cheatmenu[''time'']">December</a>'
 }
 
+$cheatmenu['magicTable'] = {
+	!Build a cheat table for spells with a given Array of spell names.
+	!	ARGS[0] = Friendly name for table
+	!	ARGS[1] = the name of the arraay to use
+
+	$SpellTabName = $ARGS[0]
+	$ThisArrName = $ARGS[1]
+	maxArrSizeC = dyneval("result=arrsize('<<$ThisArrName>>')")
+
+	! make the header for the table
+	$SpellListStr = "<center>
+		<table width='90%' cellspacing='0' cellpadding='5' valign='top' border='1'>
+			<tr><th colspan='4'><b><<$SpellTabName>></b></th></tr>
+			<tr>
+				<th></th>
+				<th>Spell</th>
+				<th>Mana</th>
+				<th>Description</th>
+			</tr>"
+	i = 0
+	:CheatDinSpell1
+	$ThisSpellName = dyneval("$result=<<$ThisArrName>>[<<i>>]")
+	if i < maxArrSizeC:
+		if spellKnown[$ThisSpellName] = 1:
+			$spellFlipper = "<a href=""EXEC: spellKnown['<<$ThisSpellName>>'] = 0 & dynamic $cheatmenu['magic']"">[Unlearn]</a>"
+		else
+			$spellFlipper = "<a href=""EXEC: spellKnown['<<$ThisSpellName>>'] = 1 & dynamic $cheatmenu['magic']"">[Learn]</a>"
+		end
+		$SpellListStr = $SpellListStr + " <tr><td><<$spellFlipper>></td><td><<$spellName[$ThisSpellName]>></td><td><<spellMana[$ThisSpellName]>></td><td><<$spellDesc[$ThisSpellName]>></td></tr>"
+		i += 1
+		jump 'CheatDinSpell1'
+	end
+
+	$SpellListStr = $SpellListStr + " 
+		</table>
+	</center>"
+
+	*p $SpellListStr
+
+	killvar 'i'
+	killvar '$ThisSpellName'
+	killvar '$ThisArrName'
+	killvar 'maxArrSizeC'
+	killvar '$SpellTabName'
+	killvar '$spellFlipper'
+	killvar '$SpellListStr'
+}
+
 $cheatmenu['magic'] = {
 	gs'stat'
 	*clr & cla
@@ -1525,72 +1573,44 @@ $cheatmenu['magic'] = {
 		'<center><a href="exec:dynamic $cheatmenu[''succubreset'']"><b>Remove & Reset Succubus status</b></a></center>'
 		*nl
 	end
-	'<center><table  width="90%" cellspacing="0" cellpadding="0" valign="top">'
-	'<tr><td width="50%" cellpadding="10" valign="top">'
-		*nl
-		'<b>General Spells:</b></a>'
-	if spelltuman = 0:'<a href="exec:spelltuman = 1 & dynamic $cheatmenu[''magic'']">Cover the area fog</a>'
-	if spellklon = 0:'<a href="exec:spellklon = 1 & dynamic $cheatmenu[''magic'']">Override clone of yourself</a>'
-	if spellstun = 0:'<a href="exec:spellstun = 1 & dynamic $cheatmenu[''magic'']">Checkmate</a>'
-	if spellweap = 0:'<a href="exec:spellweap = 1 & dynamic $cheatmenu[''magic'']">Invest energy into a weapon (It requires weapons)</a>'
-	if spellwind = 0:'<a href="exec:spellwind = 1 & dynamic $cheatmenu[''magic'']">Blow away the fog</a>'
-	if spellklon2 = 0:'<a href="exec:spellklon2 = 1 & dynamic $cheatmenu[''magic'']">Substitute itself clones (3 pieces)</a>'
-	if spellenergo = 0:'<a href="exec:spellenergo = 1 & dynamic $cheatmenu[''magic'']">Create a weak energy shield</a>'
-	if spellinit = 0:'<a href="exec:spellinit = 1 & dynamic $cheatmenu[''magic'']">Create a slight delay of time</a>'
-	if spellhel = 0:'<a href="exec:spellhel = 1 & dynamic $cheatmenu[''magic'']">Battle Heal</a>'
-
-	if spellfire0 = 0 or spellfire2 = 0 or spellfire3 = 0 or spellfire4 = 0 or spellfire5 = 0:
-		*nl
-		'<b>Elemental Spells Fire:</b></a>'
-	end
-	if spellfire0 = 0:'<a href="exec:spellfire0 = 1 & dynamic $cheatmenu[''magic'']">Flame</a>'
-	if spellfire2 = 0:'<a href="exec:spellfire2 = 1 & dynamic $cheatmenu[''magic'']">The release of fire</a>'
-	if spellfire3 = 0:'<a href="exec:spellfire3 = 1 & dynamic $cheatmenu[''magic'']">Fire Barrier</a>'
-	if spellfire4 = 0:'<a href="exec:spellfire4 = 1 & dynamic $cheatmenu[''magic'']">Firestorm</a>'
-	if spellfire5 = 0:'<a href="exec:spellfire5 = 1 & dynamic $cheatmenu[''magic'']">Flame Shield</a>'
 
-	if spellele0 = 0 or spellele2 = 0 or spellele3 = 0 or spellele4 = 0 or spellele5 = 0:
-		*nl
-		'<b>Elements Lightning Spells:</b></a>'
-	end
-	if spellele0 = 0:'<a href="exec:spellele0 = 1 & dynamic $cheatmenu[''magic'']">Category</a>'
-	if spellele2 = 0:'<a href="exec:spellele2 = 1 & dynamic $cheatmenu[''magic'']">Lightning</a>'
-	if spellele3 = 0:'<a href="exec:spellele3 = 1 & dynamic $cheatmenu[''magic'']">Electric barrier</a>'
-	if spellele4 = 0:'<a href="exec:spellele4 = 1 & dynamic $cheatmenu[''magic'']">Dance of thousands of birds</a>'
-	if spellele5 = 0:'<a href="exec:spellele5 = 1 & dynamic $cheatmenu[''magic'']">Dancing Sphere</a>'
+	!Make sure spell list is initialized
+	if spellMana['fog'] = 0:gs 'spellList'
 
-	'</td><td width="50%" cellpadding="10" valign="top">'
-	if spellert0 = 0 or spellert2 = 0 or spellert3 = 0 or spellert4 = 0 or spellert5 = 0:
-		*nl
-		'<b>Spells Earth Elements:</b></a>'
-	end
-	if spellert0 = 0:'<a href="exec:spellert0 = 1 & dynamic $cheatmenu[''magic'']">Quicksand</a>'
-	if spellert2 = 0:'<a href="exec:spellert2 = 1 & dynamic $cheatmenu[''magic'']">Active protection</a>'
-	if spellert3 = 0:'<a href="exec:spellert3 = 1 & dynamic $cheatmenu[''magic'']">Abyss</a>'
-	if spellert4 = 0:'<a href="exec:spellert4 = 1 & dynamic $cheatmenu[''magic'']">Absolute protection</a>'
-	if spellert5 = 0:'<a href="exec:spellert5 = 1 & dynamic $cheatmenu[''magic'']">Sando</a>'
+	dynamic $cheatmenu['magicTable'], 'Combat Spells', '$combatSpells'
+	dynamic $cheatmenu['magicTable'], 'Non-Combat Spells', '$nonComSpells'
 
-	if spellwind0 = 0 or spellwind2 = 0 or spellwind3 = 0 or spellwind4 = 0 or spellwind5 = 0:
-		*nl
-		'<b>Wind Elemental Spells:</b></a>'
+	! Add in Teleport Location toggles.
+	! make the header for the table
+	$SpellListStr = "<center>
+		<table width='90%' cellspacing='0' cellpadding='5' valign='top' border='1'>
+			<tr><th colspan='2'><b>Known Tree Circle Locations</b></th></tr>
+			<tr><td><a href=""EXEC: spellKnown['teleport']=<<iif(spellKnown['teleport']=1,'0','1')>> & dynamic $cheatmenu['magic']""><<iif(spellKnown['teleport']=1,'[Unlearn]','[Learn]')>></a></td><td>Teleport Spell</td></tr>"
+	i = 0
+	:CheatDinTP1
+	$ThisLocation = $tpLocations[i]
+	if i < arrsize('$tpLocations'):
+		if tpKnown[$ThisLocation] = 1:
+			$spellFlipper = "<a href=""EXEC: tpKnown['<<$ThisLocation>>'] = 0 & dynamic $cheatmenu['magic']"">[Unlearn]</a>"
+		else
+			$spellFlipper = "<a href=""EXEC: tpKnown['<<$ThisLocation>>'] = 1 & dynamic $cheatmenu['magic']"">[Learn]</a>"
+		end
+		$SpellListStr = $SpellListStr + " <tr><td><<$spellFlipper>></td><td><<$treeCircName[$ThisLocation]>></td></tr>"
+		i += 1
+		jump 'CheatDinTP1'
 	end
-	if spellwind0 = 0:'<a href="exec:spellwind0 = 1 & dynamic $cheatmenu[''magic'']">Wind gust</a>'
-	if spellwind2 = 0:'<a href="exec:spellwind2 = 1 & dynamic $cheatmenu[''magic'']">The horrific pressure</a>'
-	if spellwind3 = 0:'<a href="exec:spellwind3 = 1 & dynamic $cheatmenu[''magic'']">Vacuum Sphere</a>'
-	if spellwind4 = 0:'<a href="exec:spellwind4 = 1 & dynamic $cheatmenu[''magic'']">Vacuum shells</a>'
-	if spellwind5 = 0:'<a href="exec:spellwind5 = 1 & dynamic $cheatmenu[''magic'']">Devouring vacuum</a>'
 
-	if spellwater0 = 0 or spellwater2 = 0 or spellwater3 = 0 or spellwater4 = 0 or spellwater5 = 0:
-		*nl
-		'<b>Water Elemental Spell:</b></a>'
-	end
-	if spellwater0 = 0:'<a href="exec:spellwater0 = 1 & dynamic $cheatmenu[''magic'']">Creek manna</a>'
-	if spellwater2 = 0:'<a href="exec:spellwater2 = 1 & dynamic $cheatmenu[''magic'']">Flooding</a>'
-	if spellwater3 = 0:'<a href="exec:spellwater3 = 1 & dynamic $cheatmenu[''magic'']">Blister</a>'
-	if spellwater4 = 0:'<a href="exec:spellwater4 = 1 & dynamic $cheatmenu[''magic'']">Water shark rocket</a>'
-	if spellwater5 = 0:'<a href="exec:spellwater5 = 1 & dynamic $cheatmenu[''magic'']">The Great Flood</a>'
+	$SpellListStr = $SpellListStr + " 
+		</table>
+	</center>"
+
+	*p $SpellListStr
+
+	killvar 'i'
+	killvar '$ThisLocation'
+	killvar '$spellFlipper'
+	killvar '$SpellListStr'
 
-	'</td></tr></table></center>'
 }
 
 $cheatmenu['dynamic'] = {

+ 2 - 2
locations/MagEncounterFairy.qsrc

@@ -226,7 +226,7 @@ if $ARGS[0] = 'fairychattopic':
 		'You get into a pretty heated discussion with the fairy over whether dogs or cats are better. Well, it''s mostly the fairy that gets heated. It would be a mundane discussion for anyone else, but she takes it very seriously.'
 	elseif frandchat = 15:
 		'Today the fairy introduces you to fairy knock-knock jokes. She spends almost half an hour telling joke after joke, but you failed to understand a single one. By the time you''re ready to leave, she''s complaining about how humans have no sense of humor.'
-	else:
+	else
 		! Teleport event
 		if spellKnown['teleport'] = 0:
 			!show and teach Teleport spell
@@ -251,7 +251,7 @@ if $ARGS[0] = 'fairychattopic':
 				cla
 				act 'You step out of the circle...':gt 'gadforest', '1'
 			end
-		else:
+		else
 			!take the user to random location
 
 			'The Fairy nudges you into the nearby tree circle, and giggles as you hear her incant "inla", then flies out of the ring.'

+ 36 - 3
locations/_attributes_average.qsrc

@@ -156,6 +156,7 @@ elseif ARGS[1] = 25:
 	CloTopCut = 4
 	CloPantsShortness = 5
 	CloExhibit = 30
+	CloStyle = 4
 elseif ARGS[1] = 26:
 	CloQuality = 3
 	CloThinness = 5
@@ -206,6 +207,7 @@ elseif ARGS[1] = 33:
 	CloTopCut = 2
 	CloPantsShortness = 5
 	CloExhibit = 25
+	CloStyle = 4
 elseif ARGS[1] = 34:
 	CloQuality = 3
 	CloThinness = 3
@@ -231,6 +233,7 @@ elseif ARGS[1] = 37:
 	CloTopCut = 4
 	CloPantsShortness = 5
 	CloExhibit = 25
+	CloStyle = 4
 elseif ARGS[1] = 38:
 	CloQuality = 4
 	CloThinness = 3
@@ -432,12 +435,14 @@ elseif ARGS[1] = 69:
 	CloTopCut = 2
 	CloSkirtShortness = 3
 	CloExhibit = 10
+	CloStyle = 2
 elseif ARGS[1] = 70:
 	CloQuality = 5
 	CloThinness = 4
 	CloTopCut = 2
 	CloSkirtShortness = 2
 	CloExhibit = 10
+	CloStyle = 2
 elseif ARGS[1] = 71:
 	CloQuality = 5
 	CloThinness = 3
@@ -493,7 +498,7 @@ elseif ARGS[1] = 79:
 	CloThinness = 3
 	CloTopCut = 2
 	CloSkirtShortness = 4
-	CloStyle = 2
+	CloStyle = 4
 	CloExhibit = 20
 elseif ARGS[1] = 80:
 	CloQuality = 3
@@ -525,6 +530,7 @@ elseif ARGS[1] = 84:
 	CloTopCut = 2
 	CloPantsShortness = 4
 	CloExhibit = 15
+	CloStyle = 4
 elseif ARGS[1] = 85:
 	CloQuality = 3
 	CloThinness = 5
@@ -574,6 +580,7 @@ elseif ARGS[1] = 92:
 	CloTopCut = 1
 	CloSkirtShortness = 3
 	CloExhibit = 25
+	CloStyle = 2
 elseif ARGS[1] = 93:
 	CloQuality = 4
 	CloThinness = 4
@@ -592,6 +599,7 @@ elseif ARGS[1] = 95:
 	CloBra = 1
 	CloPantsShortness = 1
 	CloExhibit = 25
+	CloStyle = 4
 elseif ARGS[1] = 96:
 	CloQuality = 4
 	CloThinness = 3
@@ -649,6 +657,7 @@ elseif ARGS[1] = 104:
 	CloTopCut = 3
 	CloSkirtShortness = 4
 	CloExhibit = 20
+	CloStyle = 4
 elseif ARGS[1] = 105:
 	CloQuality = 3
 	CloThinness = 2
@@ -674,6 +683,7 @@ elseif ARGS[1] = 108:
 	CloTopCut = 4
 	CloSkirtShortness = 5
 	CloExhibit = 30
+	CloStyle = 4
 elseif ARGS[1] = 109:
 	CloQuality = 3
 	CloThinness = 4
@@ -767,6 +777,7 @@ elseif ARGS[1] = 123:
 	CloTopCut = 4
 	CloSkirtShortness = 5
 	CloExhibit = 30
+	CloBimbo = 1
 elseif ARGS[1] = 124:
 	CloQuality = 4
 	CloThinness = 4
@@ -804,12 +815,14 @@ elseif ARGS[1] = 129:
 	CloTopCut = 4
 	CloPantsShortness = 6
 	CloExhibit = 30
+	CloStyle = 4
 elseif ARGS[1] = 130:
 	CloQuality = 4
 	CloThinness = 5
 	CloBra = 1
 	CloPantsShortness = 6
 	CloExhibit = 30
+	CloStyle = 4
 elseif ARGS[1] = 131:
 	CloQuality = 4
 	CloThinness = 4 
@@ -945,6 +958,7 @@ elseif ARGS[1] = 152:
 	CloTopCut = 4
 	CloPantsShortness = 1
 	CloExhibit = 15
+	CloStyle = 4
 elseif ARGS[1] = 153:
 	CloQuality = 4
 	CloThinness = 4
@@ -993,6 +1007,7 @@ elseif ARGS[1] = 160:
 	CloTopCut = 1
 	CloSkirtShortness = 4
 	CloExhibit = 20
+	CloStyle = 4
 elseif ARGS[1] = 161:
 	CloQuality = 3
 	CloThinness = 4
@@ -1201,6 +1216,7 @@ elseif ARGS[1] = 194:
 	CloTopCut = 2
 	CloSkirtShortness = 4
 	CloExhibit = 15
+	CloStyle = 4
 elseif ARGS[1] = 195:
 	CloQuality = 3
 	CloThinness = 3
@@ -1213,6 +1229,7 @@ elseif ARGS[1] = 196:
 	CloTopCut = 1
 	CloSkirtShortness = 3
 	CloExhibit = 10
+	CloStyle = 4
 elseif ARGS[1] = 197:
 	CloQuality = 4
 	CloThinness = 2
@@ -1225,6 +1242,7 @@ elseif ARGS[1] = 198:
 	CloTopCut = 2
 	CloSkirtShortness = 4
 	CloExhibit = 15
+	CloStyle = 4
 elseif ARGS[1] = 199:
 	CloQuality = 3
 	CloThinness = 4
@@ -1353,6 +1371,7 @@ elseif ARGS[1] = 219:
 	CloTopCut = 4
 	CloPantsShortness = 5
 	CloExhibit = 25
+	CloStyle = 4
 elseif ARGS[1] = 220:
 	CloQuality = 4
 	CloThinness = 3
@@ -1390,6 +1409,7 @@ elseif ARGS[1] = 225:
 	CloTopCut = 1
 	CloSkirtShortness = 5
 	CloExhibit = 20
+	CloStyle = 4
 elseif ARGS[1] = 226:
 	CloQuality = 4
 	CloThinness = 2
@@ -1474,6 +1494,7 @@ elseif ARGS[1] = 239:
 	CloTopCut = 1
 	CloPantsShortness = 1
 	CloExhibit = 15
+	CloStyle = 4
 elseif ARGS[1] = 240:
 	CloQuality = 3
 	CloThinness = 3
@@ -1510,6 +1531,7 @@ elseif ARGS[1] = 245:
 	CloTopCut = 3
 	CloSkirtShortness = 4
 	CloExhibit = 20
+	CloStyle = 4
 elseif ARGS[1] = 246:
 	CloQuality = 4
 	CloThinness = 4
@@ -1523,6 +1545,7 @@ elseif ARGS[1] = 247:
 	CloTopCut = 3
 	CloSkirtShortness = 4
 	CloExhibit = 20
+	CloStyle = 4
 elseif ARGS[1] = 248:
 	CloQuality = 3
 	CloThinness = 4
@@ -1663,6 +1686,7 @@ elseif ARGS[1] = 270:
 	CloTopCut = 2
 	CloSkirtShortness = 2
 	CloExhibit = 20
+	CloStyle = 4
 elseif ARGS[1] = 271:
 	CloQuality = 3
 	CloThinness = 3
@@ -1682,6 +1706,7 @@ elseif ARGS[1] = 273:
 	CloSkirtShortness = 5
 	CloBimbo = 1
 	CloExhibit = 25
+	CloStyle = 4
 elseif ARGS[1] = 274:
 	CloQuality = 4
 	CloThinness = 4
@@ -1854,6 +1879,7 @@ elseif ARGS[1] = 301:
 	CloTopCut = 3
 	CloPantsShortness = 5
 	CloExhibit = 20
+	CloStyle = 4
 elseif ARGS[1] = 302:
 	CloQuality = 4
 	CloThinness = 4
@@ -2158,6 +2184,7 @@ elseif ARGS[1] = 349:
 	CloTopCut = 3
 	CloPantsShortness = 5
 	CloExhibit = 20
+	CloStyle = 4
 elseif ARGS[1] = 350:
 	CloQuality = 4
 	CloThinness = 5
@@ -2244,6 +2271,7 @@ elseif ARGS[1] = 363:
 	CloTopCut = 3
 	CloSkirtShortness = 2
 	CloExhibit = 15
+	CloStyle = 4
 elseif ARGS[1] = 364:
 	CloQuality = 3
 	CloThinness = 4
@@ -2256,6 +2284,7 @@ elseif ARGS[1] = 365:
 	CloTopCut = 3
 	CloSkirtShortness = 2
 	CloExhibit = 15
+	CloStyle = 4
 elseif ARGS[1] = 366:
 	CloQuality = 4
 	CloThinness = 3
@@ -2651,7 +2680,7 @@ elseif ARGS[1] = 429:
 	CloThinness = 4
 	CloTopCut = 1
 	CloPantsShortness = 4
-	CloBimbo = 1
+	CloStyle = 4
 	CloExhibit = 15
 elseif ARGS[1] = 430:
 	CloQuality = 3
@@ -2714,6 +2743,7 @@ elseif ARGS[1] = 439:
 	CloTopCut = 1
 	CloSkirtShortness = 4
 	CloExhibit = 15
+	CloStyle = 4
 elseif ARGS[1] = 440:
 	CloQuality = 4
 	CloThinness = 4
@@ -2845,7 +2875,7 @@ elseif ARGS[1] = 461:
 	CloThinness = 4
 	CloTopCut = 3
 	CloSkirtShortness = 4
-	CloBimbo = 1
+	CloStyle = 4
 	CloExhibit = 20
 elseif ARGS[1] = 462:
 	CloQuality = 3
@@ -2909,6 +2939,7 @@ elseif ARGS[1] = 471:
 	CloTopCut = 1
 	CloPantsShortness = 5
 	CloExhibit = 15
+	CloStyle = 4
 elseif ARGS[1] = 472:
 	CloQuality = 4
 	CloThinness = 2
@@ -3137,6 +3168,7 @@ elseif ARGS[1] = 508:
 	CloTopCut = 3
 	CloSkirtShortness = 5
 	CloExhibit = 20
+	CloStyle = 4
 elseif ARGS[1] = 509:
 	CloQuality = 3
 	CloThinness = 2
@@ -3189,6 +3221,7 @@ elseif ARGS[1] = 516:
 	CloBra = 1
 	CloPantsShortness = 5
 	CloExhibit = 20
+	CloStyle = 4
 elseif ARGS[1] = 517:
 	CloQuality = 3
 	CloThinness = 3

+ 30 - 7
locations/_attributes_cheap.qsrc

@@ -137,7 +137,7 @@ elseif ARGS[1] = 25:
 	CloThinness = 2
 	CloTopCut = 2
 	CloSkirtShortness = 4
-	CloStyle = 2
+	CloStyle = 4
 elseif ARGS[1] = 26:
 	CloQuality = 1
 	CloThinness = 4
@@ -273,13 +273,12 @@ elseif ARGS[1] = 51:
 	CloThinness = 3
 	CloTopCut = 1
 	CloSkirtShortness = 5
-	CloStyle = 2
+	CloStyle = 4
 elseif ARGS[1] = 52:
 	CloQuality = 2
 	CloThinness = 4
 	CloTopCut = 3
 	CloSkirtShortness = 3
-	CloStyle = 4
 elseif ARGS[1] = 53:
 	CloQuality = 1
 	CloThinness = 5
@@ -323,6 +322,7 @@ elseif ARGS[1] = 60:
 	CloThinness = 3
 	CloTopCut = 1
 	CloSkirtShortness = 5
+	CloStyle = 2
 elseif ARGS[1] = 61:
 	CloQuality = 2
 	CloThinness = 4
@@ -620,6 +620,7 @@ elseif ARGS[1] = 115:
 	CloTopCut = 3
 	CloSkirtShortness = 4
 	CloExhibit = 30
+	CloStyle = 4
 elseif ARGS[1] = 116:
 	CloQuality = 1
 	CloThinness = 2
@@ -741,6 +742,7 @@ elseif ARGS[1] = 134:
 	CloBra = 1
 	CloPantsShortness = 5
 	CloExhibit = 30
+	CloStyle = 4
 elseif ARGS[1] = 135:
 	CloQuality = 1
 	CloThinness = 2
@@ -776,7 +778,7 @@ elseif ARGS[1] = 139:
 	CloThinness = 4
 	CloTopCut = 4
 	CloSkirtShortness = 5
-	CloBimbo = 1
+	CloStyle = 4
 	CloExhibit = 30
 elseif ARGS[1] = 140:
 	CloQuality = 1
@@ -864,6 +866,7 @@ elseif ARGS[1] = 153:
 	CloTopCut = 1
 	CloPantsShortness = 5
 	CloExhibit = 15
+	CloStyle = 4
 elseif ARGS[1] = 154:
 	CloQuality = 1
 	CloThinness = 2
@@ -883,6 +886,7 @@ elseif ARGS[1] = 156:
 	CloPantsShortness = 5
 	CloBimbo = 1
 	CloExhibit = 30
+	CloStyle = 4
 elseif ARGS[1] = 157:
 	CloQuality = 2
 	CloThinness = 2
@@ -908,6 +912,7 @@ elseif ARGS[1] = 160:
 	CloTopCut = 2
 	CloSkirtShortness = 2
 	CloExhibit = 10
+	CloStyle = 5
 elseif ARGS[1] = 161:
 	CloQuality = 2
 	CloThinness = 2
@@ -998,7 +1003,7 @@ elseif ARGS[1] = 175:
 	CloThinness = 4
 	CloTopCut = 3
 	CloSkirtShortness = 4
-	CloBimbo = 1
+	CloStyle = 4
 	CloExhibit = 20
 elseif ARGS[1] = 176:
 	CloQuality = 1
@@ -1198,6 +1203,7 @@ elseif ARGS[1] = 207:
 	CloTopCut = 2
 	CloSkirtShortness = 4
 	CloExhibit = 20
+	CloStyle = 2
 elseif ARGS[1] = 208:
 	CloQuality = 2
 	CloThinness = 2
@@ -1222,6 +1228,7 @@ elseif ARGS[1] = 211:
 	CloTopCut = 1
 	CloSkirtShortness = 4
 	CloExhibit = 15
+	CloStyle = 5
 elseif ARGS[1] = 212:
 	CloQuality = 2
 	CloThinness = 3
@@ -1348,6 +1355,7 @@ elseif ARGS[1] = 231:
 	CloTopCut = 2
 	CloSkirtShortness = 4
 	CloExhibit = 20
+	CloStyle = 4
 elseif ARGS[1] = 232:
 	CloQuality = 1
 	CloThinness = 2
@@ -1384,6 +1392,7 @@ elseif ARGS[1] = 237:
 	CloTopCut = 3
 	CloPantsShortness = 5
 	CloExhibit = 25
+	CloStyle = 4
 elseif ARGS[1] = 238:
 	CloQuality = 2
 	CloThinness = 1
@@ -1533,6 +1542,7 @@ elseif ARGS[1] = 261:
 	CloTopCut = 4
 	CloPantsShortness = 5
 	CloExhibit = 30
+	CloStyle = 4
 elseif ARGS[1] = 262:
 	CloStyle = 3
 	CloQuality = 2
@@ -1583,7 +1593,7 @@ elseif ARGS[1] = 269:
 	CloThinness = 4
 	CloTopCut = 3
 	CloSkirtShortness = 5
-	CloBimbo = 1
+	CloStyle = 4
 	CloExhibit = 30
 elseif ARGS[1] = 270:
 	CloQuality = 1
@@ -1603,6 +1613,7 @@ elseif ARGS[1] = 272:
 	CloTopCut = 4
 	CloPantsShortness = 5
 	CloExhibit = 25
+	CloStyle = 4
 elseif ARGS[1] = 273:
 	CloQuality = 2
 	CloThinness = 2
@@ -1744,6 +1755,7 @@ elseif ARGS[1] = 294:
 	CloTopCut = 3
 	CloPantsShortness = 5
 	CloExhibit = 20
+	CloStyle = 4
 elseif ARGS[1] = 295:
 	CloQuality = 1
 	CloThinness = 3
@@ -1762,6 +1774,7 @@ elseif ARGS[1] = 297:
 	CloTopCut = 1
 	CloSkirtShortness = 4
 	CloExhibit = 20
+	CloStyle = 4
 elseif ARGS[1] = 298:
 	CloQuality = 1
 	CloThinness = 2
@@ -1800,6 +1813,7 @@ elseif ARGS[1] = 303:
 	CloTopCut = 3
 	CloSkirtShortness = 5
 	CloExhibit = 25
+	CloStyle = 4
 elseif ARGS[1] = 304:
 	CloStyle = 4
 	CloQuality = 1
@@ -1819,6 +1833,7 @@ elseif ARGS[1] = 306:
 	CloTopCut = 2
 	CloPantsShortness = 5
 	CloExhibit = 25
+	CloStyle = 4
 elseif ARGS[1] = 307:
 	CloStyle = 1
 	CloQuality = 2
@@ -1858,6 +1873,7 @@ elseif ARGS[1] = 312:
 	CloTopCut = 4
 	CloSkirtShortness = 5
 	CloExhibit = 30
+	CloStyle = 4
 elseif ARGS[1] = 313:
 	CloQuality = 2
 	CloThinness = 3
@@ -1940,6 +1956,7 @@ elseif ARGS[1] = 325:
 	CloTopCut = 1
 	CloPantsShortness = 4
 	CloExhibit = 20
+	CloStyle = 4
 elseif ARGS[1] = 326:
 	CloQuality = 2
 	CloThinness = 2
@@ -2457,6 +2474,7 @@ elseif ARGS[1] = 410:
 	CloTopCut = 2
 	CloSkirtShortness = 4
 	CloExhibit = 30
+	CloStyle = 4
 elseif ARGS[1] = 411:
 	CloQuality = 2
 	CloThinness = 2
@@ -2481,7 +2499,12 @@ elseif ARGS[1] = 414:
 	CloTopCut = 1
 	CloSkirtShortness = 3
 	CloExhibit = 0
-
+elseif ARGS[1] = 415:
+	CloQuality = 2
+	CloThinness = 5
+	CloTopCut = 4
+	CloSkirtShortness = 3
+	CloExhibit = 15
 end
 
 --- $attributes_cheap ---------------------------------

+ 34 - 20
locations/_attributes_expensive.qsrc

@@ -32,7 +32,7 @@ elseif ARGS[1] = 6:
 	CloThinness = 5
 	CloTopCut = 3
 	CloSkirtShortness = 5
-	CloStyle = 3
+	CloStyle = 4
 elseif ARGS[1] = 7:
 	CloQuality = 5
 	CloThinness = 3
@@ -77,6 +77,7 @@ elseif ARGS[1] = 14:
 	CloThinness = 3
 	CloTopCut = 3
 	CloPantsShortness = 5
+	CloStyle = 4
 elseif ARGS[1] = 15:
 	CloQuality = 5
 	CloThinness = 4
@@ -102,7 +103,7 @@ elseif ARGS[1] = 19:
 	CloThinness = 4
 	CloTopCut = 3
 	CloSkirtShortness = 5
-	CloStyle = 3
+	CloStyle = 4
 elseif ARGS[1] = 20:
 	CloQuality = 6
 	CloThinness = 5
@@ -179,13 +180,13 @@ elseif ARGS[1] = 34:
 	CloThinness = 4
 	CloTopCut = 1
 	CloPantsShortness = 5
-	CloStyle = 2
+	CloStyle = 4
 elseif ARGS[1] = 35:
 	CloQuality = 6
 	CloThinness = 5
 	CloTopCut = 3
 	CloSkirtShortness = 3
-	CloStyle = 3
+	CloStyle = 4
 elseif ARGS[1] = 36:
 	CloQuality = 5
 	CloThinness = 4
@@ -238,17 +239,18 @@ elseif ARGS[1] = 45:
 	CloTopCut = 4
 	CloPantsShortness = 5
 	CloBimbo = 1
-	CloStyle = 3
 elseif ARGS[1] = 46:
 	CloQuality = 5
 	CloThinness = 5
 	CloTopCut = 3
 	CloSkirtShortness = 5
+	CloStyle = 4
 elseif ARGS[1] = 47:
 	CloQuality = 5
 	CloThinness = 4
 	CloTopCut = 2
 	CloPantsShortness = 1
+	CloStyle = 5
 elseif ARGS[1] = 48:
 	CloQuality = 5
 	CloThinness = 4
@@ -259,6 +261,7 @@ elseif ARGS[1] = 49:
 	CloThinness = 4
 	CloTopCut = 3
 	CloSkirtShortness = 4
+	CloStyle = 4
 elseif ARGS[1] = 50:
 	CloQuality = 6
 	CloThinness = 3
@@ -279,6 +282,7 @@ elseif ARGS[1] = 53:
 	CloThinness = 4
 	CloTopCut = 3
 	CloSkirtShortness = 5
+	CloStyle = 4
 elseif ARGS[1] = 54:
 	CloQuality = 5
 	CloThinness = 4
@@ -355,7 +359,7 @@ elseif ARGS[1] = 67:
 	CloThinness = 3
 	CloTopCut = 2
 	CloSkirtShortness = 5
-	CloStyle = 3
+	CloStyle = 4
 elseif ARGS[1] = 68:
 	CloQuality = 5
 	CloThinness = 4
@@ -366,12 +370,13 @@ elseif ARGS[1] = 69:
 	CloThinness = 4
 	CloTopCut = 1
 	CloSkirtShortness = 5
+	CloStyle = 4
 elseif ARGS[1] = 70:
 	CloQuality = 6
 	CloThinness = 5
 	CloTopCut = 2
 	CloSkirtShortness = 5
-	CloStyle = 3
+	CloStyle = 4
 elseif ARGS[1] = 71:
 	CloQuality = 5
 	CloThinness = 4
@@ -387,7 +392,7 @@ elseif ARGS[1] = 73:
 	CloThinness = 3
 	CloTopCut = 3
 	CloSkirtShortness = 5
-	CloStyle = 3
+	CloStyle = 4
 elseif ARGS[1] = 74:
 	CloQuality = 5
 	CloThinness = 3
@@ -410,6 +415,7 @@ elseif ARGS[1] = 77:
 	CloThinness = 5
 	CloTopCut = 2
 	CloSkirtShortness = 4
+	CloStyle = 4
 elseif ARGS[1] = 78:
 	CloQuality = 5
 	CloThinness = 3
@@ -420,6 +426,7 @@ elseif ARGS[1] = 79:
 	CloThinness = 5
 	CloTopCut = 2
 	CloSkirtShortness = 5
+	CloStyle = 4
 elseif ARGS[1] = 80:
 	CloQuality = 6
 	CloThinness = 3
@@ -550,7 +557,7 @@ elseif ARGS[1] = 103:
 	CloThinness = 4
 	CloTopCut = 2
 	CloSkirtShortness = 5
-	CloBimbo = 1
+	CloStyle = 4
 elseif ARGS[1] = 104:
 	CloQuality = 5
 	CloThinness = 4
@@ -571,7 +578,7 @@ elseif ARGS[1] = 107:
 	CloThinness = 4
 	CloTopCut = 4
 	CloSkirtShortness = 5
-	CloStyle = 3
+	CloStyle = 4
 elseif ARGS[1] = 108:
 	CloQuality = 6
 	CloThinness = 4
@@ -619,6 +626,7 @@ elseif ARGS[1] = 115:
 	CloThinness = 4
 	CloTopCut = 1
 	CloSkirtShortness = 5
+	CloStyle = 4
 elseif ARGS[1] = 116:
 	CloQuality = 5
 	CloThinness = 4
@@ -636,7 +644,7 @@ elseif ARGS[1] = 118:
 	CloThinness = 5
 	CloTopCut = 3
 	CloSkirtShortness = 4
-	CloStyle = 3
+	CloStyle = 4
 elseif ARGS[1] = 119:
 	CloQuality = 5
 	CloThinness = 5
@@ -714,18 +722,19 @@ elseif ARGS[1] = 132:
 	CloThinness = 4
 	CloTopCut = 4
 	CloSkirtShortness = 4
-	CloStyle = 3
+	CloStyle = 4
 elseif ARGS[1] = 133:
 	CloQuality = 6
 	CloThinness = 5
 	CloTopCut = 2
 	CloSkirtShortness = 4
-	CloStyle = 3
+	CloStyle = 4
 elseif ARGS[1] = 134:
 	CloQuality = 5
 	CloThinness = 5
 	CloTopCut = 1
 	CloSkirtShortness = 3
+	CloStyle = 4
 elseif ARGS[1] = 135:
 	CloQuality = 6
 	CloThinness = 4
@@ -771,6 +780,7 @@ elseif ARGS[1] = 142:
 	CloThinness = 4
 	CloTopCut = 3
 	CloSkirtShortness = 4
+	CloStyle = 4
 elseif ARGS[1] = 143:
 	CloQuality = 6
 	CloThinness = 4
@@ -792,13 +802,13 @@ elseif ARGS[1] = 146:
 	CloThinness = 5
 	CloTopCut = 1
 	CloSkirtShortness = 5
-	CloStyle = 3
+	CloStyle = 4
 elseif ARGS[1] = 147:
 	CloQuality = 5
 	CloThinness = 3
 	CloTopCut = 1
 	CloSkirtShortness = 5
-	CloBimbo = 1
+	CloStyle = 4
 elseif ARGS[1] = 148:
 	CloQuality = 5
 	CloThinness = 3
@@ -1037,6 +1047,7 @@ elseif ARGS[1] = 193:
 	CloThinness = 4
 	CloTopCut = 2
 	CloSkirtShortness = 3
+	CloStyle = 4
 elseif ARGS[1] = 194:
 	CloQuality = 5
 	CloThinness = 3
@@ -1091,6 +1102,7 @@ elseif ARGS[1] = 203:
 	CloThinness = 5
 	CloTopCut = 1
 	CloSkirtShortness = 4
+	CloStyle = 4
 elseif ARGS[1] = 204:
 	CloQuality = 6
 	CloThinness = 3
@@ -1149,7 +1161,7 @@ elseif ARGS[1] = 214:
 	CloThinness = 5
 	CloTopCut = 1
 	CloSkirtShortness = 3
-	CloBimbo = 1
+	CloStyle = 4
 elseif ARGS[1] = 215:
 	CloQuality = 6
 	CloThinness = 2
@@ -1303,7 +1315,6 @@ elseif ARGS[1] = 243:
 	CloQuality = 5
 	CloThinness = 4
 	CloTopCut = 3
-	CloBra = 1
 	CloPantsShortness = 1
 	CloBimbo = 1
 elseif ARGS[1] = 244:
@@ -1414,7 +1425,7 @@ elseif ARGS[1] = 264:
 	CloThinness = 4
 	CloTopCut = 3
 	CloPantsShortness = 1
-	CloBimbo = 1
+	CloStyle = 4
 elseif ARGS[1] = 265:
 	CloQuality = 5
 	CloThinness = 4
@@ -1574,6 +1585,7 @@ elseif ARGS[1] = 294:
 	CloThinness = 4
 	CloTopCut = 1
 	CloSkirtShortness = 5
+	CloStyle = 4
 elseif ARGS[1] = 295:
 	CloQuality = 6
 	CloThinness = 3
@@ -1731,6 +1743,7 @@ elseif ARGS[1] = 323:
 	CloTopCut = 3
 	CloPantsShortness = 1
 	CloBimbo = 1
+	CloStyle = 4
 elseif ARGS[1] = 324:
 	CloQuality = 5
 	CloThinness = 4
@@ -2009,6 +2022,7 @@ elseif ARGS[1] = 376:
 	CloThinness = 3
 	CloTopCut = 2
 	CloSkirtShortness = 4
+	CloStyle = 4
 elseif ARGS[1] = 377:
 	CloQuality = 6
 	CloThinness = 3
@@ -2045,7 +2059,7 @@ elseif ARGS[1] = 383:
 	CloThinness = 4
 	CloTopCut = 3
 	CloSkirtShortness = 4
-	CloBimbo = 1
+	CloStyle = 4
 elseif ARGS[1] = 384:
 	CloQuality = 6
 	CloThinness = 4
@@ -2174,6 +2188,7 @@ elseif ARGS[1] = 408:
 	CloThinness = 4
 	CloTopCut = 3
 	CloSkirtShortness = 3
+	CloStyle = 4
 elseif ARGS[1] = 409:
 	CloQuality = 6
 	CloThinness = 4
@@ -2185,7 +2200,6 @@ elseif ARGS[1] = 410:
 	CloThinness = 4
 	CloTopCut = 1
 	CloPantsShortness = 5
-	CloBimbo = 1
 	CloStyle = 4
 elseif ARGS[1] = 411:
 	CloQuality = 6

+ 14 - 9
locations/brother_voyeur.qsrc

@@ -1487,7 +1487,7 @@ if $ARGS[0] = 'brother_shower_bj':
 		gs 'arousal', 'bj', rand(1,5)
 		brotherbjfinish = rand(1,2)
 		if brotherbjfinish = 1:
-			gs 'cum_call', 'mouth', $boy
+			gs 'cum_call', 'mouth', 'A34', 1
 			brotherbjcomment = rand(1,2)
 			gs 'stat'
 
@@ -1497,7 +1497,7 @@ if $ARGS[0] = 'brother_shower_bj':
 			'	"Hey <<$pcs_nickname>>," he says through grunts. "I''m gonna cum soon. Can I cum on your face?"'
 			act'Ignore him and keep sucking':
 				cla
-				gs 'cum_call', 'mouth', $boy
+				gs 'cum_call', 'mouth', 'A34', 1
 				gs 'arousal', 'end'
 				gs 'stat'
 				*nl
@@ -1606,8 +1606,11 @@ end
 
 
 if $ARGS[0] = 'shower_swallow':
-	brotherbjcomment = rand(1,2)
 	cla & *clr
+	brotherbjcomment = rand(1,2)
+	gs 'boystat','A34'
+	gs 'cum_call', 'mouth', 'A34', 1
+	gs 'stat'
 	'<center><video src="images/shared/home/bathroom/showerbj.mp4"></center>'
 	if broshowerfuck = daystart:
 		'	Sinking to your knees, you barely put the tip of Kolka''s cock in before he explodes between your lips. Cum fills your mouth and you contemplate what to do with it.'
@@ -1782,10 +1785,11 @@ if $ARGS[0] = 'shower_swallow':
 end
 
 if $ARGS[0] = 'shower_facial':
+	cla & *clr
 	brotherbjcomment = rand(1,2)
-	gs 'cum_call', 'face', $boy
+	gs 'boystat','A34'
+	gs 'cum_call', 'face', 'A34', 1
 	gs 'stat'
-	cla & *clr
 	'<center><img <<$set_imgh>> src="images/shared/home/bathroom/facial1.jpg"></center>'
 	if broshowerfuck = daystart:
 		'	You kneel down in front of Kolka, jerking his cock off. He starts to cum and as the first spurt hits you, you squeeze your eyes shut, continuing to jerk your brother until your face is thoroughly coated and feel no more droplets.'
@@ -2106,6 +2110,8 @@ if $ARGS[0] = 'brother_shower_fuck_first2':
 					'	<i>Well,</i> you think to yourself, <i>It''s a good thing I''m on birth control.</i>'
 				elseif mesec > 0:
 					'	<i>Well,</i> you think to yourself, <i>I don''t think I can get pregnant when I''m on my period... right...?</i>'
+				elseif knowpreg = 1:
+					'	<i>Well,</i> you think to yourself, <i>I''m already pregnant.</i>'
 				else
 					'	<i>Shit...</i> You close your eyes, sighing as you feel another glob of Kolka''s cum drip from your pussy. <i>I fucked up...</i>'
 				end
@@ -2155,6 +2161,7 @@ end
 
 if $ARGS[0] = 'brother_fuck_cum':
 	cla & *clr
+	gs 'boystat','A34'
 	'<center><video src="images/characters/pavlovsk/resident/kolka/event/shower/broshower.mp4"></center>'
 	if brotherfuck ! 1:brothercumchoice = rand(1,4)
 	if brotherfuck = 1:brothercumchoice = 1
@@ -2226,7 +2233,7 @@ if $ARGS[0] = 'brother_fuck_cum':
 				gs 'cum_call', 'stomach', 'A34', 1
 				'<center><video src="images/shared/home/bathroom/showercum.mp4"></center>'
 				'	"No! Not inside me!" you cry out. You push him off you and turn around. Grabbing his cock, you jerk him vigorously until he groans, spraying hot cum that spatters all over your stomach.'
-				if pillcon < 30000 and pillday < 18 and tabletkishot < 1 and succubusflag = 0:'	Feeling his spunk on your stomach, you suddenly grow annoyed and wonder why you even finished him off. "What the fuck Kolka?! Are you <i>trying</i> to get me pregnant?"'
+				if pillcon < 30000 and pillday < 18 and tabletkishot < 1 and succubusflag = 0 and knowpreg = 0 and thinkpreg = 0:'	Feeling his spunk on your stomach, you suddenly grow annoyed and wonder why you even finished him off. "What the fuck Kolka?! Are you <i>trying</i> to get me pregnant?"'
 				act'Continue':gt'brother_voyeur','brother_shower_fuck_end'
 			end
 		end
@@ -2237,7 +2244,7 @@ if $ARGS[0] = 'brother_fuck_cum':
 			gs 'stat'
 			'<center><video src="images/shared/home/bathroom/showercum.mp4"></center>'
 			'	"Not today Kolka." You push your brother off of you and turn around. Grabbing his cock, you jerk him vigorously until he groans, spraying hot cum that spatters all over your stomach.'
-			if pillcon < 30000 and pillday < 18 and tabletkishot < 1 and knowpreg = 0 and thinkpreg = 0:'	"Sorry little brother." You smile apologetically. "I''m not on birth control and I can''t afford to get knocked up. Especially not by my one of my siblings."'
+			if pillcon < 30000 and pillday < 18 and tabletkishot < 1 and succubusflag = 0 and knowpreg = 0 and thinkpreg = 0:'	"Sorry little brother." You smile apologetically. "I''m not on birth control and I can''t afford to get knocked up. Especially not by my one of my siblings."'
 			act'Continue':gt'brother_voyeur','brother_shower_fuck_end'
 		end
 
@@ -2383,8 +2390,6 @@ if $ARGS[0] = 'brother_fuck_cum':
 				end
 			end
 		end
-
-
 	elseif brothercumchoice = 4:
 		'	"<<$pcs_nickname>>-! I''m almost there! Can I cum in your mouth?"'
 		brotherbjcomment = 3

+ 17 - 26
locations/castSpell.qsrc

@@ -9,20 +9,11 @@
 !	Example:
 !		gs 'castSpell', 'teleport', 'CentralPark'
 
-!teleport
-spellMana['teleport'] = 1000
-spellTime['teleport'] = 20
-spellWill['teleport'] = 20
-spellDiff['teleport'] = 20
-!glamour
-spellMana['glamour'] = 500
-spellTime['glamour'] = 1
-spellWill['glamour'] = 15
-spellDiff['glamour'] = 30
+gs 'spellList'
 
 spellSuccess = 0
 
-$SpellName = $ARGS[0]
+$SpellID = $ARGS[0]
 $SpellArgs = ""
 i=1
 :ArgLoop
@@ -33,38 +24,38 @@ if i < arrsize('$ARGS'):
 end
 killvar 'i'
 
-if spellKnown[$SpellName] = 1:
+if spellKnown[$SpellID] = 1:
 	!Make a Skill Check to see if the Spell succeeds
-	spellRoll = pcs_splcstng - spellDiff[$SpellName] - (pcs_horny/5) + rand(1,100)
+	spellRoll = pcs_splcstng - spellDiff[$SpellID] - (pcs_horny/5) + rand(1,100)
 	if spellRoll > 50:
 		!Critical Success
 		spellSuccess = 2
-		splcstng_exp += rand(1,spellDiff[$SpellName]) + rand(0,5)
+		splcstng_exp += rand(1,spellDiff[$SpellID]) + rand(0,5)
 	elseif spellRoll > 10:
 		!Success
 		spellSuccess = 1
-		splcstng_exp += rand(1,spellDiff[$SpellName])
+		splcstng_exp += rand(1,spellDiff[$SpellID])
 	elseif spellRoll > -20:
 		!Failure
 		spellSuccess = 0
-		splcstng_exp += rand(1,spellDiff[$SpellName]) / 2
-	else:
+		splcstng_exp += rand(1,spellDiff[$SpellID]) / 2
+	else
 		!Critical Failure
 		spellSuccess = -1
-		splcstng_exp += rand(1,spellDiff[$SpellName]) / 2
+		splcstng_exp += rand(1,spellDiff[$SpellID]) / 2
 	end
 	killvar 'spellRoll'
 
 	!Incur the costs of casting the spell
 	if spellSuccess = 2:
-		manaCost = spellMana[$SpellName] / 2
+		manaCost = spellMana[$SpellID] / 2
 	elseif spellSuccess = -1:
-		manaCost = spellMana[$SpellName] * 2
-	else:
-		manaCost = spellMana[$SpellName]
+		manaCost = spellMana[$SpellID] * 2
+	else
+		manaCost = spellMana[$SpellID]
 	end
 	pcs_manna -= manaCost
-	!pcs_willpwr -= spellWill[$SpellName]
+	!pcs_willpwr -= spellWill[$SpellID]
 	arouseVal = manaCost / 50
 	gs 'arousal', 'voyeur', arouseVal
 	minut -= arouseVal
@@ -73,15 +64,15 @@ if spellKnown[$SpellName] = 1:
 
 end
 
-minut += spellTime[$SpellName]
+minut += spellTime[$SpellID]
 
 gs 'stat'
 
-$SpellExec = "gs 'spell_<<$SpellName>>', '<<spellSuccess>>'<<$SpellArgs>>"
+$SpellExec = "gs 'spell', '<<$SpellID>>', '<<spellSuccess>>'<<$SpellArgs>>"
 
 dynamic $SpellExec
 
-killvar '$SpellName'
+killvar '$SpellID'
 killvar '$SpellArgs'
 killvar '$SpellExec'
 

+ 5 - 3
locations/cikl.qsrc

@@ -1147,7 +1147,6 @@ if day = 25:
 			'<b><font color="green">300 <b>₽</b> has been deducted from your bank account, for you cable TV subscription.</font></b>'
 			kabelday = 1
 			karta -= 300 * hcount_cable
-			'<b><font color="red">Your card was declined during automatic debit of 300 <b>₽</b> for cable TV subscription.</font></b>'
 		elseif bankAccount = 1 and karta + bankDebtLimit >= (300 * hcount_cable):
 			'<b><font color="green">300 <b>₽</b> has been deducted from your bank account and overdraw facility, for you cable TV subscription.</font></b>'
 			kabelday = 1
@@ -1350,8 +1349,11 @@ if storyline = 1:
         end
 	end
 	!!Brother''s dick growth as he gets older
-	kolka_dick_month = daystart/30
-	if kolka_dick_month > daystart/30 and npc_dick['A34'] < 26: npc_dick['A34'] += 1
+	
+	if kolka_dick_day + 30 < daystart and npc_dick['A34'] < 26: 
+		kolka_dick_day = daystart
+		npc_dick['A34'] += 1
+	end
 	if npc_dick['A34'] < 20 and npc_dick['A34'] > 16:
 		$npc_thdick['A34'] = 'well proportioned'
 	elseif npc_dick['A34'] >= 20 and npc_dick['A34'] <= 26:

+ 23 - 23
locations/dimaRevenge.qsrc

@@ -1114,30 +1114,30 @@ if dimaRevChoice = 5:
 						And if he isn''t. Fuck him. That is one kid who deserves to be picked on.'
 						act 'leave school': gt 'gschool_grounds', 'main'
 						!!normal end of school
-						act 'No more':
+					end
+				end
+				act 'No more':
+					*clr & cla
+					grupvalue[4] += 10
+					'<center><img src="images/characters/pavlovsk/school/boy/dimka/revenge/chokegirl.jpg"></center>'
+					'You''ve been picked on for the last time. You put your hands on her throat and continue choking her. She tries to pry your finger off, but you are running on hysterical strength now. As she passes out, the principal grabs you and throw you off her.
+					She calls for a nurse then drags you to her office.'
+					act 'In trouble':
+						*clr & cla
+						demerit += 40
+						'<center><img src="images/characters/pavlovsk/school/head/50.jpg"></center>'
+						'Miss. Volkov looks at you. "I don''t know what''s on your mind miss <<$pcs_lastname>> but what have you done will have serious consequences...now go"'
+						!!sent to princeipal''s office and earn 20 demerits, afterwards it goes to this scene.
+						!!Office doesn''t exist yet according to gschool_grounds.
+						act 'Back to class':
 							*clr & cla
-							grupvalue[4] += 10
-							'<center><img src="images/characters/pavlovsk/school/boy/dimka/revenge/chokegirl.jpg"></center>'
-							'You''ve been picked on for the last time. You put your hands on her throat and continue choking her. She tries to pry your finger off, but you are running on hysterical strength now. As she passes out, the principal grabs you and throw you off her.
-							She calls for a nurse then drags you to her office.'
-							act 'In trouble':
-								*clr & cla
-								demerit += 40
-								'<center><img src="images/characters/pavlovsk/school/head/50.jpg"></center>'
-								'Miss. Volkov looks at you. "I don''t know what''s on your mind miss <<$pcs_lastname>> but what have you done will have serious consequences...now go"'
-								!!sent to princeipal''s office and earn 20 demerits, afterwards it goes to this scene.
-								!!Office doesn''t exist yet according to gschool_grounds.
-								act 'Back to class':
-									*clr & cla
-									dimaRevenge += 1
-									minut += 60 * 2
-									hour = 14
-									minut = 0
-									'You sit in class. You noticed a lot of the students talking about what happened in the hall. They fall silent when you look at them. Some of the students are afraid of you now. And you are fine with that, as long as they leave you alone.
-									And the ones who don''t better watch out, because you aren''t gonna let them pick on you anymore.'
-									act 'Continue': gt 'gschool_grounds', 'main'
-								end
-							end
+							dimaRevenge += 1
+							minut += 60 * 2
+							hour = 14
+							minut = 0
+							'You sit in class. You noticed a lot of the students talking about what happened in the hall. They fall silent when you look at them. Some of the students are afraid of you now. And you are fine with that, as long as they leave you alone.
+							And the ones who don''t better watch out, because you aren''t gonna let them pick on you anymore.'
+							act 'Continue': gt 'gschool_grounds', 'main'
 						end
 					end
 				end

+ 10 - 19
locations/gLakeNude.qsrc

@@ -6,6 +6,7 @@ $loc = 'gLakeNude'
 $metka = ''
 $menu_loc = 'gLakeNude'
 $menu_arg = ''
+$locclass = 'beach'
 menu_off = 0
 *clr & cla
 gs'stat'
@@ -59,8 +60,7 @@ end
 
 if $clothingworntype = 'swimwear' or $clothingworntype = 'nude':
 	act'Get dressed':
-		cla
-		*clr
+		*clr & cla
 		menu_off = 1
 		minut+=5
 		gs 'clothing', 'wear_last_worn'
@@ -74,8 +74,7 @@ end
 if temper >= 15 and month >= 5 and month <= 9:
 	if ARRSIZE('swimwear') > 0 and $clothingworntype ! 'swimwear':
 		act'Change into your swimwear':
-			cla
-			*clr
+			*clr & cla
 			menu_off = 1
 			minut+=5
 			if pcs_horny >= 90:
@@ -99,8 +98,7 @@ if temper >= 15 and month >= 5 and month <= 9:
 		act'Take off your clothes':
 			menu_off = 1
 			if pcs_inhib > 30:
-				cla
-				*clr
+				*clr & cla
 				minut+=5
 				gs 'clothing', 'strip'
 				gs 'underwear', 'remove'
@@ -127,8 +125,7 @@ if temper >= 15 and month >= 5 and month <= 9:
 		act'Go swimming (1:00)':
 			menu_off = 1
 			if $clothingworntype = 'swimwear' or $clothingworntype = 'nude':
-				cla
-				*clr
+				*clr & cla
 				cumspclnt = 4
 				gs 'cum_cleanup'
 				minut = minut + 60
@@ -161,8 +158,7 @@ if temper >= 15 and month >= 5 and month <= 9:
 		act'Go sunbathing (1:00)':
 			menu_off = 1
 			if $clothingworntype = 'swimwear' or $clothingworntype = 'nude':
-				cla
-				*clr
+				*clr & cla
 				minut = minut + 60
 				if pcs_sweat < 35 : pcs_sweat += 5
 				pcs_mood += 5
@@ -175,12 +171,10 @@ if temper >= 15 and month >= 5 and month <= 9:
 				end
 				if krem = 0:
 					pcs_tan = pcs_tan + 1
-
 					'You lie down on your towel for some sunbathing and hopefully a nicer tan, and enjoy the warm rays of the sun for an hour.'
-				elseif krem > 0:
+				else:
 					krem = krem - 1
 					pcs_tan = pcs_tan + 3
-
 					'You smear your body with sunscreen and lie down on your towel for some sunbathing, hoping to work on your tan. You enjoy the warm rays of the sun for an hour.'
 				end
 				act 'Continue':gt'gLakeNude'
@@ -201,8 +195,7 @@ end
 if temper >= 15 and month >= 5 and month <= 9:
 	if voyeurism_start = 0:
 		act'Look around the beach':
-			cla
-			*clr
+			*clr & cla
 			menu_off = 1
 			minut += 5
 			voyeurism_start_view = RAND(1,3)
@@ -219,8 +212,7 @@ if temper >= 15 and month >= 5 and month <= 9:
 		end
 	elseif voyeurism_start = 1:
 		act'Watch couple on the beach':
-			cla
-			*clr
+			*clr & cla
 			menu_off = 1
 			if voyeurism = 0:
 				minut += 5
@@ -248,8 +240,7 @@ if temper >= 15 and month >= 5 and month <= 9:
 				gs'gLakeNudeEvent','gLakeNude_nudist'
 				act'Continue': gt 'gLakeNude'
 			else
-				cla
-				*clr
+				*clr & cla
 				'<center><img <<$set_imgh>> src="images/locations/pavlovsk/lake/secluded_beach/self/nudebeachself'+rand(1,3)+'.jpg"></center>'
 				'You want to watch for nudists, but suddenly notice that you start to feel weird.<br><dh>"Probably spying too much."</dh> you think and look straight ahead.'
 				act'Continue': gt'gLakeNude'

+ 6 - 9
locations/glake.qsrc

@@ -5,6 +5,7 @@ $loc = 'gLake'
 $metka = ''
 $menu_loc = 'glake'
 $menu_arg = ''
+$locclass = 'beach'
 menu_off = 0
 $location_type = 'public_outdoors'
 gs'stat'
@@ -211,8 +212,7 @@ if temper >= 15 and month>=5 and month<=9 and hour>=6 and hour<=20:
 
 	if $clothingworntype = 'swimwear' or $clothingworntype = 'nude':
 		act 'Go swim in the lake (1:00)':
-			cla
-			*clr
+			*clr & cla
 			menu_off = 1
 			pcs_makeup = 1
 			cumspclnt = 4
@@ -240,8 +240,7 @@ if temper >= 15 and month>=5 and month<=9 and hour>=6 and hour<=20:
 
 				menu_off = 1
 				if $clothingworntype = 'nude' and zoo > 0 and rand(1,10) = 5:
-					cla
-					*clr
+					*clr & cla
 					pcs_willpwr -= 5
 					pcs_mood -= 5
 					inhib_exp += rand(1,3)
@@ -249,8 +248,7 @@ if temper >= 15 and month>=5 and month<=9 and hour>=6 and hour<=20:
 					'As you lie down on your towel to catch some rays of sun and hopefully work on your tan a little, a stray dog appears out of nowhere. It keeps sniffing between your legs, which makes you feel very uncomfortable since you''re not wearing anything. You spend most of the hour trying to chase the dog away, but it comes back every time you think you got rid of it. You don''t get much sunbathing done as a result.'
 					act 'Give up on sunbathing':gt'glake'
 				else
-					cla
-					*clr
+					*clr & cla
 					minut += 60
 					if pcs_inhib < 50:inhib_exp += rand(1,2)
 					if pcs_sweat < 35 : pcs_sweat += 5
@@ -265,7 +263,7 @@ if temper >= 15 and month>=5 and month<=9 and hour>=6 and hour<=20:
 					if krem = 0:
 						'You lie down on your towel for some sunbathing and hopefully a nicer tan, and enjoy the warm rays of the sun for an hour.'
 						pcs_tan = pcs_tan + 1
-					elseif krem > 0:
+					else
 						krem = krem - 1
 						'You smear your body with sunscreen and lie down on your towel for some sunbathing, hoping to work on your tan. You enjoy the warm rays of the sun for an hour.'
 						pcs_tan = pcs_tan + 3
@@ -395,8 +393,7 @@ act'Go to the secluded beach':minut += 10 & gt'gLakeNude'
 if month = 12 or month = 1 or month = 2:
 	if konki_cloth = 1:
 		act'Take off your skates':
-			cla
-			*clr
+			*clr & cla
 			menu_off = 1
 			minut+=10
 			konki_cloth=0

+ 1 - 1
locations/gopsex.qsrc

@@ -1566,7 +1566,7 @@ if $ARGS[0] = 'hide':
 				$dummytxt = 'He hikes up your skirt'
 			elseif CloPantsShortness > 2: 
 				$dummytxt = 'He pulls your shorts down to your knees'
-			else:
+			else
 				$dummytxt = 'He pulls your pants down to your knees'
 			end
 			$txt_sex_doggy = 'You delight <<$boydesc>>. He jumps, and prompts you to bend forward. <<$dummytxt>> revealing your cute tushy, and shoves his dick into your pussy from behind. You don''t expect such abrupt action, but he is fucking you for ten minutes, almost without slowing the pace, only occasionally stopping to take a breath. You think he would be tired soon, but it turns out that he is more tenacious than one might assume. The last five minutes you forget where you are, and screaming your head off. <<$boydesc>> is growling spanking your butt with one hand and pulling your <<$pcs_haircol>> <<$curly>> hair with the other.'

+ 2 - 2
locations/gschool_lessons.qsrc

@@ -1612,7 +1612,7 @@ if $ARGS[0] = 'biology':
 	menu_off = 1
 	gs 'stat'
 	'<center><img <<$set_imgh>> src="images/locations/pavlovsk/school/classroom/classbiology.jpg"></center>'
-	'You go to your biology class and find a seat at your lab station. Before long all of your fellow students file in and takes their seats as well. Once the bell rings Miss Orlov takes roll call, you say here when your name is called. With that done, she gets up and starts walking around the room explaining today's lessons. Occasionally stopping at each lab station to make sure the students are doing the work correctly, she often gives words of encouragement if things are going well or stops and helps the student understand what they are doing wrong.'
+	'You go to your biology class and find a seat at your lab station. Before long all of your fellow students file in and takes their seats as well. Once the bell rings Miss Orlov takes roll call, you say here when your name is called. With that done, she gets up and starts walking around the room explaining today''s lessons. Occasionally stopping at each lab station to make sure the students are doing the work correctly, she often gives words of encouragement if things are going well or stops and helps the student understand what they are doing wrong.'
 	*nl
 	'She occasionally asks questions and those that get them right, she heaps praise upon them. Those that get them wrong, she takes the time to explain why they was wrong and what the correct answer is. Then making sure the student understands, once she is sure the student understands their mistake she moves on with her lesson. She is always quick to help anyone with a problem or answer questions about class, always with that shy smile of hers.'
 	act 'Listen attentively to Miss Orlov':
@@ -1766,7 +1766,7 @@ if $ARGS[0] = 'computer':
 	menu_off = 1
 	gs 'stat'
 	'<center><img <<$set_imgh>> src="images/locations/pavlovsk/school/classroom/classcomputer.jpg"></center>'
-	'You go to your computer class and find a seat at one of the computer stations. Before long all of your fellow students file in and takes their seats as well. Once the bell rings Mr. Ivanov takes roll call, you say here when your name is called. With that done, he gets up and starts walking around the room explaining today's lessons. Occasionally stopping to look at the screen of various students to make sure they are doing it right.'
+	'You go to your computer class and find a seat at one of the computer stations. Before long all of your fellow students file in and takes their seats as well. Once the bell rings Mr. Ivanov takes roll call, you say here when your name is called. With that done, he gets up and starts walking around the room explaining today''s lessons. Occasionally stopping to look at the screen of various students to make sure they are doing it right.'
 	*nl
 	'If he has to correct one of the nerds he will take his time and quietly explain it to them, giving them lots of encouragement. For everyone else he loudly proclaims what you did wrong, drawing attention to how easy this is. He makes sure the whole class knows about their mistake and he does it in such a condescending manner, like he is trying to prove to everyone how much smarter he is than you are, or maybe he just wants the others students to make fun of them. With Mr. Ivanov it is hard to tell. He doesn''t seem to approve of anyone but the nerds and harshly grades everyone else.'
 	act 'Listen attentively to Mr. Ivanov':

+ 1 - 1
locations/hunter_interactions.qsrc

@@ -544,7 +544,7 @@ if $ARGS[0] = 'shooting_bet':
                 end
 
                 act 'Let him lead you to the trees': gt 'hunter_favors', 'yard_bondage', 'lost_bet'
-            else:
+            else
                 '"I want you to lose the clothes for today and tomorrow. Be more in touch with nature and all that. You can put em back on the day after of course"'
 
                 act 'Strip naked':

+ 1 - 1
locations/hunters.qsrc

@@ -39,7 +39,7 @@ if $ARGS[0] = 'check_opinion':
 	if hunter_sexual_comfort > 50:
 		if $clothingworntype ! 'nude':
 			'Andrei then looks at you and says "What is it with all the clothing? Let it all air out!"'
-		else:
+		else
 			'"Damn, <<$pcs_nickname>>, you look really good without the clothes. The things I would want to do to you..." said a somewhat aroused Andrei.'	
 		end
 	elseif hunter_sexual_comfort > 25:

+ 6 - 497
locations/kakuzu.qsrc

@@ -134,514 +134,23 @@ if $ARGS[0] = 'mansion1':
 		'Kakuzu tells you "You have almost no energy, you need to rest."'
 	elseif tobiQW = 3 and pcs_manna >= 1000:
 		if stihia = 1:
-			if pcs_magik >= 6 and spellfire1 = 0:
-				act 'Learn Flame (1:00)':
-					cla
-					pcs_manna -= 1000
-					minut += 60
-
-					spellfireL += rand(1, 10)
-
-					if spellfireL < 100:
-						'You diligently study the spell for an hour, but could not grasp it.'
-
-						act 'Move away':gt 'kakuzu', 'mansion1'
-					else
-						spellfire1 = 1
-						'Finally you are able to grasp and learn the spell.'
-
-						act 'Move away':gt 'kakuzu', 'mansion1'
-					end
-				end
-			end
-
-			if pcs_magik >= 7 and spellfire2 = 0:
-				act 'Study the release of fire (1:00)':
-					cla
-					pcs_manna -= 1000
-					minut += 60
-					spellfire2L += rand(1, 10)
-
-					if spellfire2L < 100:
-						'You diligently study the spell for an hour, but could not grasp it.'
-
-						act 'Move away':gt 'kakuzu', 'mansion1'
-					else
-						spellfire2 = 1
-						'Finally you are able to grasp and learn the spell.'
-
-						act 'Move away':gt 'kakuzu', 'mansion1'
-					end
-				end
-			end
-
-			if pcs_magik >= 8 and spellfire3 = 0:
-				act 'Study Barrier fire (1:00)':
-					cla
-					pcs_manna -= 1000
-					minut += 60
-					spellfire3L += rand(1, 10)
-
-					if spellfire3L < 100:
-						'You diligently study the spell for an hour, but could not grasp it.'
-
-						act 'Move away':gt 'kakuzu', 'mansion1'
-					else
-						spellfire3 = 1
-						'Finally you are able to grasp and learn the spell.'
-
-						act 'Move away':gt 'kakuzu', 'mansion1'
-					end
-				end
-			end
-
-			if pcs_magik >= 9 and spellfire4 = 0:
-				act 'Study Firestorm (1:00)':
-					cla
-					pcs_manna -= 1000
-					minut += 60
-					spellfire4L += rand(1, 10)
-
-					if spellfire4L < 100:
-						'You diligently study the spell for an hour, but could not grasp it.'
-
-						act 'Move away':gt 'kakuzu', 'mansion1'
-					else
-						spellfire4 = 1
-						'Finally you are able to grasp and learn the spell.'
-
-						act 'Move away':gt 'kakuzu', 'mansion1'
-					end
-				end
-			end
-
-			if pcs_magik >= 10 and spellfire5 = 0:
-				act 'Learn Flame Shield (1:00)':
-					cla
-					pcs_manna -= 1000
-					minut += 60
-					spellfire5L += rand(1, 10)
-
-					if spellfire5L < 100:
-						'You diligently study the spell for an hour, but could not grasp it.'
-
-						act 'Move away':gt 'kakuzu', 'mansion1'
-					else
-						spellfire5 = 1
-						'Finally you are able to grasp and learn the spell.'
-
-						act 'Move away':gt 'kakuzu', 'mansion1'
-					end
-				end
-			end
+			gs 'spellList', 'teacherActions', '$fireSpells', 'kakuzu', 'mansion1'
 		end
 
 		if stihia = 2:
-			if pcs_magik >= 6 and spellele1 = 0:
-				act 'Study Discharge (1:00)':
-					cla
-					pcs_manna -= 1000
-					minut += 60
-					spelleleL += rand(1, 10)
-
-					if spelleleL < 100:
-						'You diligently study the spell for an hour, but could not grasp it.'
-
-						act 'Move away':gt 'kakuzu', 'mansion1'
-					else
-						spellele1 = 1
-						'Finally you are able to grasp and learn the spell.'
-
-						act 'Move away':gt 'kakuzu', 'mansion1'
-					end
-				end
-			end
-
-			if pcs_magik >= 7 and spellele2 = 0:
-				act 'Learn Lightning (1:00)':
-					cla
-					pcs_manna -= 1000
-					minut += 60
-					spellele1L += rand(1, 10)
-
-					if spellele1L < 100:
-						'You diligently study the spell for an hour, but could not grasp it.'
-
-						act 'Move away':gt 'kakuzu', 'mansion1'
-					else
-						spellele2 = 1
-						'Finally you are able to grasp and learn the spell.'
-
-						act 'Move away':gt 'kakuzu', 'mansion1'
-					end
-				end
-			end
-
-			if pcs_magik >= 8 and spellele3 = 0:
-				act 'Electro study barrier (1:00)':
-					cla
-					pcs_manna -= 1000
-					minut += 60
-					spellele2L += rand(1, 10)
-
-					if spellele2L < 100:
-						'You diligently study the spell for an hour, but could not grasp it.'
-
-						act 'Move away':gt 'kakuzu', 'mansion1'
-					else
-						spellele3 = 1
-						'Finally you are able to grasp and learn the spell.'
-
-						act 'Move away':gt 'kakuzu', 'mansion1'
-					end
-				end
-			end
-
-			if pcs_magik >= 9 and spellele4 = 0:
-				act 'Dance study thousands of birds (1:00)':
-					cla
-					pcs_manna -= 1000
-					minut += 60
-					spellele3L += rand(1, 10)
-
-					if spellele3L < 100:
-						'You diligently study the spell for an hour, but could not grasp it.'
-
-						act 'Move away':gt 'kakuzu', 'mansion1'
-					else
-						spellele4 = 1
-						'Finally you are able to grasp and learn the spell.'
-
-						act 'Move away':gt 'kakuzu', 'mansion1'
-					end
-				end
-			end
-
-			if pcs_magik >= 10 and spellele5 = 0:
-				act 'Study Plyaschuschaya sphere (1:00)':
-					cla
-					pcs_manna -= 1000
-					minut += 60
-					spellele4L += rand(1, 10)
-
-					if spellele4L < 100:
-						'You diligently study the spell for an hour, but could not grasp it.'
-
-						act 'Move away':gt 'kakuzu', 'mansion1'
-					else
-						spellele5 = 1
-						'Finally you are able to grasp and learn the spell.'
-
-						act 'Move away':gt 'kakuzu', 'mansion1'
-					end
-				end
-			end
+			gs 'spellList', 'teacherActions', '$electSpells', 'kakuzu', 'mansion1'
 		end
 
 		if stihia = 3:
-			if pcs_magik >= 6 and spellert1 = 0:
-				act 'Study Quicksand (1:00)':
-					cla
-					pcs_manna -= 1000
-					minut += 60
-					spellertL += rand(1, 10)
-
-					if spellertL < 100:
-						'You diligently study the spell for an hour, but could not grasp it.'
-
-						act 'Move away':gt 'kakuzu', 'mansion1'
-					else
-						spellert1 = 1
-						'Finally you are able to grasp and learn the spell.'
-
-						act 'Move away':gt 'kakuzu', 'mansion1'
-					end
-				end
-			end
-
-			if pcs_magik >= 7 and spellert2 = 0:
-				act 'Active protection study (1:00)':
-					cla
-					pcs_manna -= 1000
-					minut += 60
-					spellert2L += rand(1, 10)
-
-					if spellert2L < 100:
-						'You diligently study the spell for an hour, but could not grasp it.'
-
-						act 'Move away':gt 'kakuzu', 'mansion1'
-					else
-						spellert2 = 1
-						'Finally you are able to grasp and learn the spell.'
-
-						act 'Move away':gt 'kakuzu', 'mansion1'
-					end
-				end
-			end
-
-			if pcs_magik >= 8 and spellert3 = 0:
-				act 'Study Chasm (1:00)':
-					cla
-					pcs_manna -= 1000
-					minut += 60
-					spellert3L += rand(1, 10)
-
-					if spellert3L < 100:
-						'You diligently study the spell for an hour, but could not grasp it.'
-
-						act 'Move away':gt 'kakuzu', 'mansion1'
-					else
-						spellert3 = 1
-						'Finally you are able to grasp and learn the spell.'
-
-						act 'Move away':gt 'kakuzu', 'mansion1'
-					end
-				end
-			end
-
-			if pcs_magik >= 9 and spellert4 = 0:
-				act 'Absolute protection study (1:00)':
-					cla
-					pcs_manna -= 1000
-					minut += 60
-					spellert4L += rand(1, 10)
-
-					if spellert4L < 100:
-						'You diligently study the spell for an hour, but could not grasp it.'
-
-						act 'Move away':gt 'kakuzu', 'mansion1'
-					else
-						spellert4 = 1
-						'Finally you are able to grasp and learn the spell.'
-
-						act 'Move away':gt 'kakuzu', 'mansion1'
-					end
-				end
-			end
-
-			if pcs_magik >= 10 and spellert5 = 0:
-				act 'Study Sando (1:00)':
-					cla
-					pcs_manna -= 1000
-					minut += 60
-					spellert5L += rand(1, 10)
-
-					if spellert5L < 100:
-						'You diligently study the spell for an hour, but could not grasp it.'
-
-						act 'Move away':gt 'kakuzu', 'mansion1'
-					else
-						spellert5 = 1
-						'Finally you are able to grasp and learn the spell.'
-
-						act 'Move away':gt 'kakuzu', 'mansion1'
-					end
-				end
-			end
+			gs 'spellList', 'teacherActions', '$earthSpells', 'kakuzu', 'mansion1'
 		end
 
 		if stihia = 4:
-			if pcs_magik >= 6 and spellwind1 = 0:
-				act 'Learn Gust (1:00)':
-					cla
-					pcs_manna -= 1000
-					minut += 60
-					spellwind1L += rand(1, 10)
-
-					if spellwind1L < 100:
-						'You diligently study the spell for an hour, but could not grasp it.'
-
-						act 'Move away':gt 'kakuzu', 'mansion1'
-					else
-						spellwind1 = 1
-						'Finally you are able to grasp and learn the spell.'
-
-						act 'Move away':gt 'kakuzu', 'mansion1'
-					end
-				end
-			end
-
-			if pcs_magik >= 7 and spellwind2 = 0:
-				act 'Horrific study pressure (1:00)':
-					cla
-					pcs_manna -= 1000
-					minut += 60
-					spellwind2L += rand(1, 10)
-
-					if spellwind2L < 100:
-						'You diligently study the spell for an hour, but could not grasp it.'
-
-						act 'Move away':gt 'kakuzu', 'mansion1'
-					else
-						spellwind2 = 1
-						'Finally you are able to grasp and learn the spell.'
-
-						act 'Move away':gt 'kakuzu', 'mansion1'
-					end
-				end
-			end
-
-			if pcs_magik >= 8 and spellwind3 = 0:
-				act 'Vacuum protective sphere (1:00)':
-					cla
-					pcs_manna -= 1000
-					minut += 60
-					spellwind3L += rand(1, 10)
-
-					if spellwind3L < 100:
-						'You diligently study the spell for an hour, but could not grasp it.'
-
-						act 'Move away':gt 'kakuzu', 'mansion1'
-					else
-						spellwind3 = 1
-						'Finally you are able to grasp and learn the spell.'
-
-						act 'Move away':gt 'kakuzu', 'mansion1'
-					end
-				end
-			end
-
-			if pcs_magik >= 9 and spellwind4 = 0:
-				act 'Vacuum Rockets (1:00)':
-					cla
-					pcs_manna -= 1000
-					minut += 60
-					spellwind4L += rand(1, 10)
-
-					if spellwind4L < 100:
-						'You diligently study the spell for an hour, but could not grasp it.'
-
-						act 'Move away':gt 'kakuzu', 'mansion1'
-					else
-						spellwind4 = 1
-						'Finally you are able to grasp and learn the spell.'
-
-						act 'Move away':gt 'kakuzu', 'mansion1'
-					end
-				end
-			end
-
-			if pcs_magik >= 10 and spellwind5 = 0:
-				act 'Devouring vacuum (1:00)':
-					cla
-					pcs_manna -= 1000
-					minut += 60
-					spellwind5L += rand(1, 10)
-
-					if spellwind5L < 100:
-						'You diligently study the spell for an hour, but could not grasp it.'
-
-						act 'Move away':gt 'kakuzu', 'mansion1'
-					else
-						spellwind5 = 1
-						'Finally you are able to grasp and learn the spell.'
-
-						act 'Move away':gt 'kakuzu', 'mansion1'
-					end
-				end
-			end
-		end
-
-	if stihia = 5:
-		if pcs_magik >= 6 and spellwater1 = 0:
-			act 'Creek study manna (1:00)':
-				cla
-				pcs_manna -= 1000
-				minut += 60
-				spellwaterL += rand(1, 10)
-
-				if spellwaterL < 100:
-					'You diligently study the spell for an hour, but could not grasp it.'
-
-					act 'Move away':gt 'kakuzu', 'mansion1'
-				else
-					spellwater1 = 1
-					'Finally you are able to grasp and learn the spell.'
-
-					act 'Move away':gt 'kakuzu', 'mansion1'
-				end
-			end
-		end
-
-		if pcs_magik >= 7 and spellwater2 = 0:
-			act 'Flooding study (1:00)':
-				cla
-				pcs_manna -= 1000
-				minut += 60
-				spellwater2L += rand(1, 10)
-
-				if spellwater2L < 100:
-					'You diligently study the spell for an hour, but could not grasp it.'
-
-					act 'Move away':gt 'kakuzu', 'mansion1'
-				else
-					spellwater2 = 1
-					'Finally you are able to grasp and learn the spell.'
-
-					act 'Move away':gt 'kakuzu', 'mansion1'
-				end
-			end
+			gs 'spellList', 'teacherActions', '$airSpells', 'kakuzu', 'mansion1'
 		end
 
-		if pcs_magik >= 8 and spellwater3 = 0:
-			act 'Water bubble study (1:00)':
-				cla
-				pcs_manna -= 1000
-				minut += 60
-				spellwater3L += rand(1, 10)
-
-				if spellwater3L < 100:
-					'You diligently study the spell for an hour, but could not grasp it.'
-
-					act 'Move away':gt 'kakuzu', 'mansion1'
-				else
-					spellwater3 = 1
-					'Finally you are able to grasp and learn the spell.'
-
-					act 'Move away':gt 'kakuzu', 'mansion1'
-				end
-			end
-		end
-
-		if pcs_magik >= 9 and spellwater4 = 0:
-			act 'Water study shark missile (1:00)':
-				cla
-				pcs_manna -= 1000
-				minut += 60
-				spellwater4L += rand(1, 10)
-
-				if spellwater4L < 100:
-					'You diligently study the spell for an hour, but could not grasp it.'
-
-					act 'Move away':gt 'kakuzu', 'mansion1'
-				else
-					spellwater4 = 1
-					'Finally you are able to grasp and learn the spell.'
-
-					act 'Move away':gt 'kakuzu', 'mansion1'
-				end
-			end
-		end
-
-		if pcs_magik >= 10 and spellwater5 = 0:
-			act 'Study the Great Flood (1:00)':
-				cla
-				pcs_manna -= 1000
-				minut += 60
-				spellwater5L += rand(1, 10)
-
-				if spellwater5L < 100:
-					'You diligently study the spell for an hour, but could not grasp it.'
-
-					act 'Move away':gt 'kakuzu', 'mansion1'
-				else
-					spellwater5 = 1
-						'Finally you are able to grasp and learn the spell.'
-
-						act 'Move away':gt 'kakuzu', 'mansion1'
-					end
-				end
-			end
+		if stihia = 5:
+			gs 'spellList', 'teacherActions', '$waterSpells', 'kakuzu', 'mansion1'
 		end
 	end
 

+ 8 - 8
locations/kid.qsrc

@@ -238,18 +238,18 @@ if $ARGS[0] = 'kidlist':
 			$kidPosProPN[k] = 'He'
 		end
 		if ks = k:
-		'<font color= #06992D>Your <<$sdtext[k]>> <<$kidname[k]>> is <<$kidagetext[k]>>. <<$kidposproC[k]>> date of birth is <<monthkid[k]>>/<<daykid[k]>>/<<yearkid[k]>>.</font>'
-		else:
-		'Your <<$sdtext[k]>> <<$kidname[k]>> is <<$kidagetext[k]>>. <<$kidposproC[k]>> date of birth is <<monthkid[k]>>/<<daykid[k]>>/<<yearkid[k]>>.'
+			'<font color= #06992D>Your <<$sdtext[k]>> <<$kidname[k]>> is <<$kidagetext[k]>>. <<$kidposproC[k]>> date of birth is <<monthkid[k]>>/<<daykid[k]>>/<<yearkid[k]>>.</font>'
+		else
+			'Your <<$sdtext[k]>> <<$kidname[k]>> is <<$kidagetext[k]>>. <<$kidposproC[k]>> date of birth is <<monthkid[k]>>/<<daykid[k]>>/<<yearkid[k]>>.'
 		end
 
 		if kidage[k] < 1:
 			if hour >= 12 and hour < 18:
-			$babyloc = 'onto the blanket'
-			'<<$kidname[k]>></a> is laying on a blanket'
-			else:
-			$babyloc = 'into the crib'
-			'<<$kidname[k]>> is asleep, lying in <<$kidPosPro[k]>> crib.'
+				$babyloc = 'onto the blanket'
+				'<<$kidname[k]>></a> is laying on a blanket'
+			else
+				$babyloc = 'into the crib'
+				'<<$kidname[k]>> is asleep, lying in <<$kidPosPro[k]>> crib.'
 			end
 
 		elseif kidage[k] >= 1 and kidage[k] < 7:

+ 157 - 105
locations/lab.qsrc

@@ -187,6 +187,104 @@ if $ARGS[0] = 'Gustav':
 	end
 end
 
+if $ARGS[0] = 'ListBuilder':
+	! Builds a list of Attributes to be able to change
+	!  $ARGS[1] = Name of the attribute
+	!  $ARGS[2] = Mana cost of the change
+	!  $ARGS[3] = Time the change will take
+	!  $ARGS[4] = Array name of change value display string
+	!  $ARGS[5] = Array name of value to change attribute to, 'i' means, just use array position
+	!  $ARGS[6] = variable name of attribute to change
+	$bodyModType = $ARGS[1]
+	bodyModMana = $ARGS[2]
+	bodyModTime = $ARGS[3]
+	$bodyModDesc = $ARGS[4]
+	$bodyModIndx = $ARGS[5]
+	$bodyModStat = $ARGS[6]
+
+	$hairColors[0]='black'
+	$hairColors[1]='brown'
+	$hairColors[2]='red'
+	$hairColors[3]='blonde'
+
+	hairTypes[0]=5 & $hairTypes[0]='extremely short'
+	hairTypes[1]=31 & $hairTypes[1]='pixie-cut'
+	hairTypes[2]=81 & $hairTypes[2]='medium'
+	hairTypes[3]=161 & $hairTypes[3]='shoulder-length'
+	hairTypes[4]=261 & $hairTypes[4]='long'
+	hairTypes[5]=401 & $hairTypes[5]='very long'
+	hairTypes[6]=601 & $hairTypes[6]='extremely long'
+
+	$lipSize[0]='thin'
+	$lipSize[1]='normal'
+	$lipSize[2]='plump'
+	$lipSize[3]='pouty'
+	$lipSize[4]='pillowy'
+
+	$eyeColors[0]='brown'
+	$eyeColors[1]='grey'
+	$eyeColors[2]='green'
+	$eyeColors[3]='blue'
+
+	$eyeLashes[0]='short'
+	$eyeLashes[1]='average'
+	$eyeLashes[2]='long'
+	$eyeLashes[3]='lavish'
+	$eyeLashes[4]='show-stealing'
+	$eyeLashes[5]='long, jewel-dusted'
+
+	breastSize[0]=5 & $breastSize[0]='AA'
+	breastSize[1]=10 & $breastSize[1]='A'
+	breastSize[2]=15 & $breastSize[2]='B'
+	breastSize[3]=20 & $breastSize[3]='C'
+	breastSize[4]=25 & $breastSize[4]='D'
+	breastSize[5]=30 & $breastSize[5]='E'
+	breastSize[6]=35 & $breastSize[6]='F'
+	breastSize[7]=40 & $breastSize[7]='G'
+	breastSize[8]=45 & $breastSize[8]='H'
+	breastSize[9]=50 & $breastSize[9]='I'
+	breastSize[10]=55 & $breastSize[10]='J'
+	breastSize[11]=60 & $breastSize[11]='K'
+
+
+	$ListStr = "<B><<$bodyModType>></B>"
+	i = 0
+	:BodyModLoop
+	if i < arrsize('<<$bodyModDesc>>'):
+		if $bodyModIndx = 'i':
+			bodymodValue = i
+		else
+			bodymodValue = dyneval("result = <<$bodyModIndx>>[<<i>>]")
+		end
+		$bodyModDescX = dyneval('$result = <<$bodyModDesc>>[<<i>>]')
+		$ListStr = $ListStr + "<br><a href=""EXEC:<<$bodyModStat>> = <<bodymodValue>> & pcs_manna -= <<bodyModMana>> & gs 'arousal', 'voyeur', <<bodyModTime>> & gs 'stat' & gt 'lab', 'BodyModded', '<<$bodyModType>>', '<<$bodyModDescX>>'""><<$bodyModDescX>></a>"
+		i += 1
+		jump 'BodyModLoop'
+	end
+
+	killvar 'i'
+	killvar '$bodyModDescX'
+	killvar 'bodymodValue'
+	$result = $ListStr
+end
+
+if $ARGS[0] = 'BodyModded':
+	! Landing page for having Body Mod done.
+  	!  $ARGS[1] = Name of the attribute
+  	!  $ARGS[2] = new value of attribute
+	$bodyModType = $ARGS[1]
+	$bodyModVal =  $ARGS[2]
+
+	cls & cla
+	act 'Thank you':gt 'lab', 'Tatiana'
+
+	"You feel a bit drained and tingly all over.  You look in the mirror."
+	"Your <<$bodyModType>> is now <<$bodyModVal>>."
+	"""Thanks Tatiana!"""
+
+end
+
+
 if $ARGS[0] = 'Tatiana':
 	cls
 	$loc = 'lab'
@@ -234,25 +332,65 @@ if $ARGS[0] = 'Tatiana':
 	act 'Ask for help with your appearance':
 		cla
 		'"Tatiana, I''m having problems with my body image, I''m not happy and was hoping that you might be able to help me."'
-		'"It''s possible but I will have to draw on your magical energy, it will cost 40 manna to perform a reset spell.'
-		'This will reduce excess fat, growth of body parts and reduce high levels of silicone, moving you closer to your original body shape.'
-		'Do you wish to try this spell?'
+		'"It''s possible but I will have to draw on your magical energy, it will cost some of your manna to perform a spell."'
+
+		$HairColorTab =  func('lab', 'ListBuilder', 'Hair Color', '40', '30', '$hairColors','i',         'pcs_haircol')
+		$HairLengthTab = func('lab', 'ListBuilder', 'Hair Length','40', '30', '$hairTypes', 'hairTypes', 'pcs_hairlng')
+		$EyeColorTab =   func('lab', 'ListBuilder', 'Eye Color',  '40', '30', '$eyeColors', 'i',         'pcs_eyecol')
+		$EyeLashTab =    func('lab', 'ListBuilder', 'Eye Lashes', '40', '30', '$eyeLashes', 'i',         'pcs_lashes')
+		$LipTab =        func('lab', 'ListBuilder', 'Lip Size',   '40', '30', '$lipSize',   'i',         'pcs_lip')
+		$BreastTab =     func('lab', 'ListBuilder', 'Breast Size','40', '30', '$breastSize','breastSize','pcs_cupsize')
+
+		$SkinTab = "<a href=""EXEC:pcs_skin = 100 & pcs_manna -= 40 & gs 'arousal', 'voyeur', 30 & gs 'stat' & gt 'lab', 'BodyModded', 'Skin', 'clear'"">Clear Skin</a>"
+		$VirginTab = "<a href=""EXEC:pcs_vag = 0 & pcs_manna -= 40 & gs 'arousal', 'voyeur', 30 & gs 'stat' & gt 'lab', 'BodyModded', 'Virginity', 'renewed'"">Renew Virginity</a>"
+		$SiliconeTab = "<a href=""EXEC:brSurTemp = 0 & stringimplant = 0 & fillimplant = 0 & pcs_manna -= 40 & gs 'arousal', 'voyeur', 30 & gs 'stat' & gt 'lab', 'BodyModded', 'Boobs', 'natural again'"">Remove Silicone</a>"
+
+		"<CENTER>
+	<TABLE CELLPADDING = '5'>
+		<TR>
+			<TD><<$SkinTab>></TD>
+			<TD><<$VirginTab>></TD>
+			<TD><<$SiliconeTab>></TD>
+		</TR>
+		<TR>
+			<TD VALIGN='top'><<$HairColorTab>></TD>
+			<TD VALIGN='top'><<$EyeColorTab>></TD>
+			<TD VALIGN='top'><<$BreastTab>></TD>
+		</TR>
+		<TR>
+			<TD VALIGN='top'><<$HairLengthTab>></TD>
+			<TD VALIGN='top'><<$EyeLashTab>></TD>
+			<TD VALIGN='top'><<$LipTab>></TD>
+		</TR>
+	</TABLE>
+</CENTER>"
 
 		act 'No, no, I''ve changed my mind. Thank you':gt 'lab', 'Tatiana'
 
-		if pcs_manna >= 40:
-			act 'That sounds great, let''s do it!':
-				*clr
-				cla
-				minut += 30
-				dounspell = 1
-				gs 'body_shape', 'hardreset'
-				gs 'stat'
-				'<center><img <<$set_imgh>> src="images/characters/city/tatiana/magiclook.jpg"></center>'
-				'Tatiana lowers her glasses and stares deeply into your eyes. It feels like time just stops being a thing and you are floating.'
-				'It seems very soon afterwards when you snap back to reality but the big clock on the lab wall tells you its been 30 minutes.'
-				'Your body has changed much as Tatiana said it would and she is already busy checking nothing went wrong.'
-				act 'Continue': gt 'lab', 'Tatiana'
+
+		act "Restore you body to it's original shape":
+			cla
+			'"Tatiana, I''m having problems with my body image, I''m not happy and was hoping that you might be able to help me."'
+			'"It''s possible but I will have to draw on your magical energy, it will cost 40 manna to perform a reset spell.'
+			'This will reduce excess fat, growth of body parts and reduce high levels of silicone, moving you closer to your original body shape.'
+			'Do you wish to try this spell?'
+
+			act 'No, no, I''ve changed my mind. Thank you':gt 'lab', 'Tatiana'
+
+			if pcs_manna >= 40:
+				act 'That sounds great, let''s do it!':
+					*clr
+					cla
+					minut += 30
+					dounspell = 1
+					gs 'body_shape', 'hardreset'
+					gs 'stat'
+					'<center><img <<$set_imgh>> src="images/characters/city/tatiana/magiclook.jpg"></center>'
+					'Tatiana lowers her glasses and stares deeply into your eyes. It feels like time just stops being a thing and you are floating.'
+					'It seems very soon afterwards when you snap back to reality but the big clock on the lab wall tells you its been 30 minutes.'
+					'Your body has changed much as Tatiana said it would and she is already busy checking nothing went wrong.'
+					act 'Continue': gt 'lab', 'Tatiana'
+				end
 			end
 		end
 	end
@@ -315,101 +453,15 @@ if $ARGS[0] = 'Tatiana':
 		end
 	end
 
-	if spelltuman = 0 and pcs_magik >= 1:
-		act 'Learn technique fog (1:00)':
-			cla
-			minut += 60
-			spelltuman = 1
-			'You learnt the technique of calling fog in battle.'
-
-			act 'Leave':gt 'lab', 'Tatiana'
-		end
-	end
-
-	if spellklon = 0 and pcs_magik >= 1:
-		act 'Learn technique protection cloning (1:00)':
-			cla
-			minut += 60
-			spellklon = 1
-			'You learnt the technique of cloning yourself to create decoys in battle.'
-
-			act 'Leave':gt 'lab', 'Tatiana'
-		end
-	end
-
-	if spellstun = 0 and pcs_magik >= 2:
-		act 'Learn technique paralysis (1:00)':
-			cla
-			minut += 60
-			spellstun = 1
-			'You learnt the technique of paralyzing the enemy.'
-
-			act 'Leave':gt 'lab', 'Tatiana'
-		end
-	end
-
-	if spellwind = 0 and pcs_magik >= 2:
-		act 'Learn mist blowing (1:00)':
-			cla
-			minut += 60
-			spellwind = 1
-			'You learnt the technique of blowing mist.'
-
-			act 'Leave':gt 'lab', 'Tatiana'
-		end
-	end
-
-	if spellklon2 = 0 and pcs_magik >= 2:
-		act 'Learn triple cloning (1:00)':
-			cla
-			minut += 60
-			spellklon2 = 1
-			'You learnt the technique triple cloning.'
-
-			act 'Leave':gt 'lab', 'Tatiana'
-		end
-	end
-
-	if spellenergo = 0 and pcs_magik >= 3:
-		act 'Learn energoschit (1:00)':
-			cla
-			minut += 60
-			spellenergo = 1
-			'You learnt the technique energoschita.'
-
-			act 'Leave':gt 'lab', 'Tatiana'
-		end
-	end
-
-	if spellinit = 0 and pcs_magik >= 3:
-		act 'Learn technique deceleration time (1:00)':
-			cla
-			minut += 60
-			spellinit = 1
-			'You learnt the technique of time dilation.'
-
-			act 'Leave':gt 'lab', 'Tatiana'
-		end
-	end
-
-	if pcs_magik >= 4 and spellhel = 0:
-		!!'With this level of magic I can not teach you anymore.'
-			act 'Learn the technique of treatment (1:00)':
-			cla
-			minut += 60
-			spellhel = 1
-			'You learnt the technique of treatment.'
-
-			act 'Leave':gt 'lab', 'Tatiana'
-		end
-	end
+	! Show Actions for Learning Spells
+	gs 'spellList', 'teacherActions', '$basicSpells', 'lab', 'Tatiana'
 
 	if pcs_magik >= 5 and spellavtoklon = 0:
 		act 'Learn technique preparation (1:00)':
 			cla
 			minut += 60
 			spellavtoklon = 1
-			'You learnt the technique preparation. This technique allows you to enter into battle with the already created three clones.'
+			'You learned the technique preparation. This technique allows you to enter into battle with the already created three clones.'
 
 			act 'Leave':gt 'lab', 'Tatiana'
 		end

+ 17 - 5
locations/lact_lib.qsrc

@@ -291,12 +291,19 @@ if $ARGS[0] = 'breastrecalc':
 	lactation['breastfat'] = lactation['breastuseabletissue'] - lactation['breastglandtissue']
 end
 
-!!	This function is used for breastgrowth. When nbsize, magicf2b, silicone, alveolicount or the alveoliexpandlvl are changed the breastccm changes. Everything will be written back to the specific variable
-if $ARGS[0] = 'BreastGrowth':
-	!!	usage func('lact_lib','BreastGrowth')
+!!	This function fixes some things that are caused by cheats
+if ARGS[0] = 'AntiCheatIssues':
+	!! usage func('lact_lib', 'AntiCheatIssues')
 	if lactation['breasttissueinitiated'] <= 0: func('lact_lib','init_breasttissue')
 	if lactation['breastccm'] <= 0: func('lact_lib','breastrecalc')
 	if lactation['breastccm'] <= 0: lactation['breastccm'] = 1
+	if lactation['active'] > 0 and lactation['alveoliexpandlvl_change'] < lactation['alveoliexpandlvl']: lactation['alveoliexpandlvl_change'] = lactation['alveoliexpandlvl']
+end
+
+!!	This function is used for breastgrowth. When nbsize, magicf2b, silicone, alveolicount or the alveoliexpandlvl are changed the breastccm changes. Everything will be written back to the specific variable
+if $ARGS[0] = 'BreastGrowth':
+	!!	usage func('lact_lib','BreastGrowth')
+	!!	setting everything in here.
 	if lactation['breastccm'] <> func('lact_lib','bsizetoccm',(nbsize + magicf2b + silicone)) or lactation['alveolicount_change'] <> lactation['alveolicount'] or lactation['alveoliexpandlvl_change'] <> lactation['alveoliexpandlvl']:
 		!!	There are general breast growth events that will increase nbsize, magicf2b or silicone. So the breast "contents" have to be recalculated. This is happening here with the breastrecalc function.
 		!!	Now the fun part. Warning, crazy math ahead. I got headaches while doing this, so better not mess with it or you will break everything.
@@ -540,13 +547,17 @@ if $ARGS[0] = 'lact_switch':
 		lactation['nipgrowth'] = 2
 		pcs_nips += lactation['nipgrowth']
 		if lactation['alveoliexpandlvl'] < 10: lactation['alveoliexpandlvl'] = 10
+		if lactation['alveoliexpandlvl_change'] < 10: lactation['alveoliexpandlvl_change'] = 10
 		lactation['milkprod_type'] = 1
 	else
 		!!	If lactation is on, the stuff below will switch it off again.
 		lactation['active'] = 0
 		lactation['lactaterate'] = 0
 		lactation['breastmv'] = 0
-		lactation['breastmm']
+		lactation['breastmm'] = 0
+		lactation['alveoliexpandlvl'] = 0
+		lactation['alveoliexpandlvl_change'] = 0
+		lactation['prolactinlvl'] = 0
 		if pcs_nips > lactation['nipgrowth']: pcs_nips -= lactation['nipgrowth']
 		lactation['nipgrowth'] = 0
 	end
@@ -555,6 +566,7 @@ end
 !!	new breast cycle function, will replace the monster lactation function in femcyc
 if $ARGS[0] = 'breastcycle':
 	if lactation['breasttissueinitiated'] <= 0: func('lact_lib','init_breasttissue')
+	func('lact_lib', 'AntiCheatIssues')
 	!!	usage func('lact_lib','breastcycle')
 	!!	if lactating or not, breasts will grow during pregnancy. This will only happen during first full pregnancy
 	if pregchem => 2191 and lactation['maturebreast'] <= 0:
@@ -958,7 +970,7 @@ if $ARGS[0] = '$get_breastmilk':
 			if lactation['max_nip_flow_rate'] >= lactation['suck_flow_rate']:
 				lactation['get_bm_milkedvolume'] = max_sucktion_demand
 				lactation['breastmv'] -= max_sucktion_demand
-			else:
+			else
 				lactation['get_bm_milkedvolume'] = lactation['max_nip_flow_rate']*ARGS[2]
 				lactation['breastmv'] -= lactation['get_bm_milkedvolume']
 			end

+ 1 - 1
locations/lug.qsrc

@@ -126,7 +126,7 @@ if $ARGS[0] = 'prut2':
 	! Setup for teleport circle
 	if tpKnown['PushkinPark'] = 1:
 		act 'Enter the hidden circle of trees': gt 'treeCircle', 'PushkinPark'
-	else:
+	else
 		act 'Investigate a mysterious copse of trees': gt 'treeCircle', 'PushkinPark'
 	end
 

+ 29 - 78
locations/magik.qsrc

@@ -1,87 +1,38 @@
 # magik
 
-!!Selecting a magic attack
-if round >= 0:
-	if spelltuman > 0:'Cover terrain fog <a href="exec:gt ''spell'', ''tuman''">create the spell</a>'
-	if spellklon > 0:'Substitute yourself for a clone <a href="exec:gt ''spell'', ''klon''">create the spell</a>'
-	if spellstun > 0:'Paralyze the enemy <a href="exec:gt ''spell'', ''stun''">create the spell</a>'
-	if spellweap > 0 and weapon > 0:'Invest in energy weapons <a href="exec:gt ''spell'', ''weap''">create the spell</a>'
-	if spellwind > 0:'Blow the mist <a href="exec:gt ''spell'', ''wind''">create the spell</a>'
-	if spellklon2 > 0:'Substitute yourself for clones (3 clones) <a href="exec:gt ''spell'', ''klon2''">to create a spell</a>'
-	if spellenergo > 0:'Create weak energy shield <a href="exec:gt ''spell'', ''energo''">create the spell</a>'
-	if spellinit > 0:'Create weak deceleration time <a href="exec:gt ''spell'', ''init''">create the spell</a>'
-	if spellhel > 0:'Heal yourself <a href="exec:gt ''spell'', ''hel''">create the spell</a>'
-	if spellhand > 0:'Striking hand <a href="exec:gt ''spell'', ''hand''">create the spell</a>'
-	if spellreset > 0 or spellunmat > 0:'<b><font color="red">POWER Rikudo</font></b>'
-	if spellreset> 0:'Power Rikudo "Absorb collected energy" <a href="exec:gt ''spell'', ''reset''">to create a spell</a>'
-	if spellunmat > 0:'Power Rikudo "not material" <a href="exec:gt ''spell'', ''unmat''">to create a spell</a>'
-	if spellfire1 > 0:'<b><font color="red">SCHOOL FIRE</font></b>'
-	if spellfire1 > 0:'The Flame <a href="exec:gt ''spell'', ''fire1''">create the spell</a>'
-
-	if round >= 3:
-		if spellfire2 > 0:'Release of fire <a href="exec:gt ''spell'', ''fire2''">create the spell</a>'
-		if spellfire3 > 0:'Fire barrier <a href="exec:gt ''spell'', ''fire3''">create the spell</a>'
-	end
-
-	if round >= 6:
-		if spellfire4 > 0:'Firestorm <a href="exec:gt ''spell'', ''fire4''">create the spell</a>'
-		if spellfire5 > 0:'Flame Shield <a href="exec:gt ''spell'', ''fire5''">create the spell</a>'
-	end
-
-	if spellele1 > 0:'<b><font color="red">SCHOOL OF ELECTRICITY</font></b>'
-	if spellele1 > 0:'Electric Shock <a href="exec:gt ''spell'', ''ele1''">to create a spell</a>'
-
-	if round >= 3:
-		if spellele2 > 0:'Lightning <a href="exec:gt ''spell'', ''ele2''">create the spell</a>'
-		if spellele3 > 0:'Electric barrier <a href="exec:gt ''spell'', ''ele3''">create the spell</a>'
-	end
-
-	if round >= 6:
-		if spellele4 > 0:'Dance of a thousand birds <a href="exec:gt ''spell'', ''ele4''">create the spell</a>'
-		if spellele5 > 0:'Dancing Sphere of Protection <a href="exec:gt ''spell'', ''ele5''">create the spell</a>'
-	end
-
-	if spellert1 > 0:'<b><font color="red">SCHOOL LAND</font></b>'
-	if spellert1 > 0:'Quicksand <a href="exec:gt ''spell'', ''ert1''">create the spell</a>'
-
-	if round >= 3:
-		if spellert2 > 0:'Active Protection <a href="exec:gt ''spell'', ''ert2''">create the spell</a>'
-		if spellert3 > 0:'The Abyss <a href="exec:gt ''spell'', ''ert3''">create the spell</a>'
-	end
-
-	if round >= 6:
-		if spellert4 > 0:'Absolute protection <a href="exec:gt ''spell'', ''ert4''">to create a spell</a>'
-		if spellert5 > 0:'Sando <a href="exec:gt ''spell'', ''ert5''">create the spell</a>'
-	end
-
-	if spellwind1 > 0:'<b><font color="red">SCHOOL WIND</font></b>'
-	if spellwind1 > 0:'Gust <a href="exec:gt ''spell'', ''wind1''">create the spell</a>'
-
-	if round >= 3:
-		if spellwind2 > 0:'Horrendous pressure <a href="exec:gt ''spell'', ''wind2''">create the spell</a>'
-		if spellwind3 > 0:'Vacuum protective sphere <a href="exec:gt ''spell'', ''wind3''">create the spell</a>'
-	end
-
-	if round >= 6:
-		if spellwind4 > 0:'Vacuum Rockets <a href="exec:gt ''spell'', ''wind4''">create the spell</a>'
-		if spellwind5 > 0:'Devouring vacuum <a href="exec:gt ''spell'', ''wind5''">create the spell</a>'
-	end
+$SpellListStr = "<center>
+	<table>
+		<tr>
+			<th>Spell</th>
+			<th>Mana</th>
+			<th>Description</th>
+		</tr>"
+i = 0
+:CombatSpellLoop
+$ThisSpellName = $combatSpells[i]
+if i < arrsize('$combatSpells'):
+	if spellKnown[$ThisSpellName] = 1:
+		$SpellListStr = $SpellListStr + " 
+		<tr>
+			<td><a href=""EXEC: cls & gs 'castSpell', '<<$ThisSpellName>>'& xgt 'fight','sta' & act 'Physical attacks':gt'boxing' & act 'Magic attacks':gt'magik'""><<$spellName[$ThisSpellName]>></a></td>
+			<td><<spellMana[$ThisSpellName]>></td>
+			<td><<$spellDesc[$ThisSpellName]>></td>
+		</tr>"
+	end
+	i += 1
+	jump 'CombatSpellLoop'
+end
 
-	if spellwater1 > 0:'<b><font color="red">SCHOOL WATER</font></b>'
-	if spellwater1 > 0:'Leech manna <a href="exec:gt ''spell'', ''water1''">create the spell</a>'
+$SpellListStr = $SpellListStr + " 
+	</table>
+</center>"
 
-	if round >= 3:
-		if spellwater2 > 0:'Flooding <a href="exec:gt ''spell'', ''water2''">create the spell</a>'
-		if spellwater3 > 0:'Blister <a href="exec:gt ''spell'', ''water3''">create the spell</a>'
-	end
+$SpellListStr
 
-	if round >= 6:
-		if spellwater4 > 0:'Water shark missile <a href="exec:gt ''spell'', ''water4''">create a spell</a>'
-		if spellwater5 > 0:'Great Flood <a href="exec:gt ''spell'', ''water5''">create the spell</a>'
-	end
-end
+killvar 'i'
+killvar '$ThisSpellName'
+killvar '$SpellListStr'
 
-act 'Physical Attack':gt 'boxing'
 
 --- magik ---------------------------------
 

+ 12 - 12
locations/mitka.qsrc

@@ -88,7 +88,7 @@ end
 if $ARGS[0] = 'first_chat':
 	cla	
 	minut += 10
-	npc_rel['A60'] = 10
+	npc_rel['A63'] = 10
 	gs 'stat'
 	
 	*nl
@@ -102,7 +102,7 @@ end
 if $ARGS[0] = 'normal_chat':
 	cla
 	minut += 5
-	npc_rel['A60'] += 1
+	npc_rel['A63'] += 1
 	gs 'stat'
 	
 	*nl
@@ -115,7 +115,7 @@ end
 if $ARGS[0] = 'sex_chat':
 	cla
 	minut += 5
-	npc_rel['A60'] += 2
+	npc_rel['A63'] += 2
 	gs 'stat'
 	
 	*nl
@@ -130,7 +130,7 @@ if $ARGS[0] = 'sex_chat':
 			if StoryLine = 1:
 				act 'I don''t know. My mother is obsessed with me staying a virgin.':
 					cla		
-					npc_rel['A60'] -= 1
+					npc_rel['A63'] -= 1
 					pcs_dom += 1
 					gs 'stat'
 					
@@ -141,7 +141,7 @@ if $ARGS[0] = 'sex_chat':
 			else
 				act 'I don''t know. I''m still a virgin...':
 					cla
-					npc_rel['A60'] -= 1
+					npc_rel['A63'] -= 1
 					pcs_dom += 1
 					gs 'stat'
 					
@@ -207,7 +207,7 @@ if $ARGS[0] = 'sex_chat':
 		end
 		act 'No thanks':
 			cla
-			npc_rel['A60'] -= 1
+			npc_rel['A63'] -= 1
 			gs 'stat'
 			
 			*nl
@@ -255,7 +255,7 @@ if $ARGS[0] = 'sex_chat':
 			if pcs_vag = 0: 
 				act 'No, I''m still a virgin':
 					cla
-					npc_rel['A60'] -= 2
+					npc_rel['A63'] -= 2
 					pcs_dom += 1
 					gs 'stat'
 					
@@ -267,7 +267,7 @@ if $ARGS[0] = 'sex_chat':
 			end
 			act 'No thanks, not today':
 				cla
-				npc_rel['A60'] -= 2
+				npc_rel['A63'] -= 2
 				gs 'stat'
 				
 				*nl
@@ -285,7 +285,7 @@ if $ARGS[0] = 'sex_chat':
 				'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['A60'] += 1
+				npc_rel['A63'] += 1
 				if npc_QW['A63'] < 10: npc_QW['A63'] += 1
 				gs 'boyStat', 'A63'
 				npc_sex['A63'] += 1
@@ -332,7 +332,7 @@ if $ARGS[0] = 'sex_chat':
 			end
 			act 'No thanks, not today':
 				cla
-				npc_rel['A60'] -= 2
+				npc_rel['A63'] -= 2
 				gs 'stat'
 				
 				*nl
@@ -377,7 +377,7 @@ if $ARGS[0] = 'sex_chat':
 			if pcs_ass = 0: 
 				act 'No, I''ve never done anal before':
 					cla
-					npc_rel['A60'] -= 2
+					npc_rel['A63'] -= 2
 					pcs_dom += 1
 					gs 'stat'
 					
@@ -389,7 +389,7 @@ if $ARGS[0] = 'sex_chat':
 			end
 			act 'No thanks, not today':
 				cla
-				npc_rel['A60'] -= 2
+				npc_rel['A63'] -= 2
 				gs 'stat'
 				
 				*nl

+ 874 - 0
locations/natkolEv.qsrc

@@ -0,0 +1,874 @@
+# natkolEv
+
+!! Events concerning Natasha Belova and Kolka
+
+!! Sex between Natasha and Kolka while Sveta watches
+if $ARGS[0] = 'kolkabj':
+	*clr & cla
+	natfuckday = daystart
+	if NatashaQW = 8: NatashaQW = 9
+	gs 'stat'
+	'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/girl/natasha/sex/natnudebed.jpg"></center>'
+	if NatKolkaSex = 0:
+		'"Today I want you to do something different for me Natasha. You did promise to do anything I wanted, remember?"'
+		'"Y-Yes <<$pcs_nickname>>."'
+		'"Good, then undress and I''ll arrange for a special guest. Don''t worry, it''ll stay between the three of us."'
+		'You take out your phone and call your brother while you watch as Natasha undresses. After a couple of rings your bother picks up. "Hello <<pcs_nickname>> whats up?" He asks.'
+		*nl
+		'You tell him. "Hey Kolka come up to apartment #, I got a special surprise for you."'
+		'He pauses a moment obviously wonder what it might be. "What is it?" He asks.'
+		'You giggle slightly as you look at Natasha now naked. "I promise you will like it."'
+		'"Ok, I''ll be up in a couple of minutes." He tells you before hanging up.'
+	else
+		'"Today we are going to train my brother some more, you would like that wouldn''t you?" You ask her.'
+		'Her eyes drop a bit and she nods. "Y-Yes <<$pcs_nickname>>." She starts to get undressed without you even asking.'
+		'You take out your phone and call your brother while you watch as Natasha undresses. After a couple of rings your bother picks up. "Hello <<pcs_nickname>>, whats up?" He asks.'
+		*nl
+		'You tell him. "Hey Kolka come up to Natasha''s, we have another lesson for you."'
+		'"Ok, I''ll be right up." He tells you eagerly before hanging up, you can just imagine him running up the stairs.'
+	end
+	act 'Wait for him':
+		*clr & cla
+		minut += 5
+		gs 'stat'
+		'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/girl/natasha/sex/natnudebed.jpg"></center>'
+		'A few minutes later you hear the front door open and close and then Kolka call out. "Hello?"'
+		'"In the bedroom!" You call out to him.'
+		'When Kolka enters the room Natasha immediately tries to cover herself with her hands. He stops dead, when he see''s Natasha naked and stares at her.'
+		'"Don''t you dare hide Natasha. Show him your pretty body." You order her, to which she drops her hands allowing Kolka a good look at her exposed tits.'
+		'Kolka''s eyes are glued to Natasha''s body. He has a noticeable bulge in his pants.'
+		if NatKolkaSex = 0:
+			if brotherSex > 6:
+				'"You like Natasha more than me brother?" You ask him with mock hurt in your voice.'
+				'"I-I..." He starts stammering. "I didn''t expect her to have a body like this."'
+				'"So, who''s pussy do you think is tighter, hers or mine?" You say, enjoying the look of confusion in his eyes as he tries to come up with an answer that will please you.'
+				'"I''m just teasing you bro, I''m pretty sure there isn''t a single boy on the planet who can think past a naked girl in front of him."'
+				'"Just remember, we''re here so that we can teach you how to do this properly. So you''re going to obey my directions."'
+			elseif npc_rel['A34'] >= 80:
+				'"She''s pretty isn''t she?" You ask him.'
+				'"I-I..." He starts stammering, but manages to nod. "Yes."'
+				'"So, who''s body is hotter, hers or mine?" You say, seeing the shocked and confused look in his eyes, as he blushes scarlet red.'
+				'"I''m just teasing you bro, I''m pretty sure there isn''t a single boy on the planet who can think past a naked girl in front of him."'
+				'He smiles bit at that, but doesn''t answer. As he stares at Natasha with obvious lust in his eyes.'
+				'"How would you like to fuck her bro?" You ask him.'
+				'He looks at you shocked at the question, then starts nodding. "I would love to."'
+			else
+				'"I can clearly see that you want her." You tell your brother, indicating the bulge in his pants which causes him to blush.'
+				'"How would you like to fuck her bro?" You ask him.'
+				'He looks at you shocked at the question, then starts nodding. "I would love to."'
+				'"Good we''re going to teach you how to treat a girl, at least once you get to her bedroom." You say with a laugh.'
+			end
+		else
+			'"I see that you''re ready for your next lesson bro."'
+		end
+		act 'Blowjob':
+			*clr & cla
+			natsub += 1
+			pcs_dom += 1
+			NatDolg -= 500
+			natbj += 1
+			natbro += 1
+!!I added it for 3 but I would suggest just having 2 to cut down on the size of the number of mp4''s
+			'<center><video <<$set_imgh>> src="images/characters/pavlovsk/school/girl/natasha/sex/natbj' + rand(1,3) + '.mp4"></center>'
+			'"You''re going to use that mouth of yours to make Kolka feel good, you got it?" You hiss at Natasha, grabbing her jaw and staring into her eyes.'
+			'Natasha jerkily nods and motions him over to the side of the bed. She reaches up with trembling hands to unfastens Kolka''s pants and pulls out his semi-hard dick. She tentatively begins to lick it and after a moment takes the now fully hard shaft into her mouth.'
+			'"Get her hair out of the way Kolka. I want to see this properly." You tell Kolka and he gathers her hair in his hand and keeps hold of it to guide her mouth up and down his shaft.'
+			'After a few more minutes Kolka says "I''m going to cum."'
+			gs 'arousal', 'voyeur', 5, 'dom'
+			gs 'arousal', 'end'
+			gs 'stat'
+			act 'Let Kolka cum': gt 'natkolkaEv', 'kolkacum', 0
+			if NatKolkaSex > 5: act 'Continue': gt 'natkolkaEv', 'softsex'
+		end
+		
+		act '69':
+			*clr & cla
+			'<center><video <<$set_imgh>> src="images/characters/pavlovsk/school/girl/natasha/sex/natbj4.mp4"></center>'
+			'"Kolka you need to learn how to pleasure a girl, if you want to keep one. I want you to eat Natasha''s pussy while she sucks you dick. Now lie back on the bed" He eagerly lays down on the bed, on his back, pulling his clothes off as he does.'
+			'"You''re going to use that mouth of yours to make Kolka feel good, you got it?" You hiss at Natasha, grabbing her jaw and staring into her eyes. "Don''t worry, you''re going to enjoy this too."'
+			*nl
+			'Natasha jerkily nods and starts undressing. "Now lie down on top of Kolka so he can lick you while you suck his dick."'
+			'Natasha positions herself on top of Kolka and reaches up with trembling hands to grab hold of his semi-hard dick. She tentatively begins to lick it and after a moment takes the now fully hard shaft into her mouth.'
+			'"Don''t just look at it Kolka, lick her." You order Kolka and he obediently starts licking Natasha''s pussy, occasionally sucking on her clit, making Natasha moan around his cock.'
+			'After a few more minutes Kolka says "I''m going to cum."'
+			gs 'arousal', 'voyeur', 5, 'dom'
+			gs 'arousal', 'end'
+			gs 'stat'
+			act 'Let Kolka cum': gt 'natkolkaEv', 'kolkacum', 0
+			if NatKolkaSex > 5: act 'Continue': gt 'natkolkaEv', 'softsex'
+		end
+	end
+end
+
+if $ARGS[0] = 'softsex':
+	*clr & cla
+	act 'Give him a titjob':
+		*clr & cla
+		'<center><video <<$set_imgh>> src="images/characters/pavlovsk/school/girl/natasha/sex/nattitjob.mp4"></center>'
+		'"I want you to finish him off with your tits today Natasha." You order her.'
+		'Natasha obediently kneels between his legs and presses her tits around Kolka''s dick. She starts to move them up and down his shaft slowly at first, then rapidly picking up speed as her saliva lubricates the motion.'
+		act 'Continue':
+			*clr & cla
+			'<center><video <<$set_imgh>> src="images/characters/pavlovsk/school/girl/natasha/sex/natfacial.mp4"></center>'
+			'After a few more minutes Kolka says "I''m going to cum."'
+			'"Jerk him off on your tits Natasha."'
+			'Natasha leans over Kolka''s cock and squeezes her tits together with one hand. With the other she rapidly strokes his cock. With a grunt Kolka shoots his cum onto Natasha''s tits. By the time he''s done Natasha''s chest is covered in cum.'
+			'"That''s all for today Kolka. You can get dressed. I have a few things I want to discuss with Natasha."'
+			NatKolkaSex += 1
+			gs 'arousal', 'voyeur', 5, 'dom'
+			gs 'arousal', 'end'
+			gs 'stat'
+			act 'Continue': gt 'natbelapt', 'natroom'
+		end
+	end
+	act 'Give him a assjob':
+		*clr & cla
+		'<center><video <<$set_imgh>> src="images/characters/pavlovsk/school/girl/natasha/sex/natassjob.mp4"></center>'
+		'"I want you to finish him off with your asscheeks today Natasha." You order her.'
+		'Natasha obediently lies down on her stomach and presenting her ass for Kolka to use. Kolka takes his time rubbing his dick over Natasha''s asshole and pussy before he presses his dick between her cheeks and starts hammering away.'
+		act 'Continue':
+			*clr & cla
+			'<center><video <<$set_imgh>> src="images/characters/pavlovsk/school/girl/natasha/sex/natassjobcum.mp4"></center>'
+			'After a few minutes Natasha gets on all fours so she can fuck Kolka back. Soon after he says "I''m going to cum."'
+			'"Shoot your load on her back brother."'
+			'Kolka groans and shoots his cum onto Natasha''s back. By the time he''s done Natasha''s back is covered in cum.'
+			'"That''s all for today Kolka. You can get dressed. I have a few things I want to discuss with Natasha."'
+			NatKolkaSex += 1
+			gs 'arousal', 'voyeur', 5, 'dom'
+			gs 'arousal', 'end'
+			gs 'stat'
+			act 'Continue': gt 'natbelapt', 'natroom'
+		end
+	end
+	act 'Give him a thighjob':
+		*clr & cla
+		'<center><video <<$set_imgh>> src="images/characters/pavlovsk/school/girl/natasha/sex/natthighjob01.mp4"></center>'
+		'"That''s enough of a warmup. Lie down on your back and put your legs in the air Natasha. You are going to fuck Kolka with your thighs."'
+		'Natasha obediently lays back and positions Kolka''s dick between her thighs so that it rubs against her pussy as she slowly moves up and down.'
+		'You can see Kolka''s dick getting wet from Natasha''s juices.'
+		act 'Continue':
+			*clr & cla
+			'<center><video <<$set_imgh>> src="images/characters/pavlovsk/school/girl/natasha/sex/natthighjob02.mp4"></center>'
+			'When Natasha starts to tire Kolka takes over and starts thrusting his dick against Natasha''s pussy, making her moan in pleasure.'
+			act 'Continue':
+				*clr & cla
+				'<center><video <<$set_imgh>> src="images/characters/pavlovsk/school/girl/natasha/sex/natthighjob03.mp4"></center>'
+				'After a few more minutes Kolka says "I''m going to cum."'
+				'"Cum on her pussy Kolka." You tell him.'
+				'Natasha pulls her legs up against her chest while Kolka holds his dick against her pussy with one hand as he keeps thrusting. With a grunt Kolka shoots his cum onto Natasha''s wet pussy. By the time he''s done her pussy is covered in his sperm.'
+				'"That''s all for today Kolka. You can get dressed. I have a few things I want to discuss with Natasha."'
+				NatKolkaSex += 1
+				gs 'arousal', 'voyeur', 5, 'dom'
+				gs 'arousal', 'end'
+				gs 'stat'
+				act 'Continue': gt 'natbelapt', 'natroom'
+			end
+		end		
+	end	
+	act 'Give him a footjob':
+		*clr & cla
+		'<center><video <<$set_imgh>> src="images/characters/pavlovsk/school/girl/natasha/sex/natfootjob.mp4"></center>'
+		if NatKolkaFootjob = 0:
+			NatKolkaFootjob = 1
+			'"Have you ever had a footjob Kolka? I bet Natasha''s feet feel great."'
+			'"No, but you know I''m open to these new kind of things." Kolka says with a grin.'
+		end
+		'"Well Natasha, lie back and use those soft feet of yours to get him off."'
+		'The two of them get comfortable on the bed and Natasha takes Kolka''s dick between her feet and gently starts playing with him.'
+		'"So, do her feet feel as soft as they look Kolka?"'
+		'"Y-Yeah, this is amazing." He lets out in a low groan.'
+		act 'Continue':
+			*clr & cla
+			'<center><video <<$set_imgh>> src="images/characters/pavlovsk/school/girl/natasha/sex/natfootjobcum.mp4"></center>'
+			'After a few more minutes Kolka says "I''m going to cum."'
+			'"Pick up the pace Natasha." You tell her.'
+			'Natasha wraps her toes around his cock and starts moving more rapidly. With a grunt Kolka shoots his cum on his belly. By the time he''s done his belly and Natasha''s feet are covered in sperm.'
+			'"That''s all for today Kolka. You can clean up and get dressed. I have a few things I want to discuss with Natasha."'
+			NatKolkaSex += 1
+			gs 'arousal', 'voyeur', 5, 'dom'
+			gs 'arousal', 'end'
+			gs 'stat'
+			act 'Continue': gt 'natbelapt', 'natroom'
+		end		
+	end	
+	if NatKolkaSex > 10:
+		act 'More': gt 'natkolkaEv', 'penetration'
+	end
+end
+
+if $ARGS[0] = 'penetration':
+	*clr & cla
+	'<center><video <<$set_imgh>> src="images/characters/pavlovsk/school/girl/natasha/sex/natfinger.mp4"></center>'
+	'You kneel down behind Natasha and put your hand between her legs, caressing her pussy for a few seconds before putting a finger in her, feeling how wet she is. When you pull it out again your finger is covered in her juices.'
+	'"Do you want Kolka''s dick in your pussy?" You whisper in her ear.'
+	'Natasha looks at you and then nods her head slowly.'
+	act 'Missionary':
+		*clr & cla
+		'<center><video <<$set_imgh>> src="images/characters/pavlovsk/school/girl/natasha/sex/natmissionary01.mp4"></center>'
+		'"Then ask him, better yet, beg him to make your pussy feel good. Let him know how much you want it." You tell her as you push her down on her back.'
+		'Natasha immediately opens her legs, giving Kolka an inviting view of her soaking pussy. "P-Please fuck my pussy Kolka... I-I need it. I want you inside me now."'
+		'Kolka looks at you and grins before turning his attention back to Natasha. He guides his cock in Natasha''s eager pussy and starts fucking her gently, causing her to moan out in pleasure.'
+		act 'Continue':
+			*clr & cla
+			'<center><video <<$set_imgh>> src="images/characters/pavlovsk/school/girl/natasha/sex/natmissionary02.mp4"></center>'
+			'"Fuck her harder Kolka. She can take it."'
+			'Kolka first looks at you and then at Natasha, searching for confirmation of what you just said.'
+			'"F-Faster... Please." She begs him.'
+			'Kolka doesn''t need any further urging on and starts to fuck Natasha hard, causing her tits to bounce up and down each time he thrusts into her.'
+			act 'Continue':
+				*clr & cla
+				'<center><video <<$set_imgh>> src="images/characters/pavlovsk/school/girl/natasha/sex/natmissionary03.mp4"></center>'
+				'You can see that Natasha is getting right on the edge. "She''s almost there Kolka. Just grab her and fuck her hard. I want to see her cum on your dick."'
+				'Kolka grabs hold of Natasha, lifting her up and starts fucking her as fast as he can. Within a few minutes you can see Natasha''s eyes roll back in her head while she moans loudly as her orgasm hits her.'
+				'After a few more minutes Kolka says "I''m going to cum."'
+				gs 'natbelEv', 'natcumresponse'
+				gt 'kolkacum', 1
+			end
+		end
+	end
+	act 'Cowgirl':
+		*clr & cla
+		'<center><video <<$set_imgh>> src="images/characters/pavlovsk/school/girl/natasha/sex/natride01.mp4"></center>'
+		'"Maybe I''ll let you fuck him." You tell Natasha as you push Kolka down on the bed.'
+		'"Grind your pussy on his cock Natasha. And you better start begging or I won''t let him put it inside."'
+		'Natasha immediately starts rubbing her soaked pussy on Kolka''s dick. "P-Please put it in... I-I need it. I want you inside me now."'
+		'You run your hand over Natasha''s body and give Kolka a nod "Ok Kolka, put it in, you should never leave a girl hanging when she needs it this bad."'
+		'"I won''t <<$pcs_nickname>>. She can ride my dick all she wants." He tells you as he guides his dick inside.'
+		act 'Continue':
+			*clr & cla
+			'<center><video <<$set_imgh>> src="images/characters/pavlovsk/school/girl/natasha/sex/natride02.mp4"></center>'
+			'As you step back Natasha needs no further encouragement . She places her hands on Kolka''s chest and starts riding his dick, letting out a moan from time to time.'
+			'"Your tight pussy feels great." Kolka tells her. "Keep going." To which she starts riding him even faster.'
+			act 'Continue':
+				*clr & cla
+				'<center><video <<$set_imgh>> src="images/characters/pavlovsk/school/girl/natasha/sex/natride03.mp4"></center>'
+				'You can see that Natasha is getting right on the edge. "She''s almost there Kolka. Just grab her and fuck her hard. I want to see her cum on your dick."'
+				'Kolka grabs Natasha by the ass, holding her in place and starts fucking her as fast as he can. Within a few minutes you can see Natasha''s eyes roll back in her head while she moans loudly as her orgasm hits her.'
+				'After a few more minutes Kolka says "I''m going to cum."'
+				gs 'natbelEv', 'natcumresponse'
+				gt 'kolkacum', 2
+			end
+		end
+	end
+	act 'Doggystyle':
+		*clr & cla
+		'<center><video <<$set_imgh>> src="images/characters/pavlovsk/school/girl/natasha/sex/natonbelly.mp4"></center>'
+		'"Then ask him, better yet, beg him to make your pussy feel good. Let him know how much you want it." You tell her as you push her down on her belly.'
+		'Natasha immediately pushes her ass up, giving Kolka an inviting view of her soaking pussy. "P-Please fuck my pussy Kolka... I-I need it. I want you inside me now."'
+		'Kolka looks at you and grins before turning his attention back to Natasha. He guides his cock in Natasha''s eager pussy and starts fucking her gently, causing her to moan out in pleasure.'
+		act 'Continue':
+			*clr & cla
+			'<center><video <<$set_imgh>> src="images/characters/pavlovsk/school/girl/natasha/sex/natdoggy01.mp4"></center>'
+			'After a while you see that Kolka is starting to tire and you decide to give him a little bit of rest.'
+			'"Time for you to do some work too Natasha. Get on all fours and fuck Kolka''s dick."'
+			'Kolka grabs Natasha by the hips and pulls her up until she''s sitting on her hands and knees. Keeping his dick inside of her pussy all the time.'
+			'Once she''s positioned properly he urges her on. "Come on Natasha, you heard <<$pcs_nickname>>."'
+			'Not skipping a beat Natasha starts to fuck Kolka''s dick as hard as she can. Each time she bottoms out she moans in pleasure.'
+			act 'Continue':
+				*clr & cla
+				'<center><video <<$set_imgh>> src="images/characters/pavlovsk/school/girl/natasha/sex/natdoggy02.mp4"></center>'
+				'You can see that Natasha is getting right on the edge. "She''s almost there Kolka. Just grab her and fuck her hard. I want to see her cum on your dick."'
+				'Kolka grabs Natasha by the hips, holding her in place and starts fucking her even faster. Within a few minutes you can see Natasha''s eyes roll back in her head while she moans loudly as her orgasm hits her.'
+				'After a few more minutes Kolka says "I''m going to cum."'
+				gs 'natbelEv', 'natcumresponse'
+				gt 'kolkacum', 3
+			end
+		end
+	end
+	
+	if NatKolkaSex > 20:		
+		act 'Anal sex': gt 'natkolkaEv', 'natkolkaanalprep'
+	end
+end
+
+if $ARGS[0] = 'natkolkaanalprep':
+	*clr & cla
+	'<center><video <<$set_imgh>> src="images/characters/pavlovsk/school/girl/natasha/sex/natanalfinger.mp4"></center>'
+	if natanal < 5:
+		natanal += 1
+		if natanal = 0:
+			'"Natasha has a cute little ass doesn''t she Kolka? Would you like to fuck it?"'
+			'"W-Wait... I''ve never had anal sex before." She whimpers.'
+		else
+			'"Would you like to fuck Natasha''s cute little asshole again?" You ask Kolka.'
+			'"W-Wait... It really hurt last time we did that." She whimpers.'
+		end
+		'"Present your ass to him. You just need to get used to it Natasha."'
+		'Natasha hesitantly gets on all fours and Kolka immediately starts playing with her asshole, testing it with a finger.'
+		'"Wow. That''s really tight. How does it feel, having my finger up there Natasha?" He asks her.'
+		'"I-It''s weird." She stammers.'
+		'"You''ll learn to love it." You tell her. "You know what, how about a deal? If Kolka manages to get you off with his mouth you''ll let him try fucking your ass."'
+		if natanal = 0:
+			'Natasha looks at you and you can clearly see that she''s not sure she wants this. "You''ll never know if you like it if you don''t try it at least once Natasha." You try to persuade her.'
+			'"Ok, I guess I can give it a try."'
+		else
+			'Natasha looks at you and you can clearly see that she''s not sure she wants this again. "You never gave yourself the chance to get into it Natasha." You try to persuade her.'
+			'"Ok, I guess I can give it a try again."'
+		end
+	else
+		'"Would you like to fuck Natasha''s cute little asshole again?" You ask Kolka.'
+		'"Ofcourse <<$pcs_nickname>>" He says with a big grin on his face at the prospect of fucking her tight asshole again.'
+		'"Present your ass to him. Time for some more training, Natasha."'
+		'Natasha hesitantly gets on all fours and Kolka immediately starts playing with her asshole, testing it with a finger.'
+		'"Wow. It''s always so tight. You like having my finger up there, don''t you, Natasha?" He asks her.'
+		'"Y-Yeah." She stammers. "But would you... Would you lick me again first please?"'
+	end
+	act 'Kolka licks her':
+		*clr & cla
+		natkolkadeal = 1
+		'<center><video <<$set_imgh>> src="images/characters/pavlovsk/school/girl/natasha/sex/natcuni.mp4"></center>'
+		'Natasha lies back on the bed and opens her legs for Kolka.'
+		'"Come on Kolka. Earn your reward." You eagerly urge him on.'
+		'He doesn''t waste a second and places his mouth on her pussy. Licking it gently first, then gradually putting more passion into it.'
+		'You enjoy the sound of Natasha''s moans as Kolka keeps working her pussy, switching between sucking on her clit and fucking her pussy with his tongue.'
+		'After a few minutes Natasha suddenly grabs his head and keeps it pressed firmly in her pussy.'
+		'"P-Please." She begs him, right before her entire body starts to shake in an intense orgasm.'
+		'"It looks like Kolka earned a reward." You say, looking in Natasha''s eyes.'
+		if natanal = 0:
+			'"Y-Yeah, I''ll try it <<$pcs_nickname>>." She says, still out of breath.'
+		elseif natanal < 5:
+			'"Y-Yeah, he can fuck my ass again." She says, still out of breath.'
+		else
+			'"Y-Yeah, please take my ass again Kolka." She says, still out of breath.'
+		end
+		act 'Anal sex': gt 'natkolkaEv', 'natkolkaanalsex'
+	end
+	if natanal >= 5:
+		act 'Skip straight to anal': gt 'natkolkaEv', 'natkolkaanalsex'
+	end
+end
+
+if $ARGS[0] = 'natkolkaanalsex':
+	act 'Missionary anal':
+		*clr & cla
+		'<center><video <<$set_imgh>> src="images/characters/pavlovsk/school/girl/natasha/sex/natanalmissionary01.mp4"></center>'
+		'"Move over to the edge of the bed and spread that ass, Natasha." You order her.'
+		if natanal = 0:
+			'"Ok, but please be gentle Kolka. I''ve never done this before." She begs him as she does as you instructed.'
+		elseif natanal < 10:
+			'"Ok, but please be gentle Kolka." She begs him as she does as you instructed.'
+		else
+			'"I want you in my ass, Kolka." She begs him as she does as you instructed.'
+		end
+		'Kolka doesn''t waste any time and presses the tip of his dick against her sphincter.'
+		if natkolkadeal = 1:
+			'"Time for my reward." He tells her as he slowly starts pushing himself into Natasha''s ass.'
+		else
+			'"I love your tight asshole." He tells her as he slowly starts pushing himself into Natasha''s ass.'
+		end
+		if natanal < 5:
+			'The moment his tip pops inside Natasha lets out a groan of pain. "I-It hurts... Aah... I don''t know if I... Please... Gently..." She begs him in pained gasps.'
+		elseif natanal < 10:
+			'The moment his tip pops inside Natasha lets out a groan of mixed pleasure and pain. "Aah... Be gentle with my ass." She begs him.'
+		else
+			'The moment his tip pops inside Natasha lets out a groan of pleasure. "Aah... Please take my ass. I want it." She begs him.'
+		end
+		act 'Continue':
+			*clr & cla
+			'<center><video <<$set_imgh>> src="images/characters/pavlovsk/school/girl/natasha/sex/natanalmissionary02.mp4"></center>'
+			if natanal = 0:
+				'"I''m going to start moving now Natasha." Kolka says as he slowly pushes deeper into her ass, making her cry out again.'
+				'"Please do it gently. I-It hurts." Natasha pleads again as she uses her hands to keep Kolka from going too deep.'
+				'"Jesus your ass is tight Natasha. You''re nearly crushing me." He pants as he slowly pushes in and out, making her wince and gasp with each stroke.'
+				'You sit down on the bed next to Natasha and whisper in her ear. "Keep your asshole relaxed. You''re doing great for your first time."'
+				'After a few more minutes of slowly fucking her ass Kolka says "I''m going to cum."'
+				gt 'kolkacum', 4
+			elseif natanal < 5:
+				'"I''m going to start moving now Natasha." Kolka says as he slowly pushes deeper into her ass, making her moan.'
+				'"Ok, just go slow so I can adjust." Natasha pleads again as she uses her hands to keep Kolka from going too deep.'
+				'"Relax your ass. I won''t go too fast." He pants as he slowly pushes in and out, making her gasp with each stroke.'
+				'You sit down on the bed next to Natasha and whisper in her ear. "Keep your asshole relaxed. You''re doing a lot better than last time."'
+				'After a few more minutes of slowly fucking her ass Kolka says "I''m going to cum."'
+				gt 'kolkacum', 4
+			elseif natanal < 10:
+				'"You like it, don''t you?" Kolka asks as he slowly pushes himself deep into her ass, making her moan.'
+				'"Y-Yeah but don''t go too fast. I need to adjust a bit." Natasha says as she uses her hands to keep Kolka from going too deep.'
+				'"Relax your ass. I won''t go too fast." He pants as he slowly pushes in and out, making her moan with each stroke.'
+				'You sit down on the bed next to Natasha and whisper in her ear. "Keep your asshole relaxed. You''re doing great."'
+				'After a few more minutes of slowly fucking her ass Kolka says "I''m going to cum."'
+				gt 'kolkacum', 4
+			else
+				'"How much do you want it?" Kolka asks as he slowly pushes himself deep into her ass, making her moan.'
+				'"Y-Yeah i love how you feel in my ass." Natasha says as she uses her hands to keep Kolka from going too deep right away.'
+				'"I love fucking your tight ass Natasha." He pants as he slowly pushes in and out, making her moan with each stroke.'
+				'"Harder, I-I want it harder." She pleads with him.'
+				act 'Continue':
+					*clr & cla
+					'<center><video <<$set_imgh>> src="images/characters/pavlovsk/school/girl/natasha/sex/natanalmissionary03.mp4"></center>'
+					'Kolka lifts Natasha''s ass off the bed, giving him better access to her asshole and really starts to pound away, making her cry out for even more.'
+					'The thought of having turned Natasha into a buttslut makes your pussy so wet that you can feel it running down your inner thighs.'
+					'It doesn''t take much of Kolka''s relentless pounding before she starts to shake in orgasm.'
+					'After a few more strokes Kolka says "I''m going to cum."'
+					gt 'kolkacum', 4
+				end
+			end	
+		end
+	end
+	act 'Cowgirl anal':
+		*clr & cla
+		'<center><video <<$set_imgh>> src="images/characters/pavlovsk/school/girl/natasha/sex/natanalride01.mp4"></center>'
+		'"You''re going to ride him with that ass of yours, Natasha." You order her.'
+		if natanal = 0:
+			'"Ok, but please let me take it slow. I''ve never done this before." She begs as she does as you instructed.'
+		elseif natanal < 10:
+			'"Ok, but please let me take it slow." She begs as she does as you instructed.'
+		else
+			'"I want you in my ass again." She says to Kolka as she does as you instructed.'
+		end
+		if natkolkadeal = 1:
+			'"Time for my reward." He tells her as she slowly starts pushing his dick into her ass.'
+		else
+			'"I love your tight asshole." He tells her as she slowly starts pushing his dick into her ass.'
+		end
+		if natanal < 5:
+			'The moment his tip pops inside Natasha lets out a groan of pain. "I-It hurts... Aah... I don''t know if I..." She begs in pained gasps.'
+			'"Just hold it there Natasha. Give your ass a moment to adjust." You order her.'
+		elseif natanal < 10:
+			'The moment his tip pops inside Natasha lets out a groan of mixed pleasure and pain. "Aah... I have to take this slow." She tells him.'
+			'"Just go slow Natasha. Give your ass a moment to adjust." You order her.'
+		else
+			'The moment his tip pops inside Natasha lets out a groan of pleasure. "Aah... I love it in my ass." She tells him as she takes his dick as deep as she can.'
+		end
+		act 'Continue':
+			*clr & cla
+			'<center><video <<$set_imgh>> src="images/characters/pavlovsk/school/girl/natasha/sex/natanalride02.mp4"></center>'
+			'"Turn around and put your feed on his knees. Let him fuck your ass." You order Natasha.'
+			'Natasha obediently turns around and slowly puts his dick in her ass again before placing her feet on his knees.'
+			if natanal = 0:
+				'"I''m going to start moving now Natasha." Kolka says as he slowly pushes deeper into her ass, making her cry out again.'
+				'"Please do it gently. I-It hurts." Natasha pleads again.'
+				'"Jesus your ass is thight Natasha. You''re nearly crushing me." He pants as he slowly pushes in and out, making her wince and gasp with each stroke.'
+				'You sit down on the bed next to Natasha and whisper in her ear. "Keep your asshole relaxed. You''re doing great for your first time."'
+				'After a few more minutes of slowly fucking her ass Kolka says "I''m going to cum."'
+				gt 'kolkacum', 5
+			elseif natanal < 5:
+				'"I''m going to start moving now Natasha." Kolka says as he slowly pushes deeper into her ass, making her moan.'
+				'"Ok, just go slow so I can adjust." Natasha pleads again.'
+				'"Relax your ass. I won''t go too fast." He pants as he slowly pushes in and out, making her gasp with each stroke.'
+				'You sit down on the bed next to Natasha and whisper in her ear. "Keep your asshole relaxed. You''re doing a lot better than last time."'
+				'After a few more minutes of slowly fucking her ass Kolka says "I''m going to cum."'
+				gt 'kolkacum', 5
+			elseif natanal < 10:
+				'"You like it, don''t you?" Kolka asks as he slowly pushes himself deep into her ass, making her moan.'
+				'"Y-Yeah but don''t go too fast. I need to adjust a bit." Natasha says.'
+				'"Relax your ass. I won''t go too fast." He pants as he slowly pushes in and out, making her moan with each stroke.'
+				'You sit down on the bed next to Natasha and whisper in her ear. "Keep your asshole relaxed. You''re doing great."'
+				'After a few more minutes of slowly fucking her ass Kolka says "I''m going to cum."'
+				gt 'kolkacum', 5
+			else
+				'"How much do you want it?" Kolka asks as he slowly pushes himself deep into her ass, making her moan.'
+				'"Y-Yeah i love how you feel in my ass." Natasha says.'
+				'"I love fucking your tight ass Natasha." He pants as he slowly pushes in and out, making her moan with each stroke.'
+				'"Harder, I-I want it harder." She pleads with him.'
+				act 'Continue':
+					*clr & cla
+					'<center><video <<$set_imgh>> src="images/characters/pavlovsk/school/girl/natasha/sex/natanalride03.mp4"></center>'
+					'Kolka grabs Natasha''s legs and lays her on top of his chest, giving him better access to her asshole and really starts to pound away, making her cry out for even more.'
+					'The thought of having turned Natasha into a buttslut makes your pussy so wet that you can feel it running down your inner thighs.'
+					'It doesn''t take much of Kolka''s relentless pounding before she starts to shake in orgasm.'
+					'After a few more strokes Kolka says "I''m going to cum."'
+					gt 'kolkacum', 5
+				end
+			end	
+		end
+	end
+	act 'Doggystyle anal':
+		*clr & cla
+		'<center><video <<$set_imgh>> src="images/characters/pavlovsk/school/girl/natasha/sex/natanaldoggy01.mp4"></center>'
+		'"Lie down and spread that ass, Natasha." You order her.'
+		if natanal = 0:
+			'"Ok, but please be gentle Kolka. I''ve never done this before." She begs him as she does as you instructed.'
+		elseif natanal < 10:
+			'"Ok, but please be gentle Kolka." She begs him as she does as you instructed.'
+		else
+			'"I want you in my ass, Kolka." She begs him as she does as you instructed.'
+		end
+		'Kolka doesn''t waste any time and presses the tip of his dick against her sphincter.'
+		if natkolkadeal = 1:
+			'"Time for my reward." He tells her as he slowly starts pushing himself into Natasha''s ass.'
+		else
+			'"I love your tight asshole." He tells her as he slowly starts pushing himself into Natasha''s ass.'
+		end
+		if natanal < 5:
+			'The moment his tip pops inside Natasha lets out a groan of pain. "I-It hurts... Aah... I don''t know if I... Please... Gently..." She begs him in pained gasps.'
+		elseif natanal < 10:
+			'The moment his tip pops inside Natasha lets out a groan of mixed pleasure and pain. "Aah... Be gentle with my ass." She begs him.'
+		else
+			'The moment his tip pops inside Natasha lets out a groan of pleasure. "Aah... Please take my ass. I want it." She begs him.'
+		end
+		act 'Continue':
+			*clr & cla
+			'<center><video <<$set_imgh>> src="images/characters/pavlovsk/school/girl/natasha/sex/natanaldoggy02.mp4"></center>'
+			'"Get on all fours now Natasha." You order her.'
+			'Natasha obediently gets up on her hands and knees and presents her ass to Kolka, allowing him to insert his dick again.'
+			if natanal = 0:
+				'"I''m going to start moving now Natasha." Kolka says as he slowly pushes deeper into her ass, making her cry out again.'
+				'"Please do it gently. I-It hurts." Natasha pleads again.'
+				'"Jesus your ass is thight Natasha. You''re nearly crushing me." He pants as he slowly pushes in and out, making her wince and gasp with each stroke.'
+				'You sit down on the bed next to Natasha and whisper in her ear. "Keep your asshole relaxed. You''re doing great for your first time."'
+				'After a few more minutes of slowly fucking her ass Kolka says "I''m going to cum."'
+				gt 'kolkacum', 4
+			elseif natanal < 5:
+				'"I''m going to start moving now Natasha." Kolka says as he slowly pushes deeper into her ass, making her moan.'
+				'"Ok, just go slow so I can adjust." Natasha pleads again.'
+				'"Relax your ass. I won''t go too fast." He pants as he slowly pushes in and out, making her gasp with each stroke.'
+				'You sit down on the bed next to Natasha and whisper in her ear. "Keep your asshole relaxed. You''re doing a lot better than last time."'
+				'After a few more minutes of slowly fucking her ass Kolka says "I''m going to cum."'
+				gt 'kolkacum', 4
+			elseif natanal < 10:
+				'"You like it, don''t you?" Kolka asks as he slowly pushes himself deep into her ass, making her moan.'
+				'"Y-Yeah but don''t go too fast. I need to adjust a bit." Natasha says.'
+				'"Relax your ass. I won''t go too fast." He pants as he slowly pushes in and out, making her moan with each stroke.'
+				'You sit down on the bed next to Natasha and whisper in her ear. "Keep your asshole relaxed. You''re doing great."'
+				'After a few more minutes of slowly fucking her ass Kolka says "I''m going to cum."'
+				gt 'kolkacum', 4
+			else
+				'"How much do you want it?" Kolka asks as he slowly pushes himself deep into her ass, making her moan.'
+				'"Y-Yeah I love how you feel in my ass." Natasha says.'
+				'"I love fucking your tight ass Natasha." He pants as he slowly pushes in and out, making her moan with each stroke.'
+				'"Harder, I-I want it harder." She pleads with him.'
+				act 'Continue':
+					*clr & cla
+					'<center><video <<$set_imgh>> src="images/characters/pavlovsk/school/girl/natasha/sex/natanaldoggy03.mp4"></center>'
+					'Kolka grabs Natasha by the hips and really starts to pound away, making her cry out for even more.'
+					'The thought of having turned Natasha into a buttslut makes your pussy so wet that you can feel it running down your inner thighs.'
+					'It doesn''t take much of Kolka''s relentless pounding before she starts to shake in orgasm.'
+					'After a few more strokes Kolka says "I''m going to cum."'
+					gt 'kolkacum', 4
+				end
+			end	
+		end
+	end
+end
+	
+if $ARGS[0] = 'kolkacum':
+!! ARGS[1] is used to determine where Kolka can cum.
+!!	0	should be used when there is no vaginal or anal penetration
+!!	1 	if there is vaginal penetration, missionary
+!!	2 	if there is vaginal penetration, cowgirl
+!!	3	if there is vaginal penetration, doggy
+!!	4	if there is anal penetration, missionary
+!!	5 	if there is anal penetration, cowgirl
+!!	6	if there is anal penetration, doggy
+	NatKolkaSex += 1
+	gs 'arousal', 'voyeur', 5, 'dom'
+	gs 'arousal', 'end'
+	gs 'stat'
+	act 'Cum on her face':
+		*clr & cla
+		'<center><video <<$set_imgh>> src="images/characters/pavlovsk/school/girl/natasha/sex/natfacial.mp4"></center>'
+		'"Do it on her face."'
+		'Natasha kneels down at Kolka''s feet and jerks his cock over her face rapidly. With a grunt Kolka shoots his cum onto Natasha''s face. By the time he''s done Natasha''s face and chest are covered in the cum that she didn''t manage to catch in her mouth.'
+		'"That''s all for today Kolka. You can get dressed. I have a few things I want to discuss with Natasha."'
+		act 'Continue': gt 'natbelapt', 'natroom'
+	end
+	act 'Cum in her mouth':
+		*clr & cla
+		'<center><video <<$set_imgh>> src="images/characters/pavlovsk/school/girl/natasha/sex/natcummouth.mp4"></center>'
+		'"Cum in her mouth."'
+		'Kolka holds Natasha by the hair as he pistons his cock into her mouth rapidly. Natasha''s chin is covered with her drool and it is dripping down everywhere. With a grunt, Kolka pulls his dick from Natasha''s mouth and she automatically opens her mouth and sticks out her tongue. Kolka pumps his dick a few times then shoots his cum into Natasha''s waiting mouth.'	
+		act 'Swallow':
+			*clr & cla
+			'<center><video <<$set_imgh>> src="images/characters/pavlovsk/school/girl/natasha/sex/natswallow2.mp4"></center>'
+			'"Swallow it, slut." You command, when Kolka is done, before Natasha can spit the sperm out.'
+			'Natasha grimaces but complies, swallowing Kolka''s load then opening her mouth to show that it is all gone.'
+			'"That''s all for today Kolka. You can get dressed. I have a few things I want to discuss with Natasha."'
+			act 'Continue': gt 'natbelapt', 'natroom'
+		end
+	end
+	act 'Cum down her throat':
+		*clr & cla
+		'<center><video <<$set_imgh>> src="images/characters/pavlovsk/school/girl/natasha/sex/natthroat.mp4"></center>'
+		'"Do it in her throat."'
+		'Natasha, sits down at the side of the bed starts deepthroating his cock rapidly. Natasha''s chin is covered with her drool and it is dripping down everywhere. "Here it comes." He says and Natasha''s forces herself down on his cock as far as she can go while Kolka releases his cum in her. Not a drop escapes her mouth.'
+		'"That''s all for today Kolka. You can get dressed. I have a few things I want to discuss with Natasha."'
+		act 'Continue': gt 'natbelapt', 'natroom'
+	end
+	act 'Cum on her tits':
+		*clr & cla
+		'<center><video <<$set_imgh>> src="images/characters/pavlovsk/school/girl/natasha/sex/natfacial.mp4"></center>'
+		'"Jerk him off on your tits Natasha."'
+		'Natasha leans over Kolka''s cock and squeezes her tits together with one hand. With the other she rapidly strokes his cock. With a grunt Kolka shoots his cum onto Natasha''s tits. By the time he''s done Natasha''s chest is covered in cum.'
+		'"That''s all for today Kolka. You can get dressed. I have a few things I want to discuss with Natasha."'
+		act 'Continue': gt 'natbelapt', 'natroom'
+	end
+	if ARGS[1] = 1:
+		NatKolkaSex += 1
+		gs 'arousal', 'voyeur', 15, 'dom'
+		gs 'arousal', 'end'
+		gs 'stat'
+		act 'Cum on her belly':
+			*clr & cla
+			if rand(0,9) = 0:
+				natcp += 1
+				'<center><video autoplay loop src="images/characters/pavlovsk/school/girl/natasha/sex/natcreampiemissionary.mp4"></video></center>'
+				'After a few more minutes Kolka says "I''m going to cum."'
+				gs 'natbelEv', 'natcumresponse'
+				'You let her pull away from your brother, but it appears Kolka was really close, and before anyone could do anything, your brother pumps his seed in Natasha''s body.'
+				'"Fuck, I really am sorry, Natasha!", he says apologetically. "It is just, you are so hot!"'
+				'Natasha doesn''t even listen to him, just looks at you with a strange expression on her face. You can''t really decide whether she is scared that Kolka came in her pussy, or enjoyed it. Maybe both at the same time?'
+				'You quietly signal your brother to dress up and leave while you kiss her deeply. "I hope you enjoyed it, pet. We may repeat it."'
+				if rand(1,100) >= 95 and natpregday = 0:natpregday = daystart
+			else
+				'<center><video <<$set_imgh>> src="images/characters/pavlovsk/school/girl/natasha/sex/natcumbelly.mp4"></center>'
+				'After a few more minutes Kolka says "I''m going to cum."'
+				gs 'natbelEv', 'natcumresponse'
+				'"Cum on her belly."'
+				'With a grunt Kolka''s pulls his cock out of Natasha at the last second and starts jerking it over her pussy, shooting his load all over Natasha''s belly and pussy. By the time he''s done Natasha''s belly is covered in cum, some even reached her tits.'
+				'"That''s all for today Kolka. You can get dressed. I have a few things I want to discuss with Natasha."'
+			end
+			act 'Continue': gt 'natbelapt', 'natroom'
+		end
+		act 'Cum on her pussy':
+			*clr & cla
+			if rand(0,9) = 0:
+				natcp += 1
+				'<center><video autoplay loop src="images/characters/pavlovsk/school/girl/natasha/sex/natcreampiemissionary.mp4"></video></center>'
+				'After a few more minutes Kolka says "I''m going to cum."'
+				gs 'natbelEv', 'natcumresponse'
+				'You let her pull away from your brother, but it appears Kolka was really close, and before anyone could do anything, your brother pumps his seed in Natasha''s body.'
+				'"Fuck, I really am sorry, Natasha!", he says apologetically. "It is just, you are so hot!"'
+				'Natasha doesn''t even listen to him, just looks at you with a strange expression on her face. You can''t really decide whether she is scared that Kolka came in her pussy, or enjoyed it. Maybe both at the same time?'
+				'You quietly signal your brother to dress up and leave while you kiss her deeply. "I hope you enjoyed it, pet. We may repeat it."'
+				if rand(1,100) >= 95 and natpregday = 0:natpregday = daystart
+			else
+				'<center><video <<$set_imgh>> src="images/characters/pavlovsk/school/girl/natasha/sex/natcumpussy.mp4"></center>'
+				'After a few more minutes Kolka says "I''m going to cum."'
+				gs 'natbelEv', 'natcumresponse'
+				'"Cum on her pussy."'
+				'With a grunt Kolka''s pulls his cock out of Natasha at the last second and starts jerking it over her pussy, shooting his load all over Natasha''s her pussy. By the time he''s done Natasha''s pussy is covered in cum, some dripping down her ass.'
+				'"That''s all for today Kolka. You can get dressed. I have a few things I want to discuss with Natasha."'
+			end
+			act 'Continue': gt 'natbelapt', 'natroom'
+		end
+		if natcp > 0:
+			act 'Cum inside':
+				*clr & cla
+				natcp += 1
+				'<center><video autoplay loop src="images/characters/pavlovsk/school/girl/natasha/sex/natcreampiemissionary.mp4"></video></center>'
+				'"Cum in her pussy Kolka, I want you to paint her insides with your cum."'
+				'With a grunt Kolka''s pushes himself deep in Natasha, shooting his load in her pussy. When he pulls out you can see some of it dripping out of her full pussy.'
+				'Natasha just looks at you with a strange expression on her face. You can''t really decide whether she is scared that Kolka came in her pussy, or enjoyed it. Maybe both at the same time?'
+				'"That''s all for today Kolka. You can get dressed. I have a few things I want to discuss with Natasha."'
+				if rand(1,100) >= 95 and natpregday = 0:natpregday = daystart
+				act 'Continue': gt 'natbelapt', 'natroom'
+			end		
+		end
+	end
+	if ARGS[1] = 2:
+		NatKolkaSex += 1
+		gs 'arousal', 'voyeur', 15, 'dom'
+		gs 'arousal', 'end'
+		gs 'stat'
+		act 'Cum on her ass':
+			*clr & cla
+			if rand(0,9) = 0:
+				natcp += 1
+				'<center><video autoplay loop src="images/characters/pavlovsk/school/girl/natasha/sex/natcreampieride.mp4"></video></center>'
+				'After a few more minutes Kolka says "I''m going to cum."'
+				gs 'natbelEv', 'natcumresponse'
+				'You let her pull away from your brother, but it appears Kolka was really close, and before anyone could do anything, your brother pumps his seed in Natasha''s body.'
+				'"Fuck, I really am sorry, Natasha!", he says apologetically. "It is just, you are so hot!"'
+				'Natasha doesn''t even listen to him, just looks at you with a strange expression on her face. You can''t really decide whether she is scared that Kolka came in her pussy, or enjoyed it. Maybe both at the same time?'
+				'You quietly signal your brother to dress up and leave while you kiss her deeply. "I hope you enjoyed it, pet. We may repeat it."'
+				if rand(1,100) >= 95 and natpregday = 0:natpregday = daystart
+			else
+				'<center><video <<$set_imgh>> src="images/characters/pavlovsk/school/girl/natasha/sex/natcumride.mp4"></center>'
+				'After a few more minutes Kolka says "I''m going to cum."'
+				gs 'natbelEv', 'natcumresponse'
+				'"Cum on her ass."'
+				'With a grunt Kolka''s pulls his cock out of Natasha''s pussy at the last second and starts jerking it over her ass, shooting his load all over Natasha''s ass.  By the time he''s done Natasha''s ass is covered in cum, some even reached lower back.'
+				'"That''s all for today Kolka. You can get dressed. I have a few things I want to discuss with Natasha."'
+			end
+			act 'Continue': gt 'natbelapt', 'natroom'
+		end
+		if natcp > 0:
+			act 'Cum inside':
+				*clr & cla
+				natcp += 1
+				'<center><video autoplay loop src="images/characters/pavlovsk/school/girl/natasha/sex/natcreampieride.mp4"></video></center>'
+				'"Cum in her pussy Kolka, I want you to paint her insides with your cum."'
+				'As if on command Kolka starts shooting his load in her pussy. When he pulls out you can see some of it dripping out of her full pussy.'
+				'Natasha just looks at you with a strange expression on her face. You can''t really decide whether she is scared that Kolka came in her pussy, or enjoyed it. Maybe both at the same time?'
+				'"That''s all for today Kolka. You can get dressed. I have a few things I want to discuss with Natasha."'
+				if rand(1,100) >= 95 and natpregday = 0:natpregday = daystart
+				act 'Continue': gt 'natbelapt', 'natroom'
+			end
+		end
+	end
+	if ARGS[1] = 3:
+		NatKolkaSex += 1
+		gs 'arousal', 'voyeur', 15, 'dom'
+		gs 'arousal', 'end'
+		gs 'stat'
+		act 'Cum on her ass':
+			*clr & cla
+			if rand(0,9) = 0:
+				natcp += 1
+				'<center><video autoplay loop src="images/characters/pavlovsk/school/girl/natasha/sex/natcreampiedoggy.mp4"></video></center>'
+				'After a few more minutes Kolka says "I''m going to cum."'
+				gs 'natbelEv', 'natcumresponse'
+				'You let her pull away from your brother, but it appears Kolka was really close, and before anyone could do anything, your brother pumps his seed in Natasha''s body.'
+				'"Fuck, I really am sorry, Natasha!", he says apologetically. "It is just, you are so hot!"'
+				'Natasha doesn''t even listen to him, just looks at you with a strange expression on her face. You can''t really decide whether she is scared that Kolka came in her pussy, or enjoyed it. Maybe both at the same time?'
+				'You quietly signal your brother to dress up and leave while you kiss her deeply. "I hope you enjoyed it, pet. We may repeat it."'
+				if rand(1,100) >= 95 and natpregday = 0:natpregday = daystart
+			else
+				'<center><video <<$set_imgh>> src="images/characters/pavlovsk/school/girl/natasha/sex/natcumassdoggy.mp4"></center>'
+				'After a few more minutes Kolka says "I''m going to cum."'
+				gs 'natbelEv', 'natcumresponse'
+				'"Cum on her ass."'
+				'With a grunt Kolka''s pulls his cock out of Natasha''s pussy at the last second and starts jerking it over her ass, shooting his load all over Natasha''s ass  By the time he''s done Natasha''s ass is covered in cum, some even reached her lower back.'
+				'"That''s all for today Kolka. You can get dressed. I have a few things I want to discuss with Natasha."'
+			end
+			act 'Continue': gt 'natbelapt', 'natroom'
+		end
+		if natcp > 0:
+			act 'Cum inside':
+				*clr & cla
+				natcp += 1
+				'<center><video autoplay loop src="images/characters/pavlovsk/school/girl/natasha/sex/natcreampieride.mp4"></video></center>'
+				'"Cum in her pussy Kolka, I want you to paint her insides with your cum."'
+				'As if on command Kolka starts shooting his load in her pussy. When he pulls out you can see some of it dripping out of her full pussy.'
+				'Natasha just looks at you with a strange expression on her face. You can''t really decide whether she is scared that Kolka came in her pussy, or enjoyed it. Maybe both at the same time?'
+				'"That''s all for today Kolka. You can get dressed. I have a few things I want to discuss with Natasha."'
+				if rand(1,100) >= 95 and natpregday = 0:natpregday = daystart
+				act 'Continue': gt 'natbelapt', 'natroom'
+			end
+		end
+	end
+	
+	if ARGS[1] = 4:
+		natanal += 1
+		NatKolkaSex += 1
+		gs 'arousal', 'voyeur', 15, 'dom'
+		gs 'arousal', 'end'
+		gs 'stat'
+		
+		act 'Cum on her pussy':
+			*clr & cla
+			'<center><video <<$set_imgh>> src="images/characters/pavlovsk/school/girl/natasha/sex/natcumpussy.mp4"></center>'
+			'After a few more minutes Kolka says "I''m going to cum."'
+			'"Cum on her pussy."'
+			'With a grunt Kolka''s pulls his cock out of Natasha at the last second and starts jerking it over her pussy, shooting his load all over Natasha''s her pussy. By the time he''s done Natasha''s pussy is covered in cum, some dripping down her ass.'
+			'"That''s all for today Kolka. You can get dressed. I have a few things I want to discuss with Natasha."'
+			act 'Continue': gt 'natbelapt', 'natroom'
+		end
+		act 'Cum inside':
+			*clr & cla
+			'<center><video autoplay loop src="images/characters/pavlovsk/school/girl/natasha/sex/natanalcreampiemissionary.mp4"></video></center>'
+			'"Cum in her ass Kolka, I want you to paint her intestines with your cum."'
+			'As if on command Kolka starts shooting his load in her ass. After a second he takes his dick out and shoots the rest of his load on her asshole.'
+			'"That''s all for today Kolka. You can get dressed. I have a few things I want to discuss with Natasha."'
+			act 'Continue': gt 'natbelapt', 'natroom'
+		end
+	end
+	
+	if ARGS[1] = 5:
+		natanal += 1
+		NatKolkaSex += 1
+		gs 'arousal', 'voyeur', 15, 'dom'
+		gs 'arousal', 'end'
+		gs 'stat'
+		
+		act 'Cum inside':
+			*clr & cla
+			'<center><video autoplay loop src="images/characters/pavlovsk/school/girl/natasha/sex/natanalcreampieride.mp4"></video></center>'
+			'"Cum in her ass Kolka, I want you to paint her intestines with your cum."'
+			'As if on command Kolka starts shooting his load in her ass. When he pulls out, Natasha rolls off him and you can see some of it dripping out of her full asshole.'
+			'"That''s all for today Kolka. You can get dressed. I have a few things I want to discuss with Natasha."'
+			act 'Continue': gt 'natbelapt', 'natroom'
+		end
+	end
+		
+	if ARGS[1] = 6:
+		natanal += 1
+		NatKolkaSex += 1
+		gs 'arousal', 'voyeur', 15, 'dom'
+		gs 'arousal', 'end'
+		gs 'stat'
+		
+		act 'Cum on her ass':
+			*clr & cla
+			'<center><video <<$set_imgh>> src="images/characters/pavlovsk/school/girl/natasha/sex/natcumassdoggy.mp4"></center>'
+			'After a few more minutes Kolka says "I''m going to cum."'
+			'"Cum on her ass."'
+			'With a grunt Kolka''s pulls his cock out of Natasha''s ass at the last second and starts jerking it, shooting his load all over Natasha''s ass  By the time he''s done Natasha''s ass is covered in cum, some even reached her lower back.'
+			'"That''s all for today Kolka. You can get dressed. I have a few things I want to discuss with Natasha."'
+			act 'Continue': gt 'natbelapt', 'natroom'
+		end
+		act 'Cum inside':
+			*clr & cla
+			'<center><video autoplay loop src="images/characters/pavlovsk/school/girl/natasha/sex/natanalcreampiedoggy.mp4"></video></center>'
+			'"Cum in her ass Kolka, I want you to paint her intestines with your cum."'
+			'As if on command Kolka starts shooting his load in her ass. When he pulls out you can see some of it dripping out of her full ass.'
+			'He pushes his dick back into her ass a few more times. Each time he takes it out his cum seeps out as well.'
+			'"That''s all for today Kolka. You can get dressed. I have a few things I want to discuss with Natasha."'
+			act 'Continue': gt 'natbelapt', 'natroom'
+		end
+	end
+end
+
+!! Catching Natasha and Kolka in the shower
+if $ARGS[0] = 'showerspy':
+	menu_off = 1
+	CLOSE ALL
+		
+	$metka = 'bathroom'
+	$loc = 'natbelapt'
+	$metkaM = 'bathroom'
+	$locM = 'natbelapt'
+	gs 'stat'
+	$location_type = 'bathroom'
+	
+	*clr & cla
+	'<center><img src="images/characters/pavlovsk/school/girl/natasha/sex/natkolkashowerbj1.jpg"></center>'
+	'You open the bathroom door as quietly as you can and peer through the crack to see Natasha on her knees sucking Kolka off under the shower.'
+	gs 'arousal', 'voyeur', 5
+ 	if NatashaQW >= 5:
+		act 'Get a closer look':
+			*clr & cla
+			'<center><img src="images/characters/pavlovsk/school/girl/natasha/sex/natkolkashowerbj2.jpg"></center>'
+			'Wanting to get a better look you step into the bathroom and close the door behind you.'
+			'They''re so absorbed in eachother that they don''t even notice your entry.'
+			'"Taking private lessons Kolka?" You say with a grin on your face.'
+			'At the sound of your voice they both startle visibly. Natasha''s face instantly turns crimson.'
+			'"Don''t stop on my account. I love watching you guys get eachother off."'
+			gs 'arousal', 'voyeur', 5
+			act 'Make Kolka to fuck her':
+				*clr & cla
+				'<center><img src="images/characters/pavlovsk/school/girl/natasha/sex/natshowerfuck.jpg"></center>'
+				'"It looks like Natasha needs a dick in her pussy. Give her what she wants Kolka."'
+				'Obedience seems to be well trained into Natasha by now as she immediately gets up and offers her pussy to Kolka.'
+				'Kolka doesn''t waste any time and immediately plunges his full length inside her, making her moan loudly. He starts to move gently at first but Natasha almost immediately starts begging him: "Please fuck me hard and fast Kolka. Yes... Like that... Keep going."'
+				'The bathroom is suddenly filled with the sounds of Natasha''s moaning and flesh smacking against flesh.'
+				'It doesn''t take long before Natasha''s moaning turns into pleading again, "Please... Yes... Almost..." before her legs start trembling in Kolka''s arms.'
+				'You squirm a bit yourself as you watch Natasha having what looks to be one hell of an orgasm.'
+				'It seems to take her forever to stop cumming, but eventually she just can''t stay on her feet any longer and sinks down to the floor. Kolka looks like he''s on the edge himself.'
+				gs 'arousal', 'voyeur', 20
+				minut -= 15
+				gs 'stat'
+				act 'Cum on her face':
+					*clr & cla
+					'<center><img src="images/characters/pavlovsk/school/girl/natasha/sex/natshowercum.jpg"></center>'
+					'"Looks like you did her in Kolka." You say. "Come lie down here Natasha and let him cum on your face."'
+					'She looks dazed as she crawls out of the shower and lies down on her back. Kolka follows her out and straddles her chest. He immediately starts jerking off furiously over her face.'
+					'"Open your mouth. Here it comes." He tells her and seconds after that he starts shooting his cum into her mouth and over her face.'
+					'By the time he''s done cumming Natasha''s mouth is overflowing and half of her face is covered in cum.'
+					'"A true cumshower. Fitting." You say, unable to hold in your laughter. "Well Kolka, looks like it''s time for you to get going. I''ll help her get to her feet."'
+					'Kolka quickly gets dressed before he slips out of the bathroom. After he''s gone you pull Natasha to her feet and help her over to the sink to clean up.'
+					gs 'arousal', 'voyeur', 5
+					act 'Go to Natasha''s room': gt 'natbelapt','natroom'
+				end
+			end
+		end
+	else
+		'Not wanting to intrude any further you decide to leave them be and close the door again.'
+		act 'Leave': gt 'natbelapt','hallway'
+	end	
+end
+
+!! Threesome with Natasha, Kolka and Sveta coming once I have enough images/mp4s
+
+
+--- natkolEv ---------------------------------

+ 4 - 1
locations/nichBedroomServant.qsrc

@@ -196,12 +196,15 @@ elseif $ARGS[0] = 'desk':
 	else
 		gt 'stol','start'
 	end
-elseif $ARGS[0] = 'redeemSalary'
+elseif $ARGS[0] = 'redeemSalary':
 	*clr & cla
 	karta += nichSalaryOutstanding
 	nichSalaryOutstanding = 0
 	'Your salary of <<nichSalaryOutstanding>> <b>?</b> is transferred to your bank account.'
 	act 'Back': gt 'nichBedroomServant', 'return'
+
+elseif $ARGS[0] = 'sleepEvents':
+	
 end
 
 --- nickBedroomServant ---------------------------------

+ 2 - 0
locations/nichNicholas.qsrc

@@ -1,5 +1,7 @@
 # nichNicholas
 
+!! Nicholas is registered as NPC A52
+
 !! nichNTRelation: 0= Tanya and Nicholas are having an affair and PC doesnt know it, 1= PC found out, 2-9= reserved for them being together, 10= Tanya broke up, 11-19= reserved, 20= Nicholas broke up
 !! nichFlirtCounter
 !! nichFlirtLast

+ 339 - 2
locations/nichTanya.qsrc

@@ -1,10 +1,17 @@
 # nichTanya
 
+!! Tanya is registered as NPC A218
+
 !! Important variables concerning Tanya:
 !! nichTanyaOpinion: 0= she doesn't know you, 1= you are her lover, 10= you are her gf, 20= you are her lover and told her you don't want to be her gf, 30= you are her former lover
 !! nichTanyaBF: 0= she doesn't have a bf (includes her and Nicholas doing it, see nichNTRelation), 1= her bf is vladik, 2= her bf is grigory
 !! nichTanyaBFState: 0= PC hasn't met BF, 1 = PC has met BF, 2 = PC has fucked BF, 3 = PC has fucked BF and Tanya knows it
 
+!! nichTanyaDate: the type of date Tanya and Sveta are currently having
+!! nichTanyaDateCounter
+!! nichTanyaDateLast
+!! nichTanyaDateShopping: how many times Tanya and Sveta were shopping together (without special shopping events)
+
 !! nichTanyaFuckCounter: how many times Tanya and PC have fucked (doing it several times a day only counts once)
 !! nichTanyaFuckLast: the last day Tanya and PC have fucked
 !! nichTanyaFuckToday: how many times PC and Tanya have fucked today
@@ -12,7 +19,7 @@
 !! nichTanyaFuckDom: how many times Tanya was dominant during the current encounter
 !! nichTanyaFuckSub: how many times Tanya was submissive during the current encounter
 
-!! nichTanyaStrapon: 1: Tanya owns a strapon and might use it sometimes
+!! nichTanyaStrapon: >0: Tanya owns a strapon and might use it sometimes (the value is the size of the strapon)
 
 !! nichTanyaDominance: how dominant Tanya is <= -70: very submissive, <= -20: submissive, >= 20: dominant, >= 70 very dominant
 !! nichTanyaUni = 1: Nicholas has asked Tanya to go to university, 11: PC has agreed to help convince Tanya, 50: Tanya has decided to quit university and Nicholas hasnt reacted yet, 51: Nicholas has reacted to 50, 100: Tanya goes to university and Sveta has not been rewarded by Nicholas, 101: Sveta got her reward
@@ -20,7 +27,7 @@
 
 !! nichTanyaRoom: 0= Tanya doesnt clean her room herself, 1= Tanya cleans her room herself
 
-
+menu_off = 1
 
 if nichTanyaFuckLast ! daystart:
 	nichTanyaFuckToday = 0
@@ -29,6 +36,7 @@ end
 if $ARGS[0] = 'bedroomTanya':
 	$nichTanyaPic = func('nichUtil','tanyaPic','idle','apartment')
 	'<center><img <<$set_imgh>> src="<<$nichTanyaPic>>"></center>'
+	nichTanyaPropDate = 0
 	nichTanyaPropSex = 0
 	
 	if nichGalaKnowsPT = 10:
@@ -156,6 +164,7 @@ if $ARGS[0] = 'bedroomTanya':
 		else
 			'As you approach her she greets you with a smile.'
 			nichTanyaPropSex = 1
+			nichTanyaPropDate = 1
 		end
 	elseif nichTanyaOpinion = 10:
 		if nichTanyaFuckLast < daystart - 5:
@@ -166,6 +175,7 @@ if $ARGS[0] = 'bedroomTanya':
 			'As you approach her she greets you with a smile. "Hello sweety. How are you doing?"'
 		end
 		nichTanyaPropSex = 1
+		nichTanyaPropDate = 1
 	elseif nichTanyaOpinion = 20:
 		if nichTanyaFuckCounter > rand(20,30) and nichTanyaFuckToday = 0:
 			'As you approach her she greets you with a smile. She walks over to her bed and sits down on the edge. Apparently she expects you to sit next to her.'
@@ -200,6 +210,7 @@ if $ARGS[0] = 'bedroomTanya':
 		else
 			'As you approach her she greets you with a smile.'
 			nichTanyaPropSex = 1
+			nichTanyaPropDate = 1
 		end
 	end
 	
@@ -225,6 +236,58 @@ if $ARGS[0] = 'bedroomTanya':
 			
 		end
 	end
+	
+	if nichTanyaPropDate = 1 and (nichTanyaDateLast ! daystart or nichDebug = 1):
+		act 'Propose going on a date':
+			cla
+			*nl
+			nichTanyaDateCounter += 1
+			nichTanyaDateLast = daystart
+			'"Hey Tanya. I was wondering if you would like to go out on a date."'
+			'"Sure. That''s a great idea. What would you like to do?"'
+			act 'Let her pick':
+				cla
+				*nl
+				'"I don''t know. How about you?"'
+				if nichTanyaDominance >= 20 and nichTanyaStrapon = 0 and (rand(1,100) <= 50 or nichDebug = 1):
+					'"There is one thing I wanted to do with you for a while. Don''t ask what it is, it''s a surprise."'
+					nichTanyaDate = 100
+				else	
+					nichRand = rand(1,2)
+					if nichRand = 1:
+						'"There is a movie I''d like to see. I think they show it at the nearby movie theatre."'
+						nichTanyaDate = 1
+					else
+						'"Okay. Lets go shopping then."'
+						nichTanyaDate = 2
+					end
+				end
+				act 'Leave with her':
+					gt 'nichTanya','date'
+				end
+			end
+			act 'Movie theatre':
+				cla
+				'"How about watching a movie?"'
+				'"Okay, sounds good. Lets go to the movie theatre then."'
+				nichTanyaDate = 1
+				act 'Leave with her':
+					gt 'nichTanya','date'
+				end
+			end
+			act 'Shopping':
+				cla
+				'"I''d like to go shopping."'
+				'"Great idea. Lets go to the mall then."'
+				nichTanyaDate = 2
+				act 'Leave with her':
+					gt 'nichTanya','date'
+				end
+			end
+		end
+	end
+	
+	killvar 'nichTanyaPropDate'
 	killvar 'nichTanyaPropSex'
 	
 	act 'Talk with her':
@@ -235,6 +298,280 @@ if $ARGS[0] = 'bedroomTanya':
 	act 'Move away':
 		gt $loc
 	end
+elseif $ARGS[0] = 'date':
+	if nichTanyaDate = 1:
+		if nichDateState = 0:
+			'<center><img <<$set_imgh>> src="images/locations/city/citycenter/mall/cinema/cinema.jpg"></center>'
+			'The two of you head over to the cinema at the mall.'
+			'Tanya pays for the tickets and you settle down in your seats. You are alone in the last row.'
+			
+			act 'Watch the movie':
+				nichDateState = 10
+				gt 'nichTanya','date'
+			end
+			
+			act 'Kiss Tanya':
+				nichDateState = 20
+				gt 'nichTanya','date'
+			end
+		elseif nichDateState = 10:
+			minut += 150
+			gs 'kino','movie'
+			*nl
+			'After the movie is done Tanya smiles at you. "That was fun. But lets go home now."'
+			cla
+			act 'Return to Apartment':
+				nichDateState = 10000
+				gt 'nichTanya','date'
+			end
+		elseif nichDateState = 20:
+			*clr & cla 
+			'<center><img <<$set_imgh>> src="images/locations/city/citycenter/mall/cinema/sex/kinoKissLesbian1.jpg"></center>'
+			'The light goes dark and the movie starts. You lean over to Tanya and the two of you share a deep kiss.'
+			act 'Go down on her':
+				*clr & cla
+				gs 'arousal', 'cuni_give', -90, 'lesbian'
+				'<center><img <<$set_imgh>> src="images/characters/city/tanya/sexL/arimjob/arimjob1.jpg"></center>'
+				'Making sure that nobody sees you you slip down from your seat.'
+				'Tanya looks a little bit surprised at first. Quickly realizing what you are up to she opens her legs for you.'
+				'You slowly raise her shirt and push her panties aside. She is already a little wet from excitement.'
+				'You decide to go slowly on her, softly kissing, licking and sucking her sex.'
+				'Her breath quickens and her muscles get tense. She lets out a single moan has she cums, trying to keep quite so the other people in the cinema don''t recognize what''s going on.'
+				'You get back on your feet and slip back on your seat. To your surprise you nearly missed all of the movie.'
+				*nl
+				'After the movie is done Tanya smiles at you. "That was fun. But lets go home now."'
+				cla
+				minut += 150
+				act 'Return to Apartment':
+					nichDateState = 10000
+					gt 'nichTanya','date'
+				end
+			end
+			act 'Watch the movie':
+				nichDateState = 10
+				gt 'nichTanya','date'
+			end
+		else
+			killvar 'nichTanyaDate'
+			killvar 'nichDateState'
+			gt 'nichBedroomTanja'
+		end
+	elseif nichTanyaDate = 2:
+		if nichTanyaDateShopping = 0:
+			minut += 120
+			nichTanyaDateShopping += 1
+			'<center><img <<$set_imgh>> src="images/characters/city/tanya/date/shopping1.jpg"></center>'
+			'The two of you go to a shop for young fashion. You take turns trying on clothes and posing for each other.'
+			'You notice that the clothes Tanya puts on get skimpier every time. The last outfit she puts on only consists of high heels, a blue tanga and a revealing white shirt.'
+			'"What do you think? I think you would gorgeous in this."'
+			'"Wait? Me?"'
+			'Tanya laughs out. "Yes. I would really like you to wear it. And look, I even found a matching skirt. Please let me buy this for you."'
+			gs 'clothing_attributes', 'cheap', 415
+			if CloInhibit <= pcs_inhib:
+				act 'Agree':
+					cheap[415] = 1
+					cheapB[415] = pcs_hips
+					cheapH[415] = 70
+					cheapS[415] = 0
+					$clothingworntype = 'cheap'
+					clothingwornnumber = 415
+					cla
+					'"Okay. Thank you, Tanya."'
+					'Tanya smiles at you as she changes back into her own clothes. Then she walks over to the cashier. After she paid for the outfit she returns to you so you can put it on now.'
+					'You put it on. The two of you spend another hour in the mall before returning to the apartment.'
+					act 'Return to the apartment':
+						gt 'nichBedroomTanja'
+					end
+				end
+			end
+			act 'Decline':
+				'"Sorry Tanya, but that''s really not my style."'
+				'She looks a little bit dissapointed.'
+				'The two of you spend another hour in the mall before returning to the apartment.'
+				cla
+				act 'Return to the apartment':
+					gt 'nichBedroomTanja'
+				end
+			end
+		elseif nichTanyaDateShopping = 1:
+			minut += 60
+			nichTanyaDateShopping += 1
+			'<center><img <<$set_imgh>> src="images/characters/city/tanya/date/shopping2.jpg"></center>'
+			'The two of you visit various shops in the mall. One of the shops appears to be aimed at lumberjacks and truckers.'
+			'You take a look a the shirts and wonder why you are here. Then you realize that Tanya went missing. After a quick search you figure out that she must be in one of the chaning rooms.'
+			'"Hey <<$pcs_nickname>>, come in here."'
+			'You step into the room from where Tanyas voice came. She is wearing nothing but her panties and a truckers cap.'
+			'"Aha, there is my girl." she tries to speak with a deeper voice, obviously trying to impersonate a trucker. "Get your hot ass over here." She smacks you on your cheek. "Now let daddy finish changing." She laughs out loudly.'
+			'Once she has put her clothes back on the two of you go back to the apartment.'
+			act 'Return to the apartment':
+				gt 'nichBedroomTanja'
+			end
+		elseif nichTanyaDateShopping = 2:
+			minut += 60
+			nichTanyaDateShopping += 1
+			'<center><img <<$set_imgh>> src="images/characters/city/tanya/date/shopping3a.jpg"></center>'
+			'The two of you visit various shops in the mall. The last shop is an expensive boutique.'
+			'Tanya goes straight to the lingerie department. She collects some items, then she takes you by the hand and leads you to a changing room.'
+			'She strips down and puts the bra and the panties she took on.'
+			if $braworntype = 'boutique' and brawornnumber = 19:
+				'"Hey, I think I took the same bra you are wearing right now. We really have very much in common." She smiles at you.'
+				'After she is done trying out some other clothes she pays for the ones she wants to buy and the two ouf you head back home.'
+				act 'Return to the apartment':
+					gt 'nichBedroomTanja'
+				end
+			else
+				'She squeezes and pushes her breasts a little inside the breastforms.'
+				'"I think I picked the wrong size."'
+				'She turns around and looks at you.'
+				act 'Continue':
+					*clr & cla
+					'<center><img <<$set_imgh>> src="images/characters/city/tanya/date/shopping3b.jpg"></center>'
+					'"I think this bra could fit you. Try it out."'
+					act 'Try it':
+						*nl
+						'Once you put it on Tanya inspects the fit by pressing and pulling it at various spots.'
+						'"How does it feel? I think it''s a perfect fit. I would like to buy it for you. As a gift."'
+						cla
+						act 'Agree':
+							'"That would be great. Thank you, Tanya."'
+							'Tanya beams at you as the both of you put your clothes back on.'
+							'Tanya pays for the bra and also buys the matching panties for you.'
+							'After spending another few minutes visiting another shop the two of you head back to the apartment.'
+							boutique_bras[19] = 1
+							boutique_brasS[19] = 0
+							boutique_panties[31] = 1
+							boutique_pantiesS[31] = 0
+							cla
+							act 'Return to the apartment':
+								gt 'nichBedroomTanja'
+							end
+						end
+					end
+				end
+			end
+		else
+			'<center><img <<$set_imgh>> src="images/locations/city/citycenter/mall/torgcentr.jpg"></center>'
+			'The two of you go to the mall.'
+			'After spending two hours visiting various shops the two of you return to the apartment.'
+			act 'Return to the apartment':
+				gt 'nichBedroomTanja'
+			end
+		end
+	
+	elseif nichTanyaDate = 100:
+		!! Tanya wants to buy a dildo
+		if nichDateState = 0:
+			minut += 45
+			'<center><img <<$set_imgh>> src="images/locations/city/citycenter/sexshop/sexshop.jpg"></center>'
+			'Tanya leads you to the metro. You ask yourself what she is up to, because she usually uses calls a cab if she wants to travel longer distances.'
+			'After a few minutes you arrive at the industrial area of the town. From there Tanya leads you straigth to the Red Light Destrict.'
+			'"Tanya. Where are we going?"'
+			'"Don''t worry. There is a shop I wanted to show you. We can''t go to the ones in the city center because we could run into somebody I know. Ah, there it is."'
+			'She leads you into the local sex shop. It appears as if she has been here before.'
+			act 'Continue':
+				*clr & cla
+				'<center><img <<$set_imgh>> src="images/locations/city/citycenter/sexshop/sexshop.jpg"></center>'
+				'You inspect the different types of sex toys presented here. Just as you''re starting to wonder what Tanya wants here she points at a shelf which has strap-on of various sizes and forms on it.'
+				'"There it is. I thought it would be fun to fuck you in a whole new way. And I think you should have a say in who your new ''lover'' will be."'
+				'She takes one of the strap-ons in her hand. "This one is called Vlad. How do you like it? Wait, there is one that''s called Igor. It''s a little bigger. Do you think you could handle it? Or how about this one? ''Labaan''. Sounds African. Look how big it is. It''s nearly as long and thick as my arm." She laughs out. "Which one would you prefer?"'
+				act 'Vlad (15 cm)':
+					nichTanyaStrapon = 15
+					'"I think I like Vlad best."'
+					if pcs_vag >= 25:
+						'"Really? I thought you might prefer a bigger one. But okay, I will biy this one then."'
+					else
+						'"Great. I will buy this one then."'
+					end
+					cla
+					act 'Wait for her':
+						nichDateState = 10
+						gt 'nichTanya','date'
+					end
+				end			
+				act 'Igor (25 cm)':
+					nichTanyaStrapon = 25
+					'"I think I like Igor best."'
+					if pcs_vag >= 35:
+						'"Really? I thought you might prefer a bigger one. But okay, I will biy this one then."'
+					else
+						'"Great. I will buy this one then."'
+					end
+					cla
+					act 'Wait for her':
+						nichDateState = 10
+						gt 'nichTanya','date'
+					end
+				end
+				act 'Labaan (35 cm)':
+					nichTanyaStrapon = 35
+					'"I think I like Labaan best."'
+					if pcs_vag <= 25:
+						'"Really? Are you sure? I didn''t think... well, it''s your choice. I will buy it then. Just don''t complain afterwards."'
+					else
+						'"Great. I will buy this one then."'
+					end
+					cla
+					act 'Wait for her':
+						nichDateState = 10
+						gt 'nichTanya','date'
+					end
+				end
+			end
+		elseif nichDateState = 10:
+			minut += 20
+			'<center><img <<$set_imgh>> src="images/locations/city/citycenter/sexshop/sexshop.jpg"></center>'
+			'Tanya pays for the strap-on and also some items she collected while you were''t paying attention.'
+			'"I think I got everything I need. Lets get back to the appartment."'
+			act 'Return to the appartment':
+				nichDateState = 20
+				gt 'nichTanya','date'
+			end
+		elseif nichDateState = 20:
+			'<center><img <<$set_imgh>> src="images/characters/city/tanya/date/strapona.jpg"></center>'
+			'Once you are back at Tanyas'' bedroom she tells you to undress and lie on her bed head down.'
+			'She takes out some kind of rope of her shopping bag. One by one she connects your wrists and ankles to the posts of her bed. You are trapped, lieing in a spread position, unable to move.'
+			'The next thing Tanya takes out is a whip. She whips your back for a few minutes.'
+			gs 'arousal', 'foreplay', 5, 'lesbian', 'maso', 'bound', 'sub'
+			act 'Further':
+				nichDateState = 30
+				gt 'nichTanya','date'
+			end
+		elseif nichDateState = 30:
+			'<center><img <<$set_imgh>> src="images/characters/city/tanya/date/straponb.jpg"></center>'
+			'Tanya puts her whip aside and puts her clothes off. You can''t turn your head enough to see what she is doing exactly but it appears as if she is putting on her new strap-on. She also seems to fasten her favorite vibrator on the inner side.'
+			'"I think this is going to be our favorite toy."'
+			'She probes your holes before generously applying lube on her strap-on.'
+			gs 'arousal', 'foreplay', 5, 'lesbian', 'maso', 'bound', 'sub'
+			act 'Further':
+				nichDateState = 40
+				gt 'nichTanya','date'
+			end
+		elseif nichDateState = 40:	
+			'<center><img <<$set_imgh>> src="images/characters/city/tanya/date/straponc.jpg"></center>'
+			'Tanya mercilessly fucks you for more than ten minutes.'
+			'From your position you can''t see her. You can only feel her hands on your hips and her fake member grinding into you.'
+			dick = nichTanyaStrapon
+			gs 'arousal', 'vaginal_strap', 15, 'lesbian', 'sub'
+			'After a while you hear a breath quicken. She pulls back your head by pulling on your hair. With a deep moan she cums.'
+			'She doens''t untie you for another ten minutes. You feel her lying on your back, her breasts resintg on your shoulders. Finally she unties one of your wrists so you are able to untie the other knots.'
+			
+			minut += 15
+			act 'Finish':
+				gs 'arousal', 'end'
+				killvar 'nichTanyaDate'
+				killvar 'nichDateState'
+				gt 'nichBedroomTanja'
+			end
+		end
+	else
+		!! Catch invalid dates
+		minut += 120
+		'<center><img <<$set_imgh>> src="images/locations/city/centralpark/park.jpg"></center>'
+		'You spend two nice hours with Tanya in the cities central park.'
+		act 'Return to the apartment':
+			gt 'nichBedroomTanja'
+		end
+	end
 	
 elseif $ARGS[0] = 'desc':
 	'<center><img <<$set_imgh>> src="images/characters/city/tanya/01.jpg"></center>'

+ 11 - 2
locations/nichUtil.qsrc

@@ -55,6 +55,16 @@ elseif $ARGS[0] = 'debug':
 			nichTanyaFuckCounter = 6
 			hour = 16
 			gt 'down'
+		elseif $ARGS[2] = 'tanyaDate100':
+			nichWork = 2
+			nichTanyaOpinion = 1
+			nichTanyaFuckCounter = 6
+			nichTanyaDominance = 30
+			nichTanyaStrapon = 0
+			nichGalaKnowsPT = 0
+			hour = 16
+			$loc = 'nichBedroomTanja'
+			gt 'nichTanya','bedroomTanya'
 		end
 	end
 
@@ -71,6 +81,7 @@ elseif $ARGS[0] = 'debug':
 	'<i>The following options will set and change a whole bunch of variables and might transport you to another place. Important: every shortcut has been created with a debug scenario in mind and won''t set/reset every storyline-variable. Expect weird behavior.</i>'
 	'<a href="exec: gt ''nichUtil'', ''debug'',''shortcut'',''meetTanya''">Meet Tanya</a>: Sets you up to meet Tanya. Go to the dressing room. She is the ''cute girl''. Meeting her has a random chance unless you have activated debug mode.'
 	'<a href="exec: gt ''nichUtil'', ''debug'',''shortcut'',''getHired''">Get hired</a>: You visited Tanya often enough for her to offer you the job as the live-in maid.'
+	'<a href="exec: gt ''nichUtil'', ''debug'',''shortcut'',''tanyaDate100''">Tanya Special Date 1</a>: Tanya became somewhat dominant. Ask her for a date and let her decide where to go.'
 	*nl
 	
 	'<i><b>Job performance</b></i>'
@@ -550,8 +561,6 @@ if $ARGS[0] = 'tanyaPic':
 			end
 		end
 	end
-	
-	'<<$RESULT>>'
 
 	killvar '$nichTempFolder'
 end

+ 1 - 0
locations/npcstatic2.qsrc

@@ -44,6 +44,7 @@ npctemp = 52
 gs 'npcstaticdefaults', 'defaults'
 $npc_dna['A<<npctemp>>'] = '1571713339 1381421911 1129274296 1580593240 1693511984 1798824352 1655802955'
 $npc_firstname['A<<npctemp>>'] = 'Nicholas'
+$npc_lastname['A<<npctemp>>'] = 'Polyakov'
 $npc_usedname['A<<npctemp>>'] = 'Nicholas'
 npc_cyc['A<<npctemp>>'] = -1
 npc_fert['A<<npctemp>>'] = -1

+ 1 - 20
locations/npcstatic4.qsrc

@@ -379,26 +379,7 @@ $npc_selfie['A<<npctemp>>'] = '<a href="exec:numnpc = 165 & gt ''phone_selfies''
 
 
 npctemp = 166
-gs 'npcstaticdefaults', 'defaults'
-$npc_dna['A<<npctemp>>'] = '3081104871 3359076800 3939413889 3911496040 3098487725 3546780075 3860974284'
-$npc_firstname['A<<npctemp>>'] = 'Rex'
-$npc_nickname['A<<npctemp>>'] = 'Rex'
-$npc_lastname['A<<npctemp>>'] = 'The Dog'
-$npc_usedname['A<<npctemp>>'] = 'Rex, Sonia''s dog'
-$npc_notes['A<<npctemp>>'] = 'Sonia''s dog'
-npc_cyc['A<<npctemp>>'] = -1
-npc_fert['A<<npctemp>>'] = -1
-$npc_firstpart['A<<npctemp>>'] = 'U'
-$npc_lastpart['A<<npctemp>>'] = 'U'
-$npc_kidpater['A<<npctemp>>'] = 'N'
-npc_gender['A<<npctemp>>'] = 0
-$npc_thdick['A<<npctemp>>'] = 'knotted'
-npc_dick['A<<npctemp>>'] = 0
-npc_spermpot['A<<npctemp>>'] = -1
-npc_vag['A<<npctemp>>'] = -1
-npc_hymen['A<<npctemp>>'] = -1
-npc_nips['A<<npctemp>>'] = 1
-
+!!RIP Rex
 
 npctemp = 167
 gs 'npcstaticdefaults', 'defaults'

+ 1 - 1
locations/npcstatic5.qsrc

@@ -741,7 +741,7 @@ $npc_nickname['A<<npctemp>>'] = 'Tanya'
 $npc_lastname['A<<npctemp>>'] = 'Polyakov'
 $npc_usedname['A<<npctemp>>'] = 'Tanya'
 $npc_notes['A<<npctemp>>'] = 'Girl you meet at the city gym'
-npc_dob['A<<npctemp>>'] = 19980207
+npc_dob['A<<npctemp>>'] = 19980622
 npc_cyc['A<<npctemp>>'] = rand(0,29)
 npc_fert['A<<npctemp>>'] = -1
 $npc_firstpart['A<<npctemp>>'] = 'U'

+ 49 - 79
locations/obj_din.qsrc

@@ -1489,85 +1489,55 @@ if $ARGS[0] = 'magic':
 		'You have <<pcs_manna>> units of manna available to you.'
 		!!' Forces Rikudo available to you <<rikudo>> units'
 		*nl
-		if spelltuman > 0 or spellklon > 0 or spellstun > 0 or spellweap > 0 or spellwind > 0 or spellklon2 > 0 or spellenergo > 0 or spellinit > 0 or spellhel > 0:'<b>Base Spells:</b>'
-		if spelltuman > 0:'<br>Cover area in fog, a great way to conceal yourself while attacking the enemy and increase the chance to dodge attacks (cost 10 units of manna)'
-		
-		if spellklon > 0:'<br>Swap aces with a clone of yourself, good way to avoid enemy attacks and make enemy waste their power (cost 15 units of manna)'
-		
-		if spellstun > 0:'<br>Stun, a great way to stop the enemy. They will not be able to defend or attack. ( cost 20 units of manna)'
-		
-		if spellweap > 0 and weapon > 0:'<br>Infuse weapon with energy'
-		
-		if spellwind > 0:'<br>Blow away the fog, dissipates any mist over the battlefield.'
-		
-		if spellklon2 > 0:'<br>Substitute yourself with 3 clones, the enemy will not be able to get to you, until they destroy all of your clones. (cost 45 units of manna)'
-		
-		if spellenergo > 0:'<br>Create a weak energy shield, protecting you against all attacks of the physical nature, even if the enemy attack exceeds the capabilities of the shield and destroys it, you will still be protected from damage(cost 50 units of manna)'
-		
-		if spellinit > 0:'<br>Create a slight delay of time, a powerful spell that allows you to move faster, steal initiative and increase the probability of hitting (cost 60 units of manna)'
-		
-		if spellhel > 0:'<br>Battle Heal, restores or adds 400 Health units in exchange for 400 units of manna.'
-		
-		if stihia = 1:'<br><b>Elemental Spells Fire:</b>'
-		
-		if spellfire1 = 1:'<br>Flame. Deals little damage. (Cost 10 manna)'
-		
-		if spellfire2 = 1:'<br>The release of fire. It causes great damage. (Cost 100 manna)'
-		
-		if spellfire3 = 1:'<br>Fire Barrier, It creates a shield with strength of 750 units. (Cost 150 manna)'
-		
-		if spellfire4 = 1:'<br>Firestorm. It causes great damage, difficult to dodge. (Cost 250 manna)'
-		
-		if spellfire5 = 1:'<br>Flame Shield, It creates a shield with strength of 2500 units. (Cost 500 manna)'
-		
-		if stihia = 2:'<br><b>Elements Lightning Spells:</b>'
-		
-		if spellele1 = 1:'<br>Zap. Deals very little damage. (Cost 10 manna)'
-		
-		if spellele2 = 1:'<br>Lightning. Inflicts above average damage. (Cost 100 manna)'
-		
-		if spellele3 = 1:'<br>Electric barrier, It creates a shield with strength of 1500 units. (Cost 150 manna)'
-		
-		if spellele4 = 1:'<br>Dance of thousand birds. Deals very high damage. (Cost 250 manna)'
-		
-		if spellele5 = 1:'<br>Dancing Sphere, It creates a shield with strength of 5000 units. (Cost 500 manna)'
-		
-		if stihia = 3:'<br><b>Spells Earth Elements:</b>'
-		
-		if spellert1 = 1:'<br>Quicksand, immobilizes the opponent in the quicksand trap and causes little damage. (Cost 10 manna)'
-		
-		if spellert2 = 1:'<br>Active protection, It creates a protective sphere of land, Gain 2500 units of health and mana, this protection restores itself within 10 absorbing strokes 20 Units in the course of manna. (Cost 100 manna)'
-		
-		if spellert3 = 1:'<br>Abyss, rend earth asunder beneath their feet inflicting high damage to the enemy and depriving him of the ability to move. (Cost 150 manna)'
-		
-		if spellert4 = 1:'<br>Absolute protection, It creates a huge protective sphere of land, which regenerates itself every turn and attacks the enemy. (Cost 250 manna)'
-		
-		if spellert5 = 1:'<br>Sando, two huge ates come out of the earth and crush the enemy inflicting huge damage and depriving them of the ability to move. Cost 500 manna.'
-		
-		if stihia = 4:'<br><b>Wind Elemental Spells:</b>'
-		
-		if spellwind1 = 1:'<br>Wind gust, It causes very little damage but destroys clones and fog, very difficult to dodge. (Cost 10 manna)'
-		
-		if spellwind2 = 1:'<br>The horrific pressure, causing moderate damage and destroying clones and fog, very difficult to dodge. (Cost 100 manna)'
-		
-		if spellwind3 = 1:'<br>Vacuum Sphere, It creates a shield with strength of 1500 units. (Cost 150 manna)'
-		
-		if spellwind4 = 1:'<br>Vacuum shells, high damage and kills clones and fog, very difficult to dodge. (Cost 250 manna)'
-		
-		if spellwind5 = 1:'<br>Devouring vacuum, sucks enemy shield destroying whatever strength it had left. (Cost 500 manna)'
-		
-		if stihia = 5:'<br><b>Water Elemental Spell:</b>'
-		
-		if spellwater1 = 1:'<br>Drain mana, It causes very little damage and absorbs a lot of mana. Cost 10 manna.'
-		
-		if spellwater2 = 1:'<br>Flood, causes moderate damage and absorbs large amount of mana. Cost 100 manna.'
-		
-		if spellwater3 = 1:'<br>Blister, It creates a protective sphere of water with strength of 1500 units against all impacts, this protection restores itself within 10 absorbing strokes 20 Units in the course of manna. (Cost 150 manna)'
-		
-		if spellwater4 = 1:'<br>Water shark rocket, causes great damage and absorbs a lot of mana. Cost 250 manna.'
-		
-		if spellwater5 = 1:'<br>The Great Flood, It creates a huge sphere that absorbs water and drains opponents mana, passing it to strengthen protection. Cost 500 manna.'
-		
+
+		$SpellListStr = "<center>
+			<table>
+				<tr>
+					<th>Spell</th>
+					<th>Mana</th>
+					<th>Description</th>
+				</tr>"
+		i = 0
+		:ObDinSpellLoop
+		$ThisSpellName = $combatSpells[i]
+		if i < arrsize('$combatSpells'):
+			if spellKnown[$ThisSpellName] = 1:
+				$SpellListStr = $SpellListStr + " 
+				<tr>
+					<td><<$spellName[$ThisSpellName]>></td>
+					<td><<spellMana[$ThisSpellName]>></td>
+					<td><<$spellDesc[$ThisSpellName]>></td>
+				</tr>"
+			end
+			i += 1
+			jump 'ObDinSpellLoop'
+		end
+		i = 0
+		:ObDinSpellLoop2
+		$ThisSpellName = $nonComSpells[i]
+		if i < arrsize('$nonComSpells'):
+			if spellKnown[$ThisSpellName] = 1:
+				$SpellListStr = $SpellListStr + " 
+				<tr>
+					<td><<$spellName[$ThisSpellName]>></td>
+					<td><<spellMana[$ThisSpellName]>></td>
+					<td><<$spellDesc[$ThisSpellName]>></td>
+				</tr>"
+			end
+			i += 1
+			jump 'ObDinSpellLoop2'
+		end
+
+		$SpellListStr = $SpellListStr + " 
+			</table>
+		</center>"
+
+		$SpellListStr
+
+		killvar 'i'
+		killvar '$ThisSpellName'
+		killvar '$SpellListStr'
+
 	end
 
 	if succubusflag = 1 and sucpcinfo >= 4 and sucskill >= 1:

+ 1 - 1
locations/pavComplexb3.qsrc

@@ -97,7 +97,7 @@ if $ARGS[0] = 'etaj_4':
 	act 'Go up to the fifth floor': minut +=1 & gt 'pavComplexb3','etaj_5'
 	if seenAd = 0:
 		gt 'pavSharedApt', 'advertNo30'
-	else:
+	else
 		act 'Apartment 30: Shared apartment': gt 'pavSharedApt', 'doorNo30'
 	end
 	act 'Take the elevator': gt 'pavComplexb3','lift','etaj_4'

+ 1 - 2
locations/pavcomplexrolan.qsrc

@@ -114,8 +114,7 @@ if month >=3 and month =< 11:
 					act 'Look':gt 'pavComplexrolan', 'spy'
 				end
 				act 'Move away':gt 'pavComplex', 'start'
-		
-			else:
+			else
 				cla & *clr
 				'<center><img <<$set_imgh>> src="images/locations/pavlovsk/resident/apartment/aptrolan/feeding.jpg"></center>'
 				'You hide after a tree to look what Rolan is doing. "oh crap, but how old he is that feeds little birds and post photos of himself feeding them"'

+ 78 - 18
locations/phone_selfies.qsrc

@@ -11,10 +11,13 @@ if $ARGS[0] = 'selfies':
 	nudvar = 1
 	bathvar = 0
 	showervar = 0
+	titflashvar = 1
+	assflashvar = 1
+	pussyflashvar = 1
 	
 	!!This variable will switch to bikini for beach selfies
-	$undname = 'underwear'
-	$undnamecap = 'Underwear'
+	$cloname = 'clothed'
+	$clonamecap = 'Clothed'
 	
 	'<center><h4><font color="maroon">Photo library</font></h4></center>'
 	*nl
@@ -56,19 +59,34 @@ if $ARGS[0] = 'listretrieve':
 			temp_clocnt += 1
 		if temp_clocnt <= temp_total: jump'temp_loop'
 	end
+	
+	!!Loop for swimwear selfies, dynamics set variables as mixing them in loop instructions is bad
+	if swimvar = 1:
+		'<center><b>Swimwear selfies</b></center>'
+		*nl
+		temp_clocnt = 1
+		dynamic 'temp_loop1 = <<$phone_loc>>_swimloop'
+		dynamic 'temp_total = <<$phone_loc>>_swim'
+		:temp_loop1
+			!!setting value to unmixed variable so it can be checked in the if below
+			dynamic '$phone_locval = <<$phone_loc>>_swim[<<temp_clocnt>>]'
+			if $phone_locval = 1: *p '<a href="exec:view''images/pc/selfies/<<$phone_loc>>/bikini/<<temp_clocnt>>.jpg''"><img src="images/pc/selfies/<<$phone_loc>>/bikini/<<temp_clocnt>>.jpg"     height="150" /></a>  '
+			temp_clocnt += 1
+		if temp_clocnt <= temp_total: jump'temp_loop1'
+	end
 		
 	!!loop for underwear selfies
 	if undvar = 1:
-		'<center><b><<$undnamecap>> selfies</b></center>'
+		'<center><b>Underwear selfies</b></center>'
 		*nl
 		temp_undcnt = 1
-		dynamic 'temp_loop1 = <<$phone_loc>>_undloop'
+		dynamic 'temp_loop2 = <<$phone_loc>>_undloop'
 		dynamic 'temp_total = <<$phone_loc>>_undtot'
-		:temp_loop1
+		:temp_loop2
 			dynamic '$phone_locval = <<$phone_loc>>_undselfie[<<temp_undcnt>>]'
-			if $phone_locval = 1: *p '<a href="exec:view''images/pc/selfies/<<$phone_loc>>/<<$undname>>/<<temp_undcnt>>.jpg''"><img src="images/pc/selfies/<<$phone_loc>>/<<$undname>>/<<temp_undcnt>>.jpg"     height="150" /></a>  '
+			if $phone_locval = 1: *p '<a href="exec:view''images/pc/selfies/<<$phone_loc>>/underwear/<<temp_undcnt>>.jpg''"><img src="images/pc/selfies/<<$phone_loc>>/underwear/<<temp_undcnt>>.jpg"     height="150" /></a>  '
 			temp_undcnt += 1
-		if temp_undcnt <= temp_total: jump'temp_loop1'
+		if temp_undcnt <= temp_total: jump'temp_loop2'
 	end
 
 	!!loop for nude selfies
@@ -76,13 +94,13 @@ if $ARGS[0] = 'listretrieve':
 		'<center><b>Nude selfies</b></center>'
 		*nl
 		temp_nudcnt = 1
-		dynamic 'temp_loop2 = <<$phone_loc>>_nudloop'
+		dynamic 'temp_loop3 = <<$phone_loc>>_nudloop'
 		dynamic 'temp_total = <<$phone_loc>>_nudtot'
-		:temp_loop2
+		:temp_loop3
 			dynamic '$phone_locval = <<$phone_loc>>_nudselfie[<<temp_nudcnt>>]'
 			if $phone_locval = 1: *p '<a href="exec:view''images/pc/selfies/<<$phone_loc>>/nude/<<temp_nudcnt>>.jpg''"><img src="images/pc/selfies/<<$phone_loc>>/nude/<<temp_nudcnt>>.jpg"     height="150" /></a>  '
 			temp_nudcnt += 1
-		if temp_nudcnt <= temp_total: jump'temp_loop2'
+		if temp_nudcnt <= temp_total: jump'temp_loop3'
 	end
 	
 	!!loop for bath selfies
@@ -90,13 +108,13 @@ if $ARGS[0] = 'listretrieve':
 		'<center><b>Bath selfies</b></center>'
 		*nl
 		temp_bathcnt = 1
-		dynamic 'temp_loop2 = <<$phone_loc>>_bathloop'
+		dynamic 'temp_loop4 = <<$phone_loc>>_bathloop'
 		dynamic 'temp_total = <<$phone_loc>>_bathtot'
-		:temp_loop3
+		:temp_loop4
 			dynamic '$phone_locval = <<$phone_loc>>_bathselfie[<<temp_bathcnt>>]'
 			if $phone_locval = 1: *p '<a href="exec:view''images/pc/selfies/<<$phone_loc>>/bath/<<temp_bathcnt>>.jpg''"><img src="images/pc/selfies/<<$phone_loc>>/bath/<<temp_bathcnt>>.jpg"     height="150" /></a>  '
 			temp_bathcnt += 1
-		if temp_bathcnt <= temp_total: jump'temp_loop3'
+		if temp_bathcnt <= temp_total: jump'temp_loop4'
 	end
 	
 	!!loop for shower selfies
@@ -104,13 +122,55 @@ if $ARGS[0] = 'listretrieve':
 		'<center><b>Shower selfies</b></center>'
 		*nl
 		temp_showercnt = 1
-		dynamic 'temp_loop2 = <<$phone_loc>>_showerloop'
+		dynamic 'temp_loop5 = <<$phone_loc>>_showerloop'
 		dynamic 'temp_total = <<$phone_loc>>_showertot'
-		:temp_loop4
+		:temp_loop5
 			dynamic '$phone_locval = <<$phone_loc>>_showerselfie[<<temp_showercnt>>]'
 			if $phone_locval = 1: *p '<a href="exec:view''images/pc/selfies/<<$phone_loc>>/shower/<<temp_showercnt>>.jpg''"><img src="images/pc/selfies/<<$phone_loc>>/shower/<<temp_showercnt>>.jpg"     height="150" /></a>  '
 			temp_showercnt += 1
-		if temp_showercnt <= temp_total: jump'temp_loop4'
+		if temp_showercnt <= temp_total: jump'temp_loop5'
+	end
+	
+	!!loop for flashing tits selfies
+	if titflashvar = 1:
+		'<center><b>Flashing tits selfies</b></center>'
+		*nl
+		temp_flashtitscnt = 1
+		dynamic 'temp_loop6 = <<$phone_loc>>_titflashloop'
+		dynamic 'temp_total = <<$phone_loc>>_titflash'
+		:temp_loop6
+			dynamic '$phone_locval = <<$phone_loc>>_titflash[<<temp_flashtitscnt>>]'
+			if $phone_locval = 1: *p '<a href="exec:view''images/pc/selfies/<<$phone_loc>>/titflash/<<temp_flashtitscnt>>.jpg''"><img src="images/pc/selfies/<<$phone_loc>>/titflash/<<temp_flashtitscnt>>.jpg"     height="150" /></a>  '
+			temp_flashtitscnt += 1
+		if temp_flashtitscnt <= temp_total: jump'temp_loop6'
+	end
+	
+	!!loop for flashing ass selfies
+	if assflashvar = 1:
+		'<center><b>Flashing ass selfies</b></center>'
+		*nl
+		temp_flashasscnt = 1
+		dynamic 'temp_loop7 = <<$phone_loc>>_assflashloop'
+		dynamic 'temp_total = <<$phone_loc>>_assflash'
+		:temp_loop7
+			dynamic '$phone_locval = <<$phone_loc>>_assflash[<<temp_flashasscnt>>]'
+			if $phone_locval = 1: *p '<a href="exec:view''images/pc/selfies/<<$phone_loc>>/assflash/<<temp_flashasscnt>>.jpg''"><img src="images/pc/selfies/<<$phone_loc>>/assflash/<<temp_flashasscnt>>.jpg"     height="150" /></a>  '
+			temp_flashasscnt += 1
+		if temp_flashasscnt <= temp_total: jump'temp_loop7'
+	end
+	
+	!!loop for flashing pussy selfies
+	if pussyflashvar = 1:
+		'<center><b>Flashing pussy selfies</b></center>'
+		*nl
+		temp_flashpussycnt = 1
+		dynamic 'temp_loop8 = <<$phone_loc>>_pussyflashloop'
+		dynamic 'temp_total = <<$phone_loc>>_pussyflash'
+		:temp_loop8
+			dynamic '$phone_locval = <<$phone_loc>>_pussyflash[<<temp_flashpussycnt>>]'
+			if $phone_locval = 1: *p '<a href="exec:view''images/pc/selfies/<<$phone_loc>>/pussyflash/<<temp_flashpussycnt>>.jpg''"><img src="images/pc/selfies/<<$phone_loc>>/pussyflash/<<temp_flashpussycnt>>.jpg"     height="150" /></a>  '
+			temp_flashpussycnt += 1
+		if temp_flashpussycnt <= temp_total: jump'temp_loop8'
 	end
 end
 
@@ -739,8 +799,8 @@ if $ARGS[0] = 'beach':
 	'<center><h4><font color="maroon">Beach selfies</font></h4></center>'
 	$phone_loc = 'beach'
 	clovar = 0
-	$undname = 'bikini'
-	$undnamecap = 'Bikini'
+	$cloname = 'bikini'
+	$clonamecap = 'Bikini'
 	*nl
 	gs 'phone_selfies', 'listretrieve'
 		

+ 13 - 0
locations/pirsingsalon.qsrc

@@ -1,5 +1,18 @@
 # pirsingsalon
 
+!! Piercings variables:
+!! pirsX: Which piercing is worn at position X
+!! X=
+!! A: Tongue
+!! B: Lip
+!! C: Ear
+!! D: Nose
+!! E: Eyebrow
+!! F: Nipple
+!! G: Pussy
+!! N: Navel
+!! pirsX = 10000: the body is pieced at X but no piercing is currently worn there
+
 menu_off = 1
 
 if $ARGS[0] = 'start':

+ 452 - 684
locations/spell.qsrc

@@ -1,5 +1,60 @@
-
 # spell
+! This Location contains the meat of what each spell does to the PC, NPCs, and the environment. Mana costs are handled elsewhere.
+! This location should not be called directly.  Should only be called through the "castSpell" location.
+!	$ARGS[0] = the name of the spell being cast
+!	$ARGS[1] = Spell Success value
+!		2  = Critical Success	-> You can make something extra specail happen
+!		1  = Success			-> Normal spell effects
+!		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
+
+SuccessValue = $ARGS[1]
+
+"Spell='<<$ARGS[0]>>' SuccessValue=<<SuccessValue>>"
+
+if $ARGS[0] = 'teleport':
+	! Do the stuff of a Teleport
+	!	ARGS[1] = Success/Failure level
+	!	ARGS[2] = the Target Location
+
+	$NewLocation = $ARGS[2]
+
+	:RandLocLoop
+	$randomLoc = $tpLocations[rand(0,arrsize($tpLocations) - 1)]
+	if $randomLoc = $NewLocation or $randomLoc = $EntryPoint:
+		jump 'RandLocLoop'
+	end
+
+	if SuccessValue > 0:
+		*nl
+		"The blur you see just outside the ring seems to shift."
+		wait 1000
+		if $treeCircArg[$NewLocation] = "":
+			gt $treeCircLoc[$NewLocation]
+		else
+			gt $treeCircLoc[$NewLocation], $treeCircArg[$NewLocation]
+		end
+	elseif SuccessValue < 0:
+		*nl
+		"The blur you see just outside the ring seems to shift.  Something did not go right!"
+		wait 1000
+		if $treeCircArg[$randomLoc] = "":
+			gt $treeCircLoc[$randomLoc]
+		else
+			gt $treeCircLoc[$randomLoc], $treeCircArg[$randomLoc]
+		end
+	else
+		'You feel drained, but the energy fizzles out and nothing happens'
+	end
+
+	killvar '$randomLoc'
+	killvar '$NewLocation'
+
+	result = ""
+
+end
+
 if $ARGS[0] = 'reset':
 	cla
 	!Create mist
@@ -45,521 +100,328 @@ if $ARGS[0] = 'unmat':
 	end
 end
 
-if $ARGS[0] = 'tuman':
-	cla
-	!Create mist
+if $ARGS[0] = 'fog':
+	! tuman  = the amount of fog around you making you harder to hit
+	! tumanV = the amount of fog around your opponent making him harder to hit
 	if tumanV > 0:
-		'It is not possible to impose your fog on an existing fog opponent.'
-	elseif tumanV <= 0:
-		'Create a fog on the battlefield, closing review of the enemy. Cost 10 manna.'
-
-		act 'Create mist (10 manna)':
-			cla
-			*clr
-			pcs_manna -= 10
-			tuman = tuman + 10
-			gt'fight','sta'
+		'It is not possible to call your fog when an existing opponent is already fogged.'
+	else
+		if SuccessValue > 0:
+			tuman += (10 * SuccessValue)
+			'<b><font color = green>A Fog materializes around, obscuring you from your enemies.</font></b>'
+		elseif SuccessValue < 0:
+			tumanV += 10
+			'<b><font color = red>The spell backfires! A Fog materializes around your enemy, obscuring him from your view.</font></b>'
+		else
+			'<b>The spell fizzles.  Nothing seems to happen.</b>'
 		end
 	end
-
-	act 'Physical attacks':gt'boxing'
-
-	if pcs_magik > 0:
-		act 'Magic attacks':gt'magik'
-	end
 end
 
-if $ARGS[0] = 'klon':
-	cla
-	'You can create an exact clone of your copying, and themselves to slip out of sight of the enemy. Cost 15 manna 1 clone.'
-
-	act 'Create a clone':
-		cla
-		*clr
-		pcs_manna -= 15
-		klon = klon + 1
-		gt'fight','sta'
-	end
-	act 'Physical attacks':gt'boxing'
-
-	if pcs_magik > 0:
-		act 'Magic attacks':gt'magik'
+if $ARGS[0] = 'clone':
+	! klon = the number of clones that the enemy must destroy before hitting you
+	if SuccessValue > 0:
+		klon += SuccessValue
+		'<b><font color = green><<SuccessValue>> clone<<iif(SuccessValue>1,"s","")>> of you springs from you confusing the enemy.</font></b>'
+	elseif SuccessValue < 0 and klon > 0:
+		klon -= 1
+		'<b><font color = red>The spell backfires! One of your clones disappears.</font></b>'
+	else
+		'<b>The spell fizzles.  Nothing seems to happen.</b>'
 	end
 end
 
 if $ARGS[0] = 'stun':
-	cla
-	'You need to touch the enemy, then he will be paralyzed. Cost 20 manna.'
-
-	act 'Paralytic stroke':
-		cla
-		*clr
-		pcs_manna -= 20
+	! stunner = 1 stuns the enemy for 3-6 rounds
+	if SuccessValue > 0:
 		stunner = 1
-		xgt'atak','player'
-	end
-	act 'Physical attacks':gt'boxing'
-
-	if pcs_magik > 0:
-		act 'Magic attacks':gt'magik'
+		'<b><font color = green>Your enemy is stunned.</font></b>'
+	else
+		'<b>The spell fizzles.  Nothing seems to happen.</b>'
 	end
+	xgt'atak','player'
 end
 
-if $ARGS[0] = 'weap':
-	cla
-	'You can put the magical power of a weapon increasing its damage. Cost 20 manna.'
-
-	act 'Attach energy':
-		cla
-		*clr
-		pcs_manna -= 20
-		magweapbonus = weapbonus*4
-		xgt'atak','player'
-	end
-	act 'Physical attacks':gt'boxing'
-
-	if pcs_magik > 0:
-		act 'Magic attacks':gt'magik'
+if $ARGS[0] = 'weapon':
+	if SuccessValue > 0:
+		magweapbonus = weapbonus * 4 * SuccessValue
+		'<b><font color = green>Your Weapon now feels more powerful.</font></b>'
+	elseif SuccessValue < 0:
+		magweapbonus = weapbonus * -1
+		'<b><font color = red>The spell backfires! Your weapon seems weaker.</font></b>'
+	else
+		'<b>The spell fizzles.  Nothing seems to happen.</b>'
 	end
+	xgt'atak','player'
 end
 
 if $ARGS[0] = 'wind':
-	cla
-	'Corrupts the wind, that would blow away the fog. Cost 40 manna.'
-
-	act 'Apply':
-		cla
-		*clr
-		pcs_manna -= 40
+	! tuman  = the amount of fog around you making you harder to hit
+	! tumanV = the amount of fog around your opponent making him harder to hit
+	if SuccessValue = 2:
+		tumanV = 0
+		'<b><font color = green>A wind blows through the area eliminating your enemys fog from the battlefield.</font></b>'
+	elseif SuccessValue = 1:
 		tumanV = 0
 		tuman = 0
-
-		'<b><font color = green>You sent against the wind on the battlefield and destroy the fog.</font></b>'
-
-		xgt'fight','sta'
-	end
-	act 'Physical attacks':gt'boxing'
-
-	if pcs_magik > 0:
-		act 'Magic attacks':gt'magik'
-	end
-end
-
-if $ARGS[0] = 'klon2':
-	cla
-	'You can create three clones have exactly copying, and themselves to slip out of sight of the enemy. Cost 45 manna 3 clone.'
-
-	act 'Create clones':
-		cla
-		*clr
-		pcs_manna -= 45
-		klon = klon + 3
-		gt'fight','sta'
-	end
-	act 'Physical attacks':gt'boxing'
-
-	if pcs_magik > 0:
-		act 'Magic attacks':gt'magik'
+		'<b><font color = green>A wind blows through the area eliminating all fog on the battlefield.</font></b>'
+	elseif SuccessValue = -1:
+		tuman = 0
+		'<b><font color = red>A wind blows through the area eliminating your fog from the battlefield.</font></b>'
+	else
+		'<b>The spell fizzles.  Nothing seems to happen.</b>'
+	end
+end
+
+if $ARGS[0] = 'multiclone':
+	! klon = the number of clones that the enemy must destroy before hitting you
+	if SuccessValue > 0:
+		klon += SuccessValue * 3
+		'<b><font color = green><<SuccessValue * 3>> clone<<iif(SuccessValue>1,"s","")>> of you springs from you confusing the enemy.</font></b>'
+	elseif SuccessValue < 0 and klon > 0:
+		if klon < 3:
+			klon = 0
+		else
+			klon -= 3
+		end
+		'<b><font color = red>The spell backfires! Some of your clones disappear.</font></b>'
+	else
+		'<b>The spell fizzles.  Nothing seems to happen.</b>'
 	end
 end
 
 if $ARGS[0] = 'energo':
-	cla
-	'You can create an energy shield to protect against attacks on health. 100 protection units worth 50 manna.'
-
-	act 'Create energy shield':
-		cla
-		*clr
-		pcs_manna -= 50
-		defence = defence + 100
-
-		'<b><font color = green>You have imposed energy shield, now you <<defence>> protection units.</font></b>'
-
-		xgt'fight','sta'
-	end
-	act 'Physical attacks':gt'boxing'
-
-	if pcs_magik > 0:
-		act 'Magic attacks':gt'magik'
+	! defence = absorbs damage before health begins to be removed
+	if SuccessValue > 0:
+		defence += (100 * SuccessValue)
+		'<b><font color = green>An energy shield materializes around you, protecting you from your enemies.</font></b>'
+	elseif SuccessValue < 0:
+		defenceV += 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>'
 	end
 end
 
-if $ARGS[0] = 'init':
-	cla
-	'You can create a slight delay of time, To get the advantage of speed of reaction and to seize the initiative. Costs 60 manna.'
-
-	act 'Create slowdown':
-		cla
-		*clr
-		pcs_manna -= 60
-		initBonus = 120
-
-		'<b><font color = green>You put the manna in the intensification of reaction.</font></b>'
-
-		xgt'fight','sta'
-	end
-	act 'Physical attacks':gt'boxing'
-
-	if pcs_magik > 0:
-		act 'Magic attacks':gt'magik'
+if $ARGS[0] = 'haste':
+	if SuccessValue > 0:
+		initBonus += (120 * SuccessValue)
+		'<b><font color = green>Your mind and body seem to race though a sluggish world.</font></b>'
+	elseif SuccessValue < 0:
+		initBonusV += 120
+		'<b><font color = red>The spell backfires! Your enemy seems to move faster.</font></b>'
+	else
+		'<b>The spell fizzles.  Nothing seems to happen.</b>'
 	end
 end
 
-if $ARGS[0] = 'hel':
-	cla
-	!Create mist
-	'Cure or add yourself 400 health units. Cost 400 manna.'
-
-	act 'Dermatologic (400 manna)':
-		cla
-		*clr
-		pcs_manna -= 400
-		pcs_health += 400
-
-		'<b><font color = green>You put the manna in the acceleration of the recovery processes in the body.</font></b>'
-
-		gt'fight','sta'
-	end
-	act 'Physical attacks':gt'boxing'
-
-	if pcs_magik > 0:
-		act 'Magic attacks':gt'magik'
+if $ARGS[0] = 'heal':
+	if SuccessValue > 0:
+		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>'
 	end
 end
 
 if $ARGS[0] = 'hand':
-	cla
-	!Create mist
-	'Striking hand increases damage 10 just one attack. Cost 100 manna.'
-
-	act 'Smashing palm (100 manna)':
-		cla
-		*clr
-		pcs_manna -= 100
-		strenK = pcs_stren*20/100
+	if SuccessValue > 0:
+		strenK = pcs_stren*20*SuccessValue/100
 		magweapbonus = RAND(pcs_stren*10 - strenK,pcs_stren*10 + strenK)
-
-		'<b><font color = green>You put the manna in the hand to apply the devastating impact.</font></b>'
-
-		xgt'atak','player'
-	end
-	act 'Physical attacks':gt'boxing'
-
-	if pcs_magik > 0:
-		act 'Magic attacks':gt'magik'
+		'<b><font color = green>Your hands now feel more powerful.</font></b>'
+	elseif SuccessValue < 0:
+		strenK = pcs_stren*20/100
+		magweapbonus = 0 - RAND(pcs_stren*10 - strenK,pcs_stren*10 + strenK)
+		'<b><font color = red>The spell backfires! Your hands seem weaker.</font></b>'
+	else
+		'<b>The spell fizzles.  Nothing seems to happen.</b>'
 	end
+	xgt'atak','player'
 end
 
-if $ARGS[0] = 'fire1':
-	cla
-	!Create mist
-	'Flame. Cost 10 manna.'
-
-	act 'Flame (10 manna)':
-		cla
-		*clr
-		pcs_manna -= 10
-		damTip = 250
-
-		'<b><font color = green>You have created a torrent of flames escaping from your hand.</font></b>'
-
-		xgt'atakA','atak'
-	end
-	act 'Physical attacks':gt'boxing'
-
-	if pcs_magik > 0:
-		act 'Magic attacks':gt'magik'
+if $ARGS[0] = 'scaldingtouch':
+	if SuccessValue > 0:
+		damTip = 250 * SuccessValue
+		'<b><font color = green>Flames spring from your hands.</font></b>'
+	else
+		'<b>The spell fizzles.  Nothing seems to happen.</b>'
 	end
+	xgt'atakA','atak'
 end
 
-if $ARGS[0] = 'fire2':
-	cla
-	!Create mist
-	'The release of fire. Cost 100 manna.'
-
-	act 'The release of fire (100 manna)':
-		cla
-		*clr
-		pcs_manna -= 100
-		damTip = 2500
-
-		'<b><font color = green>You have created a huge flow of flames escaping from your hand.</font></b>'
-
-		xgt'atakA','atak'
-	end
-	act 'Physical attacks':gt'boxing'
-
-	if pcs_magik > 0:
-		act 'Magic attacks':gt'magik'
+if $ARGS[0] = 'burninghands':
+	if SuccessValue > 0:
+		damTip = 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>'
 	end
+	xgt'atakA','atak'
 end
 
-if $ARGS[0] = 'fire3':
-	cla
-	!Create mist
-	'Fire Barrier, It creates a shield 750 units. Cost 150 manna.'
-
-	act 'Fire Barrier (150 manna)':
-		cla
-		*clr
-		pcs_manna -= 150
-		defence = defence + 750
-
-		'<b><font color = green>You have created around him fire barrier, now you <<defence>> protection units.</font></b>'
-
-		xgt'fight','sta'
-	end
-	act 'Physical attacks':gt'boxing'
-
-	if pcs_magik > 0:
-		act 'Magic attacks':gt'magik'
+if $ARGS[0] = 'firebarrier':
+	if SuccessValue > 0:
+		defence += (750 * SuccessValue)
+		'<b><font color = green>A flaming barrier has sprung up between you and your opponent. You now have <<defence>> protection units.</font></b>'
+	elseif SuccessValue < 0:
+		defenceV += 750
+		'<b><font color = red>The spell backfires! A flaming barrier has sprung up between you and your opponent. Your enemy now has <<defence>> protection units.</font></b>'
+	else
+		'<b>The spell fizzles.  Nothing seems to happen.</b>'
 	end
 end
 
-if $ARGS[0] = 'fire4':
-	cla
-	!Create mist
-	'Firestorm. Cost 250 manna.'
-
-	act 'Firestorm (250 manna)':
-		cla
-		*clr
-		pcs_manna -= 250
-		damTip = 6250
+if $ARGS[0] = 'firestorm':
+	if SuccessValue > 0:
+		damTip = 4250 + (2000 * SuccessValue)
 		bonusSh = 100
-
-		'<b><font color = green>The air around you overheat and catch fire, a sea of ​​fire struck the enemy.</font></b>'
-
-		xgt'atakA','atak'
-	end
-	act 'Physical attacks':gt'boxing'
-
-	if pcs_magik > 0:
-		act 'Magic attacks':gt'magik'
+		'<b><font color = green>Uncountable glowing embers steak down upon your foes.</font></b>'
+	elseif SuccessValue < 0:
+		damTip = 2000
+		pcs_health -= 200
+		bonusSh = 100
+		'<b><font color = red>The spell backfires! Uncountable glowing embers steak down upon the battlefield burning everyone.</font></b>'
+	else
+		'<b>The spell fizzles.  Nothing seems to happen.</b>'
 	end
+	xgt'atakA','atak'
 end
 
-if $ARGS[0] = 'fire5':
-	cla
-	!Create mist
-	'Flame Shield, It creates a shield 2500 units. Cost 500 manna.'
-
-	act 'Flame Shield (500 manna)':
-		cla
-		*clr
-		pcs_manna -= 500
-		defence = defence + 2500
-
-		'<b><font color = green>You''ve created a wall of fire around it absorbs damage, now you <<defence>> protection units.</font></b>'
-
-		xgt'fight','sta'
-	end
-	act 'Physical attacks':gt'boxing'
-
-	if pcs_magik > 0:
-		act 'Magic attacks':gt'magik'
+if $ARGS[0] = 'flameshield':
+	if SuccessValue > 0:
+		defence += (2500 * SuccessValue)
+		'<b><font color = green>A Shield made of Flames interposes itself between you and your enemy. You now have <<defence>> protection units.</font></b>'
+	elseif SuccessValue < 0:
+		defenceV += 2500
+		'<b><font color = red>The spell backfires! A Shield made of Flames interposes itself between you and your enemy. Your enemy now has <<defence>> protection units.</font></b>'
+	else
+		'<b>The spell fizzles.  Nothing seems to happen.</b>'
 	end
 end
 
-if $ARGS[0] = 'ele1':
-	cla
-	!Create mist
-	'Electric Shock. Cost 10 manna.'
-
-	act 'Electric Shock (10 manna)':
-		cla
-		*clr
-		pcs_manna -= 10
-		damTip = 150
+if $ARGS[0] = 'shock':
+	if SuccessValue > 0:
+		damTip = (150 * SuccessValue)
 		eleSh = 1
-
-		'<b><font color = green>You have created an electric discharge escaping from your hand.</font></b>'
-
-		xgt'atakA','atak'
-	end
-	act 'Physical attacks':gt'boxing'
-
-	if pcs_magik > 0:
-		act 'Magic attacks':gt'magik'
+		'<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
+		'<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>'
 	end
+	xgt'atakA','atak'
 end
 
-if $ARGS[0] = 'ele2':
-	cla
-	!Create mist
-	'Lightning. Cost 100 manna.'
-
-	act 'Lightning (100 manna)':
-		cla
-		*clr
-		pcs_manna -= 100
-		damTip = 1500
+if $ARGS[0] = 'lightning':
+	if SuccessValue > 0:
+		damTip = (1500 * SuccessValue)
 		eleSh = 1
-
-		'<b><font color = green>You have created a lightning shot rattled out of your hand.</font></b>'
-
-		xgt'atakA','atak'
-	end
-	act 'Physical attacks':gt'boxing'
-
-	if pcs_magik > 0:
-		act 'Magic attacks':gt'magik'
+		'<b><font color = green>You shoot a lightning bolt from your hand zapping your opponent.</font></b>'
+	elseif SuccessValue < 0:
+		pcs_health -= 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>'
 	end
+	xgt'atakA','atak'
 end
 
-if $ARGS[0] = 'ele3':
-	cla
-	!Create mist
-	'Electric barrier, It creates a shield 1500 units. Cost 150 manna.'
-
-	act 'Electric barrier (150 manna)':
-		cla
-		*clr
-		pcs_manna -= 150
-		defence = defence + 1500
-
-		'<b><font color = green>You''ve created a wall around yourself of dancing lightning, now you have <<defence>> protection units.</font></b>'
-
-		xgt'fight','sta'
-	end
-	act 'Physical attacks':gt'boxing'
-
-	if pcs_magik > 0:
-		act 'Magic attacks':gt'magik'
+if $ARGS[0] = 'electricbarrier':
+	if SuccessValue > 0:
+		defence += (1500 * SuccessValue)
+		'<b><font color = green>A wall of dancing lightning springs up around yourself. You now have <<defence>> protection units.</font></b>'
+	elseif SuccessValue < 0:
+		defenceV += 1500
+		'<b><font color = red>The spell backfires! A wall of dancing lightning springs up around your enemy. Your enemy now has <<defence>> protection units.</font></b>'
+	else
+		'<b>The spell fizzles.  Nothing seems to happen.</b>'
 	end
 end
 
-if $ARGS[0] = 'ele4':
-	cla
-	!Create mist
-	'Dance of a thousand birds. Cost 250 manna.'
-
-	act 'Dance of a thousand birds (250 manna)':
-		cla
-		*clr
-		pcs_manna -= 250
-		damTip = 3750
+if $ARGS[0] = '1000birds':
+	if SuccessValue > 0:
+		damTip = 2750 + (1000 * SuccessValue)
 		bonusSh = 30
 		eleSh = 1
-
-		'<b><font color = green>You have collected the manna in the hand and around your palm danced lightning leaping through the air with shrieks.</font></b>'
-
-		xgt'atakA','atak'
-	end
-	act 'Physical attacks':gt'boxing'
-
-	if pcs_magik > 0:
-		act 'Magic attacks':gt'magik'
+		'<b><font color = green>You shoot hundreds of small lightning bolts toward your enemy.</font></b>'
+	elseif SuccessValue < 0:
+		damTip = 2000
+		pcs_health -= 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>'
+	else
+		'<b>The spell fizzles.  Nothing seems to happen.</b>'
 	end
 end
 
-if $ARGS[0] = 'ele5':
-	cla
-	!Create mist
-	'Dancing Sphere, It creates a shield 5000 units. Cost 500 manna.'
-
-	act 'Dancing Sphere (500 manna)':
-		cla
-		*clr
-		pcs_manna -= 500
-		defence = defence + 5000
-
-		'<b><font color = green>You have created around him a large field of lightning dancing, now you <<defence>> protection units.</font></b>'
-
-		xgt'fight','sta'
-	end
-	act 'Physical attacks':gt'boxing'
-
-	if pcs_magik > 0:
-		act 'Magic attacks':gt'magik'
+if $ARGS[0] = 'dancingsphere':
+	if SuccessValue > 0:
+		defence += (5000 * SuccessValue)
+		'<b><font color = green>A large field of lightning dances around you blocking attacks. You now have <<defence>> protection units.</font></b>'
+	elseif SuccessValue < 0:
+		defenceV += 5000
+		'<b><font color = red>The spell backfires! A large field of lightning dances around you blocking attacks. Your enemy now has <<defence>> protection units.</font></b>'
+	else
+		'<b>The spell fizzles.  Nothing seems to happen.</b>'
 	end
 end
 
-if $ARGS[0] = 'ert1':
-	cla
-	!Create mist
-	'Quicksand, catches the opponent in the quicksand trap and inflicts 100 units. Cost 10 manna.'
-
-	act 'Quicksand (10 manna)':
-		cla
-		*clr
-		pcs_manna -= 10
+if $ARGS[0] = 'quicksand':
+	if SuccessValue > 0:
+		damTip = 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
 		eleSh = 5
-
-		'<b><font color = green>You have created a tightening opponent quicksand.</font></b>'
-
-		xgt'atakA','atak'
-	end
-	act 'Physical attacks':gt'boxing'
-
-	if pcs_magik > 0:
-		act 'Magic attacks':gt'magik'
+		'<b><font color = red>The spell backfires! You are both trapped in quicksand.</font></b>'
+	else
+		'<b>The spell fizzles.  Nothing seems to happen.</b>'
 	end
+	xgt'atakA','atak'
 end
 
-if $ARGS[0] = 'ert2':
-	cla
-	!Create mist
-	'Active protection, It creates a protective sphere of land, Cham 2500 Units of protection of health and mana, this protection restores itself within 10 absorbing strokes 20 Units in the course of manna. Cost 100 manna.'
-
-	act 'Active protection (100 manna)':
-		cla
-		*clr
-		pcs_manna -= 100
-		defence = defence + 2500
-		defenceM = defenceM + 2500
+if $ARGS[0] = 'earthshield':
+	if SuccessValue > 0:
+		defence += 1500 + (1000 * SuccessValue)
+		defenceM += 2500
 		defenceActPar = 1000
 		defenceActParM = 1000
 		defenceAct = 10
 		defenceActM = 10
-
-		'<b><font color = green>Earth is surrounded by you, giving you protection.</font></b>'
-
-		xgt'fight','sta'
-	end
-	act 'Physical attacks':gt'boxing'
-
-	if pcs_magik > 0:
-		act 'Magic attacks':gt'magik'
+		'<b><font color = green>Tendrils of Earth rise to defend you. You now have <<defence>> protection units.</font></b>'
+	elseif SuccessValue < 0:
+		defenceV += 2500
+		'<b><font color = red>The spell backfires! Tendrils of Earth rise to defend your enemy. Your enemy now has <<defence>> protection units.</font></b>'
+	else
+		'<b>The spell fizzles.  Nothing seems to happen.</b>'
 	end
 end
 
-if $ARGS[0] = 'ert3':
-	cla
-	!Create mist
-	'Abyss, earth asunder under their feet the enemy inflicting damage 1500 units, and depriving him of the ability to move. Cost 150 manna.'
-
-	act 'Quicksand (150 manna)':
-		cla
-		*clr
-		pcs_manna -= 150
+if $ARGS[0] = 'abyss':
+	if SuccessValue > 0:
+		damTip = 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
 		eleSh = 5
-
-		'<b><font color = green>You are the earth under the feet of the enemy.</font></b>'
-
-		xgt'atakA','atak'
-	end
-	act 'Physical attacks':gt'boxing'
-
-	if pcs_magik > 0:
-		act 'Magic attacks':gt'magik'
+		'<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
+		'<b>The spell fizzles.  Nothing seems to happen.</b>'
 	end
+	xgt'atakA','atak'
 end
 
-if $ARGS[0] = 'ert4':
-	cla
-	!Create mist
-	'Absolute protection, It creates a huge protective sphere of land, which regenerates itself every turn attacks the enemy. Cost 250 manna.'
-
-	act 'Absolute protection (250 manna)':
-		cla
-		*clr
-		pcs_manna -= 250
-		defence = defence + 6250
-		defenceM = defenceM + 6250
-		defenceW = defenceW + 6250
+if $ARGS[0] = 'earthguardian':
+	if SuccessValue > 0:
+		defence += 5200 + (2000 * SuccessValue)
+		defenceM += 6250
+		defenceW += 6250
 		defenceActPar = 1000
 		defenceActParM = 1000
 		defenceActParW = 1000
@@ -567,301 +429,207 @@ if $ARGS[0] = 'ert4':
 		defenceActM = 15
 		defenceActW = 15
 		defAtk = 15
-
-		'<b><font color = green>Earth is surrounded by you, giving you protection.</font></b>'
-
-		xgt'fight','sta'
-	end
-	act 'Physical attacks':gt'boxing'
-
-	if pcs_magik > 0:
-		act 'Magic attacks':gt'magik'
+		'<b><font color = green>The Earth itself comes alive defending you from attacks.  It draws from the power of the land to regenerate itself every round. You now have <<defence>> protection units.</font></b>'
+	elseif SuccessValue < 0:
+		defenceV += 2500
+		'<b><font color = red>The spell backfires! Tendrils of Earth rise to defend your enemy. Your enemy now has <<defence>> protection units.</font></b>'
+	else
+		'<b>The spell fizzles.  Nothing seems to happen.</b>'
 	end
 end
 
-if $ARGS[0] = 'ert5':
-	cla
-	!Create mist
-	'Sando, two huge plates come out of the collapse of the earth and crushing the enemy inflicting damage 5000 units, and depriving him of the ability to move. Cost 500 manna.'
-
-	act 'Sando (500 manna)':
-		cla
-		*clr
-		pcs_manna -= 500
-		damTip = 5000
+if $ARGS[0] = 'sando':
+	if SuccessValue > 0:
+		damTip = 3000 + (2000 * SuccessValue)
 		bonusSh = 50
 		eleSh = 5
-
-		'<b><font color = green>Two huge plate with a roar came from the earth and imploded.</font></b>'
-
-		xgt'atakA','atak'
-	end
-	act 'Physical attacks':gt'boxing'
-
-	if pcs_magik > 0:
-		act 'Magic attacks':gt'magik'
+		'<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
+		'<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>'
 	end
+	xgt'atakA','atak'
 end
 
-if $ARGS[0] = 'wind1':
-	cla
-	!Create mist
-	'Wind gust, inflicts 100 Units kills clones and fog, very difficult to dodge. Cost 10 manna.'
-
-	act 'Wind gust (10 manna)':
-		cla
-		*clr
-		pcs_manna -= 10
-		damTip = 100
+if $ARGS[0] = 'windgust':
+	if SuccessValue > 0:
+		damTip = 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>Clone the enemy turned into steam.</font></b>'
-		if tumanV > 0:tumanV = 0 & '<b><font color = green>Fog enemy torn to shreds by the wind.</font></b>'
-
-		xgt'atakA','atak'
-	end
-	act 'Physical attacks':gt'boxing'
-
-	if pcs_magik > 0:
-		act 'Magic attacks':gt'magik'
-	end
-end
-
-if $ARGS[0] = 'wind2':
-	cla
-	!Create mist
-	'The horrific pressure, inflicts 1000 Units kills clones and fog, very difficult to dodge. Cost 100 manna.'
-
-	act 'The horrific pressure (100 manna)':
-		cla
-		*clr
-		pcs_manna -= 100
-		damTip = 1000
+		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
+		'<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>'
+	else
+		'<b>The spell fizzles.  Nothing seems to happen.</b>'
+	end
+	xgt'atakA','atak'
+end
+
+if $ARGS[0] = 'pressure':
+	if SuccessValue > 0:
+		damTip = 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>Clone the enemy broke and turned into steam.</font></b>'
-		if tumanV > 0:tumanV = 0 & '<b><font color = green>Fog enemy torn to shreds pressure.</font></b>'
-
-		xgt'atakA','atak'
-	end
-	act 'Physical attacks':gt'boxing'
-
-	if pcs_magik > 0:
-		act 'Magic attacks':gt'magik'
-	end
-end
-
-if $ARGS[0] = 'wind3':
-	cla
-	!Create mist
-	'Vacuum Sphere, It creates a shield 1500 units. Cost 150 manna.'
-
-	act 'Vacuum Sphere (150 manna)':
-		cla
-		*clr
-		pcs_manna -= 150
-		defence = defence + 1500
-
-		'<b><font color = green>You have created around themselves the vacuum, now you <<defence>> protection units.</font></b>'
-
-		xgt'fight','sta'
-	end
-	act 'Physical attacks':gt'boxing'
-
-	if pcs_magik > 0:
-		act 'Magic attacks':gt'magik'
-	end
-end
-
-if $ARGS[0] = 'wind4':
-	cla
-	!Create mist
-	'Vacuum shells, cause damage 2500 Units kills clones and fog, very difficult to dodge. Cost 250 manna.'
-
-	act 'Vacuum shells (250 manna)':
-		cla
-		*clr
-		pcs_manna -= 250
-		damTip = 2500
+		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
+		'<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>'
+	else
+		'<b>The spell fizzles.  Nothing seems to happen.</b>'
+	end
+	xgt'atakA','atak'
+end
+
+if $ARGS[0] = 'vacuum':
+	if SuccessValue > 0:
+		defence += (1500 * SuccessValue)
+		'<b><font color = green>A turbulent sphere of vacuum surrounds you blocking incoming attacks. You now have <<defence>> protection units.</font></b>'
+	elseif SuccessValue < 0:
+		defenceV += 1500
+		'<b><font color = red>The spell backfires! A turbulent sphere of vacuum surrounds your enemy blocking your attacks. Your enemy now has <<defence>> protection units.</font></b>'
+	else
+		'<b>The spell fizzles.  Nothing seems to happen.</b>'
+	end
+end
+
+if $ARGS[0] = 'vacuumshells':
+	if SuccessValue > 0:
+		damTip = 2500 * SuccessValue
 		bonusSh = 100
-
-		'<b><font color = green>You have created around him a lot of areas, and they vacuum at high speed with a whistle flew over the battlefield.</font></b>'
-		if klonV > 0:klonV = 0 & '<b><font color = green>Clone the enemy broke and turned into steam.</font></b>'
-		if tumanV > 0:tumanV = 0 & '<b><font color = green>Fog enemy torn to shreds pressure.</font></b>'
-
-		xgt'atakA','atak'
-	end
-	act 'Physical attacks':gt'boxing'
-
-	if pcs_magik > 0:
-		act 'Magic attacks':gt'magik'
-	end
-end
-
-if $ARGS[0] = 'wind5':
-	cla
-	!Create mist
-	'Devouring vacuum, sucks shield enemy destroying it whatever strength he was not. Cost 500 manna.'
-
-	if defenceV > 0:
-		act 'Devouring vacuum (500 manna)':
-			cla
-			*clr
-			pcs_manna -= 500
-			defenceV = 0
-			defenceMV = 0
-			defenceWV = 0
-			defenceActParV = 0
-			defenceActParMV = 0
-			defenceActV = 0
-			defenceActMV = 0
-			defAtkMV = 0
-
-			'<b><font color = green>You have created around themselves the vacuum that sucked in the defense of the enemy to destroy it.</font></b>'
-
-			xgt'fight','sta'
-		end
-	elseif defenceV <= 0:
-		'The enemy is not a shield that can break this spell.'
-	end
-
-	act 'Physical attacks':gt'boxing'
-
-	if pcs_magik > 0:
-		act 'Magic attacks':gt'magik'
-	end
-end
-
-if $ARGS[0] = 'water1':
-	cla
-	!Create mist
-	'Leech manna, inflicts 100 units Absorbs 1000 units of manna. Cost 10 manna.'
-
-	act 'Leech manna (10 manna)':
-		cla
-		*clr
-		pcs_manna -= 10
-		damTip = 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
+		'<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>'
+	else
+		'<b>The spell fizzles.  Nothing seems to happen.</b>'
+	end
+	xgt'atakA','atak'
+end
+
+if $ARGS[0] = 'devouringvacuum':
+	if SuccessValue > 0:
+		defenceV = 0
+		defenceMV = 0
+		defenceWV = 0
+		defenceActParV = 0
+		defenceActParMV = 0
+		defenceActV = 0
+		defenceActMV = 0
+		defAtkMV = 0
+		'<b><font color = green>A devouring vacuum sucks away your enemys defenses.</font></b>'
+	elseif SuccessValue < 0:
+		defence = 0
+		defenceM = 0
+		defenceW = 0
+		defenceActPar = 0
+		defenceActParM = 0
+		defenceAct = 0
+		defenceActM = 0
+		defAtkM = 0
+		'<b><font color = red>The spell backfires! A devouring vacuum sucks away your defenses.</font></b>'
+	else
+		'<b>The spell fizzles.  Nothing seems to happen.</b>'
+	end
+end
+
+if $ARGS[0] = 'leechmana':
+	if SuccessValue > 0:
+		damTip = 100 * SuccessValue
 		damTipM = 1000
-
-		'<b><font color = green>You have created in your hand a small stream of water that shoots into the enemy.</font></b>'
-
-		xgt'atakA','atak'
-	end
-	act 'Physical attacks':gt'boxing'
-
-	if pcs_magik > 0:
-		act 'Magic attacks':gt'magik'
+		'<b><font color = green>You leech mana from your enemy.</font></b>'
+	elseif SuccessValue < 0:
+		pcs_health -= 50
+		'<b><font color = red>The spell backfires! Ouch!</font></b>'
+	else
+		'<b>The spell fizzles.  Nothing seems to happen.</b>'
 	end
+	xgt'atakA','atak'
 end
 
-if $ARGS[0] = 'water2':
-	cla
-	!Create mist
-	'Flooding, inflicts 1000 units Absorbs 500 units of manna. Cost 100 manna.'
-
-	act 'Flooding (100 manna)':
-		cla
-		*clr
-		pcs_manna -= 100
-		damTip = 1000
+if $ARGS[0] = 'flood':
+	if SuccessValue > 0:
+		damTip = 1000 * SuccessValue
 		damTipM = 500
-
-		'<b><font color = green>From your mouth a flood of water flooded district.</font></b>'
-
-		xgt'atakA','atak'
-	end
-	act 'Physical attacks':gt'boxing'
-
-	if pcs_magik > 0:
-		act 'Magic attacks':gt'magik'
+		'<b><font color = green>A surge of water rises towards your enemy.</font></b>'
+	elseif SuccessValue < 0:
+		pcs_health -= 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>'
 	end
+	xgt'atakA','atak'
 end
 
-if $ARGS[0] = 'water3':
-	cla
-	!Create mist
-	'Blister, It creates a protective sphere of water 1500 Units of protection against all impacts, this protection restores itself within 10 absorbing strokes 20 Units in the course of manna. Cost 150 manna.'
-
-	act 'Blister (150 manna)':
-		cla
-		*clr
-		pcs_manna -= 150
-		defence = defence + 1500
-		defenceM = defenceM + 1500
-		defenceW = defenceW + 1500
+if $ARGS[0] = 'blister':
+	if SuccessValue > 0:
+		defence += 1500
+		defenceM += 1500
+		defenceW += 1500
 		defenceActPar = 500
 		defenceActParM = 500
 		defenceAct = 10
 		defenceActM = 10
-
-		'<b><font color = green>Water creates the scope of protection around you.</font></b>'
-
-		xgt'fight','sta'
-	end
-	act 'Physical attacks':gt'boxing'
-
-	if pcs_magik > 0:
-		act 'Magic attacks':gt'magik'
+		'<b><font color = green>A protective sphere of water surrounds you.</font></b>'
+	elseif SuccessValue < 0:
+		defenceV += 1500
+		'<b><font color = red>The spell backfires! A protective sphere of water surrounds your enemy.</font></b>'
+	else
+		'<b>The spell fizzles.  Nothing seems to happen.</b>'
 	end
 end
 
-if $ARGS[0] = 'water4':
-	cla
-	!Create mist
-	'Water shark rocket, inflicts 1500 units Absorbs 2500 units of manna. Cost 250 manna.'
-
-	act 'Water shark rocket (250 manna)':
-		cla
-		*clr
-		pcs_manna -= 250
-		damTip = 1500
+if $ARGS[0] = 'sharkrockets':
+	if SuccessValue > 0:
+		damTip = 1500 * SuccessValue
 		damTipM = 2500
 		bonusSh = 50
-
-		'<b><font color = green>You released a pack of sharks consisting of water flying towards the enemy like a torpedo.</font></b>'
-		if klonV > 0:klonV = 0 & '<b><font color = green>Clones enemy disappeared.</font></b>'
-
-		xgt'atakA','atak'
-	end
-	act 'Physical attacks':gt'boxing'
-
-	if pcs_magik > 0:
-		act 'Magic attacks':gt'magik'
-	end
-end
-
-if $ARGS[0] = 'water5':
-	cla
-	!Create mist
-	'The Great Flood, It creates a huge sphere that absorbs water and pumping opponent manna from it and passing it to strengthen protection. Cost 500 manna.'
-
-	act 'The Great Flood (500 manna)':
-		cla
-		*clr
-		pcs_manna -= 500
-		defence = defence + 5000
-		defenceM = defenceM + 5000
-		defenceW = defenceW + 5000
+		'<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
+		'<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
+		'<b>The spell fizzles.  Nothing seems to happen.</b>'
+	end
+	xgt'atakA','atak'
+end
+
+if $ARGS[0] = 'greatflood':
+	if SuccessValue > 0:
+		defence += 5000
+		defenceM += 5000
+		defenceW += 5000
 		defenceActPar = 500
 		defenceActParM = 500
 		defenceAct = 10
 		defenceActM = 10
 		defAtkM = 10
-
-		'<b><font color = green>You have filled the whole neighborhood with water protecting you and devours enemy mana.</font></b>'
+		'<b><font color = green>You have filled the whole neighborhood with water protecting you and devouring enemy mana.</font></b>'
 		if klonV > 0:klonV = 0 & '<b><font color = green>Clones enemy disappeared.</font></b>'
-
-		xgt'fight','sta'
-	end
-	act 'Physical attacks':gt'boxing'
-
-	if pcs_magik > 0:
-		act 'Magic attacks':gt'magik'
+	elseif SuccessValue < 0:
+		defenceV += 1500
+		'<b><font color = red>The spell backfires! A huge flood of water surrounds your enemy protecting him.</font></b>'
+		if klon > 0:klon = 0 & '<b><font color = green>Clones enemy disappeared.</font></b>'
+	else
+		'<b>The spell fizzles.  Nothing seems to happen.</b>'
 	end
 end
 
+
+killvar 'SuccessValue'
 --- spell ---------------------------------
 

+ 392 - 0
locations/spellList.qsrc

@@ -0,0 +1,392 @@
+#spellList
+! Information pertaining to PC for each spell
+!	spellKnown['spellname'] = 1 if the spell is known by the player
+!	spellLearn['spellname'] = 0-100, percentage of study that has occured to learn this spell. 100+ will learn it.
+!
+! MetaData for Each Spell
+!	spellMana['spellname'] = Mana cost to cast this spell
+!	spellTime['spellname'] = How much time will pass in the casting of the spell
+!	spellDiff['spellname'] = Difficulty to learn and cast this spell
+!	$spellName['spellname'] = Pretty name for the spell
+!	$sellDesc['spellname'] = Description of what the spell does.
+!
+! There are also defined lists of spells grouped together
+!	$combatSpells = Spells that can be used in Combat
+!	$nonComSpells = Non-Combat Spells, ones that can be executed in any location.
+!	$basicSpells = basic spells that are taught by Tatiana
+!	$fireSpells = Fire-based spells
+!	$electSpells = Electricity based spells
+!	$earthSpells = Earth magic spells
+!	$airSpells = Air based spells
+!	$waterSpells = Water based spells
+!
+! To create a new spell, fill out the meta-data as listed above, then create a matching section in the "spell" location for it
+
+
+!teleport
+spellMana['teleport'] = 1000
+spellTime['teleport'] = 20
+spellDiff['teleport'] = 20
+$spellName['teleport'] = "Teleport"
+$spellDesc['teleport'] = "You can move from one Fairy Circle to another."
+!glamour
+spellMana['glamour'] = 500
+spellTime['glamour'] = 1
+spellDiff['glamour'] = 30
+$spellName['teleport'] = "Glamour"
+$spellDesc['teleport'] = "Change your appearance."
+!bodymod
+spellMana['bodymod'] = 40
+spellTime['bodymod'] = 30
+spellDiff['bodymod'] = 0
+$spellName['bodymod'] = "Body Modification"
+$spellDesc['bodymod'] = "Change your appearance."
+
+!fog
+spellMana['fog'] = 10
+spellTime['fog'] = 0
+spellDiff['fog'] = 1
+$spellName['fog'] = "Fog"
+$spellDesc['fog'] = "Create a fog on the battlefield, obscuring the view of the enemy."
+!clone
+spellMana['clone'] = 15
+spellTime['clone'] = 0
+spellDiff['clone'] = 1
+$spellName['clone'] = "Create Clone"
+$spellDesc['clone'] = "You can create an exact clone of yourself, and slip out of sight of the enemy."
+!stun
+spellMana['stun'] = 20
+spellTime['stun'] = 0
+spellDiff['stun'] = 2
+$spellName['stun'] = "Stun"
+$spellDesc['stun'] = "Paralyze the enemy with a touch."
+!weapon
+spellMana['weapon'] = 20
+spellTime['weapon'] = 0
+spellDiff['weapon'] = 0
+$spellName['weapon'] = "Empower Weapon"
+$spellDesc['weapon'] = "Magically power a weapon causing greater damage."
+!wind
+spellMana['wind'] = 40
+spellTime['wind'] = 0
+spellDiff['wind'] = 2
+$spellName['wind'] = "Gust of Wind"
+$spellDesc['wind'] = "Summon a gust of wind that will clear away fog."
+!multiclone
+spellMana['multiclone'] = 45
+spellTime['multiclone'] = 0
+spellDiff['multiclone'] = 2
+$spellName['multiclone'] = "Multi-Clone"
+$spellDesc['multiclone'] = "Summon three clones of yourself and slip out of the enemys sight."
+!energo
+spellMana['energo'] = 50
+spellTime['energo'] = 0
+spellDiff['energo'] = 3
+$spellName['energo'] = "Energy Shield"
+$spellDesc['energo'] = "Create an energy shield to absorb incoming damage.  You gain 100 defense."
+!haste
+spellMana['haste'] = 60
+spellTime['haste'] = 0
+spellDiff['haste'] = 3
+$spellName['haste'] = "Haste"
+$spellDesc['haste'] = "Hasten your passage through time to gain reaction speed to seize the initiative."
+!heal
+spellMana['heal'] = 400
+spellTime['heal'] = 0
+spellDiff['heal'] = 4
+$spellName['heal'] = "Heal"
+$spellDesc['heal'] = "Exchange mana for health, healing your wounds and fortifying your body."
+!hand
+spellMana['hand'] = 100
+spellTime['hand'] = 0
+spellDiff['hand'] = 0
+$spellName['hand'] = "Quivering Palm"
+$spellDesc['hand'] = "Add energy from your mana to your hand for a devistating strike."
+!scaldingtouch
+spellMana['scaldingtouch'] = 10
+spellTime['scaldingtouch'] = 0
+spellDiff['scaldingtouch'] = 6
+$spellName['scaldingtouch'] = "Scalding Touch"
+$spellDesc['scaldingtouch'] = "Flames spring from your hands."
+!burninghands
+spellMana['burninghands'] = 100
+spellTime['burninghands'] = 0
+spellDiff['burninghands'] = 7
+$spellName['burninghands'] = "Burning Hands"
+$spellDesc['burninghands'] = "A torrent of flames jets from your hands."
+!firebarrier
+spellMana['firebarrier'] = 150
+spellTime['firebarrier'] = 0
+spellDiff['firebarrier'] = 8
+$spellName['firebarrier'] = "Fire Barrier"
+$spellDesc['firebarrier'] = "You are shielded by a wall of flames.  Adds 750 defense."
+!firestorm
+spellMana['firestorm'] = 250
+spellTime['firestorm'] = 0
+spellDiff['firestorm'] = 9
+$spellName['firestorm'] = "Fire Storm"
+$spellDesc['firestorm'] = "Super heated embers rain down upon your enemies."
+!flameshield
+spellMana['flameshield'] = 500
+spellTime['flameshield'] = 0
+spellDiff['flameshield'] = 10
+$spellName['flameshield'] = "Flame Shield"
+$spellDesc['flameshield'] = "A Shield made of Flames interposes itself between you and your enemy, absorbing 2500 damage to defend you."
+!shock
+spellMana['shock'] = 10
+spellTime['shock'] = 0
+spellDiff['shock'] = 6
+$spellName['shock'] = "Electric Shock"
+$spellDesc['shock'] = "An electric spark shoots from your hand."
+!lightning
+spellMana['lightning'] = 100
+spellTime['lightning'] = 0
+spellDiff['lightning'] = 7
+$spellName['lightning'] = "Lightning"
+$spellDesc['lightning'] = "A lightning bolt shoots from your hand."
+!electricbarrier
+spellMana['electricbarrier'] = 150
+spellTime['electricbarrier'] = 0
+spellDiff['electricbarrier'] = 8
+$spellName['electricbarrier'] = "Electric Barrier"
+$spellDesc['electricbarrier'] = "A static electric field blocks incoming attacks from reaching you."
+!1000birds
+spellMana['1000birds'] = 250
+spellTime['1000birds'] = 0
+spellDiff['1000birds'] = 9
+$spellName['1000birds'] = "Dance of a Thousand Birds"
+$spellDesc['1000birds'] = "The air is filled with small lightning bolts leaping through the air with shrieks."
+!dancingsphere
+spellMana['dancingsphere'] = 500
+spellTime['dancingsphere'] = 0
+spellDiff['dancingsphere'] = 10
+$spellName['dancingsphere'] = "Dancing Sphere"
+$spellDesc['dancingsphere'] = "Lightning dances around you blocking attacks coming toward you."
+!quicksand
+spellMana['quicksand'] = 10
+spellTime['quicksand'] = 0
+spellDiff['quicksand'] = 6
+$spellName['quicksand'] = "Quicksand"
+$spellDesc['quicksand'] = "Opponent is caught in a quicksand trap."
+!earthshield
+spellMana['earthshield'] = 100
+spellTime['earthshield'] = 0
+spellDiff['earthshield'] = 7
+$spellName['earthshield'] = "Earth Shield"
+$spellDesc['earthshield'] = "Tendrils of earth reach up to defend you. Some of the damage it absorbs is captured as mana and given to you."
+!abyss
+spellMana['abyss'] = 150
+spellTime['abyss'] = 0
+spellDiff['abyss'] = 8
+$spellName['abyss'] = "Abyss"
+$spellDesc['abyss'] = "The Earth opens up beneath your opponents feet, slamming shut damaging him and depriving him of the ability to move."
+!earthguardian
+spellMana['earthguardian'] = 250
+spellTime['earthguardian'] = 0
+spellDiff['earthguardian'] = 9
+$spellName['earthguardian'] = "Earth Guardian"
+$spellDesc['earthguardian'] = "The Earth itself comes alive defending you from attacks.  It draws from the power of the land to regenerate itself every round."
+!sando
+spellMana['sando'] = 500
+spellTime['sando'] = 0
+spellDiff['sando'] = 10
+$spellName['sando'] = "Sando"
+$spellDesc['sando'] = "Two huge plates of earth colapse together crushing the enemy and depriving him of the ability to move."
+!windgust
+spellMana['windgust'] = 10
+spellTime['windgust'] = 0
+spellDiff['windgust'] = 6
+$spellName['windgust'] = "Wind Gust"
+$spellDesc['windgust'] = "a huge gust of wind rips past you killing clones and removing fog."
+!pressure
+spellMana['pressure'] = 100
+spellTime['pressure'] = 0
+spellDiff['pressure'] = 7
+$spellName['pressure'] = "Horrific Pressure"
+$spellDesc['pressure'] = "Enormous air pressure surrounds your enemy causing damage as well as killing clones and removing fog."
+!vacuum
+spellMana['vacuum'] = 150
+spellTime['vacuum'] = 0
+spellDiff['vacuum'] = 8
+$spellName['vacuum'] = "Vacuum Sphere"
+$spellDesc['vacuum'] = "A turbulent sphere of vacuum surrounds you blocking incoming attacks."
+!vacuumshells
+spellMana['vacuumshells'] = 250
+spellTime['vacuumshells'] = 0
+spellDiff['vacuumshells'] = 9
+$spellName['vacuumshells'] = "Vacuum Shells"
+$spellDesc['vacuumshells'] = "Turbulent spheres of vacuum bombard your enemy destroying clones and removing fog."
+!devouringvacuum
+spellMana['devouringvacuum'] = 500
+spellTime['devouringvacuum'] = 0
+spellDiff['devouringvacuum'] = 10
+$spellName['devouringvacuum'] = "Devouring Vacuum"
+$spellDesc['devouringvacuum'] = "A devouring vacuum sucks away your enemys defensive shields."
+!leechmana
+spellMana['leechmana'] = 10
+spellTime['leechmana'] = 0
+spellDiff['leechmana'] = 6
+$spellName['leechmana'] = "Leech Mana"
+$spellDesc['leechmana'] = "Inflict 100 damage and absorb 100 mana from your foe."
+!flood
+spellMana['flood'] = 100
+spellTime['flood'] = 0
+spellDiff['flood'] = 7
+$spellName['flood'] = "Flood"
+$spellDesc['flood'] = "Inflict 1000 damage and absorb 500 mana from your foe."
+!blister
+spellMana['blister'] = 150
+spellTime['blister'] = 0
+spellDiff['blister'] = 8
+$spellName['blister'] = "Blister"
+$spellDesc['blister'] = "Create a protective sphere of water.  Some of the damage absorbed is converted into mana for you."
+!sharkrockets
+spellMana['sharkrockets'] = 250
+spellTime['sharkrockets'] = 0
+spellDiff['sharkrockets'] = 9
+$spellName['sharkrockets'] = "Shark Rockets"
+$spellDesc['sharkrockets'] = "Blobs of Water shaped like sharks fly towards your enemy stiking them for 1500 damage and abosorbing 2500 mana for you.  Clones are destroyed"
+!greatflood
+spellMana['greatflood'] = 500
+spellTime['greatflood'] = 0
+spellDiff['greatflood'] = 10
+$spellName['greatflood'] = "Great Flood"
+$spellDesc['greatflood'] = "A huge flood of water fills the area absorbing mana from the enemy and giving you additional protection."
+
+
+! List Combat Spells for use in fight scenerios
+$combatSpells[0] = 'fog'
+$combatSpells[1] = 'clone'
+$combatSpells[2] = 'stun'
+$combatSpells[3] = 'weapon'
+$combatSpells[4] = 'wind'
+$combatSpells[5] = 'multiclone'
+$combatSpells[6] = 'energo'
+$combatSpells[7] = 'haste'
+$combatSpells[8] = 'heal'
+$combatSpells[9] = 'hand'
+$combatSpells[10] = 'scaldingtouch'
+$combatSpells[11] = 'burninghands'
+$combatSpells[12] = 'firebarrier'
+$combatSpells[13] = 'firestorm'
+$combatSpells[14] = 'flameshield'
+$combatSpells[15] = 'shock'
+$combatSpells[16] = 'lightning'
+$combatSpells[17] = 'electricbarrier'
+$combatSpells[18] = '1000birds'
+$combatSpells[19] = 'dancingsphere'
+$combatSpells[20] = 'quicksand'
+$combatSpells[21] = 'earthshield'
+$combatSpells[22] = 'abyss'
+$combatSpells[23] = 'earthguardian'
+$combatSpells[24] = 'sando'
+$combatSpells[25] = 'windgust'
+$combatSpells[26] = 'pressure'
+$combatSpells[27] = 'vacuum'
+$combatSpells[28] = 'vacuumshells'
+$combatSpells[29] = 'devouringvacuum'
+$combatSpells[30] = 'leechmana'
+$combatSpells[31] = 'flood'
+$combatSpells[32] = 'blister'
+$combatSpells[33] = 'sharkrockets'
+$combatSpells[34] = 'greatflood'
+
+! List of Non-Combat Spells for use in Menu
+$nonComSpells[0] = 'heal'
+
+
+! Basic Spells
+$basicSpells[0] = 'fog'
+$basicSpells[1] = 'clone'
+$basicSpells[2] = 'stun'
+$basicSpells[3] = 'wind'
+$basicSpells[4] = 'multiclone'
+$basicSpells[5] = 'energo'
+$basicSpells[6] = 'haste'
+
+
+! Elemental Spell Groups
+$fireSpells[0] = 'scaldingtouch'
+$fireSpells[1] = 'burninghands'
+$fireSpells[2] = 'firebarrier'
+$fireSpells[3] = 'firestorm'
+$fireSpells[4] = 'flameshield'
+
+$electSpells[0] = 'shock'
+$electSpells[1] = 'lightning'
+$electSpells[2] = 'electricbarrier'
+$electSpells[3] = '1000birds'
+$electSpells[4] = 'dancingsphere'
+
+$earthSpells[0] = 'quicksand'
+$earthSpells[1] = 'earthshield'
+$earthSpells[2] = 'abyss'
+$earthSpells[3] = 'earthguardian'
+$earthSpells[4] = 'sando'
+
+$airSpells[0] = 'windgust'
+$airSpells[1] = 'pressure'
+$airSpells[2] = 'vacuum'
+$airSpells[3] = 'vacuumshells'
+$airSpells[4] = 'devouringvacuum'
+
+$waterSpells[0] = 'leechmana'
+$waterSpells[1] = 'flood'
+$waterSpells[2] = 'blister'
+$waterSpells[3] = 'sharkrockets'
+$waterSpells[4] = 'greatflood'
+
+
+if $ARGS[0] = 'teacherActions':
+	! Make Actions for learning spells
+	!	$ARGS[1] = the name of the array of spells
+	!	$ARGS[2] = Exit Location
+	!	$ARGS[3] = Arg for exit location
+	! Example:
+	!	gs 'spellList', 'teacherActions', '$fireSpells', 'kakuzu', 'mansion1'
+
+	$ThisArrayName = $ARGS[1]
+	$ExitLocation = $ARGS[2]
+	$ExitLocation2 = $ARGS[3]
+
+	ThisArraySize = dyneval("result=arrsize('<<$ThisArrayName>>')")
+	i = 0
+	:LearnSpellLoop
+	$ThisSpellName = dyneval("$result = <<$ThisArrayName>>[<<i>>]")
+	spellDifficulty = $spellDiff[$ThisSpellName]
+	if spellDifficulty = 0: spellDifficulty = 1
+	if i < ThisArraySize:
+		if pcs_magik >= spellDifficulty and spellKnown[$ThisSpellName] = 0:
+			dynamic "act 'Learn <<$spellName[$ThisSpellName]>> (1:00)':
+				cla
+				pcs_manna -= 1000
+				minut += 60
+
+				spellLearn['<<$ThisSpellName>>'] += rand(1, 100/<<spellDifficulty>>)
+
+				if spellLearn['<<$ThisSpellName>>'] < 100:
+					'You diligently study the spell for an hour, but could not grasp it.'
+				else
+					spellKnown['<<$ThisSpellName>>'] = 1
+					'Finally you are able to grasp and learn the spell.'
+					*nl
+					'<<$spellName[$ThisSpellName]>>: <<$spellDesc[$ThisSpellName]>>'
+				end
+				act 'Move away':gt '<<$ExitLocation>>', '<<$ExitLocation2>>'
+			end"
+		end
+
+		i += 1
+		jump 'LearnSpellLoop'
+	end
+	killvar 'i'
+	killvar '$ThisSpellName'
+	killvar 'ThisArraySize'
+	killvar '$ThisArrayName'
+	killvar '$ExitLocation'
+	killvar '$ExitLocation2'
+	killvar 'spellDifficulty'
+end
+
+
+--- spellList ---------------------------------

+ 0 - 41
locations/spell_teleport.qsrc

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

+ 129 - 20
locations/telefon.qsrc

@@ -309,7 +309,7 @@ if $ARGS[0] = 'lover' and loverGender[ARGS[1]] = 0:
 						'<<$loverdesc[lover_number]>>, "This is wonderful! We have to celebrate!"'
 						'You start talking about living together. <<$loverdesc[lover_number]>> tells you that he is not against it in principle, but first he wants you to meet his parents.'
 						'He warns you that his mother is very demanding and rigorous. <<$loverdesc[lover_number]>> says that he loves his mother and does not want to upset her. Therefore, you must look gorgeous, wear a dress from a boutique, have well-groomed and curled hair and makeup in moderation.'
-						'When you are totally ready <<$loverdesc[lover_number]>> will take you to their parents.'
+						'When you are totally ready <<$loverdesc[lover_number]>> will take you to his parents.'
 
 						act 'Hang up':gt 'telefon', 'fin'
 
@@ -773,28 +773,52 @@ if $ARGS[0] = 'Phone_selfie_totals':
 	bathroom_clotot = 20
 	bathroom_undtot = 20
 	bathroom_nudtot = 20
+	bathroom_titflash = 10
+	bathroom_assflash = 10
+	bathroom_pussyflash = 10
 	bathroom_bathtot = 24
 	bathroom_showertot = 25
 	bedroom_clotot = 27
 	bedroom_undtot = 20
 	bedroom_nudtot = 20
+	bedroom_titflash = 10
+	bedroom_assflash = 10
+	bedroom_pussyflash = 10
 	kitchen_clotot = 16
 	kitchen_undtot = 11
 	kitchen_nudtot = 20
+	kitchen_titflash = 10
+	kitchen_assflash = 10
+	kitchen_pussyflash = 10
 	livingroom_clotot = 17
 	livingroom_undtot = 21
 	livingroom_nudtot = 21
+	livingroom_titflash = 10
+	livingroom_assflash = 10
+	livingroom_pussyflash = 10
 	changingroom_clotot = 19
 	changingroom_undtot = 25
 	changingroom_nudtot = 21
+	changingroom_titflash = 10
+	changingroom_assflash = 10
+	changingroom_pussyflash = 10
 	park_clotot = 28
 	park_undtot = 0
 	park_nudtot = 18
+	park_titflash = 10
+	park_assflash = 10
+	park_pussyflash = 10
 	lockeroom_clotot = 21
 	lockeroom_undtot = 16
 	lockeroom_nudtot = 14
+	lockeroom_titflash = 10
+	lockeroom_assflash = 10
+	lockeroom_pussyflash = 10
 	beach_swim = 21
 	beach_nudtot = 22
+	beach_titflash = 10
+	beach_assflash = 10
+	beach_pussyflash = 10
 end
 
 
@@ -828,6 +852,9 @@ if $ARGS[0] = 'Phone_camera_selfie':
 	elseif $locclass = 'lockeroom':
 		$phone_loc = 'lockeroom'
 		gs 'telefon', 'Phone_selfie_image'
+	elseif $locclass = 'beach':
+		$phone_loc = 'beach'
+		gs 'telefon', 'Phone_selfie_image'
 	else
 		phone_rand = RAND(1,2)
 		phone_selfie[phone_rand] = 1
@@ -841,26 +868,57 @@ end
 
 !!taking selfies, this chooses a random image for the location for clothed, underwear and nude
 if $ARGS[0] = 'Phone_selfie_image':
-	if $clothingworntype ! 'nude':
-		!!changing to and unmixed variable so the rng will work
-		dynamic 'temp_clotot = <<$phone_loc>>_clotot'
-		phone_rand = rand(1,temp_clotot)
-		!!Setting the image owned flag to 1
-		dynamic '<<$phone_loc>>_closelfie[<<phone_rand>>] = 1'
-		gs 'stat'
-		view 'images/pc/selfies/<<$phone_loc>>/clothed/<<phone_rand>>.jpg'
-	elseif $pantyworntype ! 'none':
-		dynamic 'temp_undtot = <<$phone_loc>>_undtot'
-		phone_rand = rand(1,temp_undtot)
-		dynamic '<<$phone_loc>>_undselfie[<<phone_rand>>] = 1'
-		gs 'stat'
-		view 'images/pc/selfies/<<$phone_loc>>/underwear/<<phone_rand>>.jpg'
+	if $flashing = '':
+		if $clothingworntype = 'swimwear':
+			!!changing to and unmixed variable so the rng will work
+			dynamic 'temp_swim = <<$phone_loc>>_swim'
+			phone_rand = rand(1,temp_swim)
+			!!Setting the image owned flag to 1
+			dynamic '<<$phone_loc>>_swim[<<phone_rand>>] = 1'
+			gs 'stat'
+			view 'images/pc/selfies/<<$phone_loc>>/bikini/<<phone_rand>>.jpg'
+		elseif $clothingworntype ! 'nude':
+			!!changing to and unmixed variable so the rng will work
+			dynamic 'temp_clotot = <<$phone_loc>>_clotot'
+			phone_rand = rand(1,temp_clotot)
+			!!Setting the image owned flag to 1
+			dynamic '<<$phone_loc>>_closelfie[<<phone_rand>>] = 1'
+			gs 'stat'
+			view 'images/pc/selfies/<<$phone_loc>>/clothed/<<phone_rand>>.jpg'
+		elseif $pantyworntype ! 'none':
+			dynamic 'temp_undtot = <<$phone_loc>>_undtot'
+			phone_rand = rand(1,temp_undtot)
+			dynamic '<<$phone_loc>>_undselfie[<<phone_rand>>] = 1'
+			gs 'stat'
+			view 'images/pc/selfies/<<$phone_loc>>/underwear/<<phone_rand>>.jpg'
+		else
+			dynamic 'temp_nudtot = <<$phone_loc>>_nudtot'
+			phone_rand = rand(1,temp_nudtot)
+			dynamic '<<$phone_loc>>_nudselfie[<<phone_rand>>] = 1'
+			gs 'stat'
+			view 'images/pc/selfies/<<$phone_loc>>/nude/<<phone_rand>>.jpg'
+		end
 	else
-		dynamic 'temp_nudtot = <<$phone_loc>>_nudtot'
-		phone_rand = rand(1,temp_nudtot)
-		dynamic '<<$phone_loc>>_nudselfie[<<phone_rand>>] = 1'
-		gs 'stat'
-		view 'images/pc/selfies/<<$phone_loc>>/nude/<<phone_rand>>.jpg'
+		if $flashing = 'tits':
+			dynamic 'temp_titflash = <<$phone_loc>>_titflash'
+			phone_rand = rand(1,temp_titflash)
+			dynamic '<<$phone_loc>>_titflash[<<phone_rand>>] = 1'
+			gs 'stat'
+			view 'images/pc/selfies/<<$phone_loc>>/titflash/<<phone_rand>>.jpg'
+		elseif $flashing = 'ass':
+			dynamic 'temp_assflash = <<$phone_loc>>_assflash'
+			phone_rand = rand(1,temp_assflash)
+			dynamic '<<$phone_loc>>_assflash[<<phone_rand>>] = 1'
+			gs 'stat'
+			view 'images/pc/selfies/<<$phone_loc>>/assflash/<<phone_rand>>.jpg'
+		elseif $flashing = 'pussy':
+			dynamic 'temp_pussyflash = <<$phone_loc>>_pussyflash'
+			phone_rand = rand(1,temp_pussyflash)
+			dynamic '<<$phone_loc>>_pussyflash[<<phone_rand>>] = 1'
+			gs 'stat'
+			view 'images/pc/selfies/<<$phone_loc>>/pussyflash/<<phone_rand>>.jpg'
+		end
+		$flashing = ''
 	end
 end
 
@@ -888,14 +946,65 @@ end
 !!for taking photos - only selfies for now
 if $ARGS[0] = 'Phone_camera':
 	clr
+	if $location_type = 'bathroom':
+		$phone_loc = 'bathroom'
+	elseif $locclass = 'bedr':
+		$phone_loc = 'bedroom'
+	elseif $locclass = 'kitr':
+		$phone_loc = 'kitchen'
+	elseif $locclass = 'livingr':
+		$phone_loc = 'livingroom'
+	elseif $locclass = 'changingroom':
+		$phone_loc = 'changingroom'
+	elseif $locclass = 'park':
+		$phone_loc = 'park'
+	elseif $locclass = 'lockeroom':
+		$phone_loc = 'lockeroom'
+	elseif $locclass = 'beach':
+		$phone_loc = 'beach'
+	end
 	pl '<center><b><<$mid(100+hour,2,2)>>:<<$mid(100+minut,2,2)>></b></center>'
 	pl '<center><TABLE cellspacing="0" width="80%"><TR><TD><img src="images/system/icon/icon_statusbar_left.png"></TD><TD></TD><TD align="right"><img src="images/system/icon/icon_statusbar_right.png"></TD></TR></TABLE></center>'
 	pl'<center><font size=6>Camera</font></center>'
 	pl'<center><img src="<<FUNC(''$phone_theme'')>>icon_camera.png" height="80" width="80"><br></center>'
+	!! Take a selfie depending on which clothes you are wearing
 	pl'<a href="exec:photoskl_exp += 1 & gs ''telefon'', ''Phone_camera_selfie'' "><b>Take a selfie</b></a>'
+	!! Flashing selfie
+	if $clothingworntype ! 'nude' and ($phone_loc = 'bathroom' or $phone_loc = 'bedroom' or $phone_loc = 'kitchen' or $phone_loc = 'livingroom' or $phone_loc = 'changingroom' or $phone_loc = 'park' or $phone_loc = 'lockeroom' or $phone_loc = 'beach'):
+		if $phone_loc = 'bedroom' or $phone_loc = 'bathroom':
+			pl'<a href="exec:photoskl_exp += 1 & gs ''telefon'', ''titflash'' "><b>Flash your tits for a selfie</b></a>'
+			pl'<a href="exec:photoskl_exp += 1 & gs ''telefon'', ''assflash'' "><b>Flash your ass for a selfie</b></a>'
+			pl'<a href="exec:photoskl_exp += 1 & gs ''telefon'', ''pussyflash'' "><b>Flash your pussy for a selfie</b></a>'
+		else
+			if pcs_inhib >= 35 or exhibitionist_lvl > 0:
+				pl'<a href="exec:photoskl_exp += 1 & gs ''telefon'', ''titflash'' "><b>Flash your tits for a selfie</b></a>'
+			end
+			if exhibitionist_lvl > 0:
+				pl'<a href="exec:photoskl_exp += 1 & gs ''telefon'', ''assflash'' "><b>Flash your ass for a selfie</b></a>'
+			end
+			if exhibitionist_lvl > 1:
+				pl'<a href="exec:photoskl_exp += 1 & gs ''telefon'', ''pussyflash'' "><b>Flash your pussy for a selfie</b></a>'
+			end
+		end
+	end
 	pl'<center><a href="exec:gs ''telefon'', ''Phone_menu'' "><img src="images/system/icon/back.png"></a></center>'
 end
 
+if $ARGS[0] = 'titflash':
+	$flashing = 'tits'
+	gs 'telefon', 'Phone_camera_selfie'
+end
+
+if $ARGS[0] = 'assflash':
+	$flashing = 'ass'
+	gs 'telefon', 'Phone_camera_selfie'
+end
+
+if $ARGS[0] = 'pussyflash':
+	$flashing = 'pussy'
+	gs 'telefon', 'Phone_camera_selfie'
+end
+
 !!-----------------------------------end of Camera------------------------------------------
 
 if $ARGS[0] = 'Phone_wheather':

+ 22 - 39
locations/test.qsrc

@@ -49,45 +49,28 @@ else
 	tits = 10
 end
 
-spelltuman = 1
-spellklon = 1
-spellstun = 1
-spellweap = 1
-spellwind = 1
-spellklon2 = 1
-spellenergo = 1
-spellinit = 1
-spellhel = 1
-spellreset= 1
-spellavtoklon = 1
-spellhand = 1
-spellfire1 = 1
-spellfire2 = 1
-spellfire3 = 1
-spellfire4 = 1
-spellfire5 = 1
-spellele1 = 1
-spellele2 = 1
-spellele3 = 1
-spellele4 = 1
-spellele5 = 1
-spellert1 = 1
-spellert2 = 1
-spellert3 = 1
-spellert4 = 1
-spellert5 = 1
-spellwind1 = 1
-spellwind2 = 1
-spellwind3 = 1
-spellwind4 = 1
-spellwind5 = 1
-spellwater1 = 1
-spellwater2 = 1
-spellwater3 = 1
-spellwater4 = 1
-spellwater5 = 1
-spellunmat = 1
-spellbefshild = 1
+
+! Mark all spells as known
+i = 0
+:CombatSpellTest
+$ThisSpellName = $combatSpells[i]
+if i < arrsize('$combatSpells'):
+	spellKnown[$ThisSpellName] = 1:
+	i += 1
+	jump 'CombatSpellTest'
+end
+i = 0
+:NonComSpellTest
+$ThisSpellName = $nonComSpells[i]
+if i < arrsize('$nonComSpells'):
+	spellKnown[$ThisSpellName] = 1:
+	i += 1
+	jump 'NonComSpellTest'
+end
+killvar 'i'
+killvar '$ThisSpellName'
+
+
 '<<pcs_hgt>>cm <<pcs_weight>>kg <<pcs_bust>>-<<pcs_waist>>-<<pcs_hips>> the size of the breast <<tits>>'
 'All articles on the 100, all spells, magical about the 10 forces Rikudo 9000'
 'Do you have any second shadow sedtse that may once to die for you.'

+ 2 - 2
locations/treeCircActs.qsrc

@@ -8,11 +8,11 @@ if $EntryPoint = $ARGS[0]:
 	act 'Leave the circle to <<$treeCircName[$ARGS[0]]>>':
 		if $treeCircArg['<<$ARGS[0]>>'] = '':
 			gt $treeCircLoc['<<$ARGS[0]>>']
-		else:
+		else
 			gt $treeCircLoc['<<$ARGS[0]>>'], $treeCircArg['<<$ARGS[0]>>']
 		end
 	end
-else:
+else
 	if canTeleport = 1 and tpKnown[$ARGS[0]] = 1:
 		$dynAction = "act 'Will yourself to <<$treeCircName[$ARGS[0]]>>': gs 'castSpell', 'teleport', '<<$ARGS[0]>>'"
 		dynamic $dynAction

+ 1 - 1
locations/treeCircEntry.qsrc

@@ -7,7 +7,7 @@ if MagikDostup = 0:
 	! Setup for teleport circle
 	if tpKnown[$ARGS[0]] = 1:
 		$EntryAction = "act 'Enter the hidden circle of trees': gt 'treeCircle', '<<$ARGS[0]>>'"
-	else:
+	else
 		$EntryAction = "act 'Investigate a mysterious copse of trees': gt 'treeCircle', '<<$ARGS[0]>>'"
 	end
 	dynamic $EntryAction

+ 3 - 3
locations/treeCircle.qsrc

@@ -53,11 +53,11 @@ if spellKnown['teleport'] = 1:
 	minut += 15
 	if pcs_manna > spellMana['teleport']:
 		canTeleport = 1
-	else:
+	else
 		*nl
 		'You feel too tired to pull off a shift right now.'
 	end
-else:
+else
 	'You can feel something strange and powerful in this place, but you can''t quite put your finger on it.  It is intriguing, though, so you take your time and loook the place over to try to understand it.'
 	minut += 15
 end
@@ -80,7 +80,7 @@ act 'Masturbate to clear your head.':
 	'<center><video autoplay loop src="images/locations/shared/park/tree_masturb.mp4"></center>'
 	*nl
 	'That''s better!'
-	orgasm_or = 'yes'
+	$orgasm_or = 'yes'
 	gs 'arousal', 'masturbate', 15
 	gs 'arousal', 'end'
 	gs 'stat'