SleepyFox 5 years ago
parent
commit
ff0e76703c
100 changed files with 4262 additions and 1982 deletions
  1. 0 0
      QSP/Player-original/New folder/qspgui.exe
  2. 0 0
      QSP/Player-video/New folder/qspgui.exe
  3. 0 0
      QSP/asd.qsrc
  4. BIN
      QSP/html5_example/GenevaDrive.gif
  5. BIN
      QSP/html5_example/GenevaDrive.webm
  6. BIN
      QSP/html5_example/GenevaDrive.webp
  7. BIN
      QSP/html5_example/LoversQuarrel-Regular.ttf
  8. 5 0
      QSP/html5_example/Svg_example1.svg
  9. BIN
      QSP/html5_example/Yakap.ttf
  10. BIN
      QSP/html5_example/border.png
  11. 10 0
      QSP/html5_example/example.css
  12. BIN
      QSP/html5_example/frame.png
  13. BIN
      QSP/html5_example/img.png
  14. 62 0
      QSP/html5_example/main.css
  15. BIN
      QSP/html5_example/white-border-frame-115262092230a4e2bohih.png
  16. 1 0
      QSP/qsp-analyser/QSP_Analyser/obj/Debug/QSP_Analyser.csproj.CoreCompileInputs.cache
  17. BIN
      QSP/qsp-analyser/QSP_Analyser/obj/Debug/QSP_Analyser.csprojAssemblyReference.cache
  18. 0 0
      QSP/qsplexer.qsrc
  19. 25 0
      QSP/synTest.qsrc
  20. BIN
      QSP_Analyser.exe
  21. 31 0
      WinkyUDL.xml
  22. 2 1
      glife.qproj
  23. 6 6
      locations/BDSM_Club.qsrc
  24. 5 1
      locations/BelSex.qsrc
  25. 27 29
      locations/Cheatmenu_din.qsrc
  26. 7 7
      locations/DH_Character.qsrc
  27. 328 36
      locations/DH_Classes.qsrc
  28. 4 0
      locations/DH_Credit.qsrc
  29. 27 0
      locations/DH_Functions.qsrc
  30. 90 10
      locations/DH_Main.qsrc
  31. 126 24
      locations/DH_QuestManager.qsrc
  32. 114 90
      locations/DH_Quest_NewBeginnings.qsrc
  33. 50 0
      locations/DH_Screen.qsrc
  34. 224 0
      locations/DungeonHunter_test.qsrc
  35. 1 1
      locations/EvOtelMan.qsrc
  36. 27 27
      locations/FedorEv.qsrc
  37. 6 6
      locations/FedorEv2.qsrc
  38. 2 2
      locations/FedorEv3.qsrc
  39. 10 3
      locations/FedorEv4.qsrc
  40. 20 0
      locations/Gadbana.qsrc
  41. 2 1
      locations/Gaddvor.qsrc
  42. 1 1
      locations/Gadhouse.qsrc
  43. 32 32
      locations/Gadsarai.qsrc
  44. 1 1
      locations/HanterLoveSex.qsrc
  45. 20 17
      locations/HotelHole.qsrc
  46. 28 26
      locations/HotelWork.qsrc
  47. 8 11
      locations/IgorEv.qsrc
  48. 1 0
      locations/IrinaRoom.qsrc
  49. 33 25
      locations/Komp.qsrc
  50. 1 0
      locations/MHall.qsrc
  51. 2 0
      locations/MKitchen.qsrc
  52. 1 0
      locations/MLanding.qsrc
  53. 1 0
      locations/MLiving.qsrc
  54. 358 345
      locations/MartinSex.qsrc
  55. 6 6
      locations/MartinSex2.qsrc
  56. 7 3
      locations/Meadow.qsrc
  57. 1 1
      locations/MiroslavaHome.qsrc
  58. 1 1
      locations/NikoEv.qsrc
  59. 353 0
      locations/ScreenFunctions.qsrc
  60. 1 0
      locations/Serge_kuh.qsrc
  61. 1 1
      locations/SergeiHanter.qsrc
  62. 3 0
      locations/SoniaHome.qsrc
  63. 28 23
      locations/VoltrenerSexShower.qsrc
  64. 4 1
      locations/_stock_item_info.qsrc
  65. 2 0
      locations/alexgang.qsrc
  66. 18 10
      locations/anushapt.qsrc
  67. 38 21
      locations/artemEv.qsrc
  68. 120 104
      locations/artemhome.qsrc
  69. 1 1
      locations/arturend.qsrc
  70. 35 39
      locations/backwater.qsrc
  71. 3 19
      locations/bandit.qsrc
  72. 65 28
      locations/bed2.qsrc
  73. 17 17
      locations/belgang.qsrc
  74. 33 4
      locations/body.qsrc
  75. 2 1
      locations/brothel.qsrc
  76. 118 4
      locations/brother.qsrc
  77. 242 74
      locations/brother2.qsrc
  78. 109 3
      locations/brother_lessons.qsrc
  79. 10 6
      locations/brother_voyeur.qsrc
  80. 4 2
      locations/buklinik_event.qsrc
  81. 3 3
      locations/dachain.qsrc
  82. 50 23
      locations/dimaHome.qsrc
  83. 5 9
      locations/dimaRevenge.qsrc
  84. 380 140
      locations/din_van.qsrc
  85. 1 0
      locations/dorm.qsrc
  86. 12 1
      locations/down.qsrc
  87. 14 13
      locations/exercise.qsrc
  88. 3 3
      locations/family.qsrc
  89. 31 6
      locations/femcyc.qsrc
  90. 1 0
      locations/fit.qsrc
  91. 70 68
      locations/foto.qsrc
  92. 1 1
      locations/gadmarket.qsrc
  93. 2 2
      locations/gadukino.qsrc
  94. 1 0
      locations/gadukino_event.qsrc
  95. 8 1
      locations/gaptek.qsrc
  96. 2 0
      locations/gdksport.qsrc
  97. 2 2
      locations/gdktoilet.qsrc
  98. 462 346
      locations/gpoli.qsrc
  99. 292 292
      locations/grigory.qsrc
  100. 1 1
      locations/gschool_boys_bathroom.qsrc

+ 0 - 0
QSP/Player-original/qspgui.exe → QSP/Player-original/New folder/qspgui.exe


+ 0 - 0
QSP/Player-video/qspgui.exe → QSP/Player-video/New folder/qspgui.exe


+ 0 - 0
QSP/asd.qsrc


BIN
QSP/html5_example/GenevaDrive.gif


BIN
QSP/html5_example/GenevaDrive.webm


BIN
QSP/html5_example/GenevaDrive.webp


BIN
QSP/html5_example/LoversQuarrel-Regular.ttf


+ 5 - 0
QSP/html5_example/Svg_example1.svg

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="236" height="120" viewBox="0 0 236 120">
+  <rect x="14" y="23" width="200" height="50" fill="#55FF55" stroke="black" stroke-width="1"/>
+</svg>

BIN
QSP/html5_example/Yakap.ttf


BIN
QSP/html5_example/border.png


+ 10 - 0
QSP/html5_example/example.css

@@ -0,0 +1,10 @@
+h1 {
+    color: lightblue;
+    text-align: center;
+}
+
+.head {
+	color: green;
+	text-align: right;
+}
+

BIN
QSP/html5_example/frame.png


BIN
QSP/html5_example/img.png


+ 62 - 0
QSP/html5_example/main.css

@@ -0,0 +1,62 @@
+@font-face {
+	font-family: LoversQuarrel;
+	src: url(/Yakap.ttf);
+}
+
+.page {
+	position: absolute;
+	top: 0;
+	left: 0;
+	width: 100%;
+	border: red dashed 1px;
+}
+
+.header {
+	position: relative;
+	height: 100%;
+	max-height: 300px;
+	margin: 25px 25px 0px 25px;
+	border: 15px double black;
+	//border-image: url(border.png) 30 round;
+	overflow: hidden;
+	background: rgba(0, 0, 0, 0.8);
+}
+
+.headerImage {
+	position: relative;
+	width: 100%;
+	vertical-align: middle;
+}
+
+.titleContainer {
+	position: absolute;
+	left: 50%;
+	border: dotted red 1px;
+	bottom: -1px;
+}
+
+.title {
+	position: relative;
+	background-color: rgba(0, 0, 0, 0.8);
+	color: gold;
+	border: 1px solid black;
+	z-index: 2;
+	left: -50%;
+	padding: 5px 25px;
+}
+
+.storyContainer {
+	width: 60%;
+	margin: auto;
+	background-color: rgba(0, 0, 0, 0.8);
+	padding: 15px;
+	
+	border-left: 15px double silver;
+	border-right: 15px double silver;
+}
+
+.storyText {
+	color: #DEDEDE;
+	font-family: LoversQuarrel;
+	font-size: 1.4em;
+}

BIN
QSP/html5_example/white-border-frame-115262092230a4e2bohih.png


+ 1 - 0
QSP/qsp-analyser/QSP_Analyser/obj/Debug/QSP_Analyser.csproj.CoreCompileInputs.cache

@@ -0,0 +1 @@
+99f6595b11e33221fdd3bc42ce7c1fd05306b026

BIN
QSP/qsp-analyser/QSP_Analyser/obj/Debug/QSP_Analyser.csprojAssemblyReference.cache


+ 0 - 0
QSP/qsplexer.qsrc


+ 25 - 0
QSP/synTest.qsrc

@@ -0,0 +1,25 @@
+!! Single-line Comment
+{! 
+	Multiline
+    Comment
+!}
+Program Code &! Inline Comment
+
+if $ARGS[0] = '':      
+	IF Dh_InitFin = 0: gs 'DH_Main', 'Init'
+	<img 'images/shared/Accessories/computer/games/dungeonhunter/prisoncell.jpg'>
+	
+	dh_HasCharacter = 0
+	if dh_HasCharacter = 0:
+		'Welcome to Dungeon Hunter!'
+		'Let''s get started by creating your character.'
+		ACT 'Start': gs 'DH_QuestManager', 'Start', 'NewBeginnings'
+	else
+		'Welcome back to Dungeon Hunter!'
+		ACT 'Play': gt 'DH_Main', 'Play'
+	end
+	
+	!! No options yet
+	ACT 'Options': gt 'DH_Main', 'Options'
+	ACT 'Exit Game': gt 'DH_Main', 'Exit'
+end

BIN
QSP_Analyser.exe


File diff suppressed because it is too large
+ 31 - 0
WinkyUDL.xml


+ 2 - 1
glife.qproj

@@ -19,7 +19,6 @@
 		<Location name="saveposition"/>
 		<Location name="mod_setting"/>
 		<Location name="$difficulty"/>
-		<Location name="KILLVARS"/>
 	</Folder>
 	<Folder name="Stats">
 		<Location name="DNA"/>
@@ -903,7 +902,9 @@
 		<Location name="FSroom"/>
 	</Folder>
 	<Folder name="Game 5">
+		<Location name="ScreenFunctions"/>
 		<Location name="DH_Functions"/>
+		<Location name="DH_Screen"/>
 		<Location name="DH_Main"/>
 		<Location name="DH_QuestManager"/>
 		<Location name="DH_Quest_NewBeginnings"/>

+ 6 - 6
locations/BDSM_Club.qsrc

@@ -22,7 +22,7 @@ end
 if $ARGS[0] = 'start':
 	$metka = 'start'
 	$loc = 'BDSM_Club'
-    $location_type = 'public_outdoors'
+	$location_type = 'public_outdoors'
 	cls
 	minut += 10
 	gs 'stat'
@@ -81,14 +81,14 @@ if $ARGS[0] = 'in':
 		'You answer the questions.'
 		'"Tell me, are you sure you want this?"'
 		'You understand, all of the questions he is asking and why.'
-		'"Sure!"  You tell him firmly.'
+		'"Sure!" You tell him firmly.'
 		'"Well... everything here seems to be in order, there are no issues. Let''s sign some papers. A mere formality, to formally record, that you have grasped everything.'
 		'The man puts a sheet of paper on the table, take a videocamera from the draw and points it at you and clicks the button.'
 		'"Read aloud and sign."'
 		'You take the sheet and read "The application for voluntary informed consent" a long, binding document filled with legal terms, confirming your consent to voluntarily participate in actions of a sexual nature, which may be humiliating or degrading in nature and be accompanied by mild corporal punishment. You are not a lawyer, but you understand, this covers them if somthing goes wrong and takes every step to prevent that.'
 		'"I agree."'
-		'"Well," the woman puts her hands together and looks at you.  Who do you want to be? Top or bottom?'
-		'"I do not know,"  you shrug. "What does that mean?"'
+		'"Well," the woman puts her hands together and looks at you. Who do you want to be? Top or bottom?'
+		'"I do not know," you shrug. "What does that mean?"'
 		'"Dominant or submissive?"'
 		if pcs_dom < 50:
 			act 'submissive':
@@ -115,7 +115,7 @@ if $ARGS[0] = 'in':
 				'She explains to you, that the club costs 20,000 <b>₽</b> per 30 days access, with a 10,000 ruble registration fee. For slaves there is a means for discount, if the slave is well behaved and earns enough merits, the membership will be automatically extended.'
 				'Untrained slaves are not allowed in the Mansion, you will require training. You''ll have to report to me for that, I''m going to enjoy it.'
 				'"Come back when you are ready for training. Be clean, have an enema. You must own a maid outfit, so you will be wearing it. Everything clear?'
-				'"But...  what if I don''t have a maid outfit?..." You whisper.'
+				'"But... what if I don''t have a maid outfit?..." You whisper.'
 				'"Find a branch of G & M and buy one, and don''t forget to bring the first instalment of 10 thousand <b>₽</b>. We are not a charitable organization, nothing is free. However, if you prove yourself as a sub, you will be able to earn some tips in private sessions. But the main thing – do not talk. We have important clients, and don''t need advertising. Everything clear?"'
 				'"Clear... Mistress..."'
 				'As you are leaving, you think, where will you get the money for the down payment.'
@@ -180,7 +180,7 @@ if $ARGS[0] = 'd_start':
 end
 
 if $ARGS[0] = 'reception':
-    $location_type = 'event'
+	$location_type = 'event'
 	cls
 	gs 'stat'
 	'<center><img <<$set_imgh>> src="images/locations/city/suburb/bdsm_club/1_1.jpg"></center>'

+ 5 - 1
locations/BelSex.qsrc

@@ -421,7 +421,11 @@ if $ARGS[0] = 'shower':
 			gs 'arousal', 'end'
 			gs 'stat'
 			
-			act 'Leave': gt 'pavResidential'
+			if return_residential = 0: 
+				act 'Leave': gt 'pavCommercial'
+			else
+				act 'Leave': gt 'pavResidential'
+			end	
 		end
 	end
 end

+ 27 - 29
locations/Cheatmenu_din.qsrc

@@ -379,6 +379,30 @@ $cheatmenu['status'] = {
 	pl'<a href="exec:dynamic $cheatmenu[''remove_preg'']">Remove pregnancy</a>'
 	pl'<a href="exec:dynamic $cheatmenu[''cycle'']"><b>Set stage of menstrual cycle</b></a>'
 	pl '<a href="exec:gs''cum_cleanup'',''reset''">Remove all cum</a>'
+	nl
+	if lactate <= 0:
+		pl 'You are not lactating'
+		pl '<a href="exec:lactate = 1 & lactateinduced = 1 & total_milkinduce_growth = 8 & nbsize += 8 & prolactinlvl = 200 & lactaterate = 100 & lactatemv = 0 & lactatemm = func(''lact_lib'',''$calc_lactatemm'') & dynamic $cheatmenu[''status'']">Switch ON</a>'
+	else
+		pl 'You are lactating'
+		pl '<a href="exec:lactate = 0 & lactateinduced = 0 & total_milkinduce_growth = 0 & nbsize -= 8 & prolactinlvl = 0 & lactaterate = 0 & lactatemv = 0 & lactatemm = 0 & dynamic $cheatmenu[''status'']">Switch OFF</a>'
+		if lactaterate <= 0:
+			pl 'Lactate Rate: <<lactaterate/10>>ml/h <a href="exec:lactaterate += 100 & dynamic $cheatmenu[''status'']">+10</a>'
+		elseif lactaterate >= 6000:
+			pl 'Lactate Rate: <a href="exec:lactaterate -= 100 & dynamic $cheatmenu[''status'']">-10</a> <<lactaterate/10>>ml/h'
+		else
+			pl 'Lactate Rate: <a href="exec:lactaterate -= 100 & dynamic $cheatmenu[''status'']">-10</a> <<lactaterate/10>>ml/h <a href="exec:lactaterate += 100 & dynamic $cheatmenu[''status'']">+10</a>'
+		end
+		pl 'Milk in Breasts: <<lactatemv/10>>ml'
+		pl 'Max Milk Storage: <<lactatemm/10>>ml'
+		pl 'Maximum Milk Storage changes with breast size and if <<$pcs_firstname>> went through pregnancy'
+		if lactateinduced <= 0:
+			pl '<<$pcs_firstname>> induced lactation?: <a href="exec:lactateinduced = 1 & dynamic $cheatmenu[''status'']">no</a>'
+		else
+			pl '<<$pcs_firstname>> induced lactation?: <a href="exec:lactateinduced = 0 & dynamic $cheatmenu[''status'']">yes</a>'
+		end
+		pl 'This is only used for some events. <<$pcs_firstname>> knows that she induced the lactation to herself or not.'
+	end
 }
 
 $cheatmenu['avatar_hair_set'] = {
@@ -389,16 +413,16 @@ $cheatmenu['avatar_hair_set'] = {
 }
 
 $cheatmenu['rename'] = {
-	$pcs_firstname = input("What is your first name? (Leave blank for default)")
+	$pcs_firstname = input("What is your first name? (Leave blank for Svetlana)")
 
 	if $pcs_firstname = '':$pcs_firstname = 'Svetlana'
 
-	$pcs_lastname = input("What is your last name? (Leave blank for default)")
+	$pcs_lastname = input("What is your last name? (Leave blank for Lebedev)")
 
 	if $pcs_lastname = '':$pcs_lastname = 'Lebedev'
 
 	!!!0.2.6 addition
-	$pcs_nickname = input("What is your nickname? (Note: If you chose a custom name, you have to enter something here!)")
+	$pcs_nickname = input("What is your nickname? (Leave blank for Sveta)")
 
 	if $pcs_nickname = '':$pcs_nickname = 'Sveta'
 }
@@ -1516,11 +1540,6 @@ $cheatmenu['display'] = {
 	else
 		pl'List friends in table: <a href="exec:Enable_tablemap = 1 & dynamic $cheatmenu[''display'']">OFF</a>'
 	end
-	if Enable_towntable = 1:
-		pl'Display Pavlovsk description in table: <a href="exec:Enable_towntable = 0 & dynamic $cheatmenu[''display'']">ON</a>'
-	else
-		pl'Display Pavlovsk description in table: <a href="exec:Enable_towntable = 1 & dynamic $cheatmenu[''display'']">OFF</a>'
-	end
 	nl
 	if Enable_clothwidth<0:Enable_clothwidth=0
 	if Enable_clothwidth > 0:
@@ -1995,27 +2014,6 @@ $cheatmenu = {
 	pl'<a href="exec:dynamic $cheatmenu[''vartracker'']"><b>Variable tracker</b></a>'
 	nl
 
-		nl
-	pl'<a href="exec: gt ''IbizaStart'',''cfonts''"><b>Set color fonts</b></a>'
-	pl'<a href="exec: gt ''IbizaStart'',''bwfonts''"><b>Set black fonts</b></a>'
-	nl
-	pl'<a href="exec: gt ''IbizaStart'',''start''"><b>Ibiza start</b></a>'
-	nl
-	pl'<a href="exec: gt ''IbizaStart'',''First Day''"><b>Saturday - go to Ibiza</b></a>'
-	nl
-	pl'<a href="exec: gt ''IbizaDay2'',''day two''"><b>Sunday</b></a>'
-	nl
-	pl'<a href="exec: gt ''IbizaDay3'',''day three''"><b>Monday</b></a>'
-	nl
-	pl'<a href="exec: gt ''IbizaDay4'',''day four''"><b>Tuesday</b></a>'
-	nl
-	pl'<a href="exec: gt ''IbizaDay5'',''day five''"><b>Wednesday</b></a>'
-	nl
-	pl'<a href="exec: gt ''IbizaDay6'',''day six''"><b>Thursday</b></a>'
-	nl
-	pl'<a href="exec: gt ''IbizaDay7'',''day seven''"><b>Friday</b></a>'
-	nl
-
 }
 
 $cheatmenu['vartracker'] = {

+ 7 - 7
locations/DH_Character.qsrc

@@ -5,8 +5,8 @@ if $ARGS[0] = 'Create':
 	
 	IF $.id = '': exit
 	
-	if ARRPOS('$dhCh_Chars', $.id) = -1:
-		$dhCh_Chars[] = $.id
+	if ARRPOS('$dhCh_Chars_', $.id) = -1:
+		$dhCh_Chars_[] = $.id
 		gs 'DH_Character', 'CreateInfo', $.id, $.name
 		gs 'DH_Character', 'CreateStats', $.id, $.name
 		!!gs 'DH_Inventory', 'NewInventory', $.id
@@ -21,7 +21,7 @@ if $ARGS[0] = 'Delete':
 	
 	IF $.id = '': exit
 	
-	_charPos = ARRPOS('$dhCh_Chars', $.id)
+	_charPos = ARRPOS('$dhCh_Chars_', $.id)
 	if _charPos ! -1:
 		!! Info
 		KILLVAR '$dhCh_Name',     _charPos
@@ -78,7 +78,7 @@ if $ARGS[0] = 'Delete':
 		KILLVAR 'dhCh_ResWood',   _charPos
 		
 		!! CharacterList
-		KILLVAR '$dhCh_Chars', _charPos
+		KILLVAR '$dhCh_Chars_', _charPos
 	end
 	
 end
@@ -92,7 +92,7 @@ if $ARGS[0] = 'CreateInfo':
 	$dhCh_Race[$.id]     = ''
 	$dhCh_SubRace[$.id]  = ''
 	$dhCh_Gender[$.id]   = ''
-	$dhCh_Class[$.id]    = ''
+	$dhCh_Class[$.id]    = 'None'
 	
 end
 
@@ -105,8 +105,8 @@ if $ARGS[0] = 'CreateStats':
 	dhCh_Exp[$.id]        = 0
 	dhCh_ExpMax[$.id]     = 100
 	
-	dhCh_Health[$.id]  = 5
-	dhCh_Stamina[$.id] = 5
+	dhCh_Health[$.id]  = 2
+	dhCh_Stamina[$.id] = 1
 	dhCh_Mana[$.id]    = 0
 	dhCh_Rage[$.id]    = 0
 	dhCh_Energy[$.id]  = 0

+ 328 - 36
locations/DH_Classes.qsrc

@@ -1,5 +1,8 @@
 # DH_Classes
 if $ARGS[0] = 'Init':
+	KILLVAR 'dhCl_StatOld'
+	KILLVAR 'dhCl_StatDif'
+	KILLVAR '$dhCl_StatDifTxT'
 end
 
 if $ARGS[0] = 'ChangeClass':
@@ -16,67 +19,356 @@ if $ARGS[0] = 'ChangeClass':
 	!! More requirements...
 	IF _canUseClass = False: exit
 	
-	!! Get old stats
+	!!~~ Get old stats
 	gs 'DH_Classes', $dhCh_Class[$.character]
 	
 	!! Reset stats
+	dhCh_HealthMax[$.character]  -= dhCl_HealthMax
+	dhCh_StaminaMax[$.character] -= dhCl_StaminaMax
+	dhCh_ManaMax[$.character]    -= dhCl_ManaMax
+	dhCh_RageMax[$.character]    -= dhCl_RageMax
+	dhCh_EnergyMax[$.character]  -= dhCl_EnergyMax
+	
 	dhCh_Agi[$.character]  -= dhCl_Agi
 	dhCh_Cha[$.character]  -= dhCl_Cha
 	dhCh_Int[$.character]  -= dhCl_Int
 	dhCh_Lore[$.character] -= dhCl_Lore
 	dhCh_Luck[$.character] -= dhCl_Luck
-	dhCh_Perd[$.character] -= dhCl_Per
+	dhCh_Per[$.character] -= dhCl_Per
 	dhCh_Str[$.character]  -= dhCl_Str
+	!!~~#
+	
+	!!~~ Store old stats
+	dhCl_StatOld['HealthMax']  = dhCl_HealthMax
+	dhCl_StatOld['StaminaMax'] = dhCl_StaminaMax
+	dhCl_StatOld['ManaMax']    = dhCl_ManaMax
+	dhCl_StatOld['RageMax']    = dhCl_RageMax
+	dhCl_StatOld['EnergyMax']  = dhCl_EnergyMax
+	
+	dhCl_StatOld['Agi']  = dhCl_Agi
+	dhCl_StatOld['Cha']  = dhCl_Cha
+	dhCl_StatOld['Int']  = dhCl_Int
+	dhCl_StatOld['Lore'] = dhCl_Lore
+	dhCl_StatOld['Luck'] = dhCl_Luck
+	dhCl_StatOld['Per']  = dhCl_Per
+	dhCl_StatOld['Str']  = dhCl_Str
+	!!~~#
 	
-	!! Get new stats
+	!!~~ Get new stats
 	gs 'DH_Classes', $.newClass
 	
 	$dhCh_Class[$.character] = $dhCl_Class
 	
-	dhCh_Agi[$.character]  += dhRc_Agi
-	dhCh_Cha[$.character]  += dhRc_Cha
-	dhCh_Int[$.character]  += dhRc_Int
-	dhCh_Lore[$.character] += dhRc_Lore
-	dhCh_Luck[$.character] += dhRc_Luck
-	dhCh_Perd[$.character] += dhRc_Per
-	dhCh_Str[$.character]  += dhRc_Str
+	dhCh_HealthMax[$.character]  += dhCl_HealthMax
+	dhCh_StaminaMax[$.character] += dhCl_StaminaMax
+	dhCh_ManaMax[$.character]    += dhCl_ManaMax
+	dhCh_RageMax[$.character]    += dhCl_RageMax
+	dhCh_EnergyMax[$.character]  += dhCl_EnergyMax
+	
+	dhCh_Agi[$.character]  += dhCl_Agi
+	dhCh_Cha[$.character]  += dhCl_Cha
+	dhCh_Int[$.character]  += dhCl_Int
+	dhCh_Lore[$.character] += dhCl_Lore
+	dhCh_Luck[$.character] += dhCl_Luck
+	dhCh_Per[$.character]  += dhCl_Per
+	dhCh_Str[$.character]  += dhCl_Str
+	!!~~#
+	
+	!!~~ Store stat changes
+	dhCl_StatDif['HealthMax']  = dhCl_HealthMax  - dhCl_StatOld['HealthMax']
+	dhCl_StatDif['StaminaMax'] = dhCl_StaminaMax - dhCl_StatOld['StaminaMax']
+	dhCl_StatDif['ManaMax']    = dhCl_ManaMax    - dhCl_StatOld['ManaMax']
+	dhCl_StatDif['RageMax']    = dhCl_RageMax    - dhCl_StatOld['RageMax']
+	dhCl_StatDif['EnergyMax']  = dhCl_EnergyMax  - dhCl_StatOld['EnergyMax']
+	
+	dhCl_StatDif['Agi']  = dhCl_Agi  - dhCl_StatOld['Agi']
+	dhCl_StatDif['Cha']  = dhCl_Cha  - dhCl_StatOld['Cha']
+	dhCl_StatDif['Int']  = dhCl_Int  - dhCl_StatOld['Int']
+	dhCl_StatDif['Lore'] = dhCl_Lore - dhCl_StatOld['Lore']
+	dhCl_StatDif['Luck'] = dhCl_Luck - dhCl_StatOld['Luck']
+	dhCl_StatDif['Per']  = dhCl_Per  - dhCl_StatOld['Per']
+	dhCl_StatDif['Str']  = dhCl_Str  - dhCl_StatOld['Str']
+	
+	$dhCl_StatDifTxT['HealthMax']  = iif(dhCl_StatDif['HealthMax']  >= 0, '+' + str(dhCl_StatDif['HealthMax']),  str(dhCl_StatDif['HealthMax']))
+	$dhCl_StatDifTxT['StaminaMax'] = iif(dhCl_StatDif['StaminaMax'] >= 0, '+' + str(dhCl_StatDif['StaminaMax']), str(dhCl_StatDif['StaminaMax']))
+	$dhCl_StatDifTxT['ManaMax']    = iif(dhCl_StatDif['ManaMax']    >= 0, '+' + str(dhCl_StatDif['ManaMax']),    str(dhCl_StatDif['ManaMax']))
+	$dhCl_StatDifTxT['RageMax']    = iif(dhCl_StatDif['RageMax']    >= 0, '+' + str(dhCl_StatDif['RageMax']),    str(dhCl_StatDif['RageMax']))
+	$dhCl_StatDifTxT['EnergyMax']  = iif(dhCl_StatDif['EnergyMax']  >= 0, '+' + str(dhCl_StatDif['EnergyMax']),  str(dhCl_StatDif['EnergyMax']))
+	
+	$dhCl_StatDifTxT['Agi']  = iif(dhCl_StatDif['Agi']  >= 0, '+' + str(dhCl_StatDif['Agi']),  str(dhCl_StatDif['Agi']))
+	$dhCl_StatDifTxT['Cha']  = iif(dhCl_StatDif['Cha']  >= 0, '+' + str(dhCl_StatDif['Cha']),  str(dhCl_StatDif['Cha']))
+	$dhCl_StatDifTxT['Int']  = iif(dhCl_StatDif['Int']  >= 0, '+' + str(dhCl_StatDif['Int']),  str(dhCl_StatDif['Int']))
+	$dhCl_StatDifTxT['Lore'] = iif(dhCl_StatDif['Lore'] >= 0, '+' + str(dhCl_StatDif['Lore']), str(dhCl_StatDif['Lore']))
+	$dhCl_StatDifTxT['Luck'] = iif(dhCl_StatDif['Luck'] >= 0, '+' + str(dhCl_StatDif['Luck']), str(dhCl_StatDif['Luck']))
+	$dhCl_StatDifTxT['Per']  = iif(dhCl_StatDif['Per']  >= 0, '+' + str(dhCl_StatDif['Per']),  str(dhCl_StatDif['Per']))
+	$dhCl_StatDifTxT['Str']  = iif(dhCl_StatDif['Str']  >= 0, '+' + str(dhCl_StatDif['Str']),  str(dhCl_StatDif['Str']))
+	!!~~#
+end
+
+if $ARGS[0] = 'PrintStatChanges':
+	$.elementId = $ARGS[1]
+	
+	!!~~ Personal Resources
+	if (dhCl_StatDif['HealthMax'] ! 0):
+		func('writeN', $.elementId)
+		func('DH_Screen', 'tooltip', $.elementId, 'From changing class.')
+		
+		if ($dhCl_StatDif['HealthMax'] >= 0):
+			 func('write', $.elementId, 'Gained', 'c:-color-gain')
+		else func('write', $.elementId, 'Lost', 'c:-color-lost')
+		end
+		
+		func('writes', $.elementId, $dhCl_StatDifTxt['HealthMax'], 'c:-color-num')
+		func('writes', $.elementId, 'Max Health', 'c:-color-stat-health')
+		func('DH_Screen', 'tooltipend', $.elementId)
+	end
+	
+	if (dhCl_StatDif['StaminaMax'] ! 0):
+		func('writeN', $.elementId)
+		func('DH_Screen', 'tooltip', $.elementId, 'From changing class.')
+		
+		if ($dhCl_StatDif['StaminaMax'] >= 0):
+			 func('write', $.elementId, 'Gained', 'c:-color-gain')
+		else func('write', $.elementId, 'Lost', 'c:-color-lost')
+		end
+		
+		func('writes', $.elementId, $dhCl_StatDifTxt['StaminaMax'], 'c:-color-num')
+		func('writes', $.elementId, 'Max Stamina', 'c:-color-stat-stamina')
+		func('DH_Screen', 'tooltipend', $.elementId)
+	end
+	
+	if (dhCl_StatDif['ManaMax'] ! 0):
+		func('writeN', $.elementId)
+		func('DH_Screen', 'tooltip', $.elementId, 'From changing class.')
+		
+		if ($dhCl_StatDif['ManaMax'] >= 0):
+			 func('write', $.elementId, 'Gained', 'c:-color-gain')
+		else func('write', $.elementId, 'Lost', 'c:-color-lost')
+		end
+		
+		func('writes', $.elementId, $dhCl_StatDifTxt['ManaMax'], 'c:-color-num')
+		func('writes', $.elementId, 'Max Mana', 'c:-color-stat-mana')
+		func('DH_Screen', 'tooltipend', $.elementId)
+	end
+	
+	if (dhCl_StatDif['RageMax'] ! 0):
+		func('writeN', $.elementId)
+		func('DH_Screen', 'tooltip', $.elementId, 'From changing class.')
+		
+		if ($dhCl_StatDif['RageMax'] >= 0):
+			 func('write', $.elementId, 'Gained', 'c:-color-gain')
+		else func('write', $.elementId, 'Lost', 'c:-color-lost')
+		end
+		
+		func('writes', $.elementId, $dhCl_StatDifTxt['RageMax'], 'c:-color-num')
+		func('writes', $.elementId, 'Max Rage', 'c:-color-stat-rage')
+		func('DH_Screen', 'tooltipend', $.elementId)
+	end
+	
+	if (dhCl_StatDif['EnergyMax'] ! 0):
+		func('writeN', $.elementId)
+		func('DH_Screen', 'tooltip', $.elementId, 'From changing class.')
+		
+		if ($dhCl_StatDif['EnergyMax'] >= 0):
+			 func('write', $.elementId, 'Gained', 'c:-color-gain')
+		else func('write', $.elementId, 'Lost', 'c:-color-lost')
+		end
+		
+		func('writes', $.elementId, $dhCl_StatDifTxt['HealthMax'], 'c:-color-num')
+		func('writes', $.elementId, 'Max Energy', 'c:-color-stat-energy')
+		func('DH_Screen', 'tooltipend', $.elementId)
+	end
+	!!~~#
+	
+	!!~~ Attributes
+	if (dhCl_StatDif['Agi'] ! 0):
+		func('writeN', $.elementId)
+		func('DH_Screen', 'tooltip', $.elementId, 'From changing class.')
+		
+		if ($dhCl_StatDif['Agi'] >= 0):
+			 func('write', $.elementId, 'Gained', 'c:-color-gain')
+		else func('write', $.elementId, 'Lost', 'c:-color-lost')
+		end
+		
+		func('writes', $.elementId, $dhCl_StatDifTxt['Agi'], 'c:-color-num')
+		func('writes', $.elementId, 'Agility', 'c:-color-stat-agi')
+		func('DH_Screen', 'tooltipend', $.elementId)
+	end
+	
+	if (dhCl_StatDif['Cha'] ! 0):
+		func('writeN', $.elementId)
+		func('DH_Screen', 'tooltip', $.elementId, 'From changing class.')
+		
+		if ($dhCl_StatDif['Cha'] >= 0):
+			 func('write', $.elementId, 'Gained', 'c:-color-gain')
+		else func('write', $.elementId, 'Lost', 'c:-color-lost')
+		end
+		
+		func('writes', $.elementId, $dhCl_StatDifTxt['Cha'], 'c:-color-num')
+		func('writes', $.elementId, 'Charisma', 'c:-color-stat-cha')
+		func('DH_Screen', 'tooltipend', $.elementId)
+	end
 	
+	if (dhCl_StatDif['Int'] ! 0):
+		func('writeN', $.elementId)
+		func('DH_Screen', 'tooltip', $.elementId, 'From changing class.')
+		
+		if ($dhCl_StatDif['Int'] >= 0):
+			 func('write', $.elementId, 'Gained', 'c:-color-gain')
+		else func('write', $.elementId, 'Lost', 'c:-color-lost')
+		end
+		
+		func('writes', $.elementId, $dhCl_StatDifTxt['Int'], 'c:-color-num')
+		func('writes', $.elementId, 'Intellect', 'c:-color-stat-int')
+		func('DH_Screen', 'tooltipend', $.elementId)
+	end
+	
+	if (dhCl_StatDif['Lore'] ! 0):
+		func('writeN', $.elementId)
+		func('DH_Screen', 'tooltip', $.elementId, 'From changing class.')
+		
+		if ($dhCl_StatDif['Lore'] >= 0):
+			 func('write', $.elementId, 'Gained', 'c:-color-gain')
+		else func('write', $.elementId, 'Lost', 'c:-color-lost')
+		end
+		
+		func('writes', $.elementId, $dhCl_StatDifTxt['Lore'], 'c:-color-num')
+		func('writes', $.elementId, 'Lore', 'c:-color-stat-lore')
+		func('DH_Screen', 'tooltipend', $.elementId)
+	end
+	
+	if (dhCl_StatDif['Luck'] ! 0):
+		func('writeN', $.elementId)
+		func('DH_Screen', 'tooltip', $.elementId, 'From changing class.')
+		
+		if ($dhCl_StatDif['Luck'] >= 0):
+			 func('write', $.elementId, 'Gained', 'c:-color-gain')
+		else func('write', $.elementId, 'Lost', 'c:-color-lost')
+		end
+		
+		func('writes', $.elementId, $dhCl_StatDifTxt['Luck'], 'c:-color-num')
+		func('writes', $.elementId, 'Luck', 'c:-color-stat-luck')
+		func('DH_Screen', 'tooltipend', $.elementId)
+	end
+	
+	if (dhCl_StatDif['Per'] ! 0):
+		func('writeN', $.elementId)
+		func('DH_Screen', 'tooltip', $.elementId, 'From changing class.')
+		
+		if ($dhCl_StatDif['Per'] >= 0):
+			 func('write', $.elementId, 'Gained', 'c:-color-gain')
+		else func('write', $.elementId, 'Lost', 'c:-color-lost')
+		end
+		
+		func('writes', $.elementId, $dhCl_StatDifTxt['Per'], 'c:-color-num')
+		func('writes', $.elementId, 'Perception', 'c:-color-stat-per')
+		func('DH_Screen', 'tooltipend', $.elementId)
+	end
+	
+	if (dhCl_StatDif['Str'] ! 0):
+		func('writeN', $.elementId)
+		func('DH_Screen', 'tooltip', $.elementId, 'From changing class.')
+		
+		if ($dhCl_StatDif['Str'] >= 0):
+			 func('write', $.elementId, 'Gained', 'c:-color-gain')
+		else func('write', $.elementId, 'Lost', 'c:-color-lost')
+		end
+		
+		func('writes', $.elementId, $dhCl_StatDifTxt['Str'], 'c:-color-num')
+		func('writes', $.elementId, 'Strength', 'c:-color-stat-str')
+		func('DH_Screen', 'tooltipend', $.elementId)
+	end
+	!!~~#
+end
+
+if $ARGS[0] = 'None':
+	$dhCl_Class = 'None'
+	
+	dhCl_HealthMax  = 5
+	dhCl_StaminaMax = 5
+	dhCl_ManaMax    = 0
+	dhCl_RageMax    = 0
+	dhCl_EnergyMax  = 0
+	
+	dhCl_Agi  = 1
+	dhCl_Cha  = 1
+	dhCl_Int  = 1
+	dhCl_Lore = 1
+	dhCl_Luck = 1
+	dhCl_Per  = 1
+	dhCl_Str  = 1
+end
+
+if $ARGS[0] = 'Beater':
+	$dhCl_Class = 'Beater'
+	
+	dhCl_HealthMax  = 999
+	dhCl_StaminaMax = 999
+	dhCl_ManaMax    = 999
+	dhCl_RageMax    = 999
+	dhCl_EnergyMax  = 999
+	
+	dhCl_Agi  = 99
+	dhCl_Cha  = 99
+	dhCl_Int  = 99
+	dhCl_Lore = 99
+	dhCl_Luck = 99
+	dhCl_Per  = 99
+	dhCl_Str  = 99
 end
 
 if $ARGS[0] = 'Brute':
-	$dhRc_Class = 'Brute'
-	
-	dhRc_Health  = 10
-	dhRc_Stamina = 10
-	dhRc_Mana    = 0
-	
-	dhRc_Agi  = 1
-	dhRc_Cha  = 0
-	dhRc_Int  = 0
-	dhRc_Lore = 0
-	dhRc_Luck = 0
-	dhRc_Per  = 1
-	dhRc_Str  = 2
+	$dhCl_Class = 'Brute'
+	
+	dhCl_HealthMax  = 15
+	dhCl_StaminaMax = 5
+	dhCl_ManaMax    = 0
+	dhCl_RageMax    = 10
+	dhCl_EnergyMax  = 0
+	
+	dhCl_Agi  = 1
+	dhCl_Cha  = 1
+	dhCl_Int  = 1
+	dhCl_Lore = 2
+	dhCl_Luck = 1
+	dhCl_Per  = 1
+	dhCl_Str  = 4
 end
 
 if $ARGS[0] = 'Trickster':
-	$dhRc_Class = 'Trickster'
-	
-	dhRc_Health  = 7
-	dhRc_Stamina = 3
-	dhRc_Mana    = 10
-	
-	dhRc_Agi  = 0
-	dhRc_Cha  = 1
-	dhRc_Int  = 2
-	dhRc_Lore = 1
-	dhRc_Luck = 0
-	dhRc_Per  = 0
-	dhRc_Str  = 0
+	$dhCl_Class = 'Trickster'
+	
+	dhCl_HealthMax  = 5
+	dhCl_StaminaMax = 5
+	dhCl_ManaMax    = 20
+	dhCl_RageMax    = 0
+	dhCl_EnergyMax  = 0
+	
+	dhCl_Agi  = 1
+	dhCl_Cha  = 1
+	dhCl_Int  = 4
+	dhCl_Lore = 2
+	dhCl_Luck = 1
+	dhCl_Per  = 1
+	dhCl_Str  = 1
 end
 
 if $ARGS[0] = 'Pickpocket':
+	$dhCl_Class = 'Pickpocket'
+	
+	dhCl_HealthMax  = 8
+	dhCl_StaminaMax = 10
+	dhCl_ManaMax    = 0
+	dhCl_RageMax    = 0
+	dhCl_EnergyMax  = 12
 	
+	dhCl_Agi  = 2
+	dhCl_Cha  = 1
+	dhCl_Int  = 1
+	dhCl_Lore = 2
+	dhCl_Luck = 2
+	dhCl_Per  = 2
+	dhCl_Str  = 1
 end
 
 --- DH_Classes ---------------------------------

+ 4 - 0
locations/DH_Credit.qsrc

@@ -0,0 +1,4 @@
+# DH_Credit
+
+
+--- DH_Credit --------------------------------

+ 27 - 0
locations/DH_Functions.qsrc

@@ -24,5 +24,32 @@ if $ARGS[0] = 'FormatStr':
 	$RESULT = $.FUNC_formatStr
 end
 
+!! Concatenate string array
+if lcase($ARGS[0]) = 'ConcatStrArr':
+	KILLVAR '$_FUNC_concat'
+	KILLVAR '$_FUNC_concatStr'
+	COPYARR '$_FUNC_concat', '<<$ARGS[1]>>'
+	
+	_FUNC_i = 0
+	:Loop DH_Functions_ConcatStrArr_Concatenate
+	if (_FUNC_i < ARRSIZE('$_FUNC_concat'):
+		$_FUNC_concatStr += $_FUNC_concat[_FUNC_i]
+		
+		_FUNC_i += 1
+		jump 'Loop DH_Functions_ConcatStrArr_Concatenate'
+	end
+	
+	$RESULT = $_FUNC_concatStr
+end
+
 --- DH_Functions ---------------------------
 
+# StrInsert
+
+!! Original = $ARGS[0]
+!! Insert   = $ARGS[1]
+!! Position = ARGS[2]
+
+$RESULT = mid($ARGS[0], 1, ARGS[2] - 1) + $ARGS[1] + mid($ARGS[0], ARGS[2])
+
+--- StrInsert ------------------------------

+ 90 - 10
locations/DH_Main.qsrc

@@ -1,10 +1,9 @@
 # DH_Main
 !!! A variable beginning with a capital letter should not be changed at will.
-!!! A variable ending with an underscore represents it as a list of items.
-	!!! A variable without an underscore isn''t necessarily not an array
-	!!! Just that it isn''t a straight list
-	!!! e.g. dhCh_Level[] is an array but it''s more like the var belongs to the array member
-	!!!      rather than var value belongs to the array member e.g. dhCh_Chars[] 
+!!! A variable ending with an underscore represents it as a list of values.
+	!!! e.g. dhCh_Level[] is an array but each member is a variable
+	!!!      dhCh_Chars_[] is an array but each member is a value
+	!!!      They can be used together like: dhCh_Level[dhCh_Chars_[0]]
 
 !!TODO: Change functions to return true or false, handle messages within func.
 
@@ -15,28 +14,80 @@ if $ARGS[0] = 'Init':
 	True = -1
 	False = 0
 	
+	$dhDir_img   = 'images/shared/Accessories/computer/games/dungeonhunter'
+	$dhDir_resrc = 'resources/games/dungeonhunter'
+	
+	!!~~ Screen HTML
+	$Scr_HTML['dhScr_Def']  = '<div id="header">'
+	$Scr_HTML['dhScr_Def'] +=     '<img id="headerImage" src="%HEADERIMAGE%" draggable="false">'
+	$Scr_HTML['dhScr_Def'] +=     '<div id="titleContainer">'
+	$Scr_HTML['dhScr_Def'] +=         '<div id="title">%TITLE%</div>'
+	$Scr_HTML['dhScr_Def'] +=     '</div>'
+	$Scr_HTML['dhScr_Def'] += '</div>'
+	$Scr_HTML['dhScr_Def'] += '<div id="storyContainer">'
+	$Scr_HTML['dhScr_Def'] +=     '<div id="storyText"></div>'
+	$Scr_HTML['dhScr_Def'] +=     '<div id="actions"></div>'
+	$Scr_HTML['dhScr_Def'] += '</div>'
+	$Scr_HTML['dhScr_Def'] += '<div id="storyHUD">'
+	$Scr_HTML['dhScr_Def'] +=     '<div id="storyCard">'
+	$Scr_HTML['dhScr_Def'] +=         '<div id="storyCardInfo">'
+	$Scr_HTML['dhScr_Def'] +=             '<div id="storyCardLvl"><span class="tooltip" data-tooltip-content="#tooltip_content" title="This is a tooltip.">Level: %PLAYER_LEVEL%</span></div>'
+	$Scr_HTML['dhScr_Def'] +=             '<div id="storyCardXP"><span class="tooltip" data-tooltip-content="#tooltip_second" title="">Exp: %PLAYER_XP% / %PLAYER_MAXXP%</span></div>'
+	$Scr_HTML['dhScr_Def'] +=             '<div id="storyCardHP">Health: %PLAYER_HP% / %PLAYER_MAXHP%</div>'
+	$Scr_HTML['dhScr_Def'] +=             '<div id="storyCardSP">Stamina: %PLAYER_SP% / %PLAYER_MAXSP%</div>'
+	$Scr_HTML['dhScr_Def'] +=             '<div id="storyCardMP">Mana: %PLAYER_MP% / %PLAYER_MAXMP%</div>'
+	$Scr_HTML['dhScr_Def'] +=             '<div id="storyCardRP">Rage: %PLAYER_RP% / %PLAYER_MAXRP%</div>'
+	$Scr_HTML['dhScr_Def'] +=             '<div id="storyCardEP">Energy: %PLAYER_EP% / %PLAYER_MAXEP%</div>'
+	$Scr_HTML['dhScr_Def'] +=             '<div id="storyCardGold">Gold: %PLAYER_GOLD%</div>'
+	$Scr_HTML['dhScr_Def'] +=         '</div>'
+	$Scr_HTML['dhScr_Def'] +=     '</div>'
+	$Scr_HTML['dhScr_Def'] +=     '<div id="storyHUDExp" style="background: linear-gradient(to right, #FFAB00 %EXP_PERCENT%, gray %EXP_PERCENT%);"></div>'
+	$Scr_HTML['dhScr_Def'] += '</div>'
+	$Scr_HTML['dhScr_Def'] += '<div class="tooltip_templates">'
+	$Scr_HTML['dhScr_Def'] +=     '<span id="tooltip_content">This is a <span style="color: red;">tooltip</span>.</span>'
+	$Scr_HTML['dhScr_Def'] +=     '<span id="tooltip_second">This is a <span style="color: green;">tooltip</span>.</span>'
+	$Scr_HTML['dhScr_Def'] += '</div>'
+	!!~~#
+	
+	gs 'ScreenInit'
+	gs 'DH_Screen', 'Init'
 	gs 'DH_QuestManager', 'Init'
 	
+	!!~~ Screen Events
+	$scr_EventClear_[] = 'DH_Screen, ClearTooltips'
+	!!~~#
+	
 	Dh_InitFin = True
 end
 
 if $ARGS[0] = '':
 	IF Dh_InitFin = 0: gs 'DH_Main', 'Init'
+	$SETMAINDESCHEAD  = '<link rel="stylesheet" href="<<$dhDir_resrc>>/main.css">'
+	$SETMAINDESCHEAD += '<link rel="stylesheet" href="resources/tooltipster/dist/css/tooltipster.bundle.min.css">'
+	$SETMAINDESCHEAD += '<link rel="stylesheet" href="resources/tooltipster/dist/css/plugins/tooltipster/sideTip/themes/tooltipster-sideTip-punk.min.css">'
+	$SETMAINDESCHEAD += '<script src="resources/jQuery.slim.v3.3.1.js"></script>'
+	$SETMAINDESCHEAD += '<script src="resources/tooltipster/dist/js/tooltipster.bundle.min.js"></script>'
+	$SETMAINDESCHEAD += '<script src="resources/tooltipster/dist/js/tooltipster-discovery.min.js"></script>'
+	$SETMAINDESCHEAD += '<script src="<<$dhDir_resrc>>/main.js"></script>'
 	
 	dh_HasCharacter = 0
 	if dh_HasCharacter = 0:
 		'Welcome to Dungeon Hunter!'
 		'Let''s get started by creating your character.'
-		ACT 'Start': gt 'DH_Main', 'Start'
+		ACT 'Start': gs 'DH_QuestManager', 'Start', 'NewBeginnings'
 	else
 		'Welcome back to Dungeon Hunter!'
 		ACT 'Play': gt 'DH_Main', 'Play'
 	end
 	
-	
 	ACT 'Options': gt 'DH_Main', 'Options'
-	ACT 'Exit Game': gt 'Komp', 'start'
+	ACT 'Exit Game': gt 'DH_Main', 'Exit'
+	ACT 'Screen Test': gt 'DH_Main', 'ScreenTest'
 	
+	act 'Re-Init':
+		gs 'DH_Main', 'Init'
+		gt 'DH_Main', ''
+	end
 end
 
 if $ARGS[0] = 'Start':
@@ -45,11 +96,40 @@ if $ARGS[0] = 'Start':
 	dhQst_Started['NewBeginnings'] = False
 	gs 'DH_QuestManager', 'Start', 'NewBeginnings'
 	
-	ACT 'Leave': gt 'Komp', 'start'
+	ACT 'Exit Game': gt 'DH_Main', 'Exit'
 end
 
-if $ARGS[0] = 'test':
+if $ARGS[0] = 'Exit':
+	$SETMAINDESCHEAD = ''
+	$BACKIMAGE = ''
+	BCOLOR = RGB(255, 255, 255)
+	$scr_Layout = ''
+	func('Screen', 'ClearAll', True)
 	
+	gt 'Komp', 'start'
+end
+
+if $ARGS[0] = 'ScreenTest':
+	func('Screen', 'Replace', 'TITLE', 'ScreenTest')
+	func('Screen', 'Replace', 'HEADERIMAGE', '<<$dhDir_img>>/prisoncell.jpg')
+	
+	func('writeP', 'storyText', 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc gravida, lectus a dictum interdum, urna turpis scelerisque ligula, in consequat est eros id arcu. Praesent sodales tellus sollicitudin, rutrum lorem nec, iaculis quam. Mauris luctus, dui sit amet accumsan pharetra, tellus risus aliquet velit, non interdum massa nunc sit amet est. Interdum et malesuada fames ac ante ipsum primis in faucibus. Phasellus neque metus, convallis vel scelerisque ut, consequat sit amet libero. Ut fermentum efficitur velit. Praesent lobortis quam felis, sed facilisis lectus pellentesque nec. Phasellus commodo efficitur lobortis. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam vehicula tempor est sed interdum. Quisque vitae nunc orci. Nunc mollis vel nunc eu suscipit. Morbi porttitor tincidunt porta. Sed pretium mattis posuere.')
+	func('writes', 'storyText', 'Curabitur vestibulum elit nec felis malesuada, et tempor nunc imperdiet. Nam a enim massa. Integer efficitur libero et ligula pellentesque, eu tempus tellus suscipit. Aliquam ullamcorper quis elit non placerat. Cras nec est magna. Duis consequat ligula ac rhoncus malesuada. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam nec felis malesuada neque vestibulum placerat. Aliquam venenatis ornare lorem, vel venenatis erat molestie eu.')
+	func('writeN', 'storyText', 'Nam vehicula imperdiet eros eu sagittis. Praesent eu nunc sit amet augue volutpat suscipit. Quisque sodales sapien nunc, in lobortis metus vulputate vitae. Nulla sodales pharetra sodales. Vestibulum pellentesque turpis justo. Integer scelerisque suscipit ex, nec ornare neque mattis et. Vivamus non erat lobortis, gravida sapien sed, porta ipsum. Fusce tempor ligula id metus posuere tempor. Aliquam id arcu vitae nisi posuere scelerisque at sit amet orci. Aliquam risus lorem, dictum non mi non, gravida dapibus libero. In sit amet pellentesque enim. ')
+	func('writeL', 'storyText', 'Sed in iaculis ligula. Proin aliquet felis in tellus pulvinar porta. Morbi convallis lacinia tincidunt. Aenean egestas dolor sed orci congue, in semper ante hendrerit. Nullam interdum tempus pharetra. Sed ut massa efficitur, elementum libero vitae, facilisis quam. Aliquam egestas velit tincidunt turpis ornare, ac gravida diam feugiat. Sed pretium enim sed ante aliquam dapibus. Curabitur elementum sit amet dolor eget faucibus. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus viverra semper diam, eget rutrum elit porta in. Pellentesque vel nisi lacus. Etiam a placerat nunc. Cras vestibulum, turpis ut hendrerit volutpat, quam diam posuere magna, non vehicula velit ligula porttitor sapien. Nulla dapibus ligula vel est auctor, id laoreet dui vestibulum. Duis vel nisi condimentum, tempor risus eu, accumsan nunc.')
+	func('write',  'storyText', 'Curabitur finibus, est quis dictum pharetra, enim libero tempus ante, nec fermentum leo orci at mauris. Suspendisse et tincidunt lorem, vitae porttitor metus. Ut lacinia porttitor enim, nec suscipit lectus fermentum accumsan. Phasellus lectus augue, hendrerit non tempor nec, malesuada a nibh. Aenean tincidunt metus ac mauris congue semper. Sed finibus, metus sed tincidunt sodales, turpis mauris fermentum lectus, ac laoreet tortor urna eget velit. Nullam id dapibus libero. Maecenas sem sapien, lobortis sed dui sit amet, euismod facilisis est. Nam tincidunt mi ligula, eget laoreet dui mollis eget. Aliquam varius odio eget nibh aliquet faucibus. Nullam eu leo sed tellus bibendum blandit. Quisque scelerisque, leo at rutrum tristique, dolor leo ultricies erat, a ornare nunc risus eget magna.')
+	func('writeP', 'storyText', 'Donec dapibus maximus lacus non pellentesque. Morbi congue lectus eu augue rhoncus gravida. Duis vulputate neque euismod augue laoreet auctor. Donec massa ante, rutrum non felis a, imperdiet finibus nulla. Morbi vestibulum ante et mauris laoreet pharetra. In maximus mattis ullamcorper. Vivamus ut leo ut ipsum tincidunt finibus sit amet eget ante. Ut nibh erat, viverra id lacus in, porta vulputate odio. Morbi eu eros ac nisi blandit laoreet. In ultrices ex ultrices commodo convallis. Pellentesque quis pulvinar ante, quis dictum orci. Integer laoreet, odio sit amet porttitor efficitur, orci erat venenatis tellus, id vulputate nisi sem sit amet tortor.')
+	func('writes', 'storyText', 'Fusce quis magna quis elit tempus accumsan. Praesent vel lobortis nibh. Maecenas rutrum quis justo in molestie. Integer luctus lorem velit. Praesent nec dolor eu eros laoreet commodo. Suspendisse lobortis dolor eu metus pellentesque, id euismod eros suscipit. Mauris sed ante ac purus ultricies egestas. Nulla facilisi.')
+	func('writes', 'storyText', 'Morbi maximus, risus vitae blandit luctus, risus nunc tempus metus, et elementum leo dolor a purus. Quisque odio nulla, tempor quis magna id, sagittis laoreet enim. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Suspendisse fringilla nulla leo, quis auctor ligula sollicitudin vel. Quisque finibus sed dolor a volutpat. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Fusce faucibus tempus diam non tincidunt. Duis id consectetur lectus. Cras luctus porta sapien vel mollis. Sed lacinia sem ut felis pretium, quis ullamcorper quam aliquet. Vivamus convallis feugiat scelerisque. Quisque pretium eros sit amet magna sodales iaculis. Curabitur non vestibulum ligula. Vivamus rhoncus urna at justo scelerisque, vitae porta arcu rhoncus. Vivamus eu metus velit.')
+	func('writes', 'storyText', 'Fusce magna ex, condimentum at nunc quis, suscipit finibus dolor. Donec sodales, dolor ac convallis finibus, nisi dui lobortis elit, sed luctus odio tortor eget odio. Pellentesque egestas, leo a blandit efficitur, eros ex blandit lorem, in pharetra sem lorem sed sem. Cras non viverra ex, non ullamcorper dui. Ut consectetur vehicula tellus, et volutpat augue. Maecenas hendrerit felis a metus molestie consequat. Ut eleifend neque metus, in vehicula orci tempus at. Donec et mauris euismod, feugiat velit sed, congue nulla. Integer maximus urna at commodo placerat.')
+	func('writes', 'storyText', 'Sed pulvinar vehicula egestas. Curabitur ornare facilisis ante aliquam rutrum. Sed at mollis magna, in tempor leo. Phasellus blandit turpis lobortis euismod malesuada. Sed ex erat, gravida sed elementum ut, feugiat accumsan ex. Proin dapibus, velit tristique blandit porttitor, libero velit tempus eros, eget ornare libero nibh sit amet magna. Duis dignissim vulputate turpis, vitae auctor libero gravida eget. Quisque sagittis metus mollis, malesuada urna eu, tristique mauris.')
+	func('Screen', 'Update', 'dhScr_Def')
+	
+	act 'Refresh':
+		func('Screen', 'Replace', 'HEADERIMAGE', '<<$dhDir_img>>/background.jpg')
+		gt 'DH_Main', 'ScreenTest'
+	end
+	ACT 'Main Menu': gt 'DH_Main'
 end
 
 --- DH_Main ---------------------------------

+ 126 - 24
locations/DH_QuestManager.qsrc

@@ -1,35 +1,86 @@
 # DH_QuestManager
 
+if $ARGS[0] = 'UpdateStoryCard':
+	!! Character Card
+	if (ARRPOS('$dhCh_Chars_', 'Player') ! -1):
+		func('Screen', 'Replace', 'PLAYER_LEVEL', '<<dhCh_Level[''Player'']>>')
+		func('Screen', 'Replace', 'PLAYER_XP',    '<<dhCh_Exp[''Player'']>>')
+		func('Screen', 'Replace', 'PLAYER_HP',    '<<dhCh_Health[''Player'']>>')
+		func('Screen', 'Replace', 'PLAYER_SP',    '<<dhCh_Stamina[''Player'']>>')
+		func('Screen', 'Replace', 'PLAYER_MP',    '<<dhCh_Mana[''Player'']>>')
+		func('Screen', 'Replace', 'PLAYER_RP',    '<<dhCh_Rage[''Player'']>>')
+		func('Screen', 'Replace', 'PLAYER_EP',    '<<dhCh_Energy[''Player'']>>')
+		func('Screen', 'Replace', 'PLAYER_MAXXP', '<<dhCh_ExpMax[''Player'']>>')
+		func('Screen', 'Replace', 'PLAYER_MAXHP', '<<dhCh_HealthMax[''Player'']>>')
+		func('Screen', 'Replace', 'PLAYER_MAXSP', '<<dhCh_StaminaMax[''Player'']>>')
+		func('Screen', 'Replace', 'PLAYER_MAXMP', '<<dhCh_ManaMax[''Player'']>>')
+		func('Screen', 'Replace', 'PLAYER_MAXRP', '<<dhCh_RageMax[''Player'']>>')
+		func('Screen', 'Replace', 'PLAYER_MAXEP', '<<dhCh_EnergyMax[''Player'']>>')
+		func('Screen', 'Replace', 'PLAYER_GOLD',  '<<dhInv_Gold[''Player'']>>')
+		func('Screen', 'Replace', 'EXP_PERCENT',  'calc(<<dhCh_Exp[''Player'']>>%/<<dhCh_ExpMax[''Player'']>>*100)')
+		
+		func('Screen', '<<iif(dhCh_ManaMax[''Player''] ! 0,   ''Show'', ''Hide'')>>', 'storyCardMP')
+		func('Screen', '<<iif(dhCh_RageMax[''Player''] ! 0,   ''Show'', ''Hide'')>>', 'storyCardRP')
+		func('Screen', '<<iif(dhCh_EnergyMax[''Player''] ! 0, ''Show'', ''Hide'')>>', 'storyCardEP')
+	else
+		func('Screen', 'Replace', 'PLAYER_LEVEL', '0')
+		func('Screen', 'Replace', 'PLAYER_XP',    '0')
+		func('Screen', 'Replace', 'PLAYER_HP',    '2')
+		func('Screen', 'Replace', 'PLAYER_SP',    '1')
+		func('Screen', 'Replace', 'PLAYER_MP',    '?')
+		func('Screen', 'Replace', 'PLAYER_RP',    '?')
+		func('Screen', 'Replace', 'PLAYER_EP',    '?')
+		func('Screen', 'Replace', 'PLAYER_MAXXP', '10')
+		func('Screen', 'Replace', 'PLAYER_MAXHP', '5')
+		func('Screen', 'Replace', 'PLAYER_MAXSP', '5')
+		func('Screen', 'Replace', 'PLAYER_MAXMP', '???')
+		func('Screen', 'Replace', 'PLAYER_MAXRP', '???')
+		func('Screen', 'Replace', 'PLAYER_MAXEP', '???')
+		func('Screen', 'Replace', 'PLAYER_GOLD',  '0')
+		func('Screen', 'Replace', 'EXP_PERCENT',  '0%')
+		
+		func('Screen', 'Hide', 'storyCardMP')
+		func('Screen', 'Hide', 'storyCardRP')
+		func('Screen', 'Hide', 'storyCardEP')
+	end
+end
+
 if $ARGS[0] = 'Init':
 	$DhQst_List_[0] = 'NewBeginnings'
 	
-	$DhQst_Msg_['NoQuest']         = 'NoQuest:No Quest by the name of ''{0}'' exists.'
-	$DhQst_Msg_['QuestStarted']    = 'QuestStarted:''{0}'' has already been started.'
-	$DhQst_Msg_['QuestComplete']   = 'QuestComplete:''{0}'' has already been completed.'
-	$DhQst_Msg_['QuestNotStarted'] = 'QuestNotStarted:''{0}'' has not been started yet.'
+	$DhQst_Msg_['NoQuest']         = 'Warning: No Quest by the name of ''{0}'' exists.'
+	$DhQst_Msg_['NoSubQuest']      = 'Warning: No SubQuest by the name of ''{0}'' exists in the quest ''{1}''.'
+	$DhQst_Msg_['QuestStarted']    = 'Warning: ''{0}'' has already been started.'
+	$DhQst_Msg_['QuestComplete']   = 'Warning: ''{0}'' has already been completed.'
+	$DhQst_Msg_['QuestNotStarted'] = 'Warning: ''{0}'' has not been started yet.'
 	
 	$dhQst_Current = ''
+	KILLVAR '$dhQst_Title'
+	KILLVAR '$dhQst_Started'
+	KILLVAR '$dhQst_Finished'
+	KILLVAR '$dhQst_Progress'
+	KILLVAR '$dhQst_SubQst_'
 end
 
 if $ARGS[0] = 'Start':
 	$.questName = $ARGS[1]
-	'yoyooyoyoyy;'
 	
 	!! Check if quest exists
 	if ARRPOS('$DhQst_List_', $.questName) = -1:
-		'SPOKED'
 		$RESULT = FUNC('DH_Functions', 'FormatStr', $dhQst_Msg_['NoQuest'], $.questName)
+		msg($RESULT)
 		exit
 	end
 	
 	
-	if $dhQst_Started[$.questName] = False:
+	if dhQst_Started[$.questName] = False:
 		$RESULT = 'Quest Started'
-		'hubababbababababab'
-		gt 'DH_Quest_<<$.questName>>', 'Start'
+		$scr_Layout = 'dhScr_Def'
+		func('Screen', 'ClearAll')
+		gs 'DH_Quest_<<$.questName>>', 'Start'
 	else
-		'YARE YARE'
 		$RESULT = FUNC('DH_Functions', 'FormatStr', $dhQst_Msg_['QuestStarted'], $.questName)
+		msg($RESULT)
 		exit
 	end
 end
@@ -40,13 +91,18 @@ if $ARGS[0] = 'Restart':
 	!! Check if quest exists
 	if ARRPOS('$DhQst_List_', $.questName) = -1:
 		$RESULT = FUNC('DH_Functions', 'FormatStr', $dhQst_Msg_['NoQuest'], $.questName)
+		msg($RESULT)
 		exit
 	end
 	
-	if $dhQst_Started[$.questName] = True:
-		gt 'DH_Quest_<<$.questName>>', 'Start'
+	if dhQst_Started[$.questName] = True:
+		$scr_Layout = 'dhScr_Def'
+		func('Screen', 'ClearAll')
+		gs 'DH_QuestManager', 'UpdateStoryCard'
+		gs 'DH_Quest_<<$.questName>>', 'Start'
 	else
 		$RESULT = FUNC('DH_Functions', 'FormatStr', $dhQst_Msg_['QuestNotStarted'], $.questName)
+		msg($RESULT)
 		exit
 	end
 end
@@ -57,45 +113,66 @@ if $ARGS[0] = 'Continue':
 	!! Check if quest exists
 	if ARRPOS('$DhQst_List_', $.questName) = -1:
 		$RESULT = FUNC('DH_Functions', 'FormatStr', $dhQst_Msg_['NoQuest'], $.questName)
+		msg($RESULT)
 		exit
 	end
 	
 	!! Check if quest has been started yet
-	if $dhQst_Started[$.questName] = False:
+	if dhQst_Started[$.questName] = False:
 		$RESULT = FUNC('DH_Functions', 'FormatStr', $dhQst_Msg_['QuestNotStarted'], $.questName)
+		msg($RESULT)
 		exit
 	end
 	
-	if $dhQst_Finished[$.questName] = False:
-		gt 'DH_Quest_<<$.questName>>', $dhQst_Progress[$.questName]
+	if dhQst_Finished[$.questName] = False:
+		$scr_Layout = 'dhScr_Def'
+		func('Screen', 'ClearAll')
+		gs 'DH_QuestManager', 'UpdateStoryCard'
+		gs 'DH_Quest_<<$.questName>>', $dhQst_Progress[$.questName]
 	else
 		$RESULT = FUNC('DH_Functions', 'FormatStr', $dhQst_Msg_['QuestComplete'], $.questName)
+		msg($RESULT)
 		exit
 	end
 end
 
-if $ARGS[0] = 'Next':
-	$.questName = $ARGS[1]
+if $ARGS[0] = 'GoTo':
+	$.questName  = $ARGS[1]
+	$.subQuest   = $ARGS[2]
+	.clearScreen = ARGS[3]
 	
 	!! Check if quest exists
 	if ARRPOS('$DhQst_List_', $.questName) = -1:
 		$RESULT = FUNC('DH_Functions', 'FormatStr', $dhQst_Msg_['NoQuest'], $.questName)
+		msg($RESULT)
 		exit
 	end
 	
 	!! Check if quest has been started yet
-	if $dhQst_Started[$.questName] = False:
+	if dhQst_Started[$.questName] = False:
 		$RESULT = FUNC('DH_Functions', 'FormatStr', $dhQst_Msg_['QuestNotStarted'], $.questName)
+		msg($RESULT)
 		exit
 	end
 	
-	!! Check if next quest exists
-	
+	!! Check if sub quest exists
+	func('DH_Quest_<<$.questName>>', 'GetSubQuests')
+	if (ARRPOS('$dhQst_SubQst_', $.subQuest) = -1):
+		$RESULT = FUNC('DH_Functions', 'FormatStr', $dhQst_Msg_['NoSubQuest'], $.subQuest, $.questName)
+		msg($RESULT)
+		exit
+	end
 	
-	if $dhQst_Finished[$.questName] = False:
-		gt 'DH_Quest_<<$.questName>>', $dhQst_NextQst[$.questName]
+	if dhQst_Finished[$.questName] = False:
+		$scr_Layout = 'dhScr_Def'
+		IF (.clearScreen = True): func('Screen', 'ClearAll') else func('Screen', 'Clear', 'actions')
+		
+		KILLVAR '$dhDyn'
+		gs 'DH_QuestManager', 'UpdateStoryCard'
+		gs 'DH_Quest_<<$.questName>>', $.subQuest
 	else
 		$RESULT = FUNC('DH_Functions', 'FormatStr', $dhQst_Msg_['QuestComplete'], $.questName)
+		msg($RESULT)
 		exit
 	end
 end
@@ -109,8 +186,10 @@ if $ARGS[0] = 'Complete':
 		exit
 	end
 	
-	if $dhQst_Finished[$.questName] = False:
-		$dhQst_Started[$.questName] = True
+	if dhQst_Finished[$.questName] = False:
+		dhQst_Started[$.questName] = True
+		!! $scr_Theme = 'dhScr_Def'
+		!! Not sure if this should just set the quest complete or go to the complete screen?
 		gt 'DH_Quest_<<$.questName>>', 'Complete'
 	else
 		$RESULT = FUNC('DH_Functions', 'FormatStr', $dhQst_Msg_['QuestComplete'], $.questName)
@@ -118,5 +197,28 @@ if $ARGS[0] = 'Complete':
 	end
 end
 
+if $ARGS[0] = 'ProgressAct':
+	$.actionText = $ARGS[1]
+	$.questName  = $ARGS[2]
+	$.subQuest   = $ARGS[3]
+	$.textColor  = $ARGS[4]
+	
+	func('write', 'actions', '<a class="action" href="exec:gs ''DH_QuestManager'', ''GoTo'', ''<<$.questName>>'', ''<<$.subQuest>>''">')
+	func('write', 'actions', $.actionText, $.textColor)
+	func('write', 'actions', '</a>')
+	func('Screen', 'Update')
+end
+
+if $ARGS[0] = 'DynamicAct':
+	$.actionText = $ARGS[1]
+	$.dynamicId  = $ARGS[2]
+	$.textColor  = $ARGS[3]
+	
+	func('write', 'actions', '<a class="action" href="exec:DYNAMIC $dhDyn[''<<$.dynamicId>>'']">')
+	func('write', 'actions', $.actionText, $.textColor)
+	func('write', 'actions', '</a>')
+	func('Screen', 'Update')
+end
+
 --- DH_QuestManager ---------------------------------
 

+ 114 - 90
locations/DH_Quest_NewBeginnings.qsrc

@@ -1,114 +1,124 @@
 # DH_Quest_NewBeginnings
 $dhQst_Current = 'NewBeginnings'
+func('Screen', 'Replace', 'TITLE', 'New Beginnings')
+func('Screen', 'Replace', 'HEADERIMAGE', '<<$DhDir_img>>/prisoncell.jpg')
 
-if $ARGS[0] = 'Start':	
-	$dhQst_Title['NewBeginnings'] = 'New Beginnings'
-	
-	$dhQst_Started['NewBeginnings']  = True
-	$dhQst_Finished['NewBeginnings'] = False
+if $ARGS[0] = 'GetSubQuests':
+	KILLVAR '$dhQst_SubQst_'
+	$dhQst_SubQst_[] = 'So Cold'
+	$dhQst_SubQst_[] = 'Alive?'
+	$dhQst_SubQst_[] = 'Path of the Brute'
+	$dhQst_SubQst_[] = 'Path of the Pickpocket'
+	$dhQst_SubQst_[] = 'Path of the Trickster'
+end
+
+if $ARGS[0] = 'Start':
+	$dhQst_Title[$dhQst_Current] = 'New Beginnings'
 	
-	$dhQst_QstLine['NewBeginnings_0'] = 'So Cold'
-	$dhQst_QstLine['NewBeginnings_1'] = 'Alive?'
-	$dhQst_QstLine['NewBeginnings_2'] = 'Part3'
+	dhQst_Started[$dhQst_Current]  = True
+	dhQst_Finished[$dhQst_Current] = False
 	
-	$dhQst_Progress['NewBeginnings'] = ''
+	$dhQst_Progress[$dhQst_Current] = ''
 	
-	gt 'DH_Quest_<<$dhQst_Current>>', 'So Cold'
+	gs 'DH_QuestManager', 'GoTo', $dhQst_Current, 'So Cold'
 end
 
 if $ARGS[0] = 'Complete':
-	$dhQst_Finished['NewBeginnings'] = True
+	$dhQst_Finished[$dhQst_Current] = True
 end
 
 if $ARGS[0] = 'So Cold':
-	$dhQst_Progress['<<$dhQst_Current>>'] = $ARGS[0]
-	
-	'It all starts with a shiver. The shiver wakes you up, and, all of a sudden, you feel. You feel cold. So cold.'
-	'Then the pain sets in. The shiver makes you hit the ground, and the ground hurts! It hurts so much.'
-	'But that''s it. Just you, the cold, and the pain. It''s almost like a fairytale!'
-	'No, that isn''t right. There''s one more feeling. But it''s slipping away. Fast.'
-	'Oh! Another feeling, is it... laughter? Right, you feel like laughing! Haha, that''s right, the one slipping away is your sanity. Haha.'
-	'Desperately, you try to latch onto something. Anything. Oh, your name! Err... What was your name, again?'
-	
-	$act_GetName = {
+	$dhQst_Progress[$dhQst_Current] = $ARGS[0]
+	
+	func('Screen', 'ClearAll', True)
+	func('writeP', 'storyText', 'It all starts with a shiver. The shiver wakes you up, and, all of a sudden, you feel. You feel cold. So cold.')
+	func('writes', 'storyText', 'Then the pain sets in. The shiver makes you hit the ground, and the ground hurts! It hurts so much.')
+	func('writes', 'storyText', 'But that''s it. Just you, the cold, and the pain. It''s almost like a fairytale!')
+	func('writes', 'storyText', 'No, that isn''t right. There''s one more feeling. But it''s slipping away. Fast.')
+	func('writes', 'storyText', 'Oh! Another feeling, is it... laughter? Right, you feel like laughing! Haha, that''s right, the one slipping away is your sanity. Haha.')
+	func('writeP', 'storyText', 'Desperately, you try to latch onto something. Anything. Oh, your name! Err... What was your name, again?')
+	func('Screen', 'Update')
+	
+	$dhDyn['MyName'] = {
 		$_playerName = input("What was my name?")
 		$_playerName = iif($_playerName = '', 'Ash', $_playerName) &! Default name.
 		!! Check if valid name
 		
-		FUNC('DH_Character', 'Delete', 'Player')
-		FUNC('DH_Character', 'Create', 'Player', $_playerName)
+		func('DH_Character', 'Delete', 'Player')
+		func('DH_Character', 'Create', 'Player', $_playerName)
 		
-		gt 'DH_Quest_NewBeginnings', 'Alive?'
+		gs 'DH_QuestManager', 'GoTo', 'NewBeginnings', 'Alive?'
 	}
 	
-	ACT 'My name..?': DYNAMIC $act_GetName
+	func('DH_QuestManager', 'DynamicAct', 'My name..?', 'MyName')
 end
 
 if $ARGS[0] = 'Alive?':
 	$dhQst_Progress['<<$dhQst_Current>>'] = $ARGS[0]
 	
 	!!TODO: Give a different response for special names
-	$_specialNameMsg = 'Yes. Your name was <<$_playerName>>. Not that it matters though, you''re already half-mad, after all.'
-	$_specialNameMsg_[0] = 'WinkyFace ;)'
-	
-	if     $_playerName = 'WinkyFace': $_specialNameMsg = $_specialNameMsg_[0] & end
-	
-	$_specialNameMsg
-	'Really, if it weren''t for that incessant ringing, you''d have long lost your- Wait, ringing..?'
-	'A burst of white light appears, the ringing gets louder and you finally feel. You feel alive.'
-	'You struggle to open your eyes just a bit wider, but the more you see, the more pain you feel. And the more your head aches.'
-	'Without warning you feel something drop onto your left eye. The sudden attack makes you flinch and knock your head.'
-	'Mentally, you shout in pain, but all that escapes your parched throat is a weak groan.'
-	'When you open your eyes once again, the left''s vision is slightly red, and you feel a wetness just above your brow.'
-	'Reaching up you find your hand covered in blood. A head injury, is it the cause of your amnesia? Or something else...'
-	'You try looking around but there''s too much dust. On top of is a wooden beam, did it fall from the ceiling?'
-	'You are currently trapped.'
-	''
+	$_nameMsg = 'Yes. Your name was <<$_playerName>>. Not that it matters though, you''re already half-mad, after all.'
+	$_nameMsg_[0] = 'WinkyFace ;)'
+	
+	IF     $_playerName = 'WinkyFace': $_nameMsg = $_nameMsg_[0]
+	
+	func('writeP', 'storyText', $_nameMsg)
+	func('writes', 'storyText', 'Really, if it weren''t for that incessant ringing, you''d have long lost your~ Wait, ringing..?')
+	func('writes', 'storyText', 'A burst of white light appears, the ringing gets louder and you finally feel. You feel alive.')
+	func('writes', 'storyText', 'You struggle to open your eyes just a bit wider, but the more you see, the more pain you feel. And the more your head aches.')
+	func('writes', 'storyText', 'Without warning you feel something drop onto your left eye. The sudden attack makes you flinch and knock your head.')
+	func('writes', 'storyText', 'Mentally, you shout in pain, but all that escapes your parched throat is a weak groan.')
+	func('writes', 'storyText', 'When you open your eyes once again, the left''s vision is slightly red, and you feel a wetness just above your brow.')
+	func('writes', 'storyText', 'Reaching up you find your hand covered in blood. A head injury, is it the cause of your amnesia? Or something else...')
+	func('writes', 'storyText', 'You try looking around but there''s too much dust. On top of you is a wooden beam, did it fall from the ceiling?')
+	func('writeP', 'storyText', 'You are currently trapped.')
+	func('Screen', 'Update')
 	
 	!! Brute
 	_pushBeamCount = 0
-	act 'Attempt to push the beam.':
+	$dhDyn['PushBeam'] = {
 		_pushBeamCount += 1
 		if     _pushBeamCount = 3 and dhCh_Str['Player'] = 1:
-			''
-			'Despite your pain, you clench your teeth hard, and hope for the best in what can only be described as a retarded decision.'
-			'But against all odds, you succeed! It''s hard to believe it, and even you''re not quite sure where you pulled that last ounce of strength from, but you did it.'
-			'With haste, you push the sturdy beam off of you, freeing yourself from captivity.'
+			func('writeP', 'storyText', 'Despite your pain, you clench your teeth hard, and hope for the best in what can only be described as a retarded decision.')
+			func('writes', 'storyText', 'But against all odds, you succeed! It''s hard to believe it, and even you''re not quite sure where you pulled that last ounce of strength from, but you did it.')
+			func('writes', 'storyText', 'With haste, you push the sturdy beam off of you, freeing yourself from captivity.')
+			func('Screen', 'Update')
 			
-			CLA
-			ACT 'Stand Up': xgt 'DH_Quest_NewBeginnings', 'Path of the Brute'
+			func('Screen', 'Clear', 'actions')
+			func('DH_QuestManager', 'ProgressAct', 'Stand Up', 'NewBeginnings', 'Path of the Brute')
 		
 		elseif _pushBeamCount = 1 and dhCh_Str['Player'] >= 2:
-			'You didn''t notice it before but you feel... strong. Powerful. Nothing can get in your way!'
-			'It must be some sort of miracle, an huge feat of strength, but with a single hand you pick up and toss the heavy beam across the room.'
-			'The large movement causes more destruction in your surroundings, but you simply don''t care.'
-			'When a loosened stone block falls towards you, you just knock it away with a casual swipe.'
-			'You''re not sure why, but you get the feeling you''d look even cooler with a pair of Sunglasses right now.'
-			'With the beam gone, you''ve freed yourself from captivity.'
-			
-			CLA
-			ACT 'Stand Up': xgt 'DH_Quest_NewBeginnings', 'Path of the Brute'
+			func('writeP', 'storyText', 'You didn''t notice it before but you feel... strong. Powerful. Nothing can get in your way!')
+			func('writes', 'storyText', 'It must be some sort of miracle, an huge feat of strength, but with a single hand you pick up and toss the heavy beam across the room.')
+			func('writes', 'storyText', 'The large movement causes more destruction in your surroundings, but you simply don''t care.')
+			func('writes', 'storyText', 'When a loosened stone block falls towards you, you just knock it away with a casual swipe.')
+			func('writes', 'storyText', 'You''re not sure why, but you get the feeling you''d look even cooler with a pair of Sunglasses right now.')
+			func('writes', 'storyText', 'With the beam gone, you''ve freed yourself from captivity.')
+			func('Screen', 'Update')
+			
+			func('Screen', 'Clear', 'actions')
+			func('DH_QuestManager', 'ProgressAct', 'Stand Up', 'NewBeginnings', 'Path of the Brute')
 		
 		elseif _pushBeamCount = 100:
-			''
-			'They say perseverance is also a type of strength, and it seems to be true.'
-			'Through sheer effort alone, you manage to push the wooden beam off of you, freeing yourself from captivity.'
-			''
-			'Strength + 1'
-			
+			func('writeP', 'storyText', 'They say perseverance is also a type of strength, and it seems to be true.')
+			func('writes', 'storyText', 'Through sheer effort alone, you manage to push the wooden beam off of you, freeing yourself from captivity.')
+			func('writeP', 'storyText', 'Strength + 1')
+			func('Screen', 'Update')
+	
 			dhCh_Str['Player'] += 1
 			
-			CLA
-			ACT 'Stand Up': xgt 'DH_Quest_NewBeginnings', 'Path of the Brute'
+			func('Screen', 'Clear', 'actions')
+			func('DH_QuestManager', 'ProgressAct', 'Stand Up', 'NewBeginnings', 'Path of the Brute')
 		
 		else
-			'You attempt to push the beam away.'
+			func('writeN', 'storyText', 'You attempt to push the beam away.')
+			func('Screen', 'Update')
 		end
-	end
+	}
 	
 	!! Pickpocket
 	_waitDustCount = 0
-	act 'Wait for the dust to settle.':
+	$dhDyn['WaitDust'] = {
 		_waitDustCount += 1
 		if     _waitDustCount = 3 and dhCh_Per['Player'] = 1:
 			''
@@ -119,7 +129,6 @@ if $ARGS[0] = 'Alive?':
 			
 			gs 'DH_Classes', 'ChangeClass', 'Player', 'Pickpocket'
 			
-			CLA
 			ACT 'Stand Up': gt 'DH_Quest_NewBeginnings', 'Path of the Pickpocket'
 		
 		elseif _waitDustCount = 1 and dhCh_Per['Player'] >= 2:
@@ -128,7 +137,6 @@ if $ARGS[0] = 'Alive?':
 			
 			gs 'DH_Classes', 'ChangeClass', 'Player', 'Pickpocket'
 			
-			CLA
 			ACT 'Stand Up': gt 'DH_Quest_NewBeginnings', 'Path of the Pickpocket'
 		
 		elseif _waitDustCount = 100:
@@ -140,18 +148,17 @@ if $ARGS[0] = 'Alive?':
 			dhCh_Per['Player'] += 1
 			gs 'DH_Classes', 'ChangeClass', 'Player', 'Pickpocket'
 			
-			CLA
 			ACT 'Stand Up': gt 'DH_Quest_NewBeginnings', 'Path of the Pickpocket'
 		
 		else
 			'You wait for the dust to settle a bit...'
 		end
 		
-	end
+	}
 	
 	!! Trickster
 	_shoutHelpCount = 0
-	act 'You could also try calling for help.':
+	$dhDyn['ShoutHelp'] = {
 		_shoutHelpCount += 1
 		if     _shoutHelpCount = 3 and dhCh_Int['Player'] = 1:
 			''
@@ -160,7 +167,6 @@ if $ARGS[0] = 'Alive?':
 			
 			gs 'DH_Classes', 'ChangeClass', 'Player', 'Trickster'
 			
-			CLA
 			ACT 'Stand Up': gt 'DH_Quest_NewBeginnings', 'Path of the Trickster'
 		
 		elseif _shoutHelpCount = 1 and dhCh_Int['Player'] >= 2:
@@ -169,7 +175,6 @@ if $ARGS[0] = 'Alive?':
 			
 			gs 'DH_Classes', 'ChangeClass', 'Player', 'Trickster'
 			
-			CLA
 			ACT 'Stand Up': gt 'DH_Quest_NewBeginnings', 'Path of the Trickster'
 		
 		elseif _shoutHelpCount = 100:
@@ -181,31 +186,50 @@ if $ARGS[0] = 'Alive?':
 			dhCh_Int['Player'] += 1
 			gs 'DH_Classes', 'ChangeClass', 'Player', 'Trickster'
 			
-			CLA
 			ACT 'Stand Up': gt 'DH_Quest_NewBeginnings', 'Path of the Trickster'
 		
 		else
 			'You call for help but get no response.'
 		end
 		
-	end
+	}
+	
+	func('DH_QuestManager', 'DynamicAct', 'Attempt to push the beam.', 'PushBeam')
+	func('DH_QuestManager', 'DynamicAct', 'Wait for the dust to settle.', 'WaitDust')
+	func('DH_QuestManager', 'DynamicAct', 'You could also try calling for help.', 'ShoutHelp')
 end
 
 if $ARGS[0] = 'Path of the Brute':
 	$dhQst_Progress['<<$dhQst_Current>>'] = $ARGS[0]
-	'Your head still aches, but you steel yourself and take a step forward.'
-	'You eventually make it out of the dust and reach a set of metal bars.'
-	'"Is this a... prison? I'm... a prisoner?", you think.'
-	'Absurd! How could a musclehead like you become a prisoner? But that''s how it seems, and looking farther, there are many other prison cells with various figures inside.'
-	'"If only I hadn''t lost my memories!", you cry. Your frustrations only mount as your head begins to pound louder and louder when trying to recall anything.'
-	'Your rage finally hits a breaking point when the pounding drowns out the rest of your thoughts. And without thought there is only instinct.'
-	'Your body moves on its own, grabs the sturdy iron bars in front of you and rips the entire door from its hinges!'
-	''
-	
-	gs 'DH_Classes', 'ChangeClass', 'Player', 'Brute'
-	
-	'You''ve unlocked the Brute class!'
-	
+	func('writeP', 'storyText', 'Your head still aches, but you steel yourself and take a step forward.')
+	func('writes', 'storyText', 'You eventually make it out of the dust and reach a set of metal bars.')
+	func('writes', 'storyText', '"Is this a... prison? I''m a prisoner?"', 'c:orange')
+	func('write',  'storyText', ', you think.')
+	func('writes', 'storyText', 'Absurd! How could a musclehead like you become a prisoner? But that''s how it seems, and looking farther, there are many other prison cells with various figures inside.')
+	func('writes', 'storyText', '"If only I hadn''t lost my memories!"', 'c:orange')
+	func('write',  'storyText', ', you cry. Your frustrations only mount as your head begins to pound louder and louder when trying to recall anything.')
+	func('writes', 'storyText', 'Your rage finally hits a breaking point when the pounding drowns out the rest of your thoughts. And without thought there is only instinct.')
+	func('writes', 'storyText', 'Your body moves on its own, grabs the sturdy iron bars in front of you and rips the entire door from its hinges!')
+	func('writes', 'storyText', 'The sudden weight in your hands clears your mind and you stand, gawking at the prison door you carry.')
+	func('writes', 'storyText', 'After a moment, the shock passes and the influx of strength fades, the door feels heavy and it takes all that you have in order to drop the door away from your feet.')
+	func('writes', 'storyText', 'Exhausted, you can''t help but fall against the bars of your cell to catch your breath.')
+	
+	gs 'DH_Classes', 'ChangeClass', 'Player', 'Beater'
+	
+	func('writeP', 'storyText', 'You''ve unlocked the')
+	func('writes', 'storyText', 'Beater', 'c:red')
+	func('writes', 'storyText', 'class!')
+	
+	func('writeN', 'storyText', 'You''ve unlocked the')
+	func('writes', 'storyText', 'Rage', 'c:red')
+	func('writes', 'storyText', 'meter!')
+	
+	gs 'DH_Classes', 'PrintStatChanges', 'storyText'
+	
+	gs 'DH_QuestManager', 'UpdateStoryCard'
+	func('Screen', 'Update')
+	
+	ACT 'Exit Game': gt 'DH_Main', 'Exit'
 end
 
 

+ 50 - 0
locations/DH_Screen.qsrc

@@ -0,0 +1,50 @@
+# DH_Screen
+
+if lcase($ARGS[0]) = 'init':
+	KILLVAR '$DhScr_TipIds_'
+	DhScr_IdLength = 10
+	$DhScr_IdChars  = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_'
+end
+
+if lcase($ARGS[0]) = 'cleartooltips':
+	KILLVAR '$DhScr_TipIds_'
+end
+
+if lcase($ARGS[0]) = 'tooltip':
+	func('write', $ARGS[1], '<span class="tooltip" title="<<$ARGS[2]>>">')
+end
+
+!! xTooltip = extraTooltip
+!! Enables HTML content and styling
+if lcase($ARGS[0]) = 'xtooltip':
+	!!! Returns xTooltip ID
+	
+	$_F_id = ''
+	
+	_F_i = 0
+	:Loop DH_Screen_xTooltip_GenId
+	if (_F_i < DhScr_IdLength):
+		$_F_id += mid($DhScr_IdChars, rand(1, len($DhScr_IdChars)), 1)
+		
+		_F_i += 1
+		jump 'Loop DH_Screen_xTooltip_GenId'
+	end
+	
+	if (ARRPOS('$DhScr_TipIds_', $_F_id) ! -1):
+		jump 'Loop DH_Screen_xTooltip_GenId'
+	else
+		$DhScr_TipIds_[] = $_F_id
+	end
+	
+	!! Use title as a backup incase CSS and/or JS don''t work
+	func('write', $ARGS[1], '<span class="tooltip" data-tooltip-content="<<$_F_id>>" title="<<$ARGS[2]>>">'
+	
+	$RESULT = $_F_id
+end
+
+if lcase($ARGS[0]) = 'tooltipend':
+	func('write', $ARGS[1], '</span>')
+end
+
+
+--- DH_Screen ------------------------------

+ 224 - 0
locations/DungeonHunter_test.qsrc

@@ -0,0 +1,224 @@
+# DungeonHunter_Inventory
+!! Format for variables is Variable[OwnerInv_ItemType]
+
+if $ARGS[0] = 'Init':
+	$dhInv_ArmorSlots[0] = 'Head'
+	$dhInv_ArmorSlots[1] = 'Suit'
+	$dhInv_ArmorSlots[2] = 'Chest'
+	$dhInv_ArmorSlots[3] = 'Legs'
+	$dhInv_ArmorSlots[4] = 'Gloves'
+	$dhInv_ArmorSlots[5] = 'Feet'
+	$dhInv_ArmorSlots[6] = 'ShoulderL'
+	$dhInv_ArmorSlots[7] = 'ShoulderR'
+	$dhInv_ArmorSlots[8] = 'Cloak'
+	$dhInv_ArmorSlots[9] = 'Wings'
+	$dhInv_ArmorSlots[9] = 'Shield'
+	
+	$dhInv_WeaponSlots[0] = 'MainHand'
+	$dhInv_WeaponSlots[1] = 'Offhand'
+	
+	$dhInv_Inventories[0] = 'Shop'
+	$dhInv_Inventories[1] = 'Player'
+exit
+
+if $ARGS[0] = 'NewInventory':
+	$.owner = $ARGS[1]
+	
+	!! If the inventory already exists, just reset it
+	if ARRPOS($dh_Inventories, $.owner) = -1:
+		gs 'DungeonHunter_Inventory', 'Unequip', $ARGS[1], 'All'
+		gs 'DungeonHunter_Inventory', 'Remove', $ARGS[1], 'All'
+	end 
+	
+	gs 'KILLVARS', '.owner' &!AUTO-GENERATED KILLVARS
+exit
+
+if $ARGS[0] = 'DeleteInventory' and ARRPOS($dh_Inventories, $ARGS[1]) != -1:
+	!! KILLVAR everything
+	$.owner = $ARGS[1]
+		
+	KILLVAR 'dhInv_Armor', ARRPOS($dhInv_Armor, $.owner + 'Inv_Head')
+	
+	_count = 0
+	:loop
+		KILLVAR 'dhInv_Armor', ARRPOS($dhInv_Armor, $.owner + 'Inv_' + dhInv_ArmorSlots[_count])
+		if count < ARRSIZE('$dhInv_ArmorSlots')
+			count += 1
+			jump loop
+		end
+	
+	gs 'KILLVARS', '_count' &!AUTO-GENERATED KILLVARS
+	gs 'KILLVARS', '.owner' &!AUTO-GENERATED KILLVARS
+exit
+
+if $ARGS[0] = 'Equip' and ARRPOS($dh_Inventories, $ARGS[1]) != -1:
+	$.owner = $ARGS[1]
+	$.slot = $ARGS[2]
+	$.name = $ARGS[3]
+	
+			if $.slot = 'Head'			: 
+				gs 'DungeonHunter_Inventory', 'Unequip', 'Head'
+				gs 'DungeonHunter_Armor_' + $.slot, $.owner + 'Inv_' + $.slot, $.name
+				
+	elseif $.slot = 'Suit'			:
+		gs 'DungeonHunter_Inventory', 'Unequip', $.owner, 'Chest'
+		gs 'DungeonHunter_Inventory', 'Unequip', $.owner, 'Legs'
+		gs 'DungeonHunter_Armor_' + $.slot, $.owner + 'Inv_' + $.slot, $.name
+		
+	elseif $.slot = 'Chest'			:
+		gs 'DungeonHunter_Inventory', 'Unequip', $.owner, 'Suit'
+		gs 'DungeonHunter_Armor_' + $.slot, $.owner + 'Inv_' + $.slot, $.name
+		
+	elseif $.slot = 'Legs'			:
+		gs 'DungeonHunter_Inventory', 'Unequip', $.owner, 'Suit'
+		gs 'DungeonHunter_Armor_' + $.slot, $.owner + 'Inv_' + $.slot, $.name
+		
+	elseif $.slot = 'Gloves'		: 
+		gs 'DungeonHunter_Inventory', 'Unequip', $.owner, 'Gloves'
+		gs 'DungeonHunter_Armor_' + $.slot, $.owner + 'Inv_' + $.slot, $.name
+		
+	elseif $.slot = 'Feet'			: 
+		gs 'DungeonHunter_Inventory', 'Unequip', $.owner, 'Feet'
+		gs 'DungeonHunter_Armor_' + $.slot, $.owner + 'Inv_' + $.slot, $.name
+		
+	elseif $.slot = 'ShoulderL'	: 
+		gs 'DungeonHunter_Inventory', 'Unequip', $.owner, 'ShoulderL'
+		gs 'DungeonHunter_Armor_' + $.slot, $.owner + 'Inv_' + $.slot, $.name
+		
+	elseif $.slot = 'ShoulderR'	: 
+		gs 'DungeonHunter_Inventory', 'Unequip', $.owner, 'ShoulderR'
+		gs 'DungeonHunter_Armor_' + $.slot, $.owner + 'Inv_' + $.slot, $.name
+		
+	elseif $.slot = 'Cloak'			: 
+		gs 'DungeonHunter_Inventory', 'Unequip', $.owner, 'Cloak'
+		gs 'DungeonHunter_Armor_' + $.slot, $.owner + 'Inv_' + $.slot, $.name
+		
+	elseif $.slot = 'Wings'			: 
+		gs 'DungeonHunter_Inventory', 'Unequip', $.owner, 'Wings'
+		gs 'DungeonHunter_Armor_' + $.slot, $.owner + 'Inv_' + $.slot, $.name
+		
+	elseif $.slot = 'Shield'		: 
+		!! If the current main weapon is 2 handed, unequip it first
+		if $dh_WeaponHand[$.owner + 'Inv_MainHand'] = 2: 
+			gs 'DungeonHunter_Inventory', 'Unequip', $.owner, 'MainHand'
+		end
+		gs 'DungeonHunter_Inventory', 'Unequip', $.owner, 'Shield'
+		gs 'DungeonHunter_Inventory', 'Unequip', $.owner, 'Offhand'
+		gs 'DungeonHunter_Armor_' + $.slot, $.owner + 'Inv_' + $.slot, $.name
+
+	elseif $.slot = 'MainHand'	:
+		gs 'DungeonHunter_Inventory', 'Unequip', $.owner, 'MainHand'
+		gs 'DungeonHunter_Weapons', $.owner + 'Inv_' + $.slot, $.name
+		
+		!! Check if new main weapon is 2 handed, if so then unequip offhand
+		if $dh_WeaponHand[$.owner + 'Inv_MainHand'] = 2: 
+			gs 'DungeonHunter_Inventory', 'Unequip', $.owner, 'Offhand'
+		end
+		
+	elseif $.slot = 'Offhand'		:
+		!! If the current main weapon is 2 handed, unequip it first
+		if $dh_WeaponHand[$.owner + 'Inv_MainHand'] = 2: 
+			gs 'DungeonHunter_Inventory', 'Unequip', $.owner, 'MainHand'
+		end
+		gs 'DungeonHunter_Inventory', 'Unequip', $.owner, 'Shield'
+		gs 'DungeonHunter_Inventory', 'Unequip', $.owner, 'Offhand'
+		gs 'DungeonHunter_Weapons', $.owner + 'Inv_' + $.slot, $.name
+	end
+	
+	gs 'KILLVARS', '.owner', '.slot', '.name' &!AUTO-GENERATED KILLVARS
+exit
+
+if $ARGS[0] = 'Unequip' and ARRPOS($dh_Inventories, $ARGS[1]) != -1:
+	$.owner = $ARGS[1]
+	$.slot = $ARGS[2]
+	
+			if $.slot = 'All':
+				gs 'DungeonHunter_Inventory', 'Unequip', $.owner, 'Armor'
+				gs 'DungeonHunter_Inventory', 'Unequip', $.owner, 'Weapons'
+		
+	elseif $.slot = 'Armor':
+				gs 'DungeonHunter_Inventory', 'Unequip', $.owner, 'Head'
+				gs 'DungeonHunter_Inventory', 'Unequip', $.owner, 'Torso'
+				gs 'DungeonHunter_Inventory', 'Unequip', $.owner, 'Legs'
+				gs 'DungeonHunter_Inventory', 'Unequip', $.owner, 'Gloves'
+				gs 'DungeonHunter_Inventory', 'Unequip', $.owner, 'Feet'
+				gs 'DungeonHunter_Inventory', 'Unequip', $.owner, 'ShoulderL'
+				gs 'DungeonHunter_Inventory', 'Unequip', $.owner, 'ShoulderR'
+				gs 'DungeonHunter_Inventory', 'Unequip', $.owner, 'Cloak'
+				gs 'DungeonHunter_Inventory', 'Unequip', $.owner, 'Wings'
+				gs 'DungeonHunter_Inventory', 'Unequip', $.owner, 'Shield'
+				
+	elseif $.slot = 'Weapons':
+				gs 'DungeonHunter_Inventory', 'Unequip', $.owner, 'MainHand'
+				gs 'DungeonHunter_Inventory', 'Unequip', $.owner, 'Offhand'
+		
+	elseif ARRPOS($dh_ArmorSlots, $.slot) != -1
+		AND $dhInv_Armor[$.owner + 'Inv_' + $.slot] != 'Empty':
+				!! If the armor slot is already empty, don't bother re-emptying it
+				!! TODO: Take stats away from player stats e.g. resistances
+				!! TODO: Make player stats
+				
+				$dhInv_Armor[$.owner + 'Inv_' + $.slot] = 'Empty'
+				dhInv_ArmorGrade[$.owner+ 'Inv_' + $.slot] = 0
+				dhInv_ArmorValue[$.owner + 'Inv_' + $.slot] = 0
+				dhInv_ArmorDurability[$.owner + 'Inv_' + $.slot] = 0
+				dhInv_ArmorDurabilityMax[$.owner + 'Inv_' + $.slot] = 0
+				dhInv_ArmorResistFire[$.owner + 'Inv_' + $.slot] = 0
+				dhInv_ArmorResistEarth[$.owner + 'Inv_' + $.slot] = 0
+				dhInv_ArmorResistMetal[$.owner + 'Inv_' + $.slot] = 0
+				dhInv_ArmorResistWater[$.owner + 'Inv_' + $.slot] = 0
+				dhInv_ArmorResistWood[$.owner + 'Inv_' + $.slot] = 0
+				dhInv_ArmorEnchantExp[$.owner + 'Inv_' + $.slot] = 0
+		
+	elseif ARRPOS($dh_WeaponSlots, $.owner) != -1
+		AND $dh_P_Weapon[$.owner + 'Inv_' + $.slot] != 'Empty'
+				!! If the weapon slot is already empty, don't bother re-emptying it
+				
+				$dhInv_Weapon[$.owner+ 'Inv_' + $.slot] = 'Empty'
+				$dhInv_WeaponType[$.owner + 'Inv_' + $.slot] = ''
+				dhInv_WeaponHand[$.owner + 'Inv_' + $.slot] = 0
+				dhInv_WeaponDurability[$.owner + 'Inv_' + $.slot] = 0
+				dhInv_WeaponDurabilityMax[$.owner + 'Inv_' + $.slot] = 0
+				dhInv_WeaponDmgMin[$.owner + 'Inv_' + $.slot] = 0
+				dhInv_WeaponDmgMax[$.owner + 'Inv_' + $.slot] = 0
+				dhInv_WeaponDmgFire[$.owner + 'Inv_' + $.slot] = 0
+				dhInv_WeaponDmgEarth[$.owner + 'Inv_' + $.slot] = 0
+				dhInv_WeaponDmgMetal[$.owner + 'Inv_' + $.slot] = 0
+				dhInv_WeaponDmgWater[$.owner+ 'Inv_' + $.slot] = 0
+				dhInv_WeaponDmgWood[$.owner + 'Inv_' + $.slot] = 0
+	end
+	
+	gs 'KILLVARS', '.owner', '.slot' &!AUTO-GENERATED KILLVARS
+exit
+
+if $ARGS[0] = 'AddItem' and ARRPOS($dh_Inventories, $ARGS[1]) != -1:
+	$.owner = $ARGS[1]
+	$.itemType = $ARGS[2]
+	$.itemName = $ARGS[3]
+	$.slotNo = $ARGS[4]
+	
+	gs 'KILLVARS', '.owner', '.itemType', '.itemName', '.slotNo' &!AUTO-GENERATED KILLVARS
+exit
+
+if $ARGS[0] = 'RemoveItem' 	and ARRPOS($dh_Inventories, $ARGS[1]) != -1:
+	$.owner = $ARGS[1]
+	$.itemType = $ARGS[2]
+	$.itemName = $ARGS[3]
+	$.slotNo = $ARGS[4]
+	
+	gs 'KILLVARS', '.owner', '.itemType', '.itemName', '.slotNo' &!AUTO-GENERATED KILLVARS
+exit
+	
+if $ARGS[0] = 'AddMoney' 	and ARRPOS($dh_Inventories, $ARGS[1]) != -1:
+exit
+
+if $ARGS[0] = 'RemoveMoney' and ARRPOS($dh_Inventories, $ARGS[1]) != -1:
+exit
+
+!! TODO: Delete an inventory
+!! TODO: An actual inventory for unequipped armor, weapons, and items
+!! TODO: Each inventory should have a currency associated with it
+	!! Perhaps a special currency as well
+
+--- DungeonHunter_Inventory ---------------------------------
+

+ 1 - 1
locations/EvOtelMan.qsrc

@@ -591,7 +591,7 @@ end
 if $ARGS[0] = 'drugs':
 	cla
 	*clr
-	SNarkPriton = 0
+	if SNarkPriton = 0: SNarkPriton = 1
 	pcs_horny += 100
 	gs 'stat'
 	'<center><img <<$set_imgh>> src="images/locations/pavlovsk/community/disco/event/hotel/snort1.jpg"></center>'

+ 27 - 27
locations/FedorEv.qsrc

@@ -11,25 +11,25 @@ if $ARGS[0] = '' or $ARGS[0] = 'Start':
 	'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/head/<<numnpc>>.jpg"></center>'
 
 	if kotovLoveQW > 0 and week < 5 and kotovVSkozlov = 0 and fedorKozlovQW >= 10:
-	   gt 'FedorEv', 'Vitek Vs Fedor'
+		gt 'FedorEv', 'Vitek Vs Fedor'
 	elseif kotovVSkozlov = 1:
-	   gt 'FedorEv', 'Strela Chat'
+		gt 'FedorEv', 'Strela Chat'
 	elseif FedorvsDimka = 2:
 		gt 'FedorEv4', 'Dimka Aftermath'
 	elseif GorSlut = 1 and fedorkoztalk = 0 and FedorLove = 0:
-	   gt 'FedorEv', 'Gorslut'
+		gt 'FedorEv', 'Gorslut'
 	elseif fedorKozlovQW >= 10 and GorSlut > 1 and FedorLove = 0:
-	   gt 'FedorEv', 'Gorslut 2'
-	 elseif fedorKozlovQW = 10 and FedorLuv < -5:
+		gt 'FedorEv', 'Gorslut 2'
+	elseif fedorKozlovQW = 10 and FedorLuv < -5:
 		gt 'FedorEv2', 'Fedor Breakup'
 	elseif fedorKozlovQW >= 10 and dimaFilm = 1 and FedorvsDimka = 1:
-		gt 'FedorMisc', 'Fedor Vs Dimka'	   
+		gt 'FedorMisc', 'Fedor Vs Dimka'
 	elseif fedorKozlovQW >= 20 and GorSlut < 2 and sub > 0:
-	   gt 'FedorEv', 'Fedor Date 2'
+		gt 'FedorEv', 'Fedor Date 2'
 	elseif fedorKozlovQW >= 20 and GorSlut < 2 and pcs_dom >= 0:
-	   gt 'FedorEv', 'Fedor Date 3'
+		gt 'FedorEv', 'Fedor Date 3'
 	else
-	   gt 'FedorEv', 'Fedor Date'
+		gt 'FedorEv', 'Fedor Date'
 	end
 end	
 
@@ -212,13 +212,13 @@ if $ARGS[0] = 'Fedor Date':
 		act 'Return the hug':gt 'FedorEv', 'Park 3'
 	elseif fedorkozqw = 5:
 		act 'Return the hug':gt 'FedorEv', 'Cinema'
-	end   
+	end
 end
 
 if $ARGS[0] = 'Park':
-   cls
-   gs 'stat'
-   '<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/fedor/fedorev/hold.jpg"></center>'
+	cls
+	gs 'stat'
+	'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/fedor/fedorev/hold.jpg"></center>'
 	'You wrap your arm around Fedor''s neck while enjoying his embrace and after a few moments he asks you "Hey <<$pcs_nickname>>, would you like to go for a walk in the park?"'
 	
 	act 'Sure':
@@ -242,12 +242,12 @@ if $ARGS[0] = 'Park':
 end
 
 if $ARGS[0] = 'Cinema':
-   cls
-   gs 'stat'
-   '<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/fedor/fedorev/hold.jpg"></center>'
-   'You place your arm around Fedor''s neck while enjoying his embrace and after a few moments he says, to you "There is a movie playing in a bit that I''m sure you will love, Would you be up for a good horror?" He then shrugs and sarcastically says, "Buuut if your too scared then we could always pick flowers or something."'
-   
-   if fedorkozqw = 5:
+	cls
+	gs 'stat'
+	'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/fedor/fedorev/hold.jpg"></center>'
+	'You place your arm around Fedor''s neck while enjoying his embrace and after a few moments he says, to you "There is a movie playing in a bit that I''m sure you will love, Would you be up for a good horror?" He then shrugs and sarcastically says, "Buuut if your too scared then we could always pick flowers or something."'
+	
+	if fedorkozqw = 5:
 		act 'Sure, that sounds fun':
 			cls
 			fedorkozqw = 2
@@ -315,11 +315,11 @@ if $ARGS[0] = 'Skate':
 end	
 
 if $ARGS[0] = 'Skate Date':
-   cls
-   gs 'stat'
-   '<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/fedor/fedorev/hold.jpg"></center>'
-   'You place your arm around Fedor''s neck while enjoying his embrace and after a few moments he says, to you "It''s a bit chilly today. Would you like to go ice skating?"'
-	  
+	cls
+	gs 'stat'
+	'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/fedor/fedorev/hold.jpg"></center>'
+	'You place your arm around Fedor''s neck while enjoying his embrace and after a few moments he says, to you "It''s a bit chilly today. Would you like to go ice skating?"'
+	
 	act 'I would love too':
 		cls		
 		fedorkozqw = 4
@@ -384,9 +384,9 @@ if $ARGS[0] = 'Fedor Date 2':
 	
 	placerand = rand(1, 2)
 	
-	if placerand = 0:$place = 'Park 2' & $textEvent = ' "Wanna go for a walk in the park and see what kind of trouble we can get into?"'
-	if placerand = 1:$place = 'Cinema 2' & $textEvent = ' "<<$pcs_nickname>> are you up for another movie?"'
-	if placerand = 2:$place = 'Home 2' & $textEvent = ' "Would you like some "Alone time" at my place?."'
+	if placerand = 0:$place = 'Park 2' & $textEvent = '"Wanna go for a walk in the park and see what kind of trouble we can get into?"'
+	if placerand = 1:$place = 'Cinema 2' & $textEvent = '"<<$pcs_nickname>> are you up for another movie?"'
+	if placerand = 2:$place = 'Home 2' & $textEvent = '"Would you like some "Alone time" at my place?"'
 
 	'You continue to kiss Fedor passionately, neither of you willing to break it off. After what felt like an hour <<$ev_name>> finishes kissing you and suggests: <<$textEvent>>'
 

+ 6 - 6
locations/FedorEv2.qsrc

@@ -167,7 +167,7 @@ if $ARGS[0] = 'Cinema':
 			pcs_mood += 20
 			pcs_willpwr += 20
 			pcs_energy += 20
-			pcs_hydra += 5
+			pcs_hydra += 50
 			cumspclnt = 2
 			gs 'cum_cleanup'
 			pcs_breath = 0				
@@ -192,7 +192,7 @@ if $ARGS[0] = 'Cinema':
 			pcs_willpwr += 20
 			fat += 1
 			pcs_energy += 30
-			pcs_hydra += 5
+			pcs_hydra += 80
 			cumspclnt = 2	
 			gs 'cum_cleanup'
 			pcs_breath = 0				
@@ -386,9 +386,9 @@ if $ARGS[0] = 'Home':
 				cls
 				minut += 5
 				gs'stat'
-				'You tell Fedor that you need to go and he wraps his arms around you, giving you a warm hug as he replies, "I understand, maybe next time." and he walks you home. Fedor fetches your coat and walks you out the door. When you arrive at your apartment, You give Fedor a soft kiss on the cheek. "Until next time." as you give him a wink and close the door.'
 				'<center><video autoplay loop src="images/characters/pavlovsk/school/boy/fedor/fedorev/movies/endbye.mp4"></video></center>'
-				
+				'You tell Fedor that you need to go and he wraps his arms around you, giving you a warm hug as he replies, "I understand, maybe next time." and he walks you home. Fedor fetches your coat and walks you out the door. When you arrive at your apartment, You give Fedor a soft kiss on the cheek. "Until next time." as you give him a wink and close the door.'
+								
 				act 'Go home':gt 'korrPar'
 			end			
 		end		
@@ -591,7 +591,7 @@ if $ARGS[0] = 'Wash Up':
 	end	
 end
 
-if $ARGS[0] =  'Skate':
+if $ARGS[0] = 'Skate':
 	cls
 	minut += 5
 	gs'stat'
@@ -706,7 +706,7 @@ if $ARGS[0] = 'Cafe':
 	act 'Go to class':gt 'gschool_lessons', 'short_break'
 end
 
-if $ARGS[0] =  'Park 2':
+if $ARGS[0] = 'Park 2':
 	cls
 	minut += 15
 	gs'stat'

+ 2 - 2
locations/FedorEv3.qsrc

@@ -38,7 +38,7 @@ if $ARGS[0] = 'Food':
 	pcs_mood += 15
 	pcs_willpwr += 15
 	pcs_energy += 30
-	pcs_hydra += 10
+	pcs_hydra += 50
 	cumspclnt = 2
 	gs 'cum_cleanup'
 	pcs_breath = 0				
@@ -62,7 +62,7 @@ if $ARGS[0] = 'Food 2':
 	pcs_willpwr += 20
 	fat += 2
 	pcs_energy += 60
-	pcs_hydra += 20
+	pcs_hydra += 80
 	cumspclnt = 2
 	gs 'cum_cleanup'
 	pcs_breath = 0				

+ 10 - 3
locations/FedorEv4.qsrc

@@ -142,7 +142,7 @@ if $ARGS[0] =  'Hall Sex':
 				cls
 				gs'stat'
 				'<center><video autoplay loop src="images/characters/pavlovsk/school/boy/fedor/fedorev2/home/hall/sex/hall5.mp4"></video></center>'
-				'After a few seconds Fedor gets up then turns you around, pressing his body against yours as he enters your vagina from behind. Thrusting his dick deep inside you while his hips smack against your ass causing your whole body to bounce against the wall. You continue getting fucked while enjoying the warmth of  Fedor''s body pressing against yours and the feeling of his hot breath on your back while he holds your hips firmly. Fedor whispers in your ear. "I''m ready to cum, How would you like it?"'
+				'After a few seconds Fedor gets up then turns you around, pressing his body against yours as he enters your vagina from behind. Thrusting his dick deep inside you while his hips smack against your ass causing your whole body to bounce against the wall. You continue getting fucked while enjoying the warmth of Fedor''s body pressing against yours and the feeling of his hot breath on your back while he holds your hips firmly. Fedor whispers in your ear. "I''m ready to cum, How would you like it?"'
 				gs 'arousal', 'vaginal', 10, 'sub'
 				gs'stat'
 
@@ -593,6 +593,7 @@ end
 if $ARGS[0] =  'Home 2':
 	cls
 	minut += 5
+	$locclass = 'livingr'
 	gs'stat'
 	'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/fedor/fedorev2/home/sitting.jpg"></center>'
 	'You walk into the living room then take a seat on the couch. Fedor walks into the kitchen and returns with a bowl of <a href="exec:gt ''FedorEv4'', ''Popcorn''">popcorn</a>, some <a href="exec:gt ''FedorEv4'', ''Snacks''">snacks</a> and a few cans of soda then lays them down on the table. Fedor grabs the remote then sits down next to you as he begins flipping through channels.'
@@ -637,7 +638,7 @@ if $ARGS[0] =  'Popcorn':
 	'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/fedor/fedorev2/home/livingroom/munch2.jpg"></center>'
 	'You begin munching on some popcorn and drinking some soda as Fedor continues flipping through channels.'
 
-	act 'Wait for  Fedor to pick a channel':
+	act 'Wait for Fedor to pick a channel':
 		VK = rand(1,4)
 		if VK <= 1:
 			gt 'FedorEv4', 'Movie Family'
@@ -675,7 +676,7 @@ if $ARGS[0] =  'Snacks':
 	'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/fedor/fedorev2/home/livingroom/munch1.jpg"></center>'
 	'You begin enjoyibg some strawberries and drinking soda as Fedor continues flipping through channels.'
 
-	act 'Wait for  Fedor to pick a channel':
+	act 'Wait for Fedor to pick a channel':
 		VK = rand(1,4)
 		if VK <= 1:
 			gt 'FedorEv4', 'Movie Family'
@@ -772,6 +773,7 @@ if $ARGS[0] =  'Home 3':
 		end
 
 		act 'I have a treat for you in the kitchen':
+			$locclass = 'kitr'
 			VK = rand(1,2)
 			if VK <= 1:
 				gt 'FedorEv4', 'Kitchen 1'
@@ -2367,6 +2369,7 @@ if $ARGS[0] = 'Bathroom':
 	$loc = 'FedorEv4'
 	$metkaM = 'Bathroom'
 	$locM = 'FedorEv4'
+	killvar '$locclass'
 	$location_type = 'bathroom'
 	minut += 5
 	gs'stat'
@@ -2501,6 +2504,7 @@ end
 if $ARGS[0] =  'Kitchen':
 	$loc = 'FedorEv4'
 	$metka = 'Kitchen'
+	$locclass = 'kitr'
 	cls
 	if hour >= 20 and hour <= 22 and ReginaIntro = 0:gt 'FedorEv4', 'Regina Intro'
 	minut += 5
@@ -2531,6 +2535,7 @@ end
 if $ARGS[0] =  'Livingroom':
 	cls
 	minut += 5
+	$locclass = 'livingr'
 	gs'stat'
 	'<center><img <<$set_imgh>> src="images/locations/pavlovsk/resident/fedorhome/livingroom.jpg"></center>'
 	'The living room looks very neat and has a couch, a blu-ray player and a <a href="exec:gt ''FedorEv4'', ''TV''">TV</a>.'
@@ -2715,6 +2720,8 @@ if $ARGS[0] =  'Fedor Sleeping':
 		'Fedor then looks back at you and frowns. "<<$pcs_firstname>> you''re hurt. My mother works as a nurse. You should have her take a look at you."'
 	end
 
+	act 'Spend the night':gt 'bed2'
+	
 	act 'Walk away':gt 'FedorEv4', 'Bedroom'
 end
 

+ 20 - 0
locations/Gadbana.qsrc

@@ -100,6 +100,26 @@ if mira = 0:
 	dynamic $wearpan
 	dynamic $basin
 
+	if painkiller > 0:
+		$pluralS = 's'
+		if painkiller = 1:$pluralS = ''
+		'You have <b><<painkiller>></b> painkiller<<$pluralS>>.'
+		if pain['total'] > 0 and pain['killer'] = 0:
+			act 'Take a painkiller':
+				cla
+				pain['killer'] += 1
+				painkiller -= 1
+				pcs_hydra += 20
+				gs 'stat'
+
+				*nl
+				'You take a painkiller and gulp it down with a glass of water.'
+
+				act 'Finish':gt $loc, $metka
+			end
+		end
+	end
+
 	if (cumloc[6] = 1 or cumloc[7] = 1):
 		act 'Rinse the cum stains off your clothes in luke warm water(0:10)':
 			cla

+ 2 - 1
locations/Gaddvor.qsrc

@@ -5,6 +5,7 @@ if $ARGS[0]='':
 	$metka = ''
 	$loc = 'Gaddvor'
 	$location_type = 'public_outdoors'
+	killvar '$locclass'
 	gs 'stat'
 	CLOSE ALL
 	gs 'gadukino_event', 'sound'
@@ -57,7 +58,7 @@ if $ARGS[0]='':
 	
 	if $clothingworntype = 'nude':
 		*nl
-		'You are naked and can only go to your grandparents to get dressed or go to the banya.'
+		'You are naked and can only go into your grandparent''s house to get dressed or go to the banya.'
 	else
 		if feed_chickens = 1 or (hour >= 6 and hour < 20 and month >= 4 and month <= 10):'In the yard there are <a href="exec:gt ''Gaddvor'',''chickens''">chickens</a> running around.'
 

+ 1 - 1
locations/Gadhouse.qsrc

@@ -122,7 +122,7 @@ end
 if $ARGS[0] = 'Main':
 	$metkaM = 'Main'
 	$locM = 'Gadhouse'
-
+	$locclass = 'livingr'
 	*clr
 	cla
 	gs 'stat'

+ 32 - 32
locations/Gadsarai.qsrc

@@ -17,7 +17,7 @@ if $ARGS[0] = '':
 			act 'Push off': minut += 1 & gt 'Gaddvor'
 		else
 			act 'Submit':
-				cls
+				*clr & cla
 				banditknow = RAND(0,1)
 				npc_horny['A66'] = 0
 				'<center><img <<$set_imgh>> src="images/locations/gadukino/village/predoggy.jpg"></center>'
@@ -28,7 +28,7 @@ if $ARGS[0] = '':
 				if banditknow = 1:
 					if pcs_vag = 0:
 						act 'Wait':
-							cls
+							*clr & cla
 							if npc_QW['A66'] < 30:npc_QW['A66'] += 5
 							pcs_vag = 5
 							vgape = 3
@@ -46,11 +46,11 @@ if $ARGS[0] = '':
 							act 'So I more or girl':gt 'Gadsarai'
 						end
 					else
-						cls
+						*clr & cla
 						'<center><img <<$set_imgh>> src="images/beast/bandit/piratvag.jpg"></center>'
 						act 'Wait':
 							if pcs_vag < 10:
-								cls
+								*clr & cla
 								pcs_vag += 5
 								vgape = 3
 								pcs_horny = 0
@@ -67,7 +67,7 @@ if $ARGS[0] = '':
 								gs 'stat'
 								act 'Close':gt 'Gadsarai'
 							elseif pcs_vag >= 10 and pcs_vag < 25:
-								cls
+								*clr & cla
 								pcs_vag += 4
 								vgape = 2
 								gs 'boyStat', 'A66'
@@ -75,7 +75,7 @@ if $ARGS[0] = '':
 								gs 'cum_manage'
 								gs 'stat'
 								if pcs_horny >= 100:
-									cls
+									*clr & cla
 									pcs_mood = 100
 									if pirsG = 1:
 										'<center><img <<$set_imgh>> src="images/beast/bandit/piratvagcumpirs.jpg"></center>'
@@ -102,14 +102,14 @@ if $ARGS[0] = '':
 								end
 								act 'Close':gt 'Gadsarai'
 							elseif pcs_vag >= 25 and pcs_vag < 35:
-								cls
+								*clr & cla
 								pcs_vag += 3
 								gs 'boyStat', 'A66'
 								sexvolume = rand(20,590)
 								gs 'cum_manage'
 								gs 'stat'
 								if pcs_horny >= 100:
-									cls
+									*clr & cla
 									pcs_mood = 100
 									if pirsG = 1:
 										'<center><img <<$set_imgh>> src="images/beast/bandit/piratvagcumpirs.jpg"></center>'
@@ -134,14 +134,14 @@ if $ARGS[0] = '':
 								end
 								act 'Close':gt 'Gadsarai'
 							elseif pcs_vag >= 35:
-								cls
+								*clr & cla
 								pcs_vag += 1
 								gs 'boyStat', 'A66'
 								sexvolume = rand(20,590)
 								gs 'cum_manage'
 								gs 'stat'
 								if pcs_horny >= 100:
-									cls
+									*clr & cla
 									pcs_mood = 100
 									if pirsG = 1:
 										'<center><img <<$set_imgh>> src="images/beast/bandit/piratvagcumpirs.jpg"></center>'
@@ -166,7 +166,7 @@ if $ARGS[0] = '':
 					end
 				else
 					act 'Wait':
-						cls
+						*clr & cla
 						minut += 2
 						pcs_mood = 50
 						sub += RAND(0,1)
@@ -211,7 +211,7 @@ if $ARGS[0] = '':
 							gs 'cum_manage'
 							gs 'stat'
 							if pcs_horny >= 100:
-								cls
+								*clr & cla
 								pcs_mood = 100
 								'<center><img <<$set_imgh>> src="images/beast/bandit/analknotcum.jpg"></center>'
 								'You obediently wait until your dog finds his way to your hole. His tongue is hanging out, panting and snorting loudly over your ear. He begins making fast sharp movements with his hips, and you immediately feel the tip of his cock, with plenty of cock grease, slam through your puckered anus. Each time he thrusts he makes his way deeper and deeper into your ass. There is a little pain, but your starting to moan louder with pleasure as Bandit forces his hard cock into you.'
@@ -239,7 +239,7 @@ if $ARGS[0] = '':
 							gs 'cum_manage'
 							gs 'stat'
 							if pcs_horny >= 100:
-								cls
+								*clr & cla
 								pcs_mood = 100
 								'<center><img <<$set_imgh>> src="images/beast/bandit/analcum.jpg"></center>'
 								'You obediently wait until your dog finds his way to your hole. His tongue is hanging out, panting and snorting loudly over your ear. He begins making fast sharp movements with his hips, and you immediately feel the tip of his cock, with plenty of cock grease, slam through your puckered anus. Each time he thrusts he makes his way deeper and deeper into your ass. There is almost no pain, and your starting to moan louder with animal lust and pleasure as Bandit forces his hard cock into you. You have to stretch both hands on the floor to keep from falling onto the ground, and even begin to grind back against the dog to please him.'
@@ -320,11 +320,11 @@ if $ARGS[0] = '':
 
 		act 'Poke around in the barn':
 			if grigoryEV > 0 and grigory_barn ! daystart and hour > 8 and hour < 12: gt 'grigory', 'barn'
-			cls
+			*clr & cla
 			minut += 15
 			gs 'stat'
 			if vcard = 0:
-				cls
+				*clr & cla
 				if RAND(0,5) >= 4:
 					gs 'stat'
 					'<center><img <<$set_imgh>> src="images/locations/gadukino/village/vcards.jpg"></center>'
@@ -333,11 +333,11 @@ if $ARGS[0] = '':
 					observ_exp += 3
 				else
 					'<center><img <<$set_imgh>> src="images/locations/gadukino/village/junk_barn.jpg"></center>'
-					'In the barn you find many muldy magazines and rusty tools and equipment, toys and many dusty yellowed books. The entire barn reeks of mold and decay.'
+					'In the barn you find many mouldy magazines, rusty tools and equipment, toys and many dusty, yellowed books. The entire barn reeks of mould and decay.'
 				end
 				act 'Leave and get some fresh air':gt 'Gadsarai'
 			elseif findvel = 0:
-				cls
+				*clr & cla
 				if RAND(0,8) >= 7:
 					gs 'stat'
 					'<center><img <<$set_imgh>> src="images/locations/gadukino/village/findbike.jpg"></center>'
@@ -346,11 +346,11 @@ if $ARGS[0] = '':
 					observ_exp += 3
 				else
 					'<center><img <<$set_imgh>> src="images/locations/gadukino/village/junk_barn.jpg"></center>'
-					'In the barn you find old many muldy magazines and rusty tools and equipment, toys and many dusty yellowed books. The entire barn reeks of mold and decay.'
+					'In the barn you find many mouldy magazines, rusty tools and equipment, toys and many dusty, yellowed books. The entire barn reeks of mould and decay.'
 				end
 				act 'Leave and get some fresh air':gt 'Gadsarai'
 			elseif findbag = 0 and bag = 0:
-				cls
+				*clr & cla
 				if RAND(0,10) > 9:
 					findbag = 1
 					observ_exp += 3
@@ -361,16 +361,16 @@ if $ARGS[0] = '':
 					$currentpursetype = 'cheap'
 					currentpursenumber = 5
 					bag = 1
-					if menu_option = 1:dynamic $menu_addoldmenu
+					if menu_option = 1:gs 'obj_din', 'old'
 					if menu_option = 0:gs 'obj_din', 'new'
 					'You can use this cool looking bag as a handbag.'
 				else
 					'<center><img <<$set_imgh>> src="images/locations/gadukino/village/junk_barn.jpg"></center>'
-					'In the barn you find old many muldy magazines and rusty tools and equipment, toys and many dusty yellowed books. The entire barn reeks of mold and decay'
+					'In the barn you find many mouldy magazines, rusty tools and equipment, toys and many dusty, yellowed books. The entire barn reeks of mould and decay.'
 				end
 				act 'Leave and get some fresh air':gt 'Gadsarai'
 			elseif findbraclet = 0:
-				cls
+				*clr & cla
 				if RAND(0,15) >= 14:
 					gs 'stat'
 					'<center><img <<$set_imgh>> src="images/locations/gadukino/village/bracelet.jpg"></center>'
@@ -379,11 +379,11 @@ if $ARGS[0] = '':
 					observ_exp += 3
 				else
 					'<center><img <<$set_imgh>> src="images/locations/gadukino/village/junk_barn.jpg"></center>'
-					'In the barn you find old many muldy magazines and rusty tools and equipment, toys and many dusty yellowed books. The entire barn reeks of mold and decay.'
+					'In the barn you find many mouldy magazines, rusty tools and equipment, toys and many dusty, yellowed books. The entire barn reeks of mould and decay.'
 				end
 				act 'Leave and get some fresh air':gt 'Gadsarai'
 			elseif findbraclet > 0 and findneck = 0:
-				cls
+				*clr & cla
 				if RAND(0,20) >= 19:
 					gs 'stat'
 					'<center><img <<$set_imgh>> src="images/locations/gadukino/village/necklace.jpg"></center>'
@@ -395,15 +395,15 @@ if $ARGS[0] = '':
 					findneck = 1
 					observ_exp += 3
 				else
-					cls
+					*clr & cla
 					gs 'stat'
 					'<center><img <<$set_imgh>> src="images/locations/gadukino/village/junk_barn.jpg"></center>'
-					'In the barn you find old many muldy magazines and rusty tools and equipment, toys and many dusty yellowed books. The entire barn reeks of mold and decay.'
+					'In the barn you find many mouldy magazines, rusty tools and equipment, toys and many dusty, yellowed books. The entire barn reeks of mould and decay.'
 				end
 				act 'Leave and get some fresh air':gt 'Gadsarai'
 			else
 				'<center><img <<$set_imgh>> src="images/locations/gadukino/village/junk_barn.jpg"></center>'
-				'In the barn you find old many muldy magazines and rusty tools and equipment, toys and many dusty yellowed books. The entire barn reeks of mold and decay.'
+					'In the barn you find many mouldy magazines, rusty tools and equipment, toys and many dusty, yellowed books. The entire barn reeks of mould and decay.'
 				act 'Leave and get some fresh air':gt 'Gadsarai'
 			end
 		end
@@ -433,7 +433,7 @@ end
 
 !125s
 if $ARGS[0] = 'boar':
-	cls
+	*clr & cla
 	minut += 1
 	gs 'stat'
 
@@ -461,7 +461,7 @@ if $ARGS[0] = 'boar':
 end
 
 if $ARGS[0] = 'cow':
-	cls
+	*clr & cla
 	minut += 1
 	gs 'stat'
 
@@ -523,7 +523,7 @@ if $ARGS[0] = 'cow':
 end
 
 if $ARGS[0] = 'horse':
-	cls
+	*clr & cla
 	minut += 1
 	gs 'stat'
 
@@ -600,7 +600,7 @@ if $ARGS[0] = 'horse':
 end
 
 if $ARGS[0] = 'mira_dog':
-	cls
+	*clr & cla
 	minut += 5
 	gs 'stat'
 
@@ -629,7 +629,7 @@ end
 ! this is in memory of the untimely deceased Bandit(((
 !{
 if know_no_bandit = 0:
-	cls
+	*clr & cla
 	minut += 60
 	know_no_bandit = 1
 	gs'stat'

+ 1 - 1
locations/HanterLoveSex.qsrc

@@ -3463,7 +3463,7 @@ if $ARGS[0] = 'din_hanters_bj10':
 	pcs_throat += 1
 	hanters_bj_times += 1
 	'<center><H4>Hut</H4></center>'
-	'<center><img <<$set_imgh>> src="images/shared/sex/blowjob/kotovbj10'+rand(0,3)+'.mp4"></center>'
+	'<center><video autoplay loop src="images/shared/sex/blowjob/kotovbj1'+rand(0,3)+'.mp4"></video></center>'
 	*pl
 	h = rand(1,3)
 	'You obey him and fully relax your throat. <<$boydesc>>  begins to move his cock, plunging deeper into your asophagus. You choke and barely keep yourself from vomiting all over his meaty schlong. You can feel the head of his cock resting at the back of your mouth and you do your best to swallow it down, squeezing it with the muscles in your throat.'

+ 20 - 17
locations/HotelHole.qsrc

@@ -115,26 +115,19 @@ end
 'As you enter the Pavlovsk hotel you''re always surprised by how fancy it looks on the inside, given the shabby exterior. You can approach the <a href="exec:minut += 1 & GT ''hotel_resep''">reception desk</a> of the hotel where a cute brunette is currently manning the desk, she gives you a friendly nod when you get into her sight range.'
 if hour >= 12 and hour < 20 and proshotelopen = 1: '<a href="exec:gt ''HotelHole'',''Pavlin''">Pavlin</a> is sitting in the lobby looking around for fresh prey.'
 
-
-
 if hour >= 12 and hour <= 13 and GermanQW > 0:
 	'Next to the reception desk, you see a door labeled <a href="exec:minut += 1 & GT ''hoteladmin''">"Administration"</a>. That must be where the hotel manager works. The door is currently open.'
 end
+
 if hotwait = 1:
 'You go sit in one of the comfortable chairs in the lobby and watch the guests checking in an out.'
 hotwait = 0
 end
-if maidqw >= 1 and hour >= 15 and hour < 16:
-	act'Wait in the lobby until you can start your maid job':
-		hour = 16
-		minut = 0
-		cls
-		gs'stat'
-		gt 'HotelHole'
-	end
-end
+
+act 'Leave the hotel':minut += 3 & gt'vokzalG'
+
 if maidqw >= 1 and hour >= 16 and hour < 17:
-	act'Work as a maid':
+	act'<b>Work as a maid</b>':
 		cls
 		gs'stat'
 		'You report in for work at the front desk. The brunette manning the desk quickly makes sure no customers will need her for a minute, and then guides you to the locker room and gives you a maid uniform. She gives you a friendly smile: "You need to wear this, company policy. You can put your own clothes in a locker for safekeeping while you work. I have to get back to the desk now before I''m missed, good luck today!"'
@@ -149,9 +142,17 @@ if maidqw >= 1 and hour >= 16 and hour < 17:
 		end
 	end
 end
-if hotelcouple = 2 and week=4 and hour >=20 and hour <23 and hcday ! daystart:
-	act 'Go visit the couple in room 207':gt 'HotelWork','hotcouple'
+
+if maidqw >= 1 and hour >= 15 and hour < 16:
+	act'Wait in the lobby until you can start your maid job':
+		hour = 16
+		minut = 0
+		cls
+		gs'stat'
+		gt 'HotelHole'
+	end
 end
+
 if maidtime > 0:
 	act'Collect your salary':
 		hotelcollect = 1
@@ -159,6 +160,10 @@ if maidtime > 0:
 	end
 end
 
+if hotelcouple = 2 and week=4 and hour >=20 and hour <23 and hcday ! daystart:
+	act 'Go visit the couple in room 207':gt 'HotelWork','hotcouple'
+end
+
 if HotelRoom > 0:
 	act 'Go to your room':
 		if hotelroom = 1:gt'hotelroom','normal'
@@ -167,14 +172,12 @@ if HotelRoom > 0:
 	end
 end
 
-act 'Kill some time in the hotel lobby ':
+act 'Kill some time in the hotel lobby':
 	gs 'obj_din', 'rest'
 	hotwait = 1
 	gt 'hotelhole'
 end
 
-act 'Leave the hotel':minut += 3 & gt'vokzalG'
-
 if $ARGS[0] = 'Pavlin' :
 	cls
 	'<center><img <<$set_imgh>> src="images/characters/pavlovsk/Pavlin/Pavlin.jpg"></center>'

+ 28 - 26
locations/HotelWork.qsrc

@@ -26,7 +26,7 @@ if $ARGS[0] = 'hotcouple':
 		pcs_mood +=10
 		gs 'arousal', 'massage', 10
 		'<center><img <<$set_imgh>> src="images/locations/pavlovsk/hotel/sex/hotcouple2.jpg"></center>'
-		'" You can just relax. We will take good care of you" he says.'
+		'"You can just relax. We will take good care of you" he says.'
 		'He pushes you on the bed and Uliana places her head between your legs. She starts licking your clit. '
 		'You can feel this is not her first rodeo so you close your eyes and start enjoying the feeling.'
 		gs 'arousal', 'cuni', 10, 'lesbian'
@@ -53,26 +53,26 @@ if $ARGS[0] = 'hotcouple':
 			gs 'npcgeneratec', 0, 'Motya', rand(30,40)
 			gs 'stat'
 			if pcs_vag = 0:
-				'When she reached your hymen she yelled out : " Oh My God, she is still a virgin!"'
+				'When she reached your hymen she yelled out: "Oh my god, she is still a virgin!"'
 				'"How about it honey, do you want my husband to be your first?"'
 				act 'No, I want to save myself.':
 					*clr & cla
 					gs'stat'
-					'" no problem honey , this evening is all about what you want." '
-					'"Do you want him to come all over your face? " '
-					'-"Yeah sure, that is fine"'
-					'You lay down on your back'
-					act 'finish':gt 'HotelWork', 'hotcoupfin'
+					'"No problem honey, this evening is all about what you want."'
+					'"Do you want him to come all over your face?"'
+					'"Yeah sure, that is fine."'
+					'You lay down on your back.'
+					act 'Finish':gt 'HotelWork', 'hotcoupfin'
 				end
-				act 'yes' :
+				act 'Yes' :
 					*clr & cla
 					gs'stat'
 					'You lie down on the bed and spread your legs. Uliana takes Motya''s cock in her hand and guides it towards your pussy.'
-					'" Just relax Honey, he will be very gentle." she said while giving you a little smile.'
+					'"Just relax Honey, he will be very gentle." she said while giving you a little smile.'
 					'<left><img <<$set_imgh>> src="images/locations/pavlovsk/hotel/sex/hotcouple6.jpg"></left>'
 					'Motya began pressing his dick into your pussy. he was slow and careful not to push too hard.'
 					'You let out a little moan as the dick had slowly but surely invaded your pussy.'
-					'His shaft sank in deeper and suddenly you let out a little grunt and twitch. You looked into Motya''s eyes and you both knew that your virginity was no more. '
+					'His shaft sank in deeper and suddenly you let out a little grunt and twitch. You looked into Motya''s eyes and you both knew that your virginity was no more.'
 					'You could feel every inch of his <<dick>> cm dick inside you now. He gave you a little wink and then started moving again.'
 					'While he was fucking you Uliana gently rubbed against your clit while kissing her husband.'
 					'After a few minutes you all changed positions.'
@@ -138,7 +138,7 @@ if $ARGS[0] = 'firsthotelprosevent':
 	gs 'arousal', 'bj', 10, 'prostitution'
 	gs 'arousal', 'end'
 	gs 'stat'
-	act 'On to the main event.':
+	act 'On to the main event':
 		*clr & cla
 		gs 'npcgeneratec', 0, 'Black guy', rand(18,40)
 		gs 'boyStat', $npclastgenerated
@@ -466,7 +466,7 @@ if $ARGS[0] = 'maid':
 				if maidstat >= 50 and maidstat<70:'You are pretty good at cleaning rooms, and the room looks quite clean when you''re done with it. There are still some small wrinkles in the bed sheets, but it''s nothing a guest would complain about.'
 				if maidstat >= 70:'You''re a very experienced maid by now. You know how to clean up all sorts of spots and stains with ease, and the bed sheets look perfect when you do them.'
 				
-				if chai > 0:money += chai & 'While you''re cleaning the room, you find some money underneath a pillow. Looks like someone left you a <<chai>> ruble tip!' & chai=0
+				if chai > 0:money += chai & 'While you''re cleaning the room, you find some money underneath a pillow. Looks like someone left you a <<chai>> <b>₽</b> tip!' & chai=0
 
 				act'Continue':gt 'hotelwork', 'maid'
 			end
@@ -555,7 +555,7 @@ if $ARGS[0] = 'maid':
 				'<center><img <<$set_imgh>> src="images/locations/pavlovsk/hotel/work/maid.work1,0.jpg"></center>'
 				'You work in the hotel restaurant, moving dirty dishes to the kitchen and preparing tables for the next guests.'
 				
-				if chai > 0:money += chai &'While you move to pick up a tray, you find some money tucked under a plate. Looks like someone left you a <<chai>> ruble tip!'&chai=0
+				if chai > 0:money += chai &'While you move to pick up a tray, you find some money tucked under a plate. Looks like someone left you a <<chai>> <b>₽</b> tip!'&chai=0
 
 				act'Continue':gt 'hotelwork', 'maid'
 			end
@@ -693,7 +693,6 @@ if $ARGS[0] = 'maid':
 						act'Continue':gt'hotelwork','maid'
 					end
 				else
-
 					act'Keep walking':gt'hotelwork','maid'
 				end
 			end
@@ -703,6 +702,8 @@ if $ARGS[0] = 'maid':
 				gs 'arousal', 'voyeur', 10
 				gs 'stat'
 
+				act'Get back to work':gt'hotelwork','maid'
+				
 				act'Watch them for a while':
 					cla
 					'Making sure you don''t make a sound, you put your things away and watch them for a while, softly fondling yourself through your clothes. It feels great, and the couple on the bed look like they''re having a great time as well. Even though you want to keep watching them, you realize you have to get back to work before you''re missed.'
@@ -712,8 +713,6 @@ if $ARGS[0] = 'maid':
 					gs 'stat'
 					act'Get back to work':gt'hotelwork','maid'
 				end
-
-				act'Get back to work':gt'hotelwork','maid'
 			end
 			if maidrand>85 and maidrand<=95:
 				'<center><img <<$set_imgh>> src="images/locations/pavlovsk/hotel/sex/maid.event3,'+rand(0,7)+'.jpg"></center>'
@@ -721,6 +720,8 @@ if $ARGS[0] = 'maid':
 				gs 'arousal', 'voyeur', 10
 				gs 'stat'
 
+				act'Get back to work':gt'hotelwork','maid'
+				
 				act'Watch them for a while':
 					cla
 					'You decide to watch them for a while longer, and idly begin to fondle yourself through your clothes. The men are quite demanding, commanding the girl around like she''s their plaything. They continuously talk her down, using degrading language. She obediently does everything they order her to do, but gets spanked once when she''s not quick enough. In the corner of the room, you see some coils of rope and several cuffs sticking out of an opened bag. It looks like she''s in for a long night...'
@@ -731,8 +732,6 @@ if $ARGS[0] = 'maid':
 					gs 'stat'
 					act'Get back to work':gt'hotelwork','maid'
 				end
-
-				act'Get back to work':gt'hotelwork','maid'
 			end
 			if maidrand>95 and maidrand<=100:
 				'<center><img <<$set_imgh>> src="images/locations/pavlovsk/hotel/sex/maid.event4,'+rand(0,6)+'.jpg"></center>'
@@ -740,6 +739,8 @@ if $ARGS[0] = 'maid':
 				gs 'arousal', 'voyeur', 10
 				gs 'stat'
 
+				act'Get back to work':gt'hotelwork','maid'
+				
 				act'Watch them for a while':
 					cla
 					'You decide to watch them for a while longer, and idly begin to fondle yourself through your clothes. You notice they''re quite rough with the girl, and sometimes she''s struggling a bit. Should you say something to the manager? Then again... how would you explain watching them? You decide against it, figuring the girl will probably be okay.'
@@ -749,14 +750,15 @@ if $ARGS[0] = 'maid':
 
 					act'Get back to work':gt'hotelwork','maid'
 				end
-
-				act'Get back to work':gt'hotelwork','maid'
 			end
 			if maidrand >100 and maidrand<=110:
 				'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/girl/sonia/sex/hotel/sonia.hotel.boy0,'+rand(0,4)+'.jpg"></center>'
 				'You open the door to the next room, and immediately freeze in place when you hear gagging sounds coming from inside. Curious as you are, you decide to sneak a peek and see what''s happening in the room. When you look around the corner, you see a girl giving a guy an enthusiastic blowjob, happily gagging on his cock while she tries to take it down her throat over and over. Wait a minute... that''s Sonia, from your class!'
 				gs 'arousal', 'voyeur', 5
 				gs 'stat'
+				
+				act'Get back to work':gt'hotelwork','maid'
+				
 				if rand1<=60:
 
 					act'Keep watching':
@@ -791,8 +793,6 @@ if $ARGS[0] = 'maid':
 						end
 					end
 				end
-
-				act'Get back to work':gt'hotelwork','maid'
 			end
 
 			if maidrand >110 and maidrand<=120:
@@ -801,6 +801,9 @@ if $ARGS[0] = 'maid':
 				'She adjusts her strategy, diligently sucking the head of his cock and licking his balls instead.'
 				gs 'arousal', 'voyeur', 10
 				gs 'stat'
+				
+				act'Get back to work':gt'hotelwork','maid'
+				
 				if rand1<=60:
 
 					act'Keep watching':
@@ -835,8 +838,6 @@ if $ARGS[0] = 'maid':
 						end
 					end
 				end
-
-				act'Get back to work':gt'hotelwork','maid'
 			end
 
 			if maidrand >120 and maidrand<=130:
@@ -844,6 +845,9 @@ if $ARGS[0] = 'maid':
 				'You open the door to the next room, and immediately freeze in place when you hear gagging sounds coming from inside. Curious as you are, you decide to sneak a peek and see what''s happening in the room. When you look around the corner, you see Sonia with not one, but two huge black guys. She''s happily sucking their enormous dicks in turn, massaging the one she doesn''t currently have in her mouth with her delicate fingers.'
 				gs 'arousal', 'voyeur', 10
 				gs 'stat'
+				
+				act'Get back to work':gt'hotelwork','maid'
+				
 				if rand1<=60:
 
 					act'Keep watching':
@@ -877,8 +881,6 @@ if $ARGS[0] = 'maid':
 						end
 					end
 				end
-
-				act'Get back to work':gt'hotelwork','maid'
 			end
 		end
 	end

+ 8 - 11
locations/IgorEv.qsrc

@@ -77,9 +77,6 @@ $location_type = 'event'
 	! walk, movie
 if $ARGS[0] = '': gt 'igorhome', 'Chat'
 
-
-
-
 if $ARGS[0] = 'Movies':
 	act 'Walk to the theater':
 		cls
@@ -362,7 +359,7 @@ if $ARGS[0] = 'strap on':
 			*clr & cla
 			'<center><video autoplay loop src="images/characters/pavlovsk/school/boy/igor/namek.mp4"></video></center>'
 			'You start stroking the strap-on through the dress saying "I have a surprise for you." to Igor.'
-			'"Oh?  What is it?" he eagerly asks awaiting your answer.'
+			'"Oh? What is it?" he eagerly asks awaiting your answer.'
 			act 'Show him the strap-on':
 				*clr & cla
 				igor_net += 1
@@ -945,7 +942,7 @@ if $ARGS[0] = 'caught':
 					'You go for a walk in the park. Igor is very scared, leaning onto you, holding your hand. You were both constantly looking around, fearing seeing someone you know.'
 					'"Igor, please, calm down! You are drawing attention to yourself acting this way. Just act like you are enjoying yourself and no one will notice." you tell him as you hold his hand.'
 					'"It does not work! I swear it looks like everyone is staring at me all the time. I am so screwed!" he said while shivering nervously.'
-					'"Don''t worry.  No one has recognized you yet, no one suspects you of being a boy." you reassure him.'
+					'"Don''t worry. No one has recognized you yet, no one suspects you of being a boy." you reassure him.'
 					act 'Continue walking':
 						*clr & cla
 						'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/igor/crossdress/progulka_3.jpg"></center>'
@@ -1008,7 +1005,7 @@ if $ARGS[0] = 'walk':
 					'You go for a walk in the park. Igor is very scared, leaning onto you, holding your hand. You were both constantly looking around, fearing seeing someone you know.'
 					'"Igor, please, calm down! You are drawing attention to yourself acting this way. Just act like you are enjoying yourself and no one will notice." you tell him as you hold his hand.'
 					'"It does not work! I swear it looks like everyone is staring at me all the time. I am so screwed!" he said while shivering nervously.'
-					'"Don''t worry.  No one has recognized you yet, no one suspects you of being a boy." you reassure him.'
+					'"Don''t worry. No one has recognized you yet, no one suspects you of being a boy." you reassure him.'
 					act 'Continue walking':
 						*clr & cla
 						'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/igor/crossdress/progulka_3.jpg"></center>'
@@ -1109,8 +1106,8 @@ if $ARGS[0] = 'walk':
 					'He nods a bit. "I better get changed before my parents get home." With that he goes and changes back into his boy clothes.'
 					act 'Finish': gt 'igorhome', 'igorroom'
 				end
-				if rand(1,100) <= 20:
-					if igor_DimaNos = 0 or igor_DimaNos = 3:
+				if rand(1,100) <= 25:
+					if igor_DimaNos = 0 or igor_DimaNos = 1:
 						cla
 						act 'Dimka': gt 'IgorEv', 'Dimka'
 					end
@@ -1148,7 +1145,7 @@ if $ARGS[0] = 'Dimka':
 				'"Hi." Igor said timidly, trying to make his voice sound like a girls.'
 				'"My name is Dimka and you are?" said Dimka and extended his hand to Igor.'
 				'"Uh... I... I''m Diana." said Igor, reaching out to take Dimka''s extended hand. It''s very noticeable that he''s very nervous.'
-				'"What a beautiful name." said Dimka, kissing Diana''s  hand.'
+				'"What a beautiful name." said Dimka, kissing Diana''s hand.'
 				'Igor jumped slightly as Dimka''s lips touched his hand.'
 				'"Will you lovely ladies keep me company? Let me buy you two a beer!" asked a grinning Dimka.'
 				act 'Decline his invitation':
@@ -1160,7 +1157,7 @@ if $ARGS[0] = 'Dimka':
 						'<center><b><font color = maroon>Entrance hall</font></b></center>'
 						'<center><img <<$set_imgh>> src="images/locations/pavlovsk/resident/igorhome/kor.jpg"></center>'
 						'You return to Igor''s home. As soon as you close the door you ask Igor what he thought about the walk today?'
-						'"Well... fuck... it was great until Dimka showed up!" he said with a genuine tremor in his voice. "That was Dimka! If he had recognized me it would have been... that entire situation was beyond fucked up!  Sorry <<$pcs_nickname>>, but I can''t risk wearing these lovely outfits and go walking with you any more!"'
+						'"Well... fuck... it was great until Dimka showed up!" he said with a genuine tremor in his voice. "That was Dimka! If he had recognized me it would have been... that entire situation was beyond fucked up! Sorry <<$pcs_nickname>>, but I can''t risk wearing these lovely outfits and go walking with you any more!"'
 						'"Come on, Diana," you tease Igor by calling his by his female name. "Don''t worry, he didn''t recognize you." You drag him into his sisters room and to her full length mirror. "Look at yourself, what do you see? All I see is a beautiful young woman, not a boy in drag. Dimka see''s the same thing."'
 						'He sighs and looks at the mirror but after a moment he can''t help but smile. "Yeah ok, I look hot, way hotter than you." he says jokingly.'
 						'You hip check him. "Very funny, but seriously if Dimka, your best friend didn''t reconize you then no one will."'
@@ -1392,7 +1389,7 @@ if $ARGS[0] = 'Ask about Dianas date':
 												act 'Keep listening':
 													*clr & cla
 													'<center><video autoplay loop src="images/characters/pavlovsk/school/boy/igor/dimanos/medlyak.mp4"></video></center>'
-													'"Then he hugged me and we began to dance.  He was still complimenting me, saying that this was the best date he had ever been on."'
+													'"Then he hugged me and we began to dance. He was still complimenting me, saying that this was the best date he had ever been on."'
 													act 'Keep listening':
 														*clr & cla
 														'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/igor/dimanos/krovat.jpg"></center>'

+ 1 - 0
locations/IrinaRoom.qsrc

@@ -67,6 +67,7 @@ if $ARGS[0] = 'first1':
 	else
 		pcs_hydra -= 10
 	end
+	$locclass = 'kitr'
 	gs 'stat'
 	'<center><img <<$set_imgh>> src="images/characters/city/ira/irinaqw.jpg"></center>'
 	'You and Ira settle in the kitchen with a bottle of wine and some fruits, you talk and chat merrily.'

+ 33 - 25
locations/Komp.qsrc

@@ -42,8 +42,11 @@ if $ARGS[0] = 'brows':
 		'<center><b>Browser</b></center>'
 		'<center><img <<$set_imgh>> src="images/shared/accessories/computer/eror.jpg"></center>'
 		'You have no prepaid internet access remaining. You need to buy more, before you can go online again.'
+		if camwhore = 1:
+			'Since MyFreeCams will cover the cost, you can still log on to do a cam show.'
+			act 'Go to MyFreeCams.org':gt 'Komp', 'mfc'
+		end
 	else
-
 		'<center><img <<$set_imgh>> src="images/shared/accessories/computer/komp.jpg"></center>'
 		'You go to your favourite start page, while you try to decide on what you want to see right now.'
 
@@ -64,8 +67,7 @@ if $ARGS[0] = 'brows':
 
 		act 'Search for cable TV services (1:00)':gt 'Komp', 'kabtv'
 		act 'Play an online game':gt 'KGstart'
-		act 'Play Dungeon Hunter': gt 'DH_Main'
-		
+		act 'Play Dungeon Hunter':gt 'DH_Main'
 		if bankAccount > 0: act 'Visit your bank, maybe to purchase more online time': gt 'Komp', 'bank'
 
 		if shantfoto > 0:act 'Find the girl you took photos of in the park on "Assbook"':gt 'Komp', 'foto'
@@ -452,7 +454,7 @@ if $ARGS[0] = 'rabota':
 			if hour < 20 and hour > 7:act 'Search for more jobs':gt 'Komp', 'rabota'
 
 			act 'Leave this website':gt 'Komp', 'brows'
-		elseif komprabota > 4 and komprabota < 8 and pcs_intel >= 50 and camwhore = 0:
+		elseif komprabota > 4 and komprabota < 8 and camwhore = 0:
 			'You find a job vacancy, on a legit looking website. It reads: "Wanted! Webcam models. Flexible working hours. Click for more info."'
 			act 'Gather more information':
 				cls
@@ -461,29 +463,34 @@ if $ARGS[0] = 'rabota':
 				'<center><img <<$set_imgh>> src="images/shared/accessories/computer/camwhore1.jpg"></center>'
 				'You click the button and get taken to the full job description.'
 				'<i>For this job, you will have to expose your body in front of customers, fulfilling their wishes. Payment is completely based on a tip system: customers on the website can buy tokens, which they can use to tip girls they enjoy watching.'
-				'How much money you make is up to you: the better you are at attracting viewers, and the more you are willing to do to please them, the more likely they will be to tip you.'
+				'The website will cover all costs during your shows. But how much money you make is up to you: the better you are at attracting viewers, and the more you are willing to do to please them, the more likely they will be to tip you.'
 				'After a quick verification, you usually get paid immediately after a session ends. The tokens you earn will be converted to rubles, and paid to your bank account right away.'
 				'The website hides your stream for viewers from your region, so the chance of being recognized by someone you know in real life is very low.'
 				'If you''re interested in becoming a webcam girl, please fill in this questionnaire below.</i>'
-
-				act 'Fill in the questionnaire':
-					cls
-					camwhore = 1
-					mfcclients = 0
-					camclients = 0
-					mfccum = 0
-					minut += 20
-					gs 'stat'
-					'<center><img <<$set_imgh>> src="images/shared/accessories/computer/camwhore2.jpg"></center>'
-					'You fill out the questionnaire and register yourself as a webcam model. Ten minutes later, you have already been approved and you can now earn money as a webcam girl.'
-					'Of course, you will need a functioning webcam to do this! If you don''t have one yet, they are fairly cheap to buy at most local supermarket chains.'
+				
+				if pcs_inhib >= 50 or exhibitionist_lvl > 1 or (pcs_inhib >= 40 and exhibitionist_lvl > 0):
+					act 'Fill in the questionnaire':
+						cls
+						camwhore = 1
+						mfcclients = 0
+						camclients = 0
+						mfccum = 0
+						minut += 20
+						gs 'stat'
+						'<center><img <<$set_imgh>> src="images/shared/accessories/computer/camwhore2.jpg"></center>'
+						'You fill out the questionnaire and register yourself as a webcam model. Ten minutes later, you have already been approved and you can now earn money as a webcam girl.'
+						'Of course, you will need a functioning webcam to do this! If you don''t have one yet, they are fairly cheap to buy at most local supermarket chains.'
+						act 'Leave this website':gt 'Komp','brows'
+					end
 					act 'Leave this website':gt 'Komp','brows'
+				else
+					''
+					'You don''t feel comfortable showing of your body.'
 				end
+
+				if hour < 20 and hour > 7:act 'Search for more jobs':gt 'Komp','rabota'
 				act 'Leave this website':gt 'Komp','brows'
 			end
-
-			if hour < 20 and hour > 7:act 'Search for more jobs':gt 'Komp','rabota'
-			act 'Leave this website':gt 'Komp','brows'
 		else
 			'Unfortunately, you do not find any jobs you would consider doing.'
 
@@ -645,7 +652,7 @@ if $ARGS[0] = 'startpagemfc':
 		gs 'stat'
 		'While you sit in your chair, you can''t help but wince every time you move. You want to put up a show, but it hurts too much. And besides... you doubt your viewers would want to see you in your current state! You should heal up a bit before trying again.'
 		act 'Collect your earnings and leave':
-			karta += tokens/2
+			karta += tokens * 2
 			gt 'Komp','mfc'
 		end
 	else
@@ -655,13 +662,14 @@ if $ARGS[0] = 'startpagemfc':
 		'You casually chat with the <<camclients>> visitors currently in your chatroom. Once you turn on your webcam, things will probably get busier.'
 		act 'Turn on your webcam':gt 'komp','waitclients'
 		act 'Collect your earnings and leave':
-			karta += tokens/2
+			karta += tokens * 2
 			gt 'Komp','mfc'
 		end
 	end
 end
 
 if $ARGS[0] = 'waitclients':
+	gs'family'
 	cls
 	minut += RAND(1,4)
 	if mfccum > 0: mfcdaycum = daystart
@@ -970,7 +978,7 @@ if $ARGS[0] = 'waitclients':
 		'<center><img <<$set_imgh>> src="images/shared/accessories/computer/camwhore6.jpg"></center>'
 	end
 
-	tokenpay = tokens / 2
+	tokenpay = tokens * 2
 	'You take a moment of rest, and just chat casually with your <<camclients>> visitors.'
 	'You have earned <<tokens>> tokens so far this session, which amounts to <<tokenpay>> <b>₽</b>.'
 
@@ -1442,7 +1450,7 @@ if $ARGS[0] = 'waitclients':
 				pcs_mood = 100
 				gs 'stat'
 				$orgasm_or = 'custom'
-				$orgasm_txt = 'It feels too good to stop! Before you know it, your fingers are repeatedly penetrating your ass and you moan excitedly, barely keeping yourself from screaming. You just had an anal orgasm in front of  <<camclients>> users, completely free of charge! Oops...'
+				$orgasm_txt = 'It feels too good to stop! Before you know it, your fingers are repeatedly penetrating your ass and you moan excitedly, barely keeping yourself from screaming. You just had an anal orgasm in front of <<camclients>> users, completely free of charge! Oops...'
 				gs 'stat'
 			end
 			act'Continue':gt'Komp','waitclients'
@@ -1482,7 +1490,7 @@ if $ARGS[0] = 'waitclients':
 		cls
 		topmfc = 1
 		backmfc = 1
-		karta += tokens/2
+		karta += tokens * 2
 		gs 'stat'
 		'<center><img <<$set_imgh>> src="images/shared/accessories/computer/camwhore2.jpg"></center>'
 		'Suddenly you hear the handle of your door creak, and an annoyed voice shouting: "<<$pcs_nickname>>, what the hell!? Why is the door locked? Let me in!"'

+ 1 - 0
locations/MHall.qsrc

@@ -43,6 +43,7 @@ end
 
 if $ARGS[0] = 'east':
     $location_type = 'private'
+	killvar '$locclass'
 	cls
 	gs 'stat'
 	'<center><img <<$set_imgh>> src="images/locations/city/suburb/bdsm_club/hall.jpg"></center>'

+ 2 - 0
locations/MKitchen.qsrc

@@ -2,6 +2,8 @@
 $location_type = 'private'
 
 if $ARGS[0] = 'kitchen':
+	$locclass = 'kitr'
+	gs 'stat'
 	'<center><img <<$set_imgh>> src="images/locations/city/suburb/bdsm_club/kitchen.jpg"></center>'
 	act 'Go to the east hall': gt 'MHall', 'east'
 	act 'look in the pantry': gt 'MKitchen', 'pantry'

+ 1 - 0
locations/MLanding.qsrc

@@ -28,6 +28,7 @@ end
 
 if $ARGS[0] = 'east':
 	cls
+	killvar '$locclass'
 	gs 'stat'
 	'<center><img <<$set_imgh>> src="images/locations/city/suburb/bdsm_club/elanding.jpg"></center>'
 	act 'Go to the west wing landing':gt 'MLanding', 'west'

+ 1 - 0
locations/MLiving.qsrc

@@ -1,6 +1,7 @@
 # MLiving
 
 $location_type = 'private'
+$locclass = 'livingr'
 '<center><img <<$set_imgh>> src="images/locations/city/suburb/bdsm_club/living.jpg"></center>'
 'Living room'
 act 'Go to the east wing landing':gt 'MLanding', 'east'

+ 358 - 345
locations/MartinSex.qsrc

@@ -464,210 +464,383 @@ if $ARGS[0] = 'MartinTease':
 		inhib_exp += rand(1,3)
 
 		if $pantyworntype ! 'none':
-			'<center><img <<$set_imgh>> src="images/locations/city/industrial/bar/sex/bar/martin/tease/tease1.jpg"></center>'
-			'You are not in the mood to play hard-to-get; in fact, now that you think about it, maybe the easiest way to get Martin to drop this "you deserve better" spiel is to be <i>easy</i>.'
+			gt 'MartinSex', 'MartinTease1'
+		else
+			gt 'MartinSex', 'MartinTease2'
+		end
+	else
+		if $pantyworntype ! 'none':
+			gt 'MartinSex', 'MartinTease3'
+		else
+			gt 'MartinSex', 'MartinTease4'
+		end
+	end
+end
+
+if $ARGS[0] = 'MartinTease1':
+	'<center><img <<$set_imgh>> src="images/locations/city/industrial/bar/sex/bar/martin/tease/tease1.jpg"></center>'
+	'You are not in the mood to play hard-to-get; in fact, now that you think about it, maybe the easiest way to get Martin to drop this "you deserve better" spiel is to be <i>easy</i>.'
+	*nl
+	'You bend over and take off your lower garment.'
+	'Martin is utterly perplexed by that. "<<$pcs_firstname>>, what are you-"'
+	'"Oops, I seem to have accidentally pulled my panties down," you say innocently, giving him a broad smile.'
+	*nl
+	'Most of your crotch is revealed to him, but your ' + iif(tatvag>0,'tattooed ','') + 'pussy is only vaguely perceptible. Still, you can already tell that the situation is entirely different from how it was a minute ago - the suave barkeeper is on the defensive. And you are just getting started...'
+	gs 'clothing', 'strip'
+	gs 'arousal', 'foreplay', 1, 'exhibitionism'
+	gs 'stat'
+
+	act 'Turn around':
+		cls
+		'<center><img <<$set_imgh>> src="images/locations/city/industrial/bar/sex/bar/martin/tease/tease2.jpg"></center>'
+		'You pull your panties all the way down to your knees and spin around for a moment to let him look at you from all sides. Spotting a growing bulge in his pants, you turn your back to Martin and bend over a nearby table.'
+		*nl
+		'"Well?" You ask flirtatiously over your shoulder, your <<$pcdesc_genitals>> and asshole completely revealed to him. "Do I still look too young to you? Or... just old enough?"'
+		'His speechlessness is all the answer you need.'
+		'And you can''t blame him for this reaction - you went from being a friendly flirt to showing him your pussy in under a minute, so most men would need a second to catch up with a reality that has gone utterly mad.'
+
+		if analplugin = 1:
+			analplugin = 0
+			minut += 1
+			*nl
+			'<center><img <<$set_imgh>> src="images/locations/city/industrial/bar/sex/bar/martin/tease/buttplug.jpg"></center>'
+			'But it seems that something particular, in your ass, has caught his attention.'
+			'"Oh." You realize that you are still wearing your anal plug. "Do you like my buttplug?" You ask Martin coyly.'
+			*nl
+			'He still seems a little dumbfounded, but has regained enough control over himself to nod.'
+			'Smiling to yourself, you slowly remove the toy from your ass. You have a feeling that he is already at his limit coping with your stripping, so your buttplug may be a little more than he can handle right now.'
+		end
+		gs 'underwear', 'remove'
+		gs 'arousal', 'foreplay', 1, 'exhibitionism'
+		gs 'stat'
+
+		act 'Climb on the table':
+			cls
+			'<center><img <<$set_imgh>> src="images/locations/city/industrial/bar/sex/bar/martin/tease/tease3.jpg"></center>'
+			'Deciding to make full use of the table being there, you climb on top of it and sit down, spreading your legs to give Martin a good view of your ' + iif(pirsG>0,'pierced ','') + 'pussy.'
+			*nl
+			'"You could do more than just look, you know." The flirtatious tone is gone now - anything but being openly sultry just wouldn''t do this porno-esque situation justice.'
+			'Plus, Martin isn''t the only one getting turned on by this, and both of you can see it. "This <<$pcdesc_pubesrandom>> <<$pcdesc_pussyrandom>> <<$pcdesc_genitals>> could be yours."'
+			*nl
+			'Maybe something you said shook him out of his reverie, or maybe enough time has passed for him to snap out of it, but Martin seems to have regained the ability to speak. But he just loves saying things you don''t want to hear, doesn''t he?'
+			'"<<$pcs_firstname>>, I''m trying to be <b>sensible</b> here. This is not a good idea. You should cover yourself and go."'
+			'It''s telling that his mouth says one thing while his eyes are transfixed with your glistening <<$pcdesc_genitals>>.'
+			gs 'arousal', 'foreplay', 1, 'exhibitionism'
+			gs 'stat'
+
+			act 'Sensibly take off your shirt':
+				cls
+				'<center><img <<$set_imgh>> src="images/locations/city/industrial/bar/sex/bar/martin/tease/tease4.jpg"></center>'
+				'"I don''t know what gave you the idea that I wanted ''sensible''."'
+				'As you say that, you pull your shirt over your head, revealing your breasts to him. "A man should be able to tell when a woman wants to fuck. Can''t you?"'
+				*nl
+				'Pride - it is most men''s sore spot and your final remarks were squarely aimed at Martin''s sense of pride. You might as well have asked him if he couldn''t get it up. It was a dangerous game to play.'
+				*nl
+				'But it worked: Before you know it, Martin has closed the gap between you and is kissing you, hard.'
+				'His hands are roaming your body, pawing at your breasts, brushing against your ass and pussy. Then, all of a sudden, Martin pulls you closer to the edge, his pants miraculously already undone, his <<dick>>cm <<$dick_girth>> dick revealed in all its glory.'
+				*nl
+				'"Alright, niña," he growls, "you asked for a fuck, you''ll get a fuck."'
+				gs 'arousal', 'foreplay', 2, 'exhibitionism'
+				gs 'stat'
+				killvar 'MartinStripVar'
+
+				act 'Let Martin fuck you':$martinpos='missionary' & gt'MartinSex2','MartinSexDyn'
+			end
+		end
+	end
+end
+
+if $ARGS[0] = 'MartinTease2':
+	alko += 1
+	'<center><img <<$set_imgh>> src="images/locations/city/industrial/bar/sex/bar/martin/tease/nopant_tease1.jpg"></center>'
+	'You are not in the mood to play hard-to-get; in fact, now that you think about it, maybe the easiest way to get Martin to drop this "you deserve better" spiel is to be <i>easy</i>.'
+	*nl
+	'"You know what?" You slip out of your shoes first. "I think I''ll have something to drink. Do you have wine somewhere behind... Ah, I see it."'
+	'Without waiting for Martin''s reply, you stretch and bend over the counter slightly, reaching for a glass and an open bottle of white wine. You didn''t even know Martin had wine.'
+	'The trick in all this was to make it look natural while carefully shifting around just enough so he could...'
+	*nl
+	'"<<$pcs_firstname>>," you can hear him swallow from across the room, "are you wearing underwear?"'
+	'Bingo.'
+	*nl
+	'You look at him, glass of wine in hand and standing on your tiptoes, your pantiless crotch just barely visible to him, and take a sip.'
+	'"I must have forgotten to put it on," you note innocently.'
+	gs 'arousal', 'foreplay', 1, 'exhibitionism'
+	gs 'stat'
+
+	act 'Time for a good look':
+		cls
+		'<center><img <<$set_imgh>> src="images/locations/city/industrial/bar/sex/bar/martin/tease/nopanties_tease2.jpg"></center>'
+		'It wouldn''t be nice to tease Martin with a sight like that and keep him guessing if the carpets do indeed match the drapes.'
+		*nl
+		'Without putting the glass down, you turn your side to Martin and bare your lower half with your free hand. You can feel Martin''s eyes linger on your <<$pcdesc_legsrandom>> legs, but you know what he really wants to see, as much as he''d deny it.'
+		'Feeling ready to burn whatever bridge there''s left behind you, you face Martin, revealing your <<$pcdesc_pubesrandom>> <<$pcdesc_genitals>> to him. He seems shocked by your boldness; not just by you stripping for him, right here in the empty bar - although that must be a big part of it - but also by the fact that you had been walking around commando like there was nothing to it.'
+		*nl
+		'"Like what you see?"'
+		'You don''t know if he was even physically capable of saying no, given that he just barely managed to croak a "yes" - still, it was nice that he was being honest with you and himself.'
+		gs 'clothing', 'strip'
+		gs 'arousal', 'foreplay', 1, 'exhibitionism'
+		gs 'stat'
+
+		act 'Then he''s gonna like what''s next':
+			cls
+			'<center><img <<$set_imgh>> src="images/locations/city/industrial/bar/sex/bar/martin/tease/nopanties_tease3.jpg"></center>'
+			'With an audience as appreciative as this, how could you possibly stop now?'
+			*nl
+			'Setting the glass, your trusty prop, aside, you pull down what little covers your ' + iif(tatbrst > 0,'tattooed ','') + 'chest and ' + iif(tatblly > 0 and tatbrst = 0,'tattooed ','') +'belly, giving Martin a good look at your <<$pcdesc_breastsrandom>> tits, your <<$pcdesc_nipplesrandom>> nipples standing hard thanks to the chilly, smoky air... and maybe also due to his intense stares.'
 			*nl
-			'You bend over and take off your lower garment.'
-			'Martin is utterly perplexed by that. "<<$pcs_firstname>>, what are you-"'
-			'"Oops, I seem to have accidentally pulled my panties down," you say innocently, giving him a broad smile.'
+			'You lift your arms a little, playing with your <<$pcdesc_hairobjectwordy>> and sticking out your breasts even more.'
+			'No, you <b>really</b> aren''t making it easy for Martin to adhere to his principles regarding celibacy and sexy young women, or whatever it is that''s holding him back from bending you over and nailing you into the fucking counter.'
 			*nl
-			'Most of your crotch is revealed to him, but your ' + iif(tatvag>0,'tattooed ','') + 'pussy is only vaguely perceptible. Still, you can already tell that the situation is entirely different from how it was a minute ago - the suave barkeeper is on the defensive. And you are just getting started...'
-			gs 'clothing', 'strip'
+			'He''s not frozen solid anymore, though. He seems to be struggling with his lust, and you don''t think his ''reason'' is winning.'
+			gs 'underwear', 'remove'
 			gs 'arousal', 'foreplay', 1, 'exhibitionism'
 			gs 'stat'
 
-			act 'Turn around':
+			act 'Go Lust!':
 				cls
-				'<center><img <<$set_imgh>> src="images/locations/city/industrial/bar/sex/bar/martin/tease/tease2.jpg"></center>'
-				'You pull your panties all the way down to your knees and spin around for a moment to let him look at you from all sides. Spotting a growing bulge in his pants, you turn your back to Martin and bend over a nearby table.'
+				'<center><img <<$set_imgh>> src="images/locations/city/industrial/bar/sex/bar/martin/tease/nopanties_tease4.jpg"></center>'
+				'He''s staggering, but he isn''t out yet. You have to keep at it.'
+				*nl
+				'"I''m flexible, too. See?"'
+				'You don''t wait for a reply. You simply lift your <<$pcdesc_legsrandom>> leg up over the stool next to you, giving him a spectacular view at your <<$pcs_vag>> pussy.'
+				*nl
+				'"<<$pcs_firstname>>, stop." Martin has found his voice again, it seems - not that he''s using it to say something helpful. "This is wrong."'
+				'"Really?" You look at your leg, confused. "Yeah, I guess you''re right."'
 				*nl
-				'"Well?" You ask flirtatiously over your shoulder, your <<$pcdesc_genitals>> and asshole completely revealed to him. "Do I still look too young to you? Or... just old enough?"'
-				'His speechlessness is all the answer you need.'
-				'And you can''t blame him for this reaction - you went from being a friendly flirt to showing him your pussy in under a minute, so most men would need a second to catch up with a reality that has gone utterly mad.'
+				'You momentarily see something like hope or relief flare up in his eyes. You are not feeling very merciful tonight, though:'
+				'You put one of your hands on your ass and pull slightly, completely revealing what little of your <<$pcdesc_genitals>> and <<pcs_ass>> asshole wasn''t already visible to him.'
+				'"There, better now?"'
 
 				if analplugin = 1:
 					analplugin = 0
 					minut += 1
 					*nl
 					'<center><img <<$set_imgh>> src="images/locations/city/industrial/bar/sex/bar/martin/tease/buttplug.jpg"></center>'
-					'But it seems that something particular, in your ass, has caught his attention.'
-					'"Oh." You realize that you are still wearing your anal plug. "Do you like my buttplug?" You ask Martin coyly.'
+					'But it seems that something particular, in your ass, has caught his attention, rendering him silent once more.'
+					'"Oh." You realize that you are still wearing your anal plug. "Don''t mind my buttplug."'
+					'If he does mind, he''s unable to say it.'
 					*nl
-					'He still seems a little dumbfounded, but has regained enough control over himself to nod.'
-					'Smiling to yourself, you slowly remove the toy from your ass. You have a feeling that he is already at his limit coping with your stripping, so your buttplug may be a little more than he can handle right now.'
+					'Smiling to yourself, you slowly remove the toy from your ass. You have a feeling that he is already at his limit, coping with your stripping and lack of panties, so your buttplug may be a little more than he can handle right now.'
 				end
-				gs 'underwear', 'remove'
 				gs 'arousal', 'foreplay', 1, 'exhibitionism'
 				gs 'stat'
 
-				act 'Climb on the table':
+				act 'Just one last push...':
 					cls
-					'<center><img <<$set_imgh>> src="images/locations/city/industrial/bar/sex/bar/martin/tease/tease3.jpg"></center>'
-					'Deciding to make full use of the table being there, you climb on top of it and sit down, spreading your legs to give Martin a good view of your ' + iif(pirsG>0,'pierced ','') + 'pussy.'
+					'<center><img <<$set_imgh>> src="images/locations/city/industrial/bar/sex/bar/martin/tease/nopanties_tease5.jpg"></center>'
+					'Ridding yourself of what little items you have still left on you, you put your leg up on the bar and bend over. Your ass and <<$pcdesc_genitals>> aren''t just visible to Martin - they are also very much accessible.'
 					*nl
-					'"You could do more than just look, you know." The flirtatious tone is gone now - anything but being openly sultry just wouldn''t do this porno-esque situation justice.'
-					'Plus, Martin isn''t the only one getting turned on by this, and both of you can see it. "This <<$pcdesc_pubesrandom>> <<$pcdesc_pussyrandom>> <<$pcdesc_genitals>> could be yours."'
+					'"<<$pcs_firstname>>-" But you cut him off.'
+					'"If you are gonna say anything but ''I want to fuck you so bad right now'', I''m going to scream." You''re not sound very playful now, to be honest. All the cards are on the table, and you went about a million extra miles to show Martin just how much you want him. If he doesn''t finally take a hint, you''re going to-'
 					*nl
-					'Maybe something you said shook him out of his reverie, or maybe enough time has passed for him to snap out of it, but Martin seems to have regained the ability to speak. But he just loves saying things you don''t want to hear, doesn''t he?'
-					'"<<$pcs_firstname>>, I''m trying to be <b>sensible</b> here. This is not a good idea. You should cover yourself and go."'
-					'It''s telling that his mouth says one thing while his eyes are transfixed with your glistening <<$pcdesc_genitals>>.'
+					'But before you can even finish the thought, Martin kissing you, hard, his hands are roaming your body and exploring every mound and every crevice.'
+					'"Alright, you asked for it," he growls, "but I''m not gonna play nice."'
+					'"I never wanted you to," you moan, his fingers stroking your <<$pcdesc_genitals>> and clit.'
+					*nl
+					'You don''t know if his zipper exploded at your last words or if he was just that damn good with his hands that you didn''t even notice when he opened it to reveal his <<dick>>cm <<$dick_girth>> dick, but you cannot wait to feel him inside you and, judging by how he''s now taking position behind you, neither can he.'
+
 					gs 'arousal', 'foreplay', 1, 'exhibitionism'
+					gs 'arousal', 'kiss', 1
 					gs 'stat'
+					killvar 'MartinStripVar'
 
-					act 'Sensibly take off your shirt':
-						cls
-						'<center><img <<$set_imgh>> src="images/locations/city/industrial/bar/sex/bar/martin/tease/tease4.jpg"></center>'
-						'"I don''t know what gave you the idea that I wanted ''sensible''."'
-						'As you say that, you pull your shirt over your head, revealing your breasts to him. "A man should be able to tell when a woman wants to fuck. Can''t you?"'
-						*nl
-						'Pride - it is most men''s sore spot and your final remarks were squarely aimed at Martin''s sense of pride. You might as well have asked him if he couldn''t get it up. It was a dangerous game to play.'
-						*nl
-						'But it worked: Before you know it, Martin has closed the gap between you and is kissing you, hard.'
-						'His hands are roaming your body, pawing at your breasts, brushing against your ass and pussy. Then, all of a sudden, Martin pulls you closer to the edge, his pants miraculously already undone, his <<dick>>cm <<$dick_girth>> dick revealed in all its glory.'
-						*nl
-						'"Alright, niña," he growls, "you asked for a fuck, you''ll get a fuck."'
-						gs 'arousal', 'foreplay', 2, 'exhibitionism'
-						gs 'stat'
-						killvar 'MartinStripVar'
-
-						act 'Let Martin fuck you':$martinpos='missionary' & gt'MartinSex2','MartinSexDyn'
-					end
+					act 'Let Martin fuck you':$martinpos='doggystyle' & gt'MartinSex2','MartinSexDyn'
 				end
 			end
+		end
+	end
+end
 
+if $ARGS[0] = 'MartinTease3':
+	if pcs_dancero <= 50:dancero_exp += rand(2,5)
+	inhib_exp += rand(1,3)
+	'<center><img <<$set_imgh>> src="images/locations/city/industrial/bar/sex/bar/martin/tease/tease1.jpg"></center>'
+	'Feeling in the mood to give Martin a bit of a show today, you give him a soft push, just strong enough to make him get the hint and sit down on the chair behind him.'
+	'You then take a few steps back and slowly bend forward, giving him a generous look at your <<$pcdesc_breastsrandom>> cleavage and <<$pcdesc_legsrandom>> legs as you take off your lower garment.'
+	*nl
+	'Martin certainly looks like he likes where this is going, and you have no intention of changing course.'
+	'Without much ado, you smile and pull down your panties as well. Most of your crotch is revealed to him, but your sex is only vaguely perceptible. But taking the initiative like this is fun, and it adds to the thrill to know that you''re standing in the middle of a bar, even if nobody''s gonna enter.'
+	gs 'clothing', 'strip'
+	gs 'arousal', 'foreplay', 1, 'exhibitionism'
+	gs 'stat'
+
+	act 'Turn around':
+		cls
+		'<center><img <<$set_imgh>> src="images/locations/city/industrial/bar/sex/bar/martin/tease/tease2.jpg"></center>'
+		'You pull your panties all the way down to your knees and spin around for a moment, to let him look at you from all sides... and to bar him from seeing your exposed crotch right away. Still, you quickly spot the growing bulge in his pants - knowing that you are half-naked and seeing you in glorious, pantiless profile seems to be enough to get his engine going.'
+		*nl
+		'You ever so slowly turn your back to Martin and lasciviously bend over a nearby table.'
+		'"Well?" You ask flirtatiously over your shoulder, your <<$pcdesc_pubesrandom>> <<$pcdesc_genitals>> and asshole completely revealed to him. "Enjoying the view?"'
+		'"You have no idea," he breathes, a lustful glint in his eyes.'
+
+		if analplugin = 0:
+			*nl
+			'Considering how reluctant he was to let you "settle for an old man", he seems to be awfully happy about that same young <<$body>> woman stripping and exposing her privates to him.'
 		else
-			alko += 1
-			'<center><img <<$set_imgh>> src="images/locations/city/industrial/bar/sex/bar/martin/tease/nopant_tease1.jpg"></center>'
-			'You are not in the mood to play hard-to-get; in fact, now that you think about it, maybe the easiest way to get Martin to drop this "you deserve better" spiel is to be <i>easy</i>.'
+			analplugin = 0
+			minut += 1
 			*nl
-			'"You know what?" You slip out of your shoes first. "I think I''ll have something to drink. Do you have wine somewhere behind... Ah, I see it."'
-			'Without waiting for Martin''s reply, you stretch and bend over the counter slightly, reaching for a glass and an open bottle of white wine. You didn''t even know Martin had wine.'
-			'The trick in all this was to make it look natural while carefully shifting around just enough so he could...'
+			'<center><img <<$set_imgh>> src="images/locations/city/industrial/bar/sex/bar/martin/tease/buttplug.jpg"></center>'
+			'Your ass in particular seems to have caught your attention, and it doesn''t take you long to realize that he''s staring at your anal plug with utter fascination.'
 			*nl
-			'"<<$pcs_firstname>>," you can hear him swallow from across the room, "are you wearing underwear?"'
-			'Bingo.'
+			'"My my, it''s almost like you enjoy it when women take something up their ass," you comment playfully.'
+			'"Pull it out." His voice is low but the order unmistakeable. "Slowly."'
+			if pcs_dom > 20:
+				'"Why should I?" You ask, a hint of defiance in your response.'
+				'"Because if I have to look at it a moment longer, I''ll come over there, pull it out and fuck your ass right now."'
+				'Even though you two share a laugh over his ''threat'', the thought that the plug might excite him that much makes your pussy tingle.'
+			end
 			*nl
-			'You look at him, glass of wine in hand and standing on your tiptoes, your pantiless crotch just barely visible to him, and take a sip.'
-			'"I must have forgotten to put it on," you note innocently.'
-			gs 'arousal', 'foreplay', 1, 'exhibitionism'
+			'Taking all the time in the world, you comply, reach down and slooooowly remove the toy from your ass, moaning softly as your <<$pcs_ass>> ass releases its intruder.'
+			'The glint you saw earlier is now a full-blown fire, fueled by the sight of your gaping and ready asshole.'
+		end
+		gs 'underwear', 'remove'
+		gs 'arousal', 'foreplay', 1, 'exhibitionism'
+		gs 'stat'
+
+		act 'Climb on the table':
+			cls
+			'<center><img <<$set_imgh>> src="images/locations/city/industrial/bar/sex/bar/martin/tease/tease3.jpg"></center>'
+			'Making full use of the table being there, you climb on top and sit down on it, giving Martin an alluring smile and spreading your <<$pcdesc_legsrandom>> legs, giving the lucky guy in the front row an exclusive look at your <<$pcs_vag>> pussy.'
+			*nl
+			'"The way you look at me really turns me on, you know," you sigh. The flirtatious tone is gone now - the wetness you feel between your legs makes anything but ''sultry'' feel inadequate.'
+			'Your body''s display of excitement cannot possibly have escaped Martin, because is looking at you intently, feasting on the sight of you like he''d never get to do it again. "You and me both, mi amor."'
+			*nl
+			'Feeling it would be cruel to continue too quickly - and enjoying his stare immensely - you give him a moment to bask in the nubile display before you...'
+			gs 'arousal', 'foreplay', 2, 'exhibitionism'
 			gs 'stat'
 
-			act 'Time for a good look':
+			act 'Take off your shirt':
 				cls
-				'<center><img <<$set_imgh>> src="images/locations/city/industrial/bar/sex/bar/martin/tease/nopanties_tease2.jpg"></center>'
-				'It wouldn''t be nice to tease Martin with a sight like that and keep him guessing if the carpets do indeed match the drapes.'
-				*nl
-				'Without putting the glass down, you turn your side to Martin and bare your lower half with your free hand. You can feel Martin''s eyes linger on your <<$pcdesc_legsrandom>> legs, but you know what he really wants to see, as much as he''d deny it.'
-				'Feeling ready to burn whatever bridge there''s left behind you, you face Martin, revealing your <<$pcdesc_pubesrandom>> <<$pcdesc_genitals>> to him. He seems shocked by your boldness; not just by you stripping for him, right here in the empty bar - although that must be a big part of it - but also by the fact that you had been walking around commando like there was nothing to it.'
+				'<center><img <<$set_imgh>> src="images/locations/city/industrial/bar/sex/bar/martin/tease/tease4.jpg"></center>'
+				'... pull your shirt over your head, revealing your <<$pcdesc_breastsrandom>> breasts to Martin. "And what do you think of my tits?"'
+				'Martin leans back, smiling ear to ear, and shows you his crotch in response, and the sight before you adds fuel to the fire in your loins: He is pitching a perfect tent, his pants barely able to contain the cock underneath, and Martin seems very pleased with himself and the world. And why wouldn''t he be? What man his age would be anything but ecstatic to have a pretty young woman strip for him, and only him, and to have her stare at his hard-on in curiosity?'
 				*nl
-				'"Like what you see?"'
-				'You don''t know if he was even physically capable of saying no, given that he just barely managed to croak a "yes" - still, it was nice that he was being honest with you and himself.'
-				gs 'clothing', 'strip'
+				'You could certainly make him, and yourself, even happier, if you wanted to.'
+				'But at least part of the excitement you are feeling right now came from teasing Martin, from having control over the situation and over him. And, as cruel as that may be, what could possibly emphasize your power over him more than leaving him with blue balls?'
+
+				if dildo = 1 or middildo = 1 and bag > 0:
+					*nl
+					'Or... well, you could take your ''little friend'' out of your purse and take care of your own needs before deciding anything...'
+				end
 				gs 'arousal', 'foreplay', 1, 'exhibitionism'
 				gs 'stat'
 
-				act 'Then he''s gonna like what''s next':
+				temp = rand(1,3)
+				if pcs_dom > 20 and cycle ! 0:
+					act 'Tell Martin to go down on you':gt 'MartinSex3','MartinPussyLick'
+				elseif temp = 1 and cycle ! 0:
+					act 'Martin wants to go down on you':gt 'MartinSex3','MartinPussyLick'
+				end
+
+				act 'Take care of Martin (Blowjob)':gt 'MartinSex3', 'MartinBlowTease'
+				act 'Beckon Martin to fuck you like this (On your back)':$martinpos='missionary' & gt 'MartinSex2','MartinSexPrep'
+				act 'Get up and bend over for Martin (From behind)':$martinpos='doggystyle' & gt 'MartinSex2','MartinSexPrep'
+				act 'Roll on your side (Sideways)':$martinpos='sideways' & gt 'MartinSex2','MartinSexPrep'
+				act 'Get up and tell Martin you wanna ride him (Cowgirl)':$martinpos='cowgirl' & gt 'MartinSex2','MartinSexPrep'
+				act 'Get up and tell Martin you wanna ride him (<b>Reverse</b> Cowgirl)':$martinpos='rev_cowgirl' & gt 'MartinSex2','MartinSexPrep'
+
+				act 'Blueball him - Get dressed and leave':
 					cls
-					'<center><img <<$set_imgh>> src="images/locations/city/industrial/bar/sex/bar/martin/tease/nopanties_tease3.jpg"></center>'
-					'With an audience as appreciative as this, how could you possibly stop now?'
+					minut += 5
+					pcs_dom += 1
+					npc_rel['A216'] -= 1
+					'<center><video src="images/locations/city/industrial/bar/GettingDressed.mp4"></center>'
+					'"I''m glad you like it," you say, swinging your legs off the table as you put your shirt back on, "because that''s all you''ll be getting today."'
 					*nl
-					'Setting the glass, your trusty prop, aside, you pull down what little covers your ' + iif(tatbrst > 0,'tattooed ','') + 'chest and ' + iif(tatblly > 0 and tatbrst = 0,'tattooed ','') +'belly, giving Martin a good look at your <<$pcdesc_breastsrandom>> tits, your <<$pcdesc_nipplesrandom>> nipples standing hard thanks to the chilly, smoky air... and maybe also due to his intense stares.'
+					'At first, Martin probably thinks you''re joking, but seeing as you''re putting your other clothes back on as well, he gets up, frowning.'
+					'"You''d leave me here, alone, in this state?" He points towards his crotch where his dick is straining against the fabric of his pants. "You couldn''t possibly be this cruel."'
 					*nl
-					'You lift your arms a little, playing with your <<$pcdesc_hairobjectwordy>> and sticking out your breasts even more.'
-					'No, you <b>really</b> aren''t making it easy for Martin to adhere to his principles regarding celibacy and sexy young women, or whatever it is that''s holding him back from bending you over and nailing you into the fucking counter.'
+					'You walk up to Martin, put your ' + iif(tatarm>0,'tattooed ','') + 'arms around his neck and give him a soft kiss. When you break it, you whisper: "If I wasn''t cruel at least once in a while, you wouldn''t appreciate it when I''m not."'
 					*nl
-					'He''s not frozen solid anymore, though. He seems to be struggling with his lust, and you don''t think his ''reason'' is winning.'
-					gs 'underwear', 'remove'
-					gs 'arousal', 'foreplay', 1, 'exhibitionism'
+					'With that, you quickly move out of his range, towards the door, blow the perplexed barkeeper a final kiss and make off like a bandit.'
+					'... A horny bandit.'
+					gs 'underwear', 'wear'
+					gs 'clothing', 'wear_last_worn'
+					gs 'arousal', 'end'
 					gs 'stat'
 
-					act 'Go Lust!':
-						cls
-						'<center><img <<$set_imgh>> src="images/locations/city/industrial/bar/sex/bar/martin/tease/nopanties_tease4.jpg"></center>'
-						'He''s staggering, but he isn''t out yet. You have to keep at it.'
-						*nl
-						'"I''m flexible, too. See?"'
-						'You don''t wait for a reply. You simply lift your <<$pcdesc_legsrandom>> leg up over the stool next to you, giving him a spectacular view at your <<$pcs_vag>> pussy.'
-						*nl
-						'"<<$pcs_firstname>>, stop." Martin has found his voice again, it seems - not that he''s using it to say something helpful. "This is wrong."'
-						'"Really?" You look at your leg, confused. "Yeah, I guess you''re right."'
-						*nl
-						'You momentarily see something like hope or relief flare up in his eyes. You are not feeling very merciful tonight, though:'
-						'You put one of your hands on your ass and pull slightly, completely revealing what little of your <<$pcdesc_genitals>> and <<pcs_ass>> asshole wasn''t already visible to him.'
-						'"There, better now?"'
-
-						if analplugin = 1:
-							analplugin = 0
-							minut += 1
-							*nl
-							'<center><img <<$set_imgh>> src="images/locations/city/industrial/bar/sex/bar/martin/tease/buttplug.jpg"></center>'
-							'But it seems that something particular, in your ass, has caught his attention, rendering him silent once more.'
-							'"Oh." You realize that you are still wearing your anal plug. "Don''t mind my buttplug."'
-							'If he does mind, he''s unable to say it.'
-							*nl
-							'Smiling to yourself, you slowly remove the toy from your ass. You have a feeling that he is already at his limit, coping with your stripping and lack of panties, so your buttplug may be a little more than he can handle right now.'
-						end
-						gs 'arousal', 'foreplay', 1, 'exhibitionism'
-						gs 'stat'
+					act 'Leave the bar': gt 'nord'
+				end
 
-						act 'Just one last push...':
-							cls
-							'<center><img <<$set_imgh>> src="images/locations/city/industrial/bar/sex/bar/martin/tease/nopanties_tease5.jpg"></center>'
-							'Ridding yourself of what little items you have still left on you, you put your leg up on the bar and bend over. Your ass and <<$pcdesc_genitals>> aren''t just visible to Martin - they are also very much accessible.'
-							*nl
-							'"<<$pcs_firstname>>-" But you cut him off.'
-							'"If you are gonna say anything but ''I want to fuck you so bad right now'', I''m going to scream." You''re not sound very playful now, to be honest. All the cards are on the table, and you went about a million extra miles to show Martin just how much you want him. If he doesn''t finally take a hint, you''re going to-'
-							*nl
-							'But before you can even finish the thought, Martin kissing you, hard, his hands are roaming your body and exploring every mound and every crevice.'
-							'"Alright, you asked for it," he growls, "but I''m not gonna play nice."'
-							'"I never wanted you to," you moan, his fingers stroking your <<$pcdesc_genitals>> and clit.'
-							*nl
-							'You don''t know if his zipper exploded at your last words or if he was just that damn good with his hands that you didn''t even notice when he opened it to reveal his <<dick>>cm <<$dick_girth>> dick, but you cannot wait to feel him inside you and, judging by how he''s now taking position behind you, neither can he.'
-
-							gs 'arousal', 'foreplay', 1, 'exhibitionism'
-							gs 'arousal', 'kiss', 1
-							gs 'stat'
-							killvar 'MartinStripVar'
-
-							act 'Let Martin fuck you':$martinpos='doggystyle' & gt'MartinSex2','MartinSexDyn'
-						end
-					end
+				if dildo = 1 or middildo = 1 and bag > 0:
+					act 'Masturbate with your dildo':gt 'MartinSex','MartinTeaseDildo'
 				end
 			end
 		end
+	end
+end
 
-	else
-		if $pantyworntype ! 'none':
-			if pcs_dancero <= 50:dancero_exp += rand(2,5)
-			inhib_exp += rand(1,3)
-			'<center><img <<$set_imgh>> src="images/locations/city/industrial/bar/sex/bar/martin/tease/tease1.jpg"></center>'
-			'Feeling in the mood to give Martin a bit of a show today, you give him a soft push, just strong enough to make him get the hint and sit down on the chair behind him.'
-			'You then take a few steps back and slowly bend forward, giving him a generous look at your <<$pcdesc_breastsrandom>> cleavage and <<$pcdesc_legsrandom>> legs as you take off your lower garment.'
-			*nl
-			'Martin certainly looks like he likes where this is going, and you have no intention of changing course.'
-			'Without much ado, you smile and pull down your panties as well. Most of your crotch is revealed to him, but your sex is only vaguely perceptible. But taking the initiative like this is fun, and it adds to the thrill to know that you''re standing in the middle of a bar, even if nobody''s gonna enter.'
-			gs 'clothing', 'strip'
+if $ARGS[0] = 'MartinTease4':
+	alko += 1
+	'<center><img <<$set_imgh>> src="images/locations/city/industrial/bar/sex/bar/martin/tease/nopant_tease1.jpg"></center>'
+	'Feeling in the mood to give Martin a bit of a show today, you give him a soft push, just strong enough to make him get the hint and sit down on the chair behind him.'
+	*nl
+	'You slip out of your shoes first. "You know, I think I''ll have something to drink. Do you mind if I help myself?"'
+	'Without waiting for Martin''s reply, you stretch and bend over the counter slightly. Spotting a glass that''s within reach and an open bottle of white wine, you fill it with a thumb or two of the cool liquid. You don''t think you''ve ever seen Martin serve wine to anyone - it would seem he likes to have a little while he closes up shop.'
+	*nl
+	'But while you are having a taste, you aren''t standing idle. The trick in all this is to look careless, naturally moving and accidentally shifting around until...'
+	'... well, until you can hear Martin swallow from across the room. "What underwear are you wearing tonight?"'
+	*nl
+	'You smile to yourself as you look over your shoulder, your voice an enticing whisper "None at all. Why do you ask?" Glass of wine in hand and standing on your tiptoes, your pantiless crotch just barely visible to him, and take a sip.'
+	*nl
+	'Martin chuckles softly at your nonchalance, but with his eyes glued to your crotch, he replies: "Just curious."'
+	gs 'arousal', 'foreplay', 1, 'exhibitionism'
+	gs 'stat'
+
+	act 'A little curiosity doesn''t hurt':
+		cls
+		'<center><img <<$set_imgh>> src="images/locations/city/industrial/bar/sex/bar/martin/tease/nopanties_tease2.jpg"></center>'
+		'Without putting the glass down, you turn your side to Martin and bare your lower half with your free hand, making it blatantly obvious that you were indeed going commando. You can feel Martin''s eyes linger on your <<$pcdesc_legsrandom>> legs, but you know what he really wants to see - he wants you to confirm what he already knows.'
+		*nl
+		'You slowly turn to face Martin, revealing your <<$pcdesc_pubesrandom>> <<$pcdesc_genitals>> to him. Your boldness to strip for him, right here in the empty bar, and to walk around without underwear seem to turn him on immensely, if the bulge in his pants is any indication.'
+		*nl
+		'"Like what you see?" You ask, taking another small sip of wine.'
+		'"You little minx", is all he says, sounding as incredulous as he does admiring - not to mention horny.'
+		gs 'clothing', 'strip'
+		gs 'arousal', 'foreplay', 1, 'exhibitionism'
+		gs 'stat'
+
+		act 'He''s gonna like what''s next':
+			cls
+			'<center><img <<$set_imgh>> src="images/locations/city/industrial/bar/sex/bar/martin/tease/nopanties_tease3.jpg"></center>'
+			'With an audience as appreciative as this, how could you possibly stop now?'
+			*nl
+			'Setting the glass aside, you pull down what little covers your ' + iif(tatbrst > 0,'tattooed ','') + 'chest and ' + iif(tatblly > 0 + tatbrst = 0,'tattooed ','') +'belly, giving Martin a good look at your <<$pcdesc_breastsrandom>> tits, your <<$pcdesc_nipplesrandom>> nipples standing hard thanks to the chilly, smoky air... and maybe also due to his intense stares.'
+			*nl
+			'You lift your arms a little, playing with your <<$pcdesc_hairobjectwordy>> and sticking out your breasts even more.'
+			'Honestly, it wouldn''t have surprised you if he had just bent you over and nailed you into the fucking counter then and there - his eyes are certainly burning with desire enough to tell you that he wants to.'
+			*nl
+			'But he doesn''t jump up and fuck you. He sits there, patiently, waiting to see what else you have in store for him, how else you want to tease and torture him.'
+			'He enjoys that a pretty young woman like you is putting on a show for him, and him alone, and he doesn''t want to interrupt it.'
+			gs 'underwear', 'remove'
 			gs 'arousal', 'foreplay', 1, 'exhibitionism'
 			gs 'stat'
 
-			act 'Turn around':
+			act 'The show must go on':
 				cls
-				'<center><img <<$set_imgh>> src="images/locations/city/industrial/bar/sex/bar/martin/tease/tease2.jpg"></center>'
-				'You pull your panties all the way down to your knees and spin around for a moment, to let him look at you from all sides... and to bar him from seeing your exposed crotch right away. Still, you quickly spot the growing bulge in his pants - knowing that you are half-naked and seeing you in glorious, pantiless profile seems to be enough to get his engine going.'
+				'<center><img <<$set_imgh>> src="images/locations/city/industrial/bar/sex/bar/martin/tease/nopanties_tease4.jpg"></center>'
+				'Well, if it''s a sexy torture he wants, you are happy to deliver.'
 				*nl
-				'You ever so slowly turn your back to Martin and lasciviously bend over a nearby table.'
-				'"Well?" You ask flirtatiously over your shoulder, your <<$pcdesc_pubesrandom>> <<$pcdesc_genitals>> and asshole completely revealed to him. "Enjoying the view?"'
-				'"You have no idea," he breathes, a lustful glint in his eyes.'
+				'"Want to see how flexible I am?"'
+				'You don''t wait for a reply. You simply lift your <<$pcdesc_legsrandom>> leg up over the stool next to you, giving him a spectacular view at your <<$pcs_vag>> pussy.'
+				*nl
+				'When you look up from the stool, you are stunned to see Martin give you a look of indifference. "That''s okay, I guess."'
+				*nl
+				'You almost burst into laughter after your brain has caught up with his challenge, but you are only too happy to indulge him, if it''s an even sexier display he wants.'
+				'You put one of your hands on your ass and pull slightly, completely revealing what little of your <<$pcdesc_genitals>> and <<pcs_ass>> asshole wasn''t already visible to him.'
+				'"Just okay, huh?"'
 
 				if analplugin = 0:
 					*nl
-					'Considering how reluctant he was to let you "settle for an old man", he seems to be awfully happy about that same young <<$body>> woman stripping and exposing her privates to him.'
+					'"Maybe a little better than okay," he smirks.'
+					'Considering how reluctant he was to let you "settle for an old man", he seems to be awfully happy about teasing that same young <<$body>> woman while she''s stripping and exposing her privates to him.'
 				else
 					analplugin = 0
 					minut += 1
 					*nl
 					'<center><img <<$set_imgh>> src="images/locations/city/industrial/bar/sex/bar/martin/tease/buttplug.jpg"></center>'
-					'Your ass in particular seems to have caught your attention, and it doesn''t take you long to realize that he''s staring at your anal plug with utter fascination.'
+					'But something on your ass seems to distract him from your question, and it doesn''t take you long to realize that he''s staring at your anal plug with utter fascination.'
 					*nl
 					'"My my, it''s almost like you enjoy it when women take something up their ass," you comment playfully.'
 					'"Pull it out." His voice is low but the order unmistakeable. "Slowly."'
@@ -680,227 +853,67 @@ if $ARGS[0] = 'MartinTease':
 					'Taking all the time in the world, you comply, reach down and slooooowly remove the toy from your ass, moaning softly as your <<$pcs_ass>> ass releases its intruder.'
 					'The glint you saw earlier is now a full-blown fire, fueled by the sight of your gaping and ready asshole.'
 				end
-				gs 'underwear', 'remove'
 				gs 'arousal', 'foreplay', 1, 'exhibitionism'
 				gs 'stat'
 
-				act 'Climb on the table':
+				act 'Better than okay':
 					cls
-					'<center><img <<$set_imgh>> src="images/locations/city/industrial/bar/sex/bar/martin/tease/tease3.jpg"></center>'
-					'Making full use of the table being there, you climb on top and sit down on it, giving Martin an alluring smile and spreading your <<$pcdesc_legsrandom>> legs, giving the lucky guy in the front row an exclusive look at your <<$pcs_vag>> pussy.'
+					'<center><img <<$set_imgh>> src="images/locations/city/industrial/bar/sex/bar/martin/tease/nopanties_tease5.jpg"></center>'
+					'Ridding yourself of what little items you have still left on you, you put your leg up on the bar and bend over. Your ass and pussy aren''t just visible to Martin - they are also very much accessible.'
 					*nl
-					'"The way you look at me really turns me on, you know," you sigh. The flirtatious tone is gone now - the wetness you feel between your legs makes anything but ''sultry'' feel inadequate.'
-					'Your body''s display of excitement cannot possibly have escaped Martin, because is looking at you intently, feasting on the sight of you like he''d never get to do it again. "You and me both, mi amor."'
+					'"So..." Your tone is about as casual as you can muster, but your glistening pussy gives away your true feelings. "What do you think of my body?"'
+					'Martin leans back, smiling ear to ear, and shows you his crotch in response, and the sight before you adds fuel to the fire in your loins: He is pitching a perfect tent, his pants barely able to contain the cock underneath, and Martin seems very pleased with himself and the world. And why wouldn''t he be? What man his age would be anything but ecstatic to have a pretty young woman strip for him, and only him, and to have her stare at his hard-on in curiosity?'
 					*nl
-					'Feeling it would be cruel to continue too quickly - and enjoying his stare immensely - you give him a moment to bask in the nubile display before you...'
-					gs 'arousal', 'foreplay', 2, 'exhibitionism'
-					gs 'stat'
+					'You could certainly make him, and yourself, even happier, if you wanted to.'
+					'But at least part of the excitement you are feeling right now came from teasing Martin, from having control over the situation and over him. And, as cruel as that may be, what could possibly emphasize your power over him more than leaving him with blue balls?'
 
-					act 'Take off your shirt':
-						cls
-						'<center><img <<$set_imgh>> src="images/locations/city/industrial/bar/sex/bar/martin/tease/tease4.jpg"></center>'
-						'... pull your shirt over your head, revealing your <<$pcdesc_breastsrandom>> breasts to Martin. "And what do you think of my tits?"'
-						'Martin leans back, smiling ear to ear, and shows you his crotch in response, and the sight before you adds fuel to the fire in your loins: He is pitching a perfect tent, his pants barely able to contain the cock underneath, and Martin seems very pleased with himself and the world. And why wouldn''t he be? What man his age would be anything but ecstatic to have a pretty young woman strip for him, and only him, and to have her stare at his hard-on in curiosity?'
+					if dildo = 1 or middildo = 1 and bag > 0:
 						*nl
-						'You could certainly make him, and yourself, even happier, if you wanted to.'
-						'But at least part of the excitement you are feeling right now came from teasing Martin, from having control over the situation and over him. And, as cruel as that may be, what could possibly emphasize your power over him more than leaving him with blue balls?'
-
-						if dildo = 1 or middildo = 1 and bag > 0:
-							*nl
-							'Or... well, you could take your ''little friend'' out of your purse and take care of your own needs before deciding anything...'
-						end
-						gs 'arousal', 'foreplay', 1, 'exhibitionism'
-						gs 'stat'
-
-						temp = rand(1,3)
-						if pcs_dom > 20 and cycle ! 0:
-							act 'Tell Martin to go down on you':gt 'MartinSex3','MartinPussyLick'
-						elseif temp = 1 and cycle ! 0:
-							act 'Martin wants to go down on you':gt 'MartinSex3','MartinPussyLick'
-						end
-
-						act 'Take care of Martin (Blowjob)':gt 'MartinSex3', 'MartinBlowTease'
-						act 'Beckon Martin to fuck you like this (On your back)':$martinpos='missionary' & gt 'MartinSex2','MartinSexPrep'
-						act 'Get up and bend over for Martin (From behind)':$martinpos='doggystyle' & gt 'MartinSex2','MartinSexPrep'
-						act 'Roll on your side (Sideways)':$martinpos='sideways' & gt 'MartinSex2','MartinSexPrep'
-						act 'Get up and tell Martin you wanna ride him (Cowgirl)':$martinpos='cowgirl' & gt 'MartinSex2','MartinSexPrep'
-						act 'Get up and tell Martin you wanna ride him (<b>Reverse</b> Cowgirl)':$martinpos='rev_cowgirl' & gt 'MartinSex2','MartinSexPrep'
-
-						act 'Blueball him - Get dressed and leave':
-							cls
-							minut += 5
-							pcs_dom += 1
-							npc_rel['A216'] -= 1
-							'<center><video src="images/locations/city/industrial/bar/GettingDressed.mp4"></center>'
-							'"I''m glad you like it," you say, swinging your legs off the table as you put your shirt back on, "because that''s all you''ll be getting today."'
-							*nl
-							'At first, Martin probably thinks you''re joking, but seeing as you''re putting your other clothes back on as well, he gets up, frowning.'
-							'"You''d leave me here, alone, in this state?" He points towards his crotch where his dick is straining against the fabric of his pants. "You couldn''t possibly be this cruel."'
-							*nl
-							'You walk up to Martin, put your ' + iif(tatarm>0,'tattooed ','') + 'arms around his neck and give him a soft kiss. When you break it, you whisper: "If I wasn''t cruel at least once in a while, you wouldn''t appreciate it when I''m not."'
-							*nl
-							'With that, you quickly move out of his range, towards the door, blow the perplexed barkeeper a final kiss and make off like a bandit.'
-							'... A horny bandit.'
-							gs 'underwear', 'wear'
-							gs 'clothing', 'wear_last_worn'
-							gs 'arousal', 'end'
-							gs 'stat'
-
-							act 'Leave the bar': gt 'nord'
-						end
-
-						if dildo = 1 or middildo = 1 and bag > 0:
-							act 'Masturbate with your dildo':gt 'MartinSex','MartinTeaseDildo'
-						end
+						'Or... well, you could take your ''little friend'' out of your purse and take care of your own needs before deciding anything...'
 					end
-				end
-			end
-
-		else
-			alko += 1
-			'<center><img <<$set_imgh>> src="images/locations/city/industrial/bar/sex/bar/martin/tease/nopant_tease1.jpg"></center>'
-			'Feeling in the mood to give Martin a bit of a show today, you give him a soft push, just strong enough to make him get the hint and sit down on the chair behind him.'
-			*nl
-			'You slip out of your shoes first. "You know, I think I''ll have something to drink. Do you mind if I help myself?"'
-			'Without waiting for Martin''s reply, you stretch and bend over the counter slightly. Spotting a glass that''s within reach and an open bottle of white wine, you fill it with a thumb or two of the cool liquid. You don''t think you''ve ever seen Martin serve wine to anyone - it would seem he likes to have a little while he closes up shop.'
-			*nl
-			'But while you are having a taste, you aren''t standing idle. The trick in all this is to look careless, naturally moving and accidentally shifting around until...'
-			'... well, until you can hear Martin swallow from across the room. "What underwear are you wearing tonight?"'
-			*nl
-			'You smile to yourself as you look over your shoulder, your voice an enticing whisper "None at all. Why do you ask?" Glass of wine in hand and standing on your tiptoes, your pantiless crotch just barely visible to him, and take a sip.'
-			*nl
-			'Martin chuckles softly at your nonchalance, but with his eyes glued to your crotch, he replies: "Just curious."'
-			gs 'arousal', 'foreplay', 1, 'exhibitionism'
-			gs 'stat'
-
-			act 'A little curiosity doesn''t hurt':
-				cls
-				'<center><img <<$set_imgh>> src="images/locations/city/industrial/bar/sex/bar/martin/tease/nopanties_tease2.jpg"></center>'
-				'Without putting the glass down, you turn your side to Martin and bare your lower half with your free hand, making it blatantly obvious that you were indeed going commando. You can feel Martin''s eyes linger on your <<$pcdesc_legsrandom>> legs, but you know what he really wants to see - he wants you to confirm what he already knows.'
-				*nl
-				'You slowly turn to face Martin, revealing your <<$pcdesc_pubesrandom>> <<$pcdesc_genitals>> to him. Your boldness to strip for him, right here in the empty bar, and to walk around without underwear seem to turn him on immensely, if the bulge in his pants is any indication.'
-				*nl
-				'"Like what you see?" You ask, taking another small sip of wine.'
-				'"You little minx", is all he says, sounding as incredulous as he does admiring - not to mention horny.'
-				gs 'clothing', 'strip'
-				gs 'arousal', 'foreplay', 1, 'exhibitionism'
-				gs 'stat'
-
-				act 'He''s gonna like what''s next':
-					cls
-					'<center><img <<$set_imgh>> src="images/locations/city/industrial/bar/sex/bar/martin/tease/nopanties_tease3.jpg"></center>'
-					'With an audience as appreciative as this, how could you possibly stop now?'
-					*nl
-					'Setting the glass aside, you pull down what little covers your ' + iif(tatbrst>0,'tattooed ','') + 'chest and ' + iif(tatblly>0&tatbrst=0,'tattooed ','') +'belly, giving Martin a good look at your <<$pcdesc_breastsrandom>> tits, your <<$pcdesc_nipplesrandom>> nipples standing hard thanks to the chilly, smoky air... and maybe also due to his intense stares.'
-					*nl
-					'You lift your arms a little, playing with your <<$pcdesc_hairobjectwordy>> and sticking out your breasts even more.'
-					'Honestly, it wouldn''t have surprised you if he had just bent you over and nailed you into the fucking counter then and there - his eyes are certainly burning with desire enough to tell you that he wants to.'
-					*nl
-					'But he doesn''t jump up and fuck you. He sits there, patiently, waiting to see what else you have in store for him, how else you want to tease and torture him.'
-					'He enjoys that a pretty young woman like you is putting on a show for him, and him alone, and he doesn''t want to interrupt it.'
-					gs 'underwear', 'remove'
 					gs 'arousal', 'foreplay', 1, 'exhibitionism'
 					gs 'stat'
 
-					act 'The show must go on':
+					temp = rand(1,3)
+					if pcs_dom > 20 and cycle ! 0:
+						act 'Tell Martin to go down on you':gt 'MartinSex3','MartinPussyLick'
+					elseif temp = 1 and cycle ! 0:
+						act 'Martin wants to go down on you':gt 'MartinSex3','MartinPussyLick'
+					end
+
+					act 'Take care of Martin (Blowjob)':gt 'MartinSex3', 'MartinBlowTease'
+					act 'Beckon Martin to fuck you like this (On your back)':$martinpos='missionary' & gt 'MartinSex2','MartinSexPrep'
+					act 'Get up and bend over for Martin (From behind)':$martinpos='doggystyle' & gt 'MartinSex2','MartinSexPrep'
+					act 'Roll on your side (Sideways)':$martinpos='sideways' & gt 'MartinSex2','MartinSexPrep'
+					act 'Get up and tell Martin you wanna ride him (Cowgirl)':$martinpos='cowgirl' & gt 'MartinSex2','MartinSexPrep'
+					act 'Get up and tell Martin you wanna ride him (<b>Reverse</b> Cowgirl)':$martinpos='rev_cowgirl' & gt 'MartinSex2','MartinSexPrep'
+
+					act 'Blueball him - Get dressed and leave':
 						cls
-						'<center><img <<$set_imgh>> src="images/locations/city/industrial/bar/sex/bar/martin/tease/nopanties_tease4.jpg"></center>'
-						'Well, if it''s a sexy torture he wants, you are happy to deliver.'
+						minut += 5
+						pcs_dom += 1
+						npc_rel['A216'] -= 1
+						'<center><video src="images/locations/city/industrial/bar/GettingDressed.mp4"></center>'
+						'"I''m glad you like it," you say, swinging your legs off the table as you put your shirt back on, "because that''s all you''ll be getting today."'
 						*nl
-						'"Want to see how flexible I am?"'
-						'You don''t wait for a reply. You simply lift your <<$pcdesc_legsrandom>> leg up over the stool next to you, giving him a spectacular view at your <<$pcs_vag>> pussy.'
+						'At first, Martin probably thinks you''re joking, but seeing as you''re putting your other clothes back on as well, he gets up, frowning.'
+						'"You''d leave me here, alone, in this state?" He points towards his crotch where his dick is straining against the fabric of his pants. "You couldn''t possibly be this cruel."'
 						*nl
-						'When you look up from the stool, you are stunned to see Martin give you a look of indifference. "That''s okay, I guess."'
+						'You walk up to Martin, put your arms around his neck and give him a soft kiss. When you break it, you whisper:'
+						'"If I wasn''t cruel at least once in a while, you wouldn''t appreciate it when I''m not. Besides, I think you''ll cum immediately when I''m out that door once you realize that I''m going commando again."'
 						*nl
-						'You almost burst into laughter after your brain has caught up with his challenge, but you are only too happy to indulge him, if it''s an even sexier display he wants.'
-						'You put one of your hands on your ass and pull slightly, completely revealing what little of your <<$pcdesc_genitals>> and <<pcs_ass>> asshole wasn''t already visible to him.'
-						'"Just okay, huh?"'
-
-						if analplugin = 0:
-							*nl
-							'"Maybe a little better than okay," he smirks.'
-							'Considering how reluctant he was to let you "settle for an old man", he seems to be awfully happy about teasing that same young <<$body>> woman while she''s stripping and exposing her privates to him.'
-						else
-							analplugin = 0
-							minut += 1
-							*nl
-							'<center><img <<$set_imgh>> src="images/locations/city/industrial/bar/sex/bar/martin/tease/buttplug.jpg"></center>'
-							'But something on your ass seems to distract him from your question, and it doesn''t take you long to realize that he''s staring at your anal plug with utter fascination.'
-							*nl
-							'"My my, it''s almost like you enjoy it when women take something up their ass," you comment playfully.'
-							'"Pull it out." His voice is low but the order unmistakeable. "Slowly."'
-							if pcs_dom > 20:
-								'"Why should I?" You ask, a hint of defiance in your response.'
-								'"Because if I have to look at it a moment longer, I''ll come over there, pull it out and fuck your ass right now."'
-								'Even though you two share a laugh over his ''threat'', the thought that the plug might excite him that much makes your pussy tingle.'
-							end
-							*nl
-							'Taking all the time in the world, you comply, reach down and slooooowly remove the toy from your ass, moaning softly as your <<$pcs_ass>> ass releases its intruder.'
-							'The glint you saw earlier is now a full-blown fire, fueled by the sight of your gaping and ready asshole.'
-						end
-						gs 'arousal', 'foreplay', 1, 'exhibitionism'
+						'With that, you quickly move out of his range, towards the door, blow the perplexed barkeeper a final kiss and make off like a bandit.'
+						'... A horny, pantiless bandit.'
+						gs 'underwear', 'wear'
+						gs 'clothing', 'wear_last_worn'
+						gs 'arousal', 'end'
 						gs 'stat'
 
-						act 'Better than okay':
-							cls
-							'<center><img <<$set_imgh>> src="images/locations/city/industrial/bar/sex/bar/martin/tease/nopanties_tease5.jpg"></center>'
-							'Ridding yourself of what little items you have still left on you, you put your leg up on the bar and bend over. Your ass and pussy aren''t just visible to Martin - they are also very much accessible.'
-							*nl
-							'"So..." Your tone is about as casual as you can muster, but your glistening pussy gives away your true feelings. "What do you think of my body?"'
-							'Martin leans back, smiling ear to ear, and shows you his crotch in response, and the sight before you adds fuel to the fire in your loins: He is pitching a perfect tent, his pants barely able to contain the cock underneath, and Martin seems very pleased with himself and the world. And why wouldn''t he be? What man his age would be anything but ecstatic to have a pretty young woman strip for him, and only him, and to have her stare at his hard-on in curiosity?'
-							*nl
-							'You could certainly make him, and yourself, even happier, if you wanted to.'
-							'But at least part of the excitement you are feeling right now came from teasing Martin, from having control over the situation and over him. And, as cruel as that may be, what could possibly emphasize your power over him more than leaving him with blue balls?'
-
-							if dildo = 1 or middildo = 1 and bag > 0:
-								*nl
-								'Or... well, you could take your ''little friend'' out of your purse and take care of your own needs before deciding anything...'
-							end
-							gs 'arousal', 'foreplay', 1, 'exhibitionism'
-							gs 'stat'
-
-							temp = rand(1,3)
-							if pcs_dom > 20 and cycle ! 0:
-								act 'Tell Martin to go down on you':gt 'MartinSex3','MartinPussyLick'
-							elseif temp = 1 and cycle ! 0:
-								act 'Martin wants to go down on you':gt 'MartinSex3','MartinPussyLick'
-							end
-
-							act 'Take care of Martin (Blowjob)':gt 'MartinSex3', 'MartinBlowTease'
-							act 'Beckon Martin to fuck you like this (On your back)':$martinpos='missionary' & gt 'MartinSex2','MartinSexPrep'
-							act 'Get up and bend over for Martin (From behind)':$martinpos='doggystyle' & gt 'MartinSex2','MartinSexPrep'
-							act 'Roll on your side (Sideways)':$martinpos='sideways' & gt 'MartinSex2','MartinSexPrep'
-							act 'Get up and tell Martin you wanna ride him (Cowgirl)':$martinpos='cowgirl' & gt 'MartinSex2','MartinSexPrep'
-							act 'Get up and tell Martin you wanna ride him (<b>Reverse</b> Cowgirl)':$martinpos='rev_cowgirl' & gt 'MartinSex2','MartinSexPrep'
-
-							act 'Blueball him - Get dressed and leave':
-								cls
-								minut += 5
-								pcs_dom += 1
-								npc_rel['A216'] -= 1
-								'<center><video src="images/locations/city/industrial/bar/GettingDressed.mp4"></center>'
-								'"I''m glad you like it," you say, swinging your legs off the table as you put your shirt back on, "because that''s all you''ll be getting today."'
-								*nl
-								'At first, Martin probably thinks you''re joking, but seeing as you''re putting your other clothes back on as well, he gets up, frowning.'
-								'"You''d leave me here, alone, in this state?" He points towards his crotch where his dick is straining against the fabric of his pants. "You couldn''t possibly be this cruel."'
-								*nl
-								'You walk up to Martin, put your arms around his neck and give him a soft kiss. When you break it, you whisper:'
-								'"If I wasn''t cruel at least once in a while, you wouldn''t appreciate it when I''m not. Besides, I think you''ll cum immediately when I''m out that door once you realize that I''m going commando again."'
-								*nl
-								'With that, you quickly move out of his range, towards the door, blow the perplexed barkeeper a final kiss and make off like a bandit.'
-								'... A horny, pantiless bandit.'
-								gs 'underwear', 'wear'
-								gs 'clothing', 'wear_last_worn'
-								gs 'arousal', 'end'
-								gs 'stat'
-
-								act 'Leave the bar': gt 'nord'
-							end
-
-							if dildo = 1 or middildo = 1 and bag > 0:
-								act 'Masturbate with your dildo':gt 'MartinSex','MartinTeaseDildo'
-							end
-						end
+						act 'Leave the bar': gt 'nord'
+					end
+
+					if dildo = 1 or middildo = 1 and bag > 0:
+						act 'Masturbate with your dildo':gt 'MartinSex','MartinTeaseDildo'
 					end
 				end
 			end

+ 6 - 6
locations/MartinSex2.qsrc

@@ -843,7 +843,7 @@ end
 
 if $ARGS[0] = 'PainalDyn':
 	cls
-	'<center><video src="images/locations/city/industrial/bar/martin/anal/painal1.mp4"></center>'
+	'<center><video src="images/locations/city/industrial/bar/sex/bar/martin/anal/painal1.mp4"></center>'
 	'Feeling as brave and well-lubricated as spit can ever make you, you grab Martin''s cock, hold it against your anus and push against it.'
 	*nl
 	'Unfortunately, anal with Martin is not as easy as slipping his dick inside your pussy. The more you try to put his dick in, the more it hurts. Your ass is obviously a little too tight and Martin must realize that too when more than one attempt at penetration results in you pulling away again.'
@@ -854,7 +854,7 @@ if $ARGS[0] = 'PainalDyn':
 			
 	act 'Force his dick inside your ass':
 		cls
-		'<center><video src="images/locations/city/industrial/bar/martin/anal/painal2.mp4"></center>'
+		'<center><video src="images/locations/city/industrial/bar/sex/bar/martin/anal/painal2.mp4"></center>'
 		if $martinpos = 'rev_cowgirl':
 			'No, you don''t want to quit, not now. Maybe it''s because of the position you''re in, just a bad angle for penetration, right? You climb off Martin and bend over in front of him. When you look back at him to give him an inviting look, you do feel a little intimidated by his size, though...'
 			'Maybe this wasn''t such a good idea after all?'
@@ -881,7 +881,7 @@ if $ARGS[0] = 'PainalDyn':
 			
 			act 'Continue':
 				cls
-				'<center><video src="images/locations/city/industrial/bar/martin/anal/painal3.mp4"></center>'
+				'<center><video src="images/locations/city/industrial/bar/sex/bar/martin/anal/painal3.mp4"></center>'
 				'But as patient as Martin has proven so far, you eventually push him too far, your <<$pcdesc_anusrandom>> asshole too snug and arousing around him for him to stay idle.'
 				*nl
 				'Your lover starts moving on his own. At first, he is gentle, careful, only adding a tiny bit of extra sensation to your mutual experience, but with ever stroke, he loses his inhibitions and turns more and more into an animal, possessed by the need to destroy your ass and fill it with cum.'
@@ -964,7 +964,7 @@ end
 if $ARGS[0] = 'MartinCumshot_Mouth':
 	cls
 	gs 'boyStat', 'A216'
-	'<center><video src="images/locations/city/industrial/bar/martin/cumshot/cum_mouth.mp4"></center>'
+	'<center><video src="images/locations/city/industrial/bar/sex/bar/martin/cumshot/cum_mouth.mp4"></center>'
 	if $martinpos ! 'MartinBlowjob_dressed' or $martinpos ! 'MartinBlowjob_undressed': 'You quickly move off Martin''s cock and get on your knees in front of him, taking his dick into your mouth and savoring the taste of yourself on your man as you get him off.'
 	'For a moment, you think about saying something dirty, like verbally asking him to cum in your mouth, but by the time this thought has manifested, Martin has already pulled out and complied with it, shooting his hot sperm into your open, waiting mouth.'
 	'You wait like this for the second and third spurt, but then you take him right back into your mouth, sucking and licking him through his orgasm.'
@@ -982,7 +982,7 @@ end
 if $ARGS[0] = 'MartinCumshot_Face':
 	cls
 	gs 'boyStat', 'A216'
-	'<center><video src="images/locations/city/industrial/bar/martin/cumshot/cum_facial.mp4"></center>'
+	'<center><video src="images/locations/city/industrial/bar/sex/bar/martin/cumshot/cum_facial.mp4"></center>'
 	
 	!Variation for pic and text sticking out your tongue for the cumshot
 	if $martinpos ! 'MartinBlowjob_dressed' or $martinpos ! 'MartinBlowjob_undressed': 'You quickly move off Martin''s cock and get on your knees in front of him, taking his dick into your mouth and savoring the taste of yourself on your man as you help him finish.'
@@ -999,7 +999,7 @@ end
 if $ARGS[0] = 'MartinCumshot_Tits':
 	cls
 	gs 'boyStat', 'A216'
-	'<center><video src="images/locations/city/industrial/bar/martin/cumshot/cum_tits.mp4"></center>'
+	'<center><video src="images/locations/city/industrial/bar/sex/bar/martin/cumshot/cum_tits.mp4"></center>'
 	if $martinpos ! 'MartinBlowjob_dressed' or $martinpos ! 'MartinBlowjob_undressed': 'You quickly move off Martin''s cock and get on your knees in front of him, stroking his dick as you point it at your bust and savoring the expression of bliss on your man''s face.'
 	'"Go ahead", you whisper in your sultriest voice, "Cum all over my tits, baby."'
 	'That''s all the invitation Martin needs: With a final moan, the first hot jet of cum hits your breasts, soon followed by another, and another. By the time his cock stops twitching, your breast and chin are covered in sperm. Cleaning up is gonna take a while, but with a single look at Martin and the satisfied boyish grin the sight of you puts on his face, you know that it''s worth it.'

+ 7 - 3
locations/Meadow.qsrc

@@ -55,19 +55,23 @@ if $ARGS[0] = 'start' or $ARGS[0] = '':
 		end
 	end
 	if sunWeather = 1:
-		if pcs_stam >=15 or pcs_stam >= 10 and bookYog + obruch > 0:
-			if $clothingworntype ! 'exercise' and pcs_inhib < 35:
-				'You could do some exercises here if you were wearing workout clothes.'
+		if pcs_stam >=15 or (pcs_stam >= 10 and bookYog + obruch > 0):
+			if $clothingworntype ! 'exercise' and pcs_inhib < 35 and Miraloc ! 2:
+				'You could do some exercises here if you were wearing <a href="exec: gt ''exercise'', ''workout''">workout clothes</a>.'
 			elseif $clothingworntype ! 'exercise' and $clothingworntype ! 'nude' and pcs_inhib >= 35 and Miraloc ! 2 and temper >= 10:
 				'Your meadow is a perfect place to do some exercises. There is no one around, so you could do it <a href="exec: gs ''clothing'', ''strip'', ''Meadow''& gs ''underwear'', ''remove'' & gt ''exercise'', ''workout'', ''nude'', ''Meadow''">in the nude</a>.'
 			elseif $clothingworntype ! 'exercise' and $clothingworntype = 'nude' and pcs_inhib >= 35 and Miraloc ! 2 and temper >= 10:
 				'Your meadow is a perfect place to do some exercises. There is no one around, so you could do it <a href="exec: gs ''underwear'', ''remove'' & gt ''exercise'', ''workout'', ''nude'', ''Meadow''"> in the nude</a>.'
+			elseif Miraloc = 2:
+				'It''s a nice day to exercise, but you don''t feel comfortable working out with an audience.'
 			else
 				'Your meadow is a perfect place to do some <a href="exec: gt ''exercise'', ''workout''">exercises</a>.'
 			end
 		else
 			'Your meadow is a perfect place to do some exercises, but you don''t have the energy right now.'
 		end
+	else
+		'It''s currently raining. You could do some exercises here if the weather improves..'
 	end
 
 	act 'Leave':minut += 20 & MiraLoc = 0 & gt 'Gaddvor'

+ 1 - 1
locations/MiroslavaHome.qsrc

@@ -162,7 +162,7 @@ if $ARGS[0] = 'mirabrother':
 
 		'<center><img <<$set_imgh>> src="images/locations/gadukino/village/mirabrother.jpg"></center>'
 		'You ask Mira''s brother for a ride on his motorcycle.'
-		if hotcat < 7:
+		if hotcat < 5:
 			if npc_rel['A60'] > 20:
 
 				'He looks you up and down appraisingly and tells you, some other time.'

+ 1 - 1
locations/NikoEv.qsrc

@@ -290,7 +290,7 @@ end
 if $ARGS[0] = 'Niko Dates':
 	if fedorkozlovQW >= 10 and NikoVsFedor = 0:
 		gt 'NikoEv', 'Fyodor'
-	elseif KotovloveQW >= 10 and NikoVsVitek = 0:
+	elseif KotovloveQW > 0 and NikoVsVitek = 0:
 		gt 'NikoEv', 'Viktor'
 	elseif dimafilm = 1 and DimaRudeBlock = 0 and NikoVsDimka = 0:
 		gt 'NikoEv', 'Dimka'

+ 353 - 0
locations/ScreenFunctions.qsrc

@@ -0,0 +1,353 @@
+# ScreenInit
+
+scr_AutoUpdate = False
+$scr_DefaultId = 'screen'
+$scr_Layout = 'Default'
+$Scr_HTML['Default'] = ''
+
+KILLVAR '$scr_EventClear_'
+KILLVAR '$scr_ContentIds'
+KILLVAR '$scr_Content'
+KILLVAR '$scr_Replace'
+KILLVAR '$scr_Insert'
+KILLVAR '$scr_Hide'
+KILLVAR '$scr_Show'
+
+--- ScreenInit ----------------------------
+
+
+# Screen
+
+if $ARGS[0] = 'Update':
+	$scr_Layout = iif($scr_Layout = '', 'Default', $scr_Layout)
+	$_F_layout    = iif($ARGS[1] = '', $scr_Layout, $ARGS[1])
+	
+	$_F_screenHTML  = '<div id="screen" style="position: absolute; top: 0; left: 0; width: 100%; z-index: -999;">'
+	$_F_screenHTML += $Scr_HTML[$_F_layout]
+	$_F_screenHTML += '</div>'
+	
+	_F_i = 0
+	:Loop Screen_Update_AddContent
+	if (_F_i < ARRSIZE('$scr_ContentIds')):
+		$_F_id = $scr_ContentIds[_F_i]
+		IF ($_F_id = ''): $_F_id = $scr_DefaultId
+		
+		_F_position = strPos($_F_screenHTML, '(id="<<$_F_id>>"[^>]*)(>)', 2)
+		if (_F_position = 0):
+			!! id not found in html - default to screen
+			_F_position = strPos($_F_screenHTML, '(id="screen"[^>]*)(>)', 2)
+		end
+		
+		$_F_screenHTML = func('StrInsert', $_F_screenHTML, $scr_Content[$_F_id], _F_position + 1)
+		
+		_F_i += 1
+		jump 'Loop Screen_Update_AddContent'
+	end
+	
+	_F_i = 0
+	:Loop Screen_Update_Replacements
+	if (_F_i < ARRSIZE('$scr_Replace')):
+		$_F_screenHTML = $REPLACE($_F_screenHTML, '%' + $scr_Replace[_F_i] + '%', $scr_Insert[_F_i])
+		
+		_F_i += 1
+		jump 'Loop Screen_Update_Replacements'
+	end
+	
+	
+	_F_i = 0
+	:Loop Screen_Update_Show
+	if (_F_i < ARRSIZE('$scr_Show')):
+		$_F_id = $scr_Show[_F_i]
+		$_F_element = strFind($_F_screenHTML, '(<\w+[^>]*id="<<$_F_id>>"[^>]*>)')
+		$_F_newElement = $_F_element
+		
+		if ($_F_newElement ! ''):
+			KILLVAR '$_F_elementAttr_'
+			
+			:Loop Screen_Update_Show_GetAttributes
+			$_F_temp = strFind($_F_newElement, '(?:\w+="[^"]*")')
+			
+			if ($_F_temp ! ''):
+				$_F_elementAttr_[] = $_F_temp
+				$_F_newElement = replace($_F_newElement, $_F_temp, '')
+				
+				jump 'Loop Screen_Update_Show_GetAttributes'
+			end
+			
+			$_F_newElement = replace($_F_newElement, 'hidden', '')
+			
+			_F_i2 = 0
+			:Loop Screen_Update_Show_SetAttributes
+			if (_F_i2 < ARRSIZE('$_F_elementAttr_')):
+				$_F_temp  = mid($_F_newElement, 1, len($_F_newElement) - 1)
+				$_F_temp += iif(mid($_F_newElement, len($_F_newElement) - 2, 1) = ' ', '', '')
+				$_F_temp += $_F_elementAttr_[_F_i2]
+				$_F_temp += mid($_F_newElement, len($_F_newElement))
+				$_F_newElement = $_F_temp
+				
+				_F_i2 += 1
+				jump 'Loop Screen_Update_Show_SetAttributes'
+			end
+			
+			$_F_screenHTML = replace($_F_screenHTML, $_F_element, $_F_newElement)
+		end
+		
+		_F_i += 1
+		jump 'Loop Screen_Update_Show'
+	end
+	
+	_F_i = 0
+	:Loop Screen_Update_Hide
+	if (_F_i < ARRSIZE('$scr_Hide')):
+		$_F_id = $scr_Hide[_F_i]
+		$_F_element = strFind($_F_screenHTML, '(<\w+[^>]*id="<<$_F_id>>"[^>]*>)')
+		$_F_newElement = $_F_element
+		
+		if ($_F_newElement ! ''):
+			KILLVAR '$_F_elementAttr_'
+			
+			:Loop Screen_Update_Hide_GetAttributes
+			$_F_temp   = strFind($_F_newElement, '(?:\w+="[^"]*")')
+			
+			if ($_F_temp ! ''):
+				$_F_elementAttr_[] = $_F_temp
+				$_F_newElement = replace($_F_newElement, $_F_temp, '')
+				
+				jump 'Loop Screen_Update_Hide_GetAttributes'
+			end
+			
+			$_F_newElement = replace($_F_newElement, 'hidden', '')
+			
+			_F_i2 = 0
+			:Loop Screen_Update_Hide_SetAttributes
+			if (_F_i2 < ARRSIZE('$_F_elementAttr_')):
+				$_F_temp  = mid($_F_newElement, 1, len($_F_newElement) - 1)
+				$_F_temp += iif(mid($_F_newElement, len($_F_newElement) - 2, 1) = ' ', '', '')
+				$_F_temp += $_F_elementAttr_[_F_i2]
+				$_F_temp += mid($_F_newElement, len($_F_newElement))
+				$_F_newElement = $_F_temp
+				
+				_F_i2 += 1
+				jump 'Loop Screen_Update_Hide_SetAttributes'
+			end
+			
+			$_F_temp = iif(mid($_F_newElement, len($_F_newElement) - 2, 1) = ' ', 'hidden', ' hidden')
+			$_F_newElement = func('StrInsert', $_F_newElement, $_F_temp, len($_F_newElement))
+			$_F_screenHTML = replace($_F_screenHTML, $_F_element, $_F_newElement)
+		end
+		
+		_F_i += 1
+		jump 'Loop Screen_Update_Hide'
+	end
+	
+	*CLEAR
+	$_F_screenHTML
+end
+
+if $ARGS[0] = 'ClearAll':
+	KILLVAR '$scr_ContentIds'
+	KILLVAR '$scr_Content'
+	
+	_F_i = 0
+	:Loop Screen_ClearAll_Events
+	if (_F_i < ARRSIZE('$scr_EventClear_')):
+		KILLVAR '$_F_EventArgs_'
+		$_F_Event = $scr_EventClear_[_F_i]
+		
+		:Loop Screen_ClearAll_EventArgs
+		if (len('$scr_EventClear_[<<_F_i>>]') > 0):
+			_F_position = strPos($_F_Event, ',')
+			
+			if (_F_position ! 0 and ARRSIZE('$_F_EventArgs_') < 9):
+				$_F_EventArgs_[] = mid($_F_Event, 1, _F_position - 1)
+				$_F_Event = trim(mid($_F_Event, _F_position + 1))
+				
+				_F_i2 += 1
+				jump 'Loop Screen_ClearAll_EventArgs'
+				
+			else
+				$_F_EventArgs_[] = mid($_F_Event, 1)
+			end
+		end
+		
+		gs '<<$_F_EventArgs_[0]>>', '<<$_F_EventArgs_[1]>>', '<<$_F_EventArgs_[2]>>', '<<$_F_EventArgs_[3]>>', '<<$_F_EventArgs_[4]>>', '<<$_F_EventArgs_[5]>>', '<<$_F_EventArgs_[6]>>', '<<$_F_EventArgs_[7]>>', '<<$_F_EventArgs_[8]>>', '<<$_F_EventArgs_[9]>>'
+		
+		_F_i += 1
+		jump 'Loop Screen_ClearAll_Events'
+	end
+	
+	IF ARGS[1] = False: func('Screen', 'Update')
+end
+
+if $ARGS[0] = 'Clear':
+	_F_i = ARRPOS('$scr_ContentIds', $ARGS[1])
+	if (_F_i >= 0):
+		KILLVAR '$scr_ContentIds', _F_i
+		KILLVAR '$scr_Content', _F_i
+	end
+	
+	!! ARGS[2] = KeepScreen?
+	IF ARGS[2] = False: func('Screen', 'Update')
+end
+
+if $ARGS[0] = 'Replace':
+	!! Place-holder cannot contain special characters
+	IF ($ARGS[1] = '' or $strFind($ARGS[1], '[^\w]') ! ''): exit
+	
+	!! Check if replacement already exists (if so... replace it lul)
+	if (ARRPOS('$scr_Replace', $ARGS[1]) ! -1):
+		$scr_Insert[ARRPOS('$scr_Replace', $ARGS[1])] = $ARGS[2]
+	else
+		$scr_Replace[] = $ARGS[1]
+		$scr_Insert[]  = $ARGS[2]
+	end
+end
+
+if lcase($ARGS[0]) = 'show':
+	!! Element Id = $ARGS[1]
+	IF (ARRPOS('$scr_Show', $ARGS[1]) = -1): $scr_Show[] = $ARGS[1]
+	IF (ARRPOS('$scr_Hide', $ARGS[1]) ! -1): KILLVAR '$scr_Hide', ARRPOS('$scr_Hide', $ARGS[1])
+end
+
+if lcase($ARGS[0]) = 'hide':
+	!! Element Id = $ARGS[1]
+	IF (ARRPOS('$scr_Hide', $ARGS[1]) = -1): $scr_Hide[] = $ARGS[1]
+	IF (ARRPOS('$scr_Show', $ARGS[1]) ! -1): KILLVAR '$scr_Show', ARRPOS('$scr_Show', $ARGS[1])
+end
+
+--- Screen --------------------------
+
+
+# Write
+!!! Adds text to current line
+$.F_contentId   = $ARGS[0]
+$.F_contentText = $ARGS[1]
+
+KILLVAR '$.F_textColor'
+KILLVAR '$.F_alignment'
+KILLVAR '$.F_title'
+KILLVAR '$.F_property'
+KILLVAR '$.F_style'
+
+_F_i = 2
+:Loop Write_OptionalArgs
+if (_F_i <= 9 and $ARGS[_F_i] ! ''):
+	$_F_option   = lcase(strFind($ARGS[_F_i], '(^\w+:)'))
+	$_F_argument = trim(mid($ARGS[_F_i], 3))
+	
+	if     ($_F_option = 'c:'):
+		$.F_textColor  = iif(mid($_F_argument, 1, 1) = '-', 'color: var(-<<$_F_argument>>) !important;', 'color: <<$_F_argument>>;')
+		
+	elseif ($_F_option = 'a:'):
+		$.F_alignment  = iif($_F_argument = '', '', 'float: <<$_F_argument>> !important;')
+		
+	elseif ($_F_option = 't:'):
+		$.F_title    = iif($_F_argument = '', '', ' title="<<$_F_argument>>"')
+		
+	elseif ($_F_option = 'prop:'):
+		!! custom property
+		$.F_property[] = ' <<$_F_argument>>'
+		
+	else
+		!! custom style
+		$.F_style[] = $_F_argument + iif(mid($_F_argument, len($_F_argument)) = ';', '', ';')
+	end
+	
+	_F_i += 1
+	jump 'Loop Write_OptionalArgs'
+end
+
+IF (ARRCOMP('$scr_ContentIds', $.F_contentId) = -1): $scr_ContentIds[] = $.F_contentId
+
+if ($.F_textColor ! '' or $.F_alignment ! '' or $.F_title ! '' or ARRSIZE('$.F_property') > 0 or ARRSIZE('$.F_style')):
+	$scr_Content[$.F_contentId] += '<span style="<<$.F_textColor>><<$.F_alignment>><<func(''DH_Functions'', ''ConcatStrArr'', ''$.F_style'')>>"<<$.F_title>><<func(''DH_Functions'', ''ConcatStrArr'', ''$.F_property'')>>>'
+	$scr_Content[$.F_contentId] += $.F_contentText
+	$scr_Content[$.F_contentId] += '</span>'
+else
+	$scr_Content[$.F_contentId] += $.F_contentText
+end
+
+IF (scr_AutoUpdate = True): gs 'Screen', 'Update'
+--- Write ---------------------------------
+
+
+# WriteSpace
+!!! Adds a space before new text (e.g. for new sentence)
+func('write', $ARGS[0], '&nbsp;' + $ARGS[1], $ARGS[2])
+--- WriteSpace ---------------------------------
+# WriteS
+func('writeSpace', $ARGS[0], $ARGS[1], $ARGS[2])
+--- WriteS ---------------------------------
+
+
+# WriteNewLine
+!!! Starts a new line before adding text
+func('write', $ARGS[0], '<br/>' + $ARGS[1], $ARGS[2])
+--- WriteNewLine -----------------------------
+# WriteN
+func('writeNewLine', $ARGS[0], $ARGS[1], $ARGS[2])
+--- WriteN ---------------------------------
+
+
+# WriteLine
+!!! Starts a new line after adding text
+func('write', $ARGS[0], $ARGS[1] + '<br/>', $ARGS[2])
+--- WriteLine -----------------------------
+# WriteL
+func('writeLine', $ARGS[0], $ARGS[1], $ARGS[2])
+--- WriteL ---------------------------------
+
+
+# WritePara
+!!! Ensures there is a blank line between the last piece of text and
+!!! the text to be added.
+
+KILLVAR '$.F_textColor'
+KILLVAR '$.F_alignment'
+KILLVAR '$.F_title'
+KILLVAR '$.F_property'
+KILLVAR '$.F_style'
+
+_F_i = 2
+:Loop Write_OptionalArgs
+if (_F_i <= 9 and $ARGS[_F_i] ! ''):
+	$_F_option   = lcase(strFind($ARGS[_F_i], '(^\w+:)'))
+	$_F_argument = trim(mid($ARGS[_F_i], 3))
+	
+	if     ($_F_option = 'c:'):
+		$.F_textColor  = iif(mid($_F_argument, 1, 1) = '-', 'color: var(-<<$_F_argument>>) !important;', 'color: <<$_F_argument>>;')
+		
+	elseif ($_F_option = 'a:'):
+		$.F_alignment  = iif($_F_argument = '', '', 'float: <<$_F_argument>> !important;')
+		
+	elseif ($_F_option = 't:'):
+		$.F_title    = iif($_F_argument = '', '', ' title="<<$_F_argument>>"')
+		
+	elseif ($_F_option = 'prop:'):
+		!! custom property
+		$.F_property[] = ' <<$_F_argument>>'
+		
+	else
+		!! custom style
+		$.F_style[] = $_F_argument + iif(mid($_F_argument, len($_F_argument)) = ';', '', ';')
+	end
+	
+	_F_i += 1
+	jump 'Loop Write_OptionalArgs'
+end
+
+$_F_style = ''
+if ($.F_textColor ! '' or $.F_alignment ! '' or ARRSIZE('$.F_style')):
+	$_F_style = ' style="<<$.F_textColor>><<$.F_alignment>><<func(''DH_Functions'', ''ConcatStrArr'', ''$.F_style'')>>"'
+end
+
+$_F_properties = ''
+if ($.F_title ! '' or ARRSIZE('$.F_property') > 0):
+	$_F_properties = '<<$.F_title>><<func(''DH_Functions'', ''ConcatStrArr'', ''$.F_property'')>>'
+end
+
+func('write', $ARGS[0], '<p<<$_F_style>><<$_F_properties>>>' + $ARGS[1])
+--- WritePara -----------------------------
+# WriteP
+func('writePara', $ARGS[0], $ARGS[1], $ARGS[2])
+--- WriteP --------------------------------

+ 1 - 0
locations/Serge_kuh.qsrc

@@ -1,6 +1,7 @@
 # Serge_kuh
 
 if $ARGS[0] = '':
+	$locclass = 'kitr'
 	*P ' '
 	!Chat with Sergey in the kitchen (5 times per day)
 	if sergebazarkuh_day ! daystart: sergebazarkuh_count = 5

+ 1 - 1
locations/SergeiHanter.qsrc

@@ -81,7 +81,7 @@ if hantersSergeiQw >= 10:
 							'<center><img <<$set_imgh>> src="images/locations/gadukino/hunters/hanterkiss3.jpg"></center>'
                             '"<<$pcs_nickname>>, I want to make love to you," he says, when he finally pulls back. You answer Sergey with a kiss every bit as passionate as the one that started this. You''re making your way back towards his room as you do so.'
 
-                            act 'Go':gt'HanterLoveSex'
+                            act 'Go': gt'HanterLoveSex', 'Sergei'
                         end
                     else
                         act'Continue':

+ 3 - 0
locations/SoniaHome.qsrc

@@ -105,6 +105,7 @@ if $ARGS[0] = 'Hallway':
 	act 'Bedroom':gt 'SoniaHome', 'Bedroom'
 
 	act 'Kitchen':
+		$locclass = 'kitr'
 		if SoniaCupcake = 0 and NikoAftermath = 1:
 			gt 'SoniaHome', 'Sonia Cooking'
 		elseif SoniaCupcake = 1 and NikoAftermath = 1:
@@ -173,6 +174,7 @@ if $ARGS[0] = 'Cupcake Time':
 	pcs_hydra += 40
 	fat += 2
 	cumspclnt = 2
+	$locclass = 'kitr'
 	gs'stat'
 	'<center><b><h4><font color=#FF00FF><<"Sonia Ivanko">></font></h4></b></center>'
 	'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/niko/nikomisc/soniahome/kitchen/soniacupcake2.jpg"></center>'
@@ -207,6 +209,7 @@ end
 
 if $ARGS[0] = 'Livingroom':
 	cls
+	$locclass = 'livingr'
 	gs'stat'
 	'<center><img <<$set_imgh>> src="images/locations/pavlovsk/resident/soniahome/livingroom/livingroom.jpg"></center>'
 	'Sonia''s living room look quite elegant, and refined. It almost looks like it had an interior decorator design it.'

+ 28 - 23
locations/VoltrenerSexShower.qsrc

@@ -95,41 +95,46 @@ end
 if $ARGS[0] = '3':
 	cls
 	'<center><img <<$set_imgh>> src="images/locations/pavlovsk/community/gym/volley/sex/voltrenersexshower10.jpg"></center>'
-	'Openevsys on the glass and sticking out his ass, you moaning from pecking your ass member. And here you see what-stir the glass...'
+	'Leaning against the glass and sticking out your ass, you moan from the pounding your ass is receiving. What the fuck is that moving the other side of the glass?'
 	act 'To get a better look':
 		cls
 		'<center><img <<$set_imgh>> src="images/locations/pavlovsk/community/gym/volley/sex/voltrenersexshower19.jpg"></center>'
-		'You notice the coach sitting in the dark, and watching as Ivan Fucks you in the ass,  when he came here and what I saw before, you don''t know, but it looks like this view out of the darkness spawned you in a wave of shame and arousal. You literally threw it in the paint, you tried to jump off Waninoko member. But the shaky legs wasn''t allowed to do. Whether from Vanya''s actions, whether the fact that the coach is watching you, and maybe from that and the other you began to cum violently sahotas shouting and rhythmically squeezing the cock of their classmate anus. Then he too broke down and became, pours out in your ass, that only made the orgasm.  Feeling, being watched, was new, acute, gave wild excitement. Dropping to the floor of the shower you helplessly lay there for some time.'
+		'You wipe the steam off a patch of the glass in front of you and see coach sitting in the dark, watching as Ivan Fucks you in the ass. when he got here and how much he''s seen, you don''t know, but your eyes meet and you are hit by a wave of shame and arousal. You literally throw yourself forward trying to jump off Ivan''s member, but your shaky legs betray you.'
+		'Whether from Ivan''s actions, the fact that the coach is watching you, or the combination of both you begin to cum violently shouting and rhythmically squeezing your classmates cock with your anus. This is more than enough to send Ivan over the edge, his cum filling your ass.'
 		analorgasm += 1
 		pcs_mood = 100
-		$orgasm_or = 'yes'
+		$orgasm_txt = 'The sudden feeling of being watched, was new, acute, the orgasm intense. You drop to the floor of the shower and lay there helplessly for some time.'
+		$orgasm_or = 'custom'
 		gs 'arousal', 'anal', 10
+		gs 'cum_call', 'anus', 'A3'
 		gs 'stat'
 		act 'Recover':
 		 	cls
 			'<center><video autoplay loop src="images/locations/pavlovsk/community/gym/volley/sex/voltrenersexshower20.mp4"></video></center>'
-			'Opening his eyes, you saw standing next coach.  He quite unceremoniously said: "Spread your bread"'
-        	act 'Push ass':
+			'Opening your eyes, you see coach standing above you. He quite unceremoniously says: "Spread your bread."'
+        	act 'Comply':
   				VoltrenerVoyeur+=1
   				trenerlust += 2
   				cls
   				'<center><video autoplay loop src="images/locations/pavlovsk/community/gym/volley/sex/voltrenersexshower11.mp4"></video></center>'
-  				'You willingly grab handles for the ass and stretch her, opening a coach views your holes. The coach walks up to you, and you loosed a sigh of disappointment, only a few times twitching target, Michael came to you in the ass, adding to Vanina his semen. '
+  				'You have no idea what he means but a simple gesture makes it clear what he wants. You willingly grab your but cheeks stretch them apart giving coach full view of your holes. The coach walks up to you his cock in his hand and with just a few quick jerk sprays his seed over your ass his cum mixing with Ivan''s as it dribbles out of your butt.'
 				gs 'arousal', 'flash', 10
 				gs 'stat'
-				act 'Wash your ass':gt 'gdksport', 'start'
+				act 'Wash your ass':dynamic $showerdin & gt 'gdksport', 'start'
        		end
-       		act 'Augutsa':
+       		act 'Cover up':
        			cls
   				'<center><img <<$set_imgh>> src="images/locations/pavlovsk/community/gym/volley/sex/voltrenersexshower12.jpg"></center>'
-  				'You scared cover ass hands and eyes "frightened DOE", look at Mikhail Nikolaevich. He throws evil: "As Prokhorov the ass to substitute so she already whines with joy, a native trainer to alleviate the tension, so scared Oh".  To the fright in the eyes of wine added, but hands off the ass that you and is not removed. Trainer evil and spat out.'
+  				'Scared, you cover you ass with your hands and look at him like a deer caught in the headlights.'
+				'Mikhail Nikolaevich gives you an evil look, "Prokhorov fucks your ass and you scream with joy, but your coach just wants to alleviate some tension and you curl up all scared?"'
+				'You can see from the look in his eyes that he''s been at the wine and his slurring and unsteady legs confirm this. "Your ass isn''t that special." He spits on you and stumbles out of the showers.'
   				gs 'arousal', 'end'
 				gs 'stat'
-				act 'Wash your ass':gt 'gdksport', 'start'
+				act 'Wash your ass':dynamic $showerdin & gt 'gdksport', 'start'
         	end
 		gs 'arousal', 'end'
 		gs 'stat'
-		act 'Wash your ass':gt 'gdksport', 'start'
+		act 'Wash your ass':dynamic $showerdin & gt 'gdksport', 'start'
 
 		end
 	end
@@ -138,26 +143,26 @@ end
 if $ARGS[0] = '4':
 	cls
 	'<center><img <<$set_imgh>> src="images/locations/pavlovsk/community/gym/volley/sex/voltrenersexshower10.jpg"></center>'
-	'Openevsys on the glass and sticking out his ass, you moaning from pecking your ass member. And here you see what-stir the glass...'
+	'Leaning against the glass and sticking out your ass, you moan from the pounding your ass is receiving. You can see movement through the glass...'
 	act 'To get a better look':
 		cls
 		'<center><img <<$set_imgh>> src="images/locations/pavlovsk/community/gym/volley/sex/voltrenersexshower19.jpg"></center>'
 		'It seems, Mikhail again decided to admire how your classmate fuck your anus, Vanya seems so busy your ass that nothing. You decide to tease a little coach...'
 		gs 'arousal', 'anal', 5, 'sub'
 		gs 'stat'
-		act 'Opustitsa on her knees':
+		act 'Drop to your knees':
 			cls
 			'<center><video autoplay loop src="images/locations/pavlovsk/community/gym/volley/sex/voltrenersexshower14.mp4"></video></center>'
 			'You let go on my knees and began to carefully suck Vanin member, which has just been in your ass. Surprised-a satisfied snort from two sides showed, that the participant and the viewer, It seems, like the fact, what''s happening. Accidentally nudging the door open into the shower, you open it, the coach didn''t miss anything from your planned next.'
 			gs 'arousal', 'bj', 5, 'sub'
 			gs 'stat'
-			act 'Lick eggs':
+			act 'Lick his balls':
 				cls
 				'<center><video autoplay loop src="images/locations/pavlovsk/community/gym/volley/sex/voltrenersexshower15.mp4"></video></center>'
 				'Pulling the cock from his mouth and swung, you became furiously explicable only excitation from occurring licking balls classmate. Starting one, another in my mouth, kissing them sucking and stroking hands. You nose dived under them and gently licked between buttocks.'
 				gs 'arousal', 'cuni_give', 5, 'sub'
 				gs 'stat'
-				act 'Substitute person':
+				act 'That did it':
 					cls
 					facial += 1
 					'<center><video autoplay loop src="images/locations/pavlovsk/community/gym/volley/sex/voltrenersexshower16.mp4"></video></center>'
@@ -172,7 +177,7 @@ if $ARGS[0] = '4':
 						minut += 15
 						trenerlust += 2
 						gs 'stat'
-						act 'To masturbate':
+						act 'Masturbate':
 							cls
 							'<center><img <<$set_imgh>> src="images/locations/pavlovsk/community/gym/volley/sex/voltrenersexshower18.jpg"></center>'
 							$orgasm_or = 'custom'
@@ -193,8 +198,8 @@ end
 if $ARGS[0] = '5':
 	cls
 	'<center><img <<$set_imgh>> src="images/locations/pavlovsk/community/gym/volley/sex/voltrenersexshower10.jpg"></center>'
-	'Openevsys on the glass and sticking out his ass, you moaning from pecking your ass member. And here you see what-stir the glass...'
-	act 'To get a better look':
+	'Leaning against the glass and sticking out your ass, you moan from the pounding your ass is receiving. You can see movement through the glass...'
+	act 'Get a better look':
 		cls
 		'<center><img <<$set_imgh>> src="images/locations/pavlovsk/community/gym/volley/sex/voltrenersexshower19.jpg"></center>'
 		'Through the glass you see, as Michael strong views approaching the booth, and Vanya nothing, not seeing, pulls your ass, you frantically try to close the booth door on the lock, that Ivan looks like and not closed. But the cock in her ass and pushes Ivan not let you do it, the door abruptly opens, coach growled: "Again fuck. Prokhorov will tell your coach, you honouring mode, and the competitions are preparing". From these words Ivan shrank his penis opal and easily fell out of your ass: "Don''t need Michael to say anything to anyone, please. I will help with the hall, well, there is a grid to hang, girls to hold after departure", - and he, sideways covering his dignity, grabbing your stuff, got out of the shower.'
@@ -207,20 +212,20 @@ if $ARGS[0] = '5':
 				act 'Leave':gt 'gdksport', 'start'
 			end
 		else
-			act 'To seduce coach':
+			act 'Seduce coach':
 				cls
 				npc_rel['A69'] += 3
 				VoltrenerVoyeur += 1
 				ShowerIvan = 3 & ! close sex with the coach in the shower
 				'<center><img <<$set_imgh>> src="images/locations/pavlovsk/community/gym/volley/event/voltrenersexshower22.jpg"></center>'
 				'Not having those things actually did not close the shower door. And terribly unhappy about it before you become a coach in that position... any fool will understand what you would like. It seems the coach has thought about what you said earlier, so he undressed and climbed to you in the shower.'
-				act 'On knees':
+				act 'On your knees':
 					cls
 					'<center><img <<$set_imgh>> src="images/locations/pavlovsk/community/gym/volley/sex/voltrenersexshower23.jpg"></center>'
 					'You let go on your knees, front of your face rocked pretty impressive coach bolt, after admiring this picture, and delighted thoughts, that basic structure is getting closer, you set resolutely to work tongue, carefully first licking the head of your penis then the member entirely.'
 					gs 'arousal', 'foreplay', 5, 'sub'
 					gs 'stat'
-					act 'Take in the mouth':
+					act 'Take it in your mouth':
 						cls
 						pcs_throat += 1
 						gs 'stat'
@@ -228,7 +233,7 @@ if $ARGS[0] = '5':
 						'Kissing his head, you took it in her mouth and began to caress the tongue, lightly sucking, then you tried to take him deep in her mouth, but the coach, stopping you, he began to move a member, fucking your mouth, while acting quite cautiously, not shoving cock for all length, how does this Vanya.'
 						gs 'arousal', 'bj', 10, 'sub'
 						gs 'stat'
-						act 'And put my feet up':
+						act 'Lift your legs':
 							cls
 							gs 'boyStat', 'A69'
 							pose = 0
@@ -259,7 +264,7 @@ if $ARGS[0] = '5':
 									act 'Leave':gt 'gdksport', 'start'
 								end
 							end
-							act 'Substitute the ass':
+							act 'Offer your ass':
 								cls
 								pcs_ass += 1
 								'<center><img <<$set_imgh>> src="images/locations/pavlovsk/community/gym/volley/sex/voltrenersexshower28.jpg"></center>'

+ 4 - 1
locations/_stock_item_info.qsrc

@@ -18,7 +18,10 @@ $item_info['lubri'] = '<center><b>Lubricant</b></center><br>A specialized gel us
 $item_info['painkiller'] = '<center><b>Painkillers</b></center><br>A pack of pills containing drugs used to relieve pain. Some are taken recreationally for their mind-altering effects. Can be addictive.'
 $item_info['tampon'] = '<center><b>Tampons</b></center><br>A pack of cyliner-shape cotton swabs with a string that is capable absorb menstrual fluids during your period.'
 $item_info['sanpad'] = '<center><b>Sanitary napkins</b></center><br>A pack of absorbent towels that provide protection during your period. They attach to the inside of panties to avoid any leakage onto your clothes'
-$item_info['breastpump'] = '<center><b>Breast Pump</b></center><br>A breast pump is a mechanical device that lactating women use to extract milk from their breasts.'
+$item_info['breastpump'] = '<center><b>Breast Pump</b></center><br>A breast pump is a mechanical device that lactating women use to extract milk from their breasts. This is a manual model and comes with one bottle.'
+$item_info['bpbottles'] = '<center><b>Breastmilk Bottle S</b></center><br>Used to collect breastmilk with a breast pump. This set contains three 150ml bottles.'
+$item_info['bpbottlem'] = '<center><b>Breastmilk Bottle M</b></center><br>Used to collect breastmilk with a breast pump. This set contains two 250ml bottles.'
+$item_info['bpnipplebalm'] = '<center><b>Nipplebalm</b></center><br>Nipplebalm is used to ease sore nipples after and before breastfeeding or while using a breast pump. One tube lasts for 20 uses.'
 $item_info['fairy'] = '<center><b>Dishwashing detergent</b></center><br>A liquid dishwashing soap with a light almond scent. It claims to cut through grease and grime with ease AND leave your hands feeling soft and moisturized.'
 $item_info['poroshok'] = '<center><b>Clothing detergent</b></center><br>A box of powdered clothing detergent with a light flowery scent that leaves your clothes smelling fresh and clean.'
 $item_info['cltarelka'] = '<center><b>Plates</b></center><br>A set of five plain white dinner plates.'

+ 2 - 0
locations/alexgang.qsrc

@@ -1,4 +1,6 @@
 # alexgang
+
+$locclass = 'livingr'
 frost = 0
 minut += 30
 gs 'stat'

+ 18 - 10
locations/anushapt.qsrc

@@ -64,6 +64,7 @@ if $ARGS[0] = 'home':
 		act 'Move away from the door':gt'pavComplexb2','etaj_4'
 	elseif ((hour >= 15 and hour < 20) or (week > 5 and hour >= 10 and hour < 20)) and (rand(0,4) = 0):
 		*clr & cla
+		'<center><img src="images/locations/pavlovsk/resident/apartment/anushapt/valeria.jpg"></center>'
 		'You stand outside the Konstantinov household, knocking on the door. It takes quite a while before someone actually does come and in the end it turns out to be Anushka''s mother.'
 		'Her mother just stands there glaring at you for a while, "Well now don''t just stand there, what do you want? Oh wait let me guess, you want to see Anushka? Well the little slut isn''t here and I don''t know when she''ll be back. So why don''t you just go bother someone else." Before you can even get a word in, she slams the door in your face and you hear the all the locks click into place. Not having any other option, you turn to leave.'
 		act 'Move away from the door':gt'pavComplexb2','etaj_4'
@@ -74,18 +75,19 @@ if $ARGS[0] = 'home':
 		if nushdoor = 1:
 			*clr & cla
 			AnushkaLoc = 7
+			'<center><img src="images/locations/pavlovsk/resident/apartment/anushapt/maksim.jpg"></center>'
 			'You stand outside the Konstantinov household, waiting for Anushka to come open the door.'
 			'Maksim answers the door instead, he looks you over from head to toe, obviously still trying to imagine you naked. "What?" He asks.'
 			'You ignore his look. "Is Anushka home?"'
 			'He hooks his thumb over his shoulder pointing down the hall with it. "She''s taking a shower."'
 			act 'Enter': gt 'anushapt','hallway' 
-			act 'Ask how he knows that.':
+			act 'Ask how he knows that':
 				*clr & cla
 				'<center><img src="images/locations/pavlovsk/resident/apartment/anushapt/maksim.jpg"></center>'
 				'You smile a bit. "How do you know she is taking a shower?"'
 				'He blushes a little bit and sputters. "I can hear the water."'
 				act 'Enter': gt 'anushapt','hallway' 
-				act 'Tease him.':
+				act 'Tease him':
 					*clr & cla
 					'<center><img src="images/locations/pavlovsk/resident/apartment/anushapt/maksim.jpg"></center>'
 					'You grin at him. "So you havn''t been spying on her taking a shower? She told me you spy on her and her friends."'
@@ -97,6 +99,7 @@ if $ARGS[0] = 'home':
 		elseif nushdoor <= 3:
 			*clr & cla
 			AnushkaLoc = 2
+			'<center><img src="images/locations/pavlovsk/resident/apartment/anushapt/maksim.jpg"></center>'
 			'You stand outside the Konstantinov household, waiting for Anushka to come open the door.'
 			'Maksim answers the door instead, he looks you over from head to toe, obviously still trying to imagine you naked. "What?" He asks.'
 			'You ignore his look. "Is Anushka home?"'
@@ -106,12 +109,14 @@ if $ARGS[0] = 'home':
 		elseif nushdoor <= 5:
 			*clr & cla
 			AnushkaLoc = 1
+			'<center><img src="images\locations\pavlovsk\school\head\45.jpg"></center>'
 			'You stand outside the Konstantinov household, hoping that Anushka will be the one to come open the door.'
 			'Anushka opens the door smiling, "Hi <<$pcs_nickname>>. Come in."'
 			act 'Enter': gt 'anushapt','hallway' 
 		else
 			if maksimQW = 0:
 				maksimQW = 1
+				'<center><img src="images/locations/pavlovsk/resident/apartment/anushapt/maksim.jpg"></center>'
 				'Maksim answers the door instead, he looks you over from head to toe, obviously still trying to imagine you naked. "What?" He asks.'
 				'You ignore his look. "Is Anushka home?"'
 				'"No she''s not home right now, she''s probably out sucking some guy''s dick or something, but if you want you can go wait for her in her room."'
@@ -119,6 +124,7 @@ if $ARGS[0] = 'home':
 				'At first, he looks a bit confused, as if he''s not sure what you mean but then he just shrugs. "That''s what my mom always says when I ask where Anushka is."'
 				'You shake your head unsure about what to think, should you go in and wait for her or just go? Maksim just stands there staring at your tits and you can actually feel him undressing you with his eyes.'
 			else
+				'<center><img src="images/locations/pavlovsk/resident/apartment/anushapt/maksim.jpg"></center>'
 				'Maksim answers the door instead, he looks you over from head to toe, obviously trying to imagine you naked. "Anushka''s not home right now, she''s probably out sucking some guy''s dick or something, but if you want you can go wait for her in her room."'
 				'You shake your head a bit, but there is nothing you can do about it, should you go in and wait for her or just go? As always, you can feel Maksim undressing you with his eyes while staring straight at your tits.'
 			end
@@ -500,7 +506,7 @@ if $ARGS[0] = 'computer':
 												'<center><img src="images/characters/pavlovsk/school/girl/anushka/bedroom/sex/caughtmast/les5.jpg"></center>'
 												'You can hear her starting to breathe heavier and moan louder and you are about to suggest switching again, but apparently she had the same idea. She briefly stops straddling your face before turning around and then straddling your face again, while going down on her hands and knees so she can 69 with you.'
 												*nl
-												'As soon as you feel her tongue flicking against your clit, you lift up your head slightly and begin licking her pussy again as well. Her tongue is  absolutely magical and it doesn''t take all that long until your body is rocked by a furious orgasm. Apparently feeling your pussy twitch around her tongue and the extra juices from your orgasm sets her off as well, her own pussy juice flowing out, coating her face as her own orgasm hits her.'
+												'As soon as you feel her tongue flicking against your clit, you lift up your head slightly and begin licking her pussy again as well. Her tongue is absolutely magical and it doesn''t take all that long until your body is rocked by a furious orgasm. Apparently feeling your pussy twitch around her tongue and the extra juices from your orgasm sets her off as well, her own pussy juice flowing out, coating her face as her own orgasm hits her.'
 												gs 'arousal', 'cuni_give', 10, 'lesbian'
 												minut -= 10
 												$orgasm_or = 'yes'
@@ -912,7 +918,7 @@ if $ARGS[0] = 'chat':
 									'<center><img src="images/characters/pavlovsk/school/girl/anushka/bedroom/sex/caughtmast/les5.jpg"></center>'
 									'You can hear her starting to breathe heavier and moan louder and you are about to suggest switching again, but apparently she had the same idea. She briefly stops straddling your face before turning around and then straddling your face again, while going down on her hands and knees so she can 69 with you.'
 									*nl
-									'As soon as you feel her tongue flicking against your clit, you lift up your head slightly and begin licking her pussy again as well. Her tongue is  absolutely magical and it doesn''t take all that long until your body is rocked by a furious orgasm. Apparently feeling your pussy twitch around her tongue and the extra juices from your orgasm sets her off as well, her own pussy juice flowing out, coating your face as her own orgasm hits her.'
+									'As soon as you feel her tongue flicking against your clit, you lift up your head slightly and begin licking her pussy again as well. Her tongue is absolutely magical and it doesn''t take all that long until your body is rocked by a furious orgasm. Apparently feeling your pussy twitch around her tongue and the extra juices from your orgasm sets her off as well, her own pussy juice flowing out, coating your face as her own orgasm hits her.'
 									gs 'arousal', 'cuni_give', 10, 'lesbian'
 									minut -= 10
 									$orgasm_or = 'yes'
@@ -1222,6 +1228,7 @@ end
 if $ARGS[0] = 'livingroom':
 	CLOSE ALL
 	*clr & cla
+	$locclass = 'livingr'
 	minut += 1
 	gs 'stat'
 	'<center><b><font color = maroon>Living room</font></b></center>'
@@ -1379,12 +1386,13 @@ end
 
 if $ARGS[0] = 'kitchen':
 	CLOSE ALL
-    *clr & cla
-    minut += 1
-    gs 'stat'
-    '<center><b><font color = maroon>Kitchen</font></b></center>'
-    '<center><img <<$set_imgh>> src="images/locations/pavlovsk/resident/apartment/anushapt/kitchen.jpg"></center>'
-    'The room is not clean and there are dishes on most of the surfaces. The wood floor is not polished and only covers the areas being used. You''re surprised by the lack of a dinner table.'
+	*clr & cla
+	minut += 1
+	$locclass = 'kitr'
+	gs 'stat'
+	'<center><b><font color = maroon>Kitchen</font></b></center>'
+	'<center><img <<$set_imgh>> src="images/locations/pavlovsk/resident/apartment/anushapt/kitchen.jpg"></center>'
+	'The room is not clean and there are dishes on most of the surfaces. The wood floor is not polished and only covers the areas being used. You''re surprised by the lack of a dinner table.'
 	act 'Look in the fridge': gt 'anushapt', 'holodilnik'
 	act 'Leave':gt 'anushapt','hallway'
 end

+ 38 - 21
locations/artemEv.qsrc

@@ -7,11 +7,12 @@
 !! leghumpArtem .. > 0 Artem humps Pc already
 !! artemStripSee .. number of strips for Artem
 !! artemLernQW
-!! artemblok
+!! artemblok .. artem is blocked
 !! artQW =  1 .. Artem felt for Pc
 !! artQW =  2 .. Pc rejected Artems love
 !! artQW =  3 .. Pc accepted Artems love and jerked off him
 !! artQW =  4 .. Pc rejected Artems love roughly
+!! artQW =  5 .. Pc lied to artem about the dimka video, blocks love content and consenual petka content
 !! artQW = 10 .. Artem wants celebrate their longterm tutoring
 !! artQW = 20 .. Pc accepted Artems love and gave him a blowjob
 !! artQW = 21 .. Pc became know as a slut in Pavlovsk ... this part is not activated yet
@@ -88,7 +89,7 @@ if $ARGS[0] = 'learn':
 	'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/head/2.jpg"></center>'
 	'You spend an hour doing your homework together with Artem. He''s a very smart guy, and explains several things to you. At the end of the hour, you feel like you had a very productive homework session, and that you learned a lot from Artem''s tutoring.'
 	minut += 60
-	npc_rel['A2'] += 10
+	if artQW ! 5: npc_rel['A2'] += 10
 	lernHome = 0
 	lern += rand(3, 6)
 	intel_exp += rand(1, 2)
@@ -97,36 +98,52 @@ if $ARGS[0] = 'learn':
 	gs 'stat'
 	act 'Take a break from studying':gt 'artemhome','inside'
 
-
 	if npc_rel['A2'] >= 90:
 		'During your homework session, you notice Artem''s gaze wander a few times. He''s glancing at your feet and chest, whenever he thinks you''re not looking.'
 	end
 
-	if pav_slut >= 50 and artemblag = 0:
-		if artemBJQW = 0 and artemsex = 0:
+	if (pav_slut >= 50 and artemblag = 0) or artQW = 5:
+		if artemBJQW = 0 and (artemsex = 0 or artQW = 5):
 			cla
-			'After you finish your homework, Artem has a serious look on his face when he says: "<<$pcs_nickname>>, everyone in the school is talking about how much of a slut you are. With how much I''ve been helping you... I think it''s only fair you give me a little something in return."'
-			act 'Suck him off': gt 'artemEv','bj'
-
-			act '"No way!"':
-				cla
-				pcs_dom += 1
-				artemLernQW = -1
-				artemblok = 1
-				npc_rel['A2'] = 0
-				gs 'stat'
+			if artQW = 5:
+				'After you finish your homework, Artem has a serious look on his face when he says: "<<$pcs_nickname>>, with how much I''ve been helping you... We both know what you are willing to do. I think it''s only fair you give me a little something in return."'
+				act 'Suck him off': gt 'artemEv','bj'
+				
+				act '"No way!"':
+					cla
+					pcs_dom += 1
+					artemLernQW = -1
+					artemblok = 1
+					npc_rel['A2'] = 0
+					gs 'stat'
+	
+					'"No, I won''t do it again. It ends here."'
+					act 'Leave Artem''s apartment':gt 'artemhome','leave',5
+				end
+			else
+				'After you finish your homework, Artem has a serious look on his face when he says: "<<$pcs_nickname>>, everyone in the school is talking about how much of a slut you are. With how much I''ve been helping you... I think it''s only fair you give me a little something in return."'
+				act 'Suck him off': gt 'artemEv','bj'
 
-				'You decline, and he''s very offended by that: "Look <<$pcs_nickname>>, I spent a lot of time and effort helping you out. Meanwhile, you... you suck off or fuck pretty much everyone who asks! But you won''t touch me? That''s so not fair! We''re done... find someone else to help you. Good luck, with that attitude."'
-				'You can tell Artem is seriously offended by your refusal, and won''t help you any further. Hopefully someone else can help you with your homework.'
-				act 'Leave Artem''s apartment':gt 'artemhome','leave',5
+				act '"No way!"':
+					cla
+					pcs_dom += 1
+					artemLernQW = -1
+					artemblok = 1
+					npc_rel['A2'] = 0
+					gs 'stat'
+	
+					'You decline, and he''s very offended by that: "Look <<$pcs_nickname>>, I spent a lot of time and effort helping you out. Meanwhile, you... you suck off or fuck pretty much everyone who asks! But you won''t touch me? That''s so not fair! We''re done... find someone else to help you. Good luck, with that attitude."'
+					'You can tell Artem is seriously offended by your refusal, and won''t help you any further. Hopefully someone else can help you with your homework.'
+					act 'Leave Artem''s apartment':gt 'artemhome','leave',5
+				end
 			end
-		elseif (artemBJQW > 0 and artemBJQW < 10 and artemsex = 0) or (artemStripSee = 3 and artemsex = 0 and artemTouch > daystart):
+		elseif (artemBJQW > 0 and artemBJQW < 10 and artemsex = 0) or (artemStripSee = 3 and artemsex = 0 and artemTouch > daystart) or (artemBJQW > 0 and artQW = 5):
 			cla
 			'Artem unbuttons his pants and pulls his stiff erection from his pants.'
 			'He looks at you expectantly: "You know our deal, <<$pcs_nickname>>. If you want my help, I want your mouth."'
 
 			act 'Suck him off': gt 'artemEv','bj'
-		elseif artemBJQW = 10 and artemsex = 0:
+		elseif artemBJQW = 10 and artemsex = 0 and artQW ! 5:
 			cla
 			'After you finish your homework with Artem, he says a little shyly: "You know... I''ve never seen a girl naked before. Only on pictures. Maybe you could..."'
 			if pcs_dom >= 30 and dimaFilm > 0 and arthakQW = 0 and pcs_vag > 0:
@@ -169,7 +186,7 @@ if $ARGS[0] = 'learn':
 					act 'Suck him off': gt 'artemEv','bj'
 				end
 			end
-		elseif artemBJQW > 10 and artemStripSee < 2 and artemsex = 0:
+		elseif artemBJQW > 10 and artemStripSee < 2 and artQW ! 5:
 			artemRand = rand(0,5)
 			*clr & cla
 			if artemRand = 5:

+ 120 - 104
locations/artemhome.qsrc

@@ -32,6 +32,7 @@ if $ARGS[0] = '':
 	end
 	act 'Move away from the door':minut += 5 & gt 'pod_ezd','etaj_1'
 end
+
 if $ARGS[0] = 'leave':
 	minut += ARGS[1]
 	gs 'shortgs','checkdress',' ''artemhome'',''inside'' ' 
@@ -53,109 +54,8 @@ if $ARGS[0] = 'inside':
 		gt 'ArtemEv3','home_start'
 		exit
 	elseif (arthakQW = 1 or (artQW = 4 and arthakQW = 2)) and artomhakday ! daystart and artemblag = 0:
-		!I tell a lie, She refused
-		DimaRudeBlock = 1
-		'Artem looks away from you, with a blank stare in his eyes. He mutters: "You know... I watched that video you wanted me to delete from Dimka''s computer. I can''t believe it... I was willing to do anything for you. Anything!"'
-		'He continues: "Ever since I''ve seen that video... our relationship will be different. I saved a copy of it by the way, so I fucking own you now."'
-		'He looks at you, and his gaze hardens. You can see the hatred in his eyes. His voice remains surprisingly calm, as he orders you: "And now... get down on your fucking knees, bitch! You''re going to have to earn my silence, the hard way."'
-		'He will probably share the video with everyone, if you don''t do as he says.'
-
-		act 'Get down on your knees':
-			*clr & cla
-			'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/artem/sex/facefuck.jpg"></center>'
-			'You drop to your knees quickly, like he tells you. You''re trying to apologize for lying to him, but all that comes out of your mouth is a blubbering mess of incoherent excuses.'
-			'Not that it would''ve mattered... Artem is not interested in what you have to say, and lowers his pants to reveal his erect cock. The hatred in his eyes makes place for a cruel grin... he realizes he owns you now, and is already thinking about all the things he could have you do.'
-			'When he approaches you, you open your mouth automatically and just suffer through it when he gives you a rough facefuck.'
-			'He''s quite mean with you, and once or twice you feel like you''re running out of breath. Fortunately he doesn''t last very long, and after a few moments you feel his sperm sliding down your throat. You swallow his load automatically, not even giving it any thought.'
-			npc_sex[$boy] += 1
-			gs 'arousal','bj',5,'sub'
-			gs 'cum_call','mouth',1
-			swallow += 1
-			gs 'arousal','end'
-			gs 'stat'
-
-			act 'Take a deep breath':
-				*clr & cla
-				'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/artem/meet6.jpg"></center>'
-				'You try to catch your breath, while Artem straightens his clothes. Then he takes you by the hand; an almost endearing gesture, but you know it''s not.'
-				'Artem has a serious look in his eyes when he says: "Down to business, <<$pcs_nickname>>. I know you''re a slut. A slut like you wouldn''t mind teaching my friend some things about the female body, would she?"'
-				'You obediently shake your head, knowing it''s what he wants to hear. He smiles: "Very good, very good. If you''re the obedient bitch for me that I think you will be, I promise no one will see that video. I''ll even destroy it. Eventually."'
-				'He''s not giving you any time to think it over, and says: "So, decision time. Are you going to be my obedient little bitch, <<$pcs_nickname>>?"'
-				'You know he will publish that video if you leave now. It would ruin your reputation in Pavlovsk, but you have no clue what Artem has planned for you if you stay.'
-				gs 'stat'
-
-				act 'Leave his apartment and run away':
-					artemblok = 1
-					artemhakday = daystart
-					artemvbrosvid = 1
-					gt 'artemhome','leave',5
-				end
-
-				act 'Do what he wants':
-					*clr & cla
-					'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/head/2.jpg"></center>'
-					'You hang your head in shame and nod. He grins at you and mocks: "What''s that, <<$pcs_nickname>>? I can''t hear you."'
-					'You softly say: "I''ll... I''ll be your bitch, Artem."'
-					'He smiles benevolently at you and says: "I knew you would. Now come with me."'
-					'You follow him to their garage, where Peter Klyuyev was already waiting. He''s by far the biggest nerd in your class.'
-					'Artem grins at him: "Look who I have brought, Petka! Just like I promised you, <<$pcs_nickname>> here has kindly agreed to teach us everything about the female body. <b>We will have anatomy lessons here every Monday, after class.</b>"'
-					'"Today''s lesson will be about the vagina". Artem looks at you insistently and says: "Show us your pussy and spread those lips. I don''t even want to think about what that sleezebag Nosov did with them earlier."'
-					minut += 15
-					gs 'stat'
-
-					act 'Spread your lips':
-						*clr & cla
-						'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/artem/sex/fist.jpg"></center>'
-						'You do as he says, and pull your pussy lips apart.'
-						'Artem tells Petka: "So, Petka, this is what a spacious whore pussy looks like. Open them further <<$pcs_nickname>>, I know what it''s capable of."'
-						'You oblige and pull them further apart, stretching it as fas it will go.'
-						'Artem nods contently: "Good. Now put your hand in. I know you can do it."'
-						'You try to push your hand in, but it doesn''t work. You look up at Artem and ask him: "I can''t, not like this... can you at least give me some lubricant, please?"'
-						'Artem throws a bottle of oil your way, and sighs: "Here you go, whore. Now get to work."'
-						'You lubricate your hand royally, and try again. It takes a while, but eventually you manage to put your entire hand inside your snatch. Even though this experience is humiliating you to the bone, you can''t help but get aroused from the feeling. After a few minutes your body begins to spasm, and you realize you''re having an orgasm on Artem''s garage floor, while he and his friend watch you shove your own fist up your pussy. The whole world goes black.'
-						minut += 15
-						pcs_vag += 3
-						gs 'stat'
-
-						act 'Open your eyes':
-							*clr & cla
-							'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/artem/sex/doublebj.jpg"></center>'
-							'You open your eyes and see how Petka and Artem surrounded you, both stroking their cocks.'
-							'Artem says: "Back in the land of the living, whore? I can''t believe you came from that. Anyway, it''s time you give Petka his first blowjob. Make sure it''s a good one. You know what, suck me off too."'
-							'You slowly pull your hand from your stretched vagina and gently try to rub the sore feeling from your pussy lips while you suck off the guys, one at a time. After a few minutes, they both shoot their loads onto your face.'
-							gs 'boyStat','A2','1'
-							gs 'boyStat','A6','2'
-							gs 'arousal','bj',5,'dick[1]','sub','group'
-							gs 'arousal','bj',5,'dick[2]','sub','group'
-							gs 'cum_call','face',$boy[1],1
-							gs 'cum_call','face',$boy[2],1
-							gs 'arousal','end'
-							minut += 5
-							npc_sex['A2'] += 1
-							npc_sex['A6'] += 1
-							gang += 1
-							cumface += 2
-							facial += 1
-							arthakQW = 10
-							artemblok = 1
-							'You carefully ask: "So... will you delete the video now?"'
-							'Artem chuckles: "Delete the video? <<$pcs_nickname>>, please... we''re just getting started. Me and Petka have big plans with you."'
-							'He continues: "Don''t worry, it will be our little secret. Next Monday, we will continue our anatomy lessons. I''ll be waiting for you after school."'
-							gs 'stat'
-
-							act 'Leave the garage':gt 'pavComplex','garages'
-						end
-					end
-				end
-			end
-		end
-
-		act 'Leave his apartment and run away':
-			artemvbrosvid = 1
-			artemblok = 1
-			artemhakday = daystart
-			gt 'artemhome','leave',5
-		end
+		!lied to artem about the content of the video
+		gt 'artemhome', 'liar'
 	elseif (arthakQW = 2 or (arthakQW = 1 and artemblag = 1)) and artemhakday ! daystart:
 		arthakQW = 7
 		!!the_truth
@@ -260,7 +160,7 @@ if $ARGS[0] = 'inside':
 		end
 	end
 
-	if talkartemday ! daystart:
+	if talkartemday ! daystart and artQW ! 5:
 		act 'Chat with Artem':
 			*clr & cla
 			'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/head/2.jpg"></center>'
@@ -283,5 +183,121 @@ if $ARGS[0] = 'inside':
 	act 'Leave Artem''s apartment': gt 'artemhome','leave', 1 
 end
 
+!lied to artem about the content of the vide
+if $ARGS[0] = 'liar':
+	cla & clr
+	gs 'stat'
+	DimaRudeBlock = 1
+	artQW = 5
+	npc_rel['A2'] = 0
+	'<center><b><font color="maroon"><<$npc_firstname[''A2'']>> <<$npc_lastname[''A2'']>></font></b></center>'
+	'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/head/2.jpg"></center>'
+	'Artem looks away from you, with a blank stare in his eyes. He mutters: "You know... I watched that video you wanted me to delete from Dimka''s computer. I can''t believe it... I was willing to do anything for you. Anything!"'
+	'He continues: "Ever since I''ve seen that video... our relationship will be different. I saved a copy of it by the way, so I fucking own you now."'
+	'He looks at you, and his gaze hardens. You can see the hatred in his eyes. His voice remains surprisingly calm, as he orders you: "And now... get down on your fucking knees, bitch! You''re going to have to earn my silence, the hard way."'
+	'He will probably share the video with everyone, if you don''t do as he says.'
+
+	act 'Get down on your knees':
+		*clr & cla
+		'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/artem/sex/facefuck.jpg"></center>'
+		'You drop to your knees quickly, like he tells you. You''re trying to apologize for lying to him, but all that comes out of your mouth is a blubbering mess of incoherent excuses.'
+		'Not that it would''ve mattered... Artem is not interested in what you have to say, and lowers his pants to reveal his erect cock. The hatred in his eyes makes place for a cruel grin... he realizes he owns you now, and is already thinking about all the things he could have you do.'
+		'When he approaches you, you open your mouth automatically and just suffer through it when he gives you a rough facefuck.'
+		'He''s quite mean with you, and once or twice you feel like you''re running out of breath. Fortunately he doesn''t last very long, and after a few moments you feel his sperm sliding down your throat. You swallow his load automatically, not even giving it any thought.'
+		npc_sex[$boy] += 1
+		gs 'arousal','bj',5,'sub'
+		gs 'cum_call','mouth',1
+		swallow += 1
+		gs 'arousal','end'
+		gs 'stat'
+		
+		act 'Take a deep breath':
+			*clr & cla
+			'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/artem/meet6.jpg"></center>'
+			'You try to catch your breath, while Artem straightens his clothes. Then he takes you by the hand; an almost endearing gesture, but you know it''s not.'
+			'Artem has a serious look in his eyes when he says: "Down to business, <<$pcs_nickname>>. I know you''re a slut. A slut like you wouldn''t mind teaching my friend some things about the female body, would she?"'
+			'You obediently shake your head, knowing it''s what he wants to hear. He smiles: "Very good, very good. If you''re the obedient bitch for me that I think you will be, I promise no one will see that video. I''ll even destroy it. Eventually."'
+			'He''s not giving you any time to think it over, and says: "So, decision time. Are you going to be my obedient little bitch, <<$pcs_nickname>>?"'
+			'You know he will publish that video if you leave now. It would ruin your reputation in Pavlovsk, but you have no clue what Artem has planned for you if you stay.'
+			gs 'stat'
+			
+			act 'Do what he wants':
+				*clr & cla
+				'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/head/2.jpg"></center>'
+				'You hang your head in shame and nod. He grins at you and mocks: "What''s that, <<$pcs_nickname>>? I can''t hear you."'
+				'You softly say: "I''ll... I''ll be your bitch, Artem."'
+				'He smiles benevolently at you and says: "I knew you would. Now come with me."'
+				'You follow him to their garage, where Peter Klyuyev was already waiting. He''s by far the biggest nerd in your class.'
+				'Artem grins at him: "Look who I have brought, Petka! Just like I promised you, <<$pcs_nickname>> here has kindly agreed to teach us everything about the female body. <b>We will have anatomy lessons here every Monday, after class.</b>"'
+				'"Today''s lesson will be about the vagina". Artem looks at you insistently and says: "Show us your pussy and spread those lips. I don''t even want to think about what that sleezebag Nosov did with them earlier."'
+				minut += 15
+				gs 'stat'
+
+				act 'Spread your lips':
+					*clr & cla
+					'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/artem/sex/fist.jpg"></center>'
+					'You do as he says, and pull your pussy lips apart.'
+					'Artem tells Petka: "So, Petka, this is what a spacious whore pussy looks like. Open them further <<$pcs_nickname>>, I know what it''s capable of."'
+					'You oblige and pull them further apart, stretching it as fas it will go.'
+					'Artem nods contently: "Good. Now put your hand in. I know you can do it."'
+					'You try to push your hand in, but it doesn''t work. You look up at Artem and ask him: "I can''t, not like this... can you at least give me some lubricant, please?"'
+					'Artem throws a bottle of oil your way, and sighs: "Here you go, whore. Now get to work."'
+					'You lubricate your hand royally, and try again. It takes a while, but eventually you manage to put your entire hand inside your snatch. Even though this experience is humiliating you to the bone, you can''t help but get aroused from the feeling. After a few minutes your body begins to spasm, and you realize you''re having an orgasm on Artem''s garage floor, while he and his friend watch you shove your own fist up your pussy. The whole world goes black.'
+					minut += 15
+					pcs_vag += 3
+					gs 'stat'
+
+					act 'Open your eyes':
+						*clr & cla
+						'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/artem/sex/doublebj.jpg"></center>'
+						'You open your eyes and see how Petka and Artem surrounded you, both stroking their cocks.'
+						'Artem says: "Back in the land of the living, whore? I can''t believe you came from that. Anyway, it''s time you give Petka his first blowjob. Make sure it''s a good one. You know what, suck me off too."'
+						'You slowly pull your hand from your stretched vagina and gently try to rub the sore feeling from your pussy lips while you suck off the guys, one at a time. After a few minutes, they both shoot their loads onto your face.'
+						gs 'boyStat','A2','1'
+						gs 'boyStat','A6','2'
+						gs 'arousal','bj',5,'dick[1]','sub','group'
+						gs 'arousal','bj',5,'dick[2]','sub','group'
+						gs 'cum_call','face',$boy[1],1
+						gs 'cum_call','face',$boy[2],1
+						gs 'arousal','end'
+						minut += 5
+						npc_sex['A2'] += 1
+						npc_sex['A6'] += 1
+						gang += 1
+						cumface += 2
+						facial += 1
+						arthakQW = 10
+						artemblok = 0
+						'You carefully ask: "So... will you delete the video now?"'
+						'Artem chuckles: "Delete the video?" He chuckles again and shakes his head. "No."'
+						
+						!! The forced petka/artem events dont seem to exit, commented them out until they are
+						!!'Artem chuckles: "Delete the video? <<$pcs_nickname>>, please... we''re just getting started. Me and Petka have big plans with you."'
+						!!'He continues: "Don''t worry, it will be our little secret. Next Monday, we will continue our anatomy lessons. I''ll be waiting for you after school."'
+						
+						gs 'stat'
+
+						act 'Leave the garage':gt 'pavComplex','garages'
+					end
+				end
+			end
+			
+			act 'Leave his apartment and run away':
+				artemblok = 1
+				artemhakday = daystart
+				artemvbrosvid = 1
+				gt 'artemhome','leave',5
+			end
+		end
+	end
+	
+	act 'Leave his apartment and run away':
+		artemvbrosvid = 1
+		artemblok = 1
+		artemhakday = daystart
+		gt 'artemhome','leave',5
+	end
+end
+
 --- artemhome ---------------------------------
 

+ 1 - 1
locations/arturend.qsrc

@@ -38,7 +38,7 @@ act 'Brush up':
 		$currentpursetype = 'cheap'
 		currentpursenumber = 13
 		bag = 1
-		if menu_option = 1:dynamic $menu_addoldmenu
+		if menu_option = 1:gs 'obj_din', 'old'
 		if menu_option = 0:gs 'obj_din', 'new'
 		'Arthur gives you a quality handbag. You take it, feeling a mixture of joy and guilt welling up inside you. "Did I really just sleep with a stranger for a purse? Does this make me a whore, or a slut?" You think to yourself'
 	end

+ 35 - 39
locations/backwater.qsrc

@@ -143,6 +143,20 @@ if $clothingworntype = 'nude':
 
 		act 'Further':gt 'backwater'
 	end
+	if arrsize('sparrvol') > 0:
+		act 'Wash off sperm':
+			cla
+			*clr
+			dynamic $showerdin
+			lubonus = 0
+			pcs_sweat -= 1
+			minut += 10
+			if hantersRape = 1: hantersRape = 2
+			'<center><img <<$set_imgh>> src="images/locations/gadukino/hunters/backwaterswim1.jpg"></center>'
+			'You carefully wash off the sperm in the creek.'
+			act 'Further':gt 'backwater'
+		end
+	end
 	if dirtyclothes = 1 and clothesAtLocation = 1:
 		act 'Wash your clothes':
 			cla
@@ -210,20 +224,6 @@ else
 			act 'Further':gt'swamp_yard'
 		end
 	end
-	if arrsize('sparrvol') > 0:
-		act 'Wash off sperm':
-			cla
-			*clr
-			dynamic $showerdin
-			lubonus = 0
-			pcs_sweat -= 1
-			minut += 10
-			if hantersRape = 1: hantersRape = 2
-			'<center><img <<$set_imgh>> src="images/locations/gadukino/hunters/backwaterswim1.jpg"></center>'
-			'You carefully wash off the sperm in the creek.'
-			act 'Further':gt 'backwater'
-		end
-	end
 	if (cumloc[6] = 1 or cumloc[7] = 1):
 		act 'Clean the sperm off your clothes':
 			cla
@@ -236,32 +236,28 @@ else
 				act 'Finish':gt 'backwater'
 		end
 	end
-	if temper >= 10:
-		act 'Wash your face':
-			cla
-			*clr
-			pcs_makeup = 1
-			cumspclnt = 9
-			gs 'cum_cleanup'
-			cumspclnt = 11
-			gs 'cum_cleanup'
-			cumspclnt = 13
-			gs 'cum_cleanup'
-			if pcs_sweat > 19 : pcs_sweat -= 5
-			'<center><img <<$set_imgh>> src="images/shared/home/bathroom/facesp.jpg"></center>'
-			*nl
-			'You clean your face and get rid of any trace of cum.'
-			face_write = 0
-
-			'<center><img <<$set_imgh>> src="images/shared/home/bathroom/facesp.jpg"></center>'
-			'You carefully wash your face, removing your makeup.'
-			minut += 5
-			gs'stat'
-
-			act 'Further':gt 'backwater'
+end
 
-			if hantersRape = 1: hantersRape = 2
-		end
+if temper >= 10:
+	act 'Wash your face':
+		cla
+		*clr
+		minut += 5
+		pcs_makeup = 1
+		cumspclnt = 9
+		face_write = 0
+		gs 'cum_cleanup'
+		cumspclnt = 11
+		gs 'cum_cleanup'
+		cumspclnt = 13
+		gs 'cum_cleanup'
+		if pcs_sweat > 19 : pcs_sweat -= 5
+		gs'stat'
+		'<center><img <<$set_imgh>> src="images/shared/home/bathroom/facesp.jpg"></center>'
+		*nl
+		'You carefully wash your face, removing any impurities.'
+		act 'Further':gt 'backwater'
+		if hantersRape = 1: hantersRape = 2
 	end
 end
 

+ 3 - 19
locations/bandit.qsrc

@@ -35,26 +35,10 @@ if $args[0] = '':
 			end
 		end
 	end
-	act 'Pat Bandit':
+	act 'Play with Bandit (0:15)':
 		cls
-		minut += 5
-		npc_horny['A66'] += rand(1,3)
-		gs'stat'
-		'<center><img <<$set_imgh>> src="images/locations/gadukino/village/dog.jpg"></center>'
-		'You pat Bandit on the back. "Good boy."'
-
-		act 'Leave':
-			if npc_horny['A66'] >= 30: 
-				gt 'bandit', 'horny'
-			else	
-				gt 'Gadsarai'
-			end
-		end
-	end
-	act 'Stroke Bandit for 30 min':
-		cls
-		minut += 30
-		npc_horny['A66'] += rand(8,20)
+		minut += 15
+		npc_horny['A66'] += rand(3,15)
 		gs'stat'
 		'<center><img <<$set_imgh>> src="images/locations/gadukino/village/dog.jpg"></center>'
 		'You spend some time stroking Bandit''s back and playing with him.'

+ 65 - 28
locations/bed2.qsrc

@@ -1,6 +1,6 @@
 # bed2
 
-if $args[0] = 'options':
+if $ARGS[0] = 'options':
 	cla
 	act 'Set Alarm Clock':gt 'budilnik', 'start'
 	if bedPanty = 0:
@@ -16,8 +16,6 @@ if $args[0] = 'options':
 		end
 	end
 
-
-
 	if vibrator = 1 and cheatVib = 1:
 		if bedvibrator = 0:
 			act 'If worn, you will remove your vibrator at night, click to always leave it in':bedvibrator = 1 & gt 'bed2', 'options'
@@ -29,10 +27,9 @@ if $args[0] = 'options':
 	act 'Return':gt 'bed2'
 end
 
-if $args[0] = '':
+if $ARGS[0] = '':
+	cla & *clr
 	gs 'stat'
-	cla
-
 	if $clothingworntype ! 'nude':
 		'<center><img <<$set_imgh>> src="images/shared/home/bed.jpg"></center>'
 	else
@@ -105,10 +102,10 @@ if $args[0] = '':
 	act 'Get out of bed':killvar '$sleep_txt' & gt $loc, $metka
 end
 
-if $args[0] = 'sleep':
+if $ARGS[0] = 'sleep':
 	cls
 	'<center><img <<$set_imgh>> src="images/shared/home/bedroom/son.jpg"></center>'
-
+	gs 'stat'
 	pcs_hairbsh = 0
 	InSleep = 1
 	cloth_vid = 0
@@ -186,16 +183,19 @@ if $args[0] = 'sleep':
 		alarm_set -= 1440
 	end
 
-
-	if budilnikOn = 1 and alarm_now = alarm_time:
-		pcs_mood -= 10
-		$waketext = 'Your alarm goes off.'
+	if slept_in = 1:
+		$waketext = 'You wake up at <<$mid(100+hour,2,2)>>:<<$mid(100+minut,2,2)>>, after sleeping-in a little longer than planned, but at least you''ve had plenty of sleep.'
+		gs 'bed2', 'wake'
+	elseif pcs_sleep >= 100 and budilnikOn = 0:
+		$waketext = 'You wake up at <<$mid(100+hour,2,2)>>:<<$mid(100+minut,2,2)>>, no longer tired and ready to start the day with plenty of sleep.'
 		gs 'bed2', 'wake'
 	elseif pcs_sleep >= 100 and budilnikOn = 1 and alarm_now >= alarm_set:
-		$waketext = 'You wake up just before your alarm goes off.'
+		$waketext = 'You wake up at <<$mid(100+hour,2,2)>>:<<$mid(100+minut,2,2)>>, just before your alarm goes off. You''ve had plenty of sleep.'
 		gs 'bed2', 'wake'
-	elseif pcs_sleep > 100 and budilnikOn = 0:
-		$waketext = 'You wake up, no longer tired.'
+	elseif budilnikOn = 1 and alarm_now = alarm_time:
+		pcs_mood -= 10
+		$waketext = 'Your alarm goes off at <<$mid(100+hour,2,2)>>:<<$mid(100+minut,2,2)>>, '+iif(pcs_sleep < 90, 'but you could do with some extra sleep.', 'and you''ve had plenty of sleep.')+''
+		gs 'bed2', 'extra'
 		gs 'bed2', 'wake'
 	else
 		jump 'loopson'
@@ -203,12 +203,14 @@ if $args[0] = 'sleep':
 end
 
 if $ARGS[0] = 'wake_horny':
-	InSleep = 0
+	InSleep = 1
 	gs 'stat'
 	'Your wet dream and overall horniness rouse you from your sleep. From one moment to the next, you are wide awake and very much aware that your pussy is hot and wet.'
+	''
 	'You glance at your alarm clock. It reads <<$mid(100+hour,2,2)>>:<<$mid(100+minut,2,2)>>.'
-	'You could try and go back to sleep, of course, but it''s doubtful that you would find this kind of sleep very restful; not to mention the frustration that comes with ignoring your needs.'
-	'But masturbating is an option, too, and not the worst one in this situation. It might take some time, but you''d be able to sleep like a baby after.'
+	''
+	'You could try and go back to sleep, of course, but it''s doubtful that you would find this kind of sleep very restful; not to mention the frustration that comes with ignoring your needs, but masturbating is an option, too, and not the worst one in this situation. It might take some time, but you''d be able to sleep like a baby after.'
+	''
 	'Of course, you could always just give up on trying to sleep and just get up.'
 	if $loc = 'bedrPar' and SisterLesb = 5 and hour < 6:
 		'Or... you could wake up Anya and see if your dearest sister would be willing to help you with that.'
@@ -224,57 +226,80 @@ if $ARGS[0] = 'wake_horny':
 		gt 'bed2', 'sleep'
 	end
 
-	act 'Masturbate': gt 'selfplay', 'start'
+	act 'Masturbate': InSleep = 0 & gt 'selfplay', 'start'
 
-	act 'Get up': gt $loc, $metka
+	act 'Get out of bed (0:10)':
+		minut += 10
+		slept_in = 0
+		gs 'bed2', 'end'
+	end
+	act 'Get out of bed and get dressed (0:15)':
+		gs 'clothing', 'wear_last_worn'
+		slept_in = 0
+		minut += 15
+		gs 'bed2', 'end'
+	end
 
 	if $loc = 'bedrPar' and SisterLesb = 5 and hour < 6:
-		act 'Wake Anya and see if she''s in the mood': gt 'sistersleep'
+		act 'Wake Anya and see if she''s in the mood': InSleep = 0 & gt 'sistersleep'
 	elseif $loc = 'FedorEv4':
-		act 'Wake Fedor and see if he''s in the mood': gt 'FedorEv4', 'Bedroom 1'
+		act 'Wake Fedor and see if he''s in the mood': InSleep = 0 & gt 'FedorEv4', 'Bedroom 1'
 		!!Intro text doesn''t quite fit event (but doesn''t quite fit - try for baby - scenario either) - custom scene from VK?
 	elseif ($loc = 'bedr' or $loc = bedr2x) and husband > 0:
-		act 'Wake your husband and see if he''s in the mood': gt 'husbSex', 'variant'
+		act 'Wake your husband and see if he''s in the mood': InSleep = 0 & gt 'husbSex', 'variant'
 		!!Should be custom scene - maybe boyfriend/husband overhaul can cover this?
 	end
 end
 
-if $args[0] = 'wake':
+if $ARGS[0] = 'wake':
 	'<<$waketext>>'
+	InSleep = 1
 	gs 'stat'
 
 	if daystart < 10 and StoryLine = 0 and ntstart = 0:'The first thing you think as you wake up is, "Damn! It''s is not a dream, I really am a woman now."'
 	if daystart >= 10 and daystart < 30 and StoryLine = 0 and ntstart = 0:'Looking at your female body, you are still a little surprised it''s actually you.'
 
 	if kanikuli = 0 and StoryLine = 1 and SchoolAtestat = 0 and SchoolBlock = 0 and week < 6 and hour >= 4 and hour < 9:
+		if slept_in = 1 and hour >= 8 and hour < 9:
+			pcs_mood -= 10
+			msg '<center>Damn, you''ve slept too long! You''re going to be late for school!</center>'
+		end
 		act 'Get up out of bed and get dressed for school (0:15)':
+			slept_in = 0
+			minut += 15
 			if schtype = 0:schtype = 6
 			if schoolH[schtype] = 0:schtype = 6
 			gs 'clothing', 'wear', 'school', schtype
-			minut += 15
 			gs 'bed2', 'end'
 		end
 	end
 
 	act 'Get out of bed and get dressed (0:15)':
 		gs 'clothing', 'wear_last_worn'
+		slept_in = 0
 		minut += 15
 		gs 'bed2', 'end'
 	end
 	if enfullmorrout = 1 and hour >= 4 and hour < 12:
 		act 'Full morning routine (01:00)':
 			gs 'clothing', 'wear_last_worn'
+			slept_in = 0
 			minut += 15
 			fullmorrout = 1
 			gs 'bed2', 'end'
 		end
 		if kanikuli = 0 and StoryLine = 1 and SchoolAtestat = 0 and SchoolBlock = 0 and week < 6 and hour >= 4 and hour < 9:
-			act ' Full morning routine for School (01:00)':
+			if slept_in = 1 and hour >= 8 and hour < 9:
+				pcs_mood -= 10
+				msg '<center>Damn, you''ve slept too long! You''re going to be late for school!</center>'
+			end
+			act 'Full morning routine for School (01:00)':
 				fullmorrout = 1
+				slept_in = 0
+				minut += 15
 				if schtype = 0:schtype = 6
 				if schoolH[schtype] = 0:schtype = 6
 				gs 'clothing', 'wear', 'school', schtype
-				minut += 15
 				gs 'bed2', 'end'
 			end
 		end
@@ -282,11 +307,23 @@ if $args[0] = 'wake':
 
 	act 'Get out of bed (0:10)':
 		minut += 10
+		slept_in = 0
 		gs 'bed2', 'end'
 	end
 end
 
-if $args[0] = 'end':
+if $ARGS[0] = 'extra':
+	act '"Snooze" a few minutes more...':
+		slept_in = 1
+		stime = 0
+		minut = (100-pcs_sleep)*6
+		pcs_sleep += 100
+		gs 'stat'
+		gt 'bed2', 'sleep'
+	end
+end
+
+if $ARGS[0] = 'end':
 	InSleep = 0
 	if bedpanty = 1: gs 'underwear', 'remove'
 

+ 17 - 17
locations/belgang.qsrc

@@ -34,9 +34,9 @@ if $ARGS[0] = 'workofdebt':
 			end
 			'He signals his crew to get back in the jeep. You barely manage to dodge the spray of pebbles and dirt the spinning tires spew your way, as they drive off as fast as they can, probably on their way to another ''business appointment''.'
 			
-			if $ARGS[1] = 'commercial': 
+			if return_residential = 0: 
 				act 'Move on': gt 'pavCommercial'
-			elseif $ARGS[1] = 'residential':
+			else
 				act 'Move on': gt 'pavResidential'
 			end
 		end
@@ -57,11 +57,11 @@ if $ARGS[0] = 'workofdebt':
 			'You owe him: <<belgangPay>> <b>₽</b>'
 			'This week you need to pay him: <<belgangPayWeek>> <b>₽</b>'
 			
-			if $ARGS[1] = 'commercial': 
+			if return_residential = 0: 
 				act 'Move on': gt 'pavCommercial'
-			elseif $ARGS[1] = 'residential':
+			else
 				act 'Move on': gt 'pavResidential'
-			end				
+			end			
 		end
 	end
 	
@@ -123,9 +123,9 @@ elseif $ARGS[0] = 'payday':
 			end
 			'He signals his crew to get back in the jeep. You barely manage to dodge the spray of pebbles and dirt the spinning tires spew your way, as they drive off as fast as they can, probably on their way to another ''business appointment''.'
 			
-			if $ARGS[1] = 'commercial': 
+			if return_residential = 0: 
 				act 'Move on': gt 'pavCommercial'
-			elseif $ARGS[1] = 'residential':
+			else
 				act 'Move on': gt 'pavResidential'
 			end
 		end
@@ -154,9 +154,9 @@ elseif $ARGS[0] = 'payday':
 				'You owe him: <<belgangPay>> <b>₽</b>'
 				'Next week you need to pay him: <<belgangPayWeek>> <b>₽</b>'
 				
-				if $ARGS[1] = 'commercial': 
+				if return_residential = 0: 
 					act 'Move on': gt 'pavCommercial'
-				elseif $ARGS[1] = 'residential':
+				else
 					act 'Move on': gt 'pavResidential'
 				end	
 			end
@@ -184,9 +184,9 @@ elseif $ARGS[0] = 'payday':
 			'You owe him: <<belgangPay>> <b>₽</b>'
 			'Next week you need to pay him: <<belgangPayWeek>> <b>₽</b>'
 			
-			if $ARGS[1] = 'commercial': 
+			if return_residential = 0: 
 				act 'Move on': gt 'pavCommercial'
-			elseif $ARGS[1] = 'residential':
+			else
 				act 'Move on': gt 'pavResidential'
 			end	
 		end
@@ -216,11 +216,11 @@ elseif $ARGS[0] = 'payday':
 				'You owe him: <<belgangPay>> <b>₽</b>'
 				'Next week you need to pay him: <<belgangPayWeek>> <b>₽</b>'
 				
-				if $ARGS[1] = 'commercial': 
+				if return_residential = 0: 
 					act 'Thank him and leave': gt 'pavCommercial'
-				elseif $ARGS[1] = 'residential':
+				else
 					act 'Thank him and leave': gt 'pavResidential'
-				end	
+				end
 			elseif belgangPayextension = 1:	
 				belgangPayextension += 1
 				belgangPay += 5000
@@ -237,11 +237,11 @@ elseif $ARGS[0] = 'payday':
 				'You owe him: <<belgangPay>> <b>₽</b>'
 				'Next week you need to pay him: <<belgangPayWeek>> <b>₽</b>'
 								
-				if $ARGS[1] = 'commercial': 
+				if return_residential = 0: 
 					act 'Thank him and leave': gt 'pavCommercial'
-				elseif $ARGS[1] = 'residential':
+				else
 					act 'Thank him and leave': gt 'pavResidential'
-				end	
+				end
 			else 
 				'He frowns, abruptly cutting you off. You can see the disapproval in his eyes when you glance up. "That is very unfortunate <<$pcs_nickname>>. I had such high hopes for you," he says. "I guess we will have to find an alternative way for you to pay off your debts."'
 				'He then directs his attention to two of his henchmen: "She''s coming with us."'

+ 33 - 4
locations/body.qsrc

@@ -898,13 +898,13 @@ else
 end
 
 if pirsB > 0 and pirsB < 10000:
-	$pirsB = 'Your lip is pierced.'
+	$pirsB = ' Your lip is pierced. '
 	rand_lowerlip = rand(0)
 	if rand_lowerlip = 0:$pcdesc_lowerliprandom = 'pierced lower lip'
 	$pcdesc_lowerlipwordy = 'jewelry-studded lower lip'
 	$pcdesc_lowerlip = 'pierced lower lip'
 else
-	$pirsB = ''
+	$pirsB = ' '
 	rand_lowerlip = rand(0)
 	if rand_lowerlip = 0:$pcdesc_lowerliprandom = 'lower lip'
 	$pcdesc_lowerlipwordy = 'lower lip'
@@ -1050,7 +1050,7 @@ if pcs_lipbalm > 0:
 		$pcdesc_lipglossinsertive = ', shiny'
 		$pcdesc_lipglossed = 'glossed'
 		$pcdesc_lipglosswordy = 'gloss-slicked'
-		$lip = 'You have normal<<$pcdesc_lipglossinsertive>> lips. <<$pirsB>> <<$pirsA>>'
+		$lip = 'You have normal<<$pcdesc_lipglossinsertive>> lips.<<$pirsB>><<$pirsA>>'
 	elseif pcs_lip = 2:
 		rand_lipgloss = rand(0,2)
 		if rand_lipgloss = 0:$pcdesc_lipglossrandom = 'juicy'
@@ -1575,6 +1575,24 @@ if lashair = 0:
 		if rand_pubes = 2:$pcdesc_pubesrandom = 'roughly-stubbled'
 		$pcdesc_pubes = 'stubbly'
 		$pcdesc_pubeswordy = 'scratchy, roughly-stubbled'
+	elseif pcs_pubes <= 15 and pcs_bush = 1:
+		lobkoef = 0
+		$pcs_pubes = 'You have stubble growing at the edges of your <a href="exec:view''images/pc/body/pussy/bpussy.jpg''">trimmed pussy</a>. <<$pirspiz>><br><<$clitsize>>'
+		rand_pubes = rand(0,2)
+		if rand_pubes = 0:$pcdesc_pubesrandom = 'trimmed-back'
+		if rand_pubes = 1:$pcdesc_pubesrandom = 'lightly-furred'
+		if rand_pubes = 3:$pcdesc_pubesrandom = 'mostly well-kept'
+		$pcdesc_pubes = 'stubbly'
+		$pcdesc_pubeswordy = 'scratchy, roughly-stubbled'
+	elseif pcs_pubes <= 20 and pcs_bush = 1:
+		lobkoef = 3 
+		$pcs_pubes = 'You have a small neat bush of hair at the top of your <a href="exec:view''images/pc/body/pussy/3.jpg''">pussy</a>. <<$pirspiz>><br><<$clitsize>>'
+		rand_pubes = rand(0,2)
+		if rand_pubes = 0:$pcdesc_pubesrandom = 'neatly-trimmed'
+		if rand_pubes = 1:$pcdesc_pubesrandom = 'lightly-furred'
+		if rand_pubes = 3:$pcdesc_pubesrandom = 'well-kept'
+		$pcdesc_pubes = 'neatly-trimmed'
+		$pcdesc_pubeswordy = 'trimmed, well-kept'
 	elseif pcs_pubes <= 20:
 		lobkoef = 0
 		$pcs_pubes = 'You have neatly trimmed triangle of hair around your <a href="exec:view''images/pc/body/pussy/spussy.jpg''">pussy</a>. <<$pirspiz>><br><<$clitsize>>'
@@ -1585,9 +1603,20 @@ if lashair = 0:
 		if rand_pubes = 3:$pcdesc_pubesrandom = 'well-kept'
 		$pcdesc_pubes = 'neatly-trimmed'
 		$pcdesc_pubeswordy = 'trimmed, well-kept'
+	elseif pcs_pubes <= 30:
+		pcs_bush = 0
+		lobkoef = 0
+		$pcs_pubes = 'You have a bushy but well-maintained mat of <a href="exec:view''images/pc/body/pussy/hpussy.jpg''">pubic hair</a>. <<$pirspiz>><br><<$clitsize>>'
+		rand_pubes = rand(0,2)
+		if rand_pubes = 0:$pcdesc_pubesrandom = 'furred'
+		if rand_pubes = 1:$pcdesc_pubesrandom = 'bushy'
+		if rand_pubes = 2:$pcdesc_pubesrandom = 'well-maintained'
+		$pcdesc_pubes = 'bushy'
+		$pcdesc_pubeswordy = 'bushy, thick'
 	else
+		pcs_bush = 0
 		lobkoef = 0
-		$pcs_pubes = 'You have a thick bush of <a href="exec:view''images/pc/body/pussy/hpussy.jpg''">pubic hair</a>. <<$pirspiz>><br><<$clitsize>>'
+		$pcs_pubes = 'You have a wild and unkempt jungle of <a href="exec:view''images/pc/body/pussy/hrypussy.jpg''">pubic hair</a>. <<$pirspiz>><br><<$clitsize>>'
 		rand_pubes = rand(0,2)
 		if rand_pubes = 0:$pcdesc_pubesrandom = 'thickly-furred'
 		if rand_pubes = 1:$pcdesc_pubesrandom = 'hairy'

+ 2 - 1
locations/brothel.qsrc

@@ -500,8 +500,8 @@ if $ARGS[0] = 'brothel:section1:girlroom':
 		'<center><img <<$set_imgh>> src="images/locations/shared/brothel/brothelShower.jpg"></center>'
 		''
 		'After taking off all of your clothes, you gather up your towel, washcloth and soap, then head to the shower. You wash yourself thoroughly to be as clean as possible to potential clients.'
-		dynamic $brit
 		dynamic $dryOff
+		dynamic $brit
 	end
 	gs 'din_van', 'prvt_pee'
 	if klismaday < daystart:
@@ -591,6 +591,7 @@ if $ARGS[0] = 'brothel:section1:girlroom':
 	dynamic $tampon
 	dynamic $quickwash
 	dynamic $basin
+	dynamic $brit
 	if painkiller > 0 and pain['total'] >0 and pain['killer'] = 0:
 		act 'Take a painkiller':
 			pain['killer'] += 1

+ 118 - 4
locations/brother.qsrc

@@ -126,11 +126,13 @@ if $ARGS[0] = 'start':
 			end
 		elseif $clothingworntype = 'nude' and pcs_pubes > 10 and $pantyworntype = 'none':
 			'"You should have shaved," your brother comments, "it looks like you''re growing a forest."'
-		elseif $clothingworntype = 'nude':
-			if brotherSex >= 1:
-				'"<<$pcs_nickname>>, you have an amazing body"'
+			if brotherSex < 3:brotherSex = 3
+		elseif $clothingworntype = 'nude' and $braworntype = 'none':
+			if brotherSex >= 7:
+				'"<<$pcs_nickname>>, you have an amazing body."'
 			else
 				'"What a view! Have you decided to be a nudist?"'
+				if brotherSex < 3:brotherSex = 3
 				if npc_rel['A34'] <50:npc_rel['A34'] += 1
 			end
 		end
@@ -225,6 +227,7 @@ if $ARGS[0] = 'start':
 					cls
 					picrand = RAND(1,2)
 					minut += 60
+					gs 'stat'
 					if npc_rel['A34'] <50:npc_rel['A34'] += rand(1,2)
 						'<center><b><font color = maroon>School - football field</font></b></center>'
 					if month=1 or month=2 or month=12:
@@ -288,6 +291,14 @@ if $ARGS[0] = 'start':
 		
 		if hour >= 7 and hour < 23:
 			act'Chat with Kolka':gt'brother2','chat'
+			!!act'Banter with Kolka':gt'brother2','banter'
+			if father_go = 1:
+				if brotherSex < 5 and brotherkiss >= 1 and brotherkisstalk < 1:
+					act'Talk about the kiss':gt'brother','kiss_talk'
+				elseif brotherkisstalk = 1 or brotherSex > 4:
+					act'Make out with your brother':gt 'brother2','kiss'
+				end
+			end
 		end
 		
 		!if father_go = 1 and hour >= 7:
@@ -409,7 +420,7 @@ if $ARGS[0] = 'start':
 				end
 			end
 
-			if father_go = 1 and hour >= 18 and hour < 23 and brotherSex > 0 and brotherEvSex ! daystart:
+			if father_go = 1 and hour >= 18 and hour < 23 and brotherSex > 4 and brotherEvSex ! daystart:
 				'When you get close, He turns to you and says,:'
 				if sub > 0 or (evgenQW >= 4 and pav_slut >= 75):
 					gs 'boyStat', 'A34'
@@ -463,6 +474,109 @@ if $ARGS[0] = 'start':
 	end
 end
 
+if $ARGS[0] = 'kiss_talk':
+	brotherkisstalk = 1
+	'<center><b><font color = maroon>Kolka</font></b></center>'
+	'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/kolka/brother.jpg"></center>'
+	'"Hey..." you say awkwardly. "Can we talk? About... you know..." you blush and look away awkwardly, the memory of your brother''s lips pressing at your mind. Kolka immediately blushes back and swallows.'
+	'"Uhh... yeah. We can talk... about... you know..."'
+	act'Sit down':
+		minut += 5
+		cla & *clr
+		'<center><b><font color = maroon>Kolka</font></b></center>'
+		'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/kolka/brother.jpg"></center>'
+		'You sit down next to him and continue to sit there awkwardly not saying anything for several minutes, trying to think of what you''re going to say.'
+		act'It was just a kiss':
+			cla & *clr
+			'<center><b><font color = maroon>Kolka</font></b></center>'
+			'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/kolka/brother.jpg"></center>'
+			'Preparing what you think is the best thing to say, you take a deep breath before finally speaking.'
+			'"Look Kolka, it was just a kiss. There wasn''t any more meaning behind it than wanting to give you one. There''s nothing wrong with a sister wanting to show her brother some affection, right?" you rationalize, almost more to yourself than to your brother.'
+			'"Uhh... R-right. Nothing wrong with that, I guess..."'
+			'"I just don''t want you getting any ideas," you say, looking away. "It''s not like we''re going to start dating or do... other stuff... It''s not like we could anyways. We''re blood family. Your my brother and that''s it."'
+			'"R-right..." he says. You look back towards him and find yourself shocked by his expression. Even though all this is wrong and taboo, you can''t help but feel bad about the wounded look on his face. His hurt hurts you too.'
+			'You look away again, mulling over what you should say next...'
+			act'Continue':
+				cla & *clr
+				'<center><b><font color = maroon>Kolka</font></b></center>'
+				'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/kolka/brother.jpg"></center>'
+				'"You''re my brother," you finally say again. "You''re my brother and I love you and nothing will change that."'
+				'"Right... I love you too..." he mumbles back.'
+				'"So..." With a fast beating heart and feeling the heat flush to your face, you force out your next words. "So... if I want to show you how much I love you in the future, there''s nothing wrong with that."'
+				'You turn back towards your brother to see him looking at you with wide eyes.'
+				'"If I want to kiss my brother to show him that I love him, then I''m allowed to do that," you say firmly. Before you can convince yourself to change your mind, you lean forward towards him.'
+				act'Kiss him':
+					cla & *clr
+					brotherkiss += 1
+					'<center><video autoplay loop src="images/shared/sex/kiss/kiss.mp4"></video></center>'
+					'You gently press your lips against his and can''t help but melt into the kiss. The hot flush of your face is unbearably pleasant when combined with the soft massaging of his lips against yours. After a long moment you pull back to meet his eyes.'
+					'"I love you... brother..." you whisper, purposefully reminding yourself to add the last word after a beat of silence.'
+					'"I love you too sis..." he murmurs back.'
+					'Looking into his eyes one more time, you quickly pull back and stand up to walk out of the room. You pause at the door to look back at him.'
+					'"I''ll, uhh... see you later," you say awkwardly before hurrying out into the hallway.'
+					pcs_horny += 5
+					npc_rel['A34'] += 10
+					act'Leave':gt 'korrPar'
+				end
+			end
+		end
+		act'I don''t know what came over me':
+			cla & *clr
+			'<center><b><font color = maroon>Kolka</font></b></center>'
+			'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/kolka/brother.jpg"></center>'
+			'"I don''t know what came over me!" you suddenly blurt out, startling Kolka from your previous silence. "I''m sorry Kolka! I didn''t mean to! It''s just, your hand was on my leg and everything felt so warm and I just saw that look in your eyes and the next thing I knew..."'
+			'You trail off, looking down at your knees in shame, not knowing what else to say. Everything sounds like an excuse to your own ears. You know what you did was wrong and you''re afraid of how it might have hurt your brother.'
+			'"It''s okay <<$pcs_nickname>>."'
+			'You turn back towards him with wide eyes. "Really?"'
+			'"Yeah," he mumbles, blushing and looking away bashfully. "It was... kind of nice. I''ve never kissed a girl before."'
+			'"But I''m your sister!" you say, tears held back behind your eyes. "It wasn''t right of me to do that. I shouldn''t have..."'
+			'"It''s okay, <<$pcs_nickname>>," he repeats as he turns back towards you. "Really, it is. You''re a beautiful girl," he says, causing you to blush even harder. "Anyone would be made happy if you kissed them like that. Even your brother. And if that''s wrong..."'
+			'He starts to lean forward towards you. Your breath hitches because you know what he''s about to do but you''re frozen in place, unable bring yourself to move away.'
+			'"If that''s wrong, then I don''t want to be right..."'
+			act'"Mmmph-!"':
+				cla & *clr
+				brotherkiss += 1
+				'<center><video autoplay loop src="images/shared/sex/kiss/kiss.mp4"></video></center>'
+				'Any protest you might have had died in your throat when he presses his lips against yours. Your whole body melts into it, letting him mash his soft mouth against you. You subconsciously notice your hand grabbing his shirt and pulling him closer, but other than that you can''t think about anything except this kiss.'
+				'When he finally pulls away, you find yourself breathless. He smiles back at you.'
+				'"See? No harm done."'
+				'Chewing on your lip to suppress a larger smile, you sheepishly simper back at him.'
+				'"I guess you''re right..." you say. "No harm done."'
+				'You get up to leave, looking back at him before you do.'
+				'"Thanks Kolka. For... you know," you say, before escaping into the hallway.'
+				npc_rel['A34'] += 5
+				pcs_horny += 10
+				act'Leave':gt 'korrPar'
+			end
+		end
+
+		act'It felt good':
+			cla & *clr
+			'<center><b><font color = maroon>Kolka</font></b></center>'
+			'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/kolka/brother.jpg"></center>'
+			'"It felt pretty good didn''t it?" you sheepishly smile at him.'
+			'Kolka perks up at the words and mumbles back, "Yeah, it did didn''t it?"'
+			'"Maybe, it''s not so bad to have a little fun now and then..." you say, casually inching towards him. "I mean, it''s not like we''re doing anything that wrong are we?"'
+			'"No..." he says, mimicking your casual posture and motion. "We''re teenagers with raging hormones or something right? We need to enjoy ourselves now and then or we''ll go crazy, right?"'
+			'"Right..." you say, leaning in towards his face.'
+			act'Kiss him':
+				cla & *clr
+				minut += 5
+				brotherkiss += 1
+				npc_rel['A34'] += 5
+				'<center><video autoplay loop src="images/shared/sex/kiss/kiss_lips.mp4"></video></center>'
+				'You press your lips hard against his, letting yourself be consumed by the kiss for a moment. Just as eager, he presses back and you suddenly find yourself surprised by the intrusion of his tongue in your mouth. You find yourself particularly surprised by how welcome it is. You pull back briefly for gasps of breath and single words between kisses.'
+				'"Maybe-! It isn''t-! So-! Mmmrph! Bad-! If we-! Cut-! Loose-! Now and-! Mmmmmmm! Again-!"'
+				'"Mmm mmm!"'
+				'Your brother doesn''t say anything back except to hum in agreement and keep kissing you. The two of you continue making out for several more minutes before you finally break apart and you get up to leave. As you stand by the door, you look back towards your brother.'
+				'"I''m glad we had this talk," you say, licking your lips and departing.'
+				pcs_horny += 15
+				act'Leave':gt 'korrPar'
+			end
+		end
+	end
+end
+
 if $ARGS[0] = 'sleepsexcum':
 	brotherfuck += 1
 	minut += 15

+ 242 - 74
locations/brother2.qsrc

@@ -84,6 +84,159 @@ if $ARGS[0] = 'chat':
 	act'Continue':gt'brother','start'
 end
 
+if $ARGS[0] = 'kiss':
+	gs 'arousal', 'kiss', rand(1,5)
+	brotherkiss += 1
+	'<center><video autoplay loop src="images/shared/sex/kiss/kiss_lips.mp4"></video></center>'
+	'With your stepfather gone, you take the opportunity you have and start kissing your brother.'
+	'Your lips and tongues intertwine with pleasure and satisfaction.'
+	act'Finish':gt'brother2','kiss_end'
+	act'Keep making out':gt'brother2','kiss2'
+
+	if brotherSex >= 4:
+		act'Give him a handjob':gt'brother2','hj'
+	end
+	if brotherSex >= 5:
+		act'Give him a blowjob':gt'brother2','bj'
+		!!act'Sneak into the shower with him':
+	end
+end
+
+if $ARGS[0] = 'kiss2':
+	gs 'arousal', 'kiss', rand(1,3)
+	gs 'arousal', 'foreplay', rand(1,3)
+	gs 'stat'
+	'<center><video autoplay loop src="images/shared/sex/kiss/kiss_lips.mp4"></video></center>'
+	'You continue make out with your brother. His hands gently feel up your body, inciting pleasure and excitement wherever they go.'
+	act'Finish':gt'brother2','kiss_end'
+	act'Give him a handjob':gt'brother2','hj'
+	if brotherSex >= 5:
+		act'Give him a blowjob':gt'brother2','bj'
+		!!act'Sneak into the shower with him':
+	end
+end
+
+if $ARGS[0] = 'kiss_end':
+	gs 'arousal', 'end'
+	cla & *clr
+	'<center><b><font color = maroon>Kolka</font></b></center>'
+	'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/kolka/brother.jpg"></center>'
+	'Eventually, you the two of you reluctantly pull apart.'
+	'"Better stop before we get caught," you say breathlessly.'
+	'"Yeah..."'
+	act'Finish':gt 'sitrPar'
+end
+
+if $ARGS[0] = 'hj':
+	brotherhj += 1
+	npc_rel['A34'] += 1
+	cla & *clr
+	gs 'arousal', 'hj', rand(1,3)
+	'<center><img <<$set_imgh>> src="images/characters/pavlovsk/resident/kolka/event/homework/hj.jpg"></center>'
+	'Snaking your hand into his pants, you pull out his cock, jerking him off with the same vigor you continue to kiss him with.'
+	brohj = 1
+	act'Keep going':
+		cla
+		*nl
+		gs 'arousal', 'hj', rand(1,3)
+		'You continue to give him a handjob while making out with him until you feel his body start to stiffen beneath yours. You think he''s probably about to cum.'
+		act'Let him cum in your hand':
+			cla & *clr
+			'<center><img <<$set_imgh>> src="images/characters/pavlovsk/resident/kolka/event/homework/hj_cum.jpg"></center>'
+			'Not stopping, you quicken your pace until you feel ropes of his thick cum spattering against your hand.'
+			'Moving your head back, you survey your handiwork before smiling back at him and leaning in for a peck on the lips before getting up to find some tissues for your brother and to wash off your hand.'
+			gs 'arousal', 'end'
+			act 'Finish': gt 'sitrPar'
+		end
+		act'Put your lips over the tip':
+			cla & *clr
+			gs 'arousal', 'bj', 1
+			gs 'cum_call', 'mouth', 'A34', 1
+			gs 'arousal', 'end'
+			npc_rel['A34'] += 3
+			swallow += 1
+			if brotherSex < 6: brotherSex = 6
+			'<center><video autoplay loop src="images/characters/pavlovsk/resident/kolka/event/homework/swallow.mp4"></video></center>'
+			'You break away from the kiss and moving quickly, you wrap your lips around the tip of his cock. No sooner than your mouth envelopes him do you feel his cum explode inside you, the taste his hot salty cum filling your mouth.'
+			'He spurts several times and you wait a several seconds more until nothing more comes out. After spending a moment to make sure he''s finished, you suck hard to gather up all the cum in your mouth while pulling your lips back from his tip and leaving his cock completely clean and cum free. As your lips leave his cock, you tilt back your head to look at him, swallowing in the same motion. Kolka stares at you in disbelief of what you just did.'
+			'"I didn''t want to leave a mess," you smile bashfully.'
+			'Licking his tip a few more times, you ensure that his cock is clean enough to put back inside his trousers, happily giving him a kiss on the cheek as he does so.'
+			act 'Finish': gt 'sitrPar'
+		end
+	end
+	
+	act'Give him a blowjob':gt'brother2','bj'
+end
+
+if $ARGS[0] = 'bj':
+	cla & *clr
+	npc_rel['A34'] += 2
+	gs 'arousal', 'bj', rand(1,5)
+	if brotherSex < 6: brotherSex = 6
+	brotherbj += 1
+	if $clothingworntype = 'nude' and $braworntype = 'none':
+		'<center><video autoplay loop src="images/characters/pavlovsk/resident/kolka/bj1.mp4"></video></center>'
+	else
+		'<center><video autoplay loop src="images/characters/pavlovsk/resident/kolka/bj.mp4"></video></center>'
+	end
+	if brohj = 1:
+		brohj = 0
+		'After a few more tugs on his cock, you break the kiss and lean downward.'
+	else
+		'Breaking away from the kiss, you unzip Kolka''s trousers and lean down.'
+	end
+	'Taking his cock in your mouth, you begin to move your lips up and down his shaft, sucking gently. After an indeterminate amount of time goes by, you hear your brother''s voice.'
+	'"<<$pcs_nickname>>!" he whispers harshly. "I''m gonna cum!"'
+	act'Keep sucking':
+		cla & *clr
+		swallow += 1
+		gs 'cum_call', 'mouth', 'A34', 1
+		gs 'arousal', 'end'
+		'<center><video autoplay loop src="images/characters/pavlovsk/resident/kolka/event/homework/swallow.mp4"></video></center>'
+		'You diligently continue to blow him until you feel his hot cum spurting into your mouth. Gathering it all up, your remove your lips from Kolka''s cock, tilting your head back and swallowing at the same time.'
+		'"I can''t believe you just swallowed like that," he says, breathless.'
+		'"We shouldn''t leave a mess for mom and dad to find, right?" you say, giving him a clean smile.'
+		'After licking his cock a little bit more to make sure it''s clean, you finish up by helping him put it back in his trousers, lest your mother suddenly walk in and wonder what you''re doing together.'
+		act'Finish':gt'sitrPar'
+	end
+	
+	act'Pull back':
+		cla & *clr
+		'<center><video src="images/shared/sex/cum/facial/facial0,3.mp4"></center>'
+		gs 'cum_call', 'face', 'A34', 1
+		gs 'arousal', 'end'
+		'You quickly pull back and kneel in front of Kolka as he furiously jerks off in front of you. You close your eyes just as you feel his hot cum spatter against your face, flinching as it does. When he''s finally done, you feel a few droplets drip down your cheeks onto the carpeted floor.'
+		'Peeking through cum-slathered eyes, you look at your brother, saying, "Maybe we shouldn''t have done it like this. Now we need to clean up before someone spots us."'
+		'Leaving Kolka to clean his semen out of the carpet, you slink towards the bathroom to wash off your face.'
+		act'Finish':gt'vanrPar'
+	end
+	
+	act'Stick your tongue out':
+		cla & *clr
+		gs 'cum_call', 'face', 'A34', 1
+		gs 'cum_call', 'mouth', 'A34', 1
+		'<center><video autoplay loop src="images/shared/sex/cum/facial/facial25.mp4"></video></center>'
+		'You pull back from your brother and close your eyes, sticking out your tongue. You briefly hear his cock fapping in front of you before you feel a jet of hot sticky cum fly into your mouth. The next spurt takes you on the cheek and you immediately feel it dripping down your neck.'
+		act'Swallow':
+			swallow += 1
+			cla & *clr
+			'<center><video src="images/shared/sex/cum/facial/facial26.mp4"></center>'
+			'Waiting patiently, you take a moment to swallow what''s already in your mouth. You stick your tongue back out and continue to wait, but you realize that he''s probably spent at this point.'
+			if $clothingworntype ! 'nude':
+				gs 'cum_call', 'clothes', 'A34', 1
+				'You open your eyes and look down at the cum that''s dripped from your face onto your clothes and floor.'
+			else
+				gs 'cum_call', 'breasts', 'A34', 1
+				'You open your eyes and look down at the cum that''s dripped from your face onto your breasts and floor.'
+			end
+			'"Maybe we shouldn''t have finished like that..." you say, smiling wistfully at your brother.'
+			'Leaving Kolka to clean his semen out of the carpet, you slink towards the bathroom to wipe off .'
+			gs 'arousal', 'end'
+			act'Finish':gt'vanrPar'
+		end
+	end
+end
+
 if $ARGS[0] = 'wakeup':
 	cla & *clr
 	'<center><b><font color="maroon">Kolka</font></b></center>'
@@ -137,30 +290,18 @@ if $ARGS[0] = 'wakeup':
 		
 	if brotherSex >= 2 or pcs_inhib >= 35 or npc_rel['A34'] >= 75:
 		act'Tell him you''ll show him your tits':
-			cla
-			brotherMorningSex = daystart
+			cla	
+			*nl
 			'"I''ll tell you what Kolka, if you get up now, I''ll let you look at my tits."'
 			if $clothingworntype = 'nude' and $braworntype = 'none':
 				'He cracks open an eye. "I don''t need to get up to do that."'
 				'You look down at yourself and remember that you''re already topless. Right. That wasn''t a very good plan...'
 				act'Back to the drawing board':gt'brother2','wakeup'
-			elseif brotherwaketrick = 1:
-				'He opens his eyes slowly, looking at you with suspicion.'
-				'"You''re not just going to leave like you did last time are you?"'
-				'"No Kolka."'
-				'"You promise? For real this time?"'
-				'"I promise."'
-				'He pulls back his blanket and sits up, rubbing the sleep from his eyes to focus on you.'
-			else
-				'He opens his eyes slowly, looking at you with suspicion.'
-				'"This isn''t just some trick to get me out of bed?"'
-				'"No Kolka."'
-				'"You promise?"'
-				'"I promise."'
-				'He pulls back his blanket and sits up, rubbing the sleep from his eyes before focus on you.'
 			end
+			
 			if $clothingworntype ! 'nude':
 				act'Pull up your top':
+					brotherMorningSex = daystart
 					cla & *clr
 					npc_rel['A34'] += 4
 					'<center><img <<$set_imgh>> src="images/characters/pavlovsk/resident/kolka/titflash<<rand(1,4)>>.jpg"></center>'
@@ -178,8 +319,10 @@ if $ARGS[0] = 'wakeup':
 					'"Alright," he says, yawning one more time before folding his blanket for storage and beginning the process of getting ready for school.'
 					act'Move away':gt $loc, $metka
 				end
-			else
+			end
+			if $braworntype ! 'none':
 				act'Pull down your bra':
+					brotherMorningSex = daystart
 					cla & *clr
 					npc_rel['A34'] += 4
 					'<center><img <<$set_imgh>> src="images/characters/pavlovsk/resident/kolka/titflash5.jpg"></center>'
@@ -199,27 +342,46 @@ if $ARGS[0] = 'wakeup':
 				end
 			end
 			
-			act'Trick him and don''t do it':
-				cla & *clr
-				brotherwaketrick = 1
-				npc_rel['A34'] -= 5
-				'<center><b><font color="maroon">Kolka</font></b></center>'
-				'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/kolka/brother.jpg"></center>'
-				'You wait for him to be more or less fully awake before snatching his blanket and move away.'
-				'"Hey!" he cries. "What are you doing?"'
-				'"I''m leaving. What the hell is wrong with you? You really thought I was gonna show you my tits?"'
-				if brotherSex = 2 or brotherSex = 3:
-					'"You''ve let me look at you before!"'
-					'"Yeah well, this isn''t ''before''. I''m not doing it today."'
-				elseif brotherSex >= 4:
-					'"You''ve done so much with me before!"'
-					'"Yeah well, this isn''t ''before''. I''m not doing anything today."'
+			if $clothingworntype ! 'nude' or $braworntype ! 'none':
+				act'Trick him and don''t do it':
+					cla & *clr
+					brotherMorningSex = daystart
+					brotherwaketrick = 1
+					npc_rel['A34'] -= 5
+					'<center><b><font color="maroon">Kolka</font></b></center>'
+					'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/kolka/brother.jpg"></center>'
+					'You wait for him to be more or less fully awake before snatching his blanket and move away.'
+					'"Hey!" he cries. "What are you doing?"'
+					'"I''m leaving. What the hell is wrong with you? You really thought I was gonna show you my tits?"'
+					if brotherSex = 2 or brotherSex = 3:
+						'"You''ve let me look at you before!"'
+						'"Yeah well, this isn''t ''before''. I''m not doing it today."'
+					elseif brotherSex >= 4:
+						'"You''ve done so much with me before!"'
+						'"Yeah well, this isn''t ''before''. I''m not doing anything today."'
+					end
+					'"Liar!" he screams at you.'
+					'"Listen here you little-!"'
+					'<b><i>"Hey!"</i></b> your mother shouts from the bedroom. "What is all this racket going on so early in the morning?! You two get along or so help me I will spank you! I don''t care how old you are!"'
+					'Glaring silently at one another, the two of you retreat after a ceasefire being called by your mother. This probably wasn''t good for your relationship though...'
+					act'Move away':gt $loc, $metka
 				end
-				'"Liar!" he screams at you.'
-				'"Listen here you little-!"'
-				'<b><i>"Hey!"</i></b> your mother shouts from the bedroom. "What is all this racket going on so early in the morning?! You two get along or so help me I will spank you! I don''t care how old you are!"'
-				'Glaring silently at one another, the two of you retreat after a ceasefire being called by your mother. This probably wasn''t good for your relationship though...'
-				act'Move away':gt $loc, $metka
+			end
+			
+			if brotherwaketrick = 1 and ($clothingworntype ! 'nude' or $braworntype ! 'none'):
+				'He opens his eyes slowly, looking at you with suspicion.'
+				'"You''re not just going to leave like you did last time are you?"'
+				'"No Kolka."'
+				'"You promise? For real this time?"'
+				'"I promise."'
+				'He pulls back his blanket and sits up, rubbing the sleep from his eyes to focus on you.'
+			elseif $clothingworntype ! 'nude' or $braworntype ! 'none':
+				'He opens his eyes slowly, looking at you with suspicion.'
+				'"This isn''t just some trick to get me out of bed?"'
+				'"No Kolka."'
+				'"You promise?"'
+				'"I promise."'
+				'He pulls back his blanket and sits up, rubbing the sleep from his eyes before focus on you.'
 			end
 		end
 	end
@@ -247,46 +409,48 @@ if $ARGS[0] = 'wakeup':
 				'"I promise."'
 				'He pulls back his blanket and sits up, rubbing the sleep from his eyes before focus on you.'
 			end
-			act'Expose yourself':
-				cla & *clr
-				npc_rel['A34'] += 4
-				'<center><img <<$set_imgh>> src="images/characters/pavlovsk/resident/kolka/pussyflash.jpg"></center>'
-				'Following through on your promise, you pull down your panties and pull up your top, exposing your breasts and pussy to your brother. Still tired, he smiles only faintly in satisfaction.'
-				'"There. Happy now?"'
-				if brotherwaketrick = 1:
-					'"Pretty happy, yeah. Especially since you actually kept your promise this time."'
-					'You gently lower your top again, not really sure what to say to that. He is right. You didn''t keep your promise last time.'
-					'"Well, I followed through this time. Hopefully you''ll forgive me. Now go get dressed Kolka. Mom will kill you if you''re late for school."'
-					brotherwaketrick = 2
-				else
-					'"Very. Not that I''m complaining, but how come you showed me your boobs too? I only asked to see your pussy."'
-					'"More motivation for you to wake up," you smile. You cover yourself up, putting your clothes back in place. "Bet it''s difficult to go back to sleep with an erection that hard. Now go get dressed."'
+			if $clothingworntype ! 'nude' or $pantyworntype ! 'none':
+				act'Expose yourself':
+					cla & *clr
+					npc_rel['A34'] += 4
+					'<center><img <<$set_imgh>> src="images/characters/pavlovsk/resident/kolka/pussyflash.jpg"></center>'
+					'Following through on your promise, you pull down your panties and pull up your top, exposing your breasts and pussy to your brother. Still tired, he smiles only faintly in satisfaction.'
+					'"There. Happy now?"'
+					if brotherwaketrick = 1:
+						'"Pretty happy, yeah. Especially since you actually kept your promise this time."'
+						'You gently lower your top again, not really sure what to say to that. He is right. You didn''t keep your promise last time.'
+						'"Well, I followed through this time. Hopefully you''ll forgive me. Now go get dressed Kolka. Mom will kill you if you''re late for school."'
+						brotherwaketrick = 2
+					else
+						'"Very. Not that I''m complaining, but how come you showed me your boobs too? I only asked to see your pussy."'
+						'"More motivation for you to wake up," you smile. You cover yourself up, putting your clothes back in place. "Bet it''s difficult to go back to sleep with an erection that hard. Now go get dressed."'
+					end
+					'"Alright," he says, yawning one more time before folding his blanket for storage and beginning the process of getting ready for school.'
+					act'Move away':gt $loc, $metka
 				end
-				'"Alright," he says, yawning one more time before folding his blanket for storage and beginning the process of getting ready for school.'
-				act'Move away':gt $loc, $metka
-			end
 			
-			act'Trick him and don''t do it':
-				cla & *clr
-				brotherwaketrick = 1
-				npc_rel['A34'] -= 5
-				'<center><b><font color="maroon">Kolka</font></b></center>'
-				'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/kolka/brother.jpg"></center>'
-				'You wait for him to be more or less fully awake before snatching his blanket and move away.'
-				'"Hey!" he cries. "What are you doing?"'
-				'"I''m leaving. What the hell is wrong with you? You really thought I was gonna show you my pussy?"'
-				if brotherSex = 2 or brotherSex = 3:
-					'"You''ve let me look at you before!"'
-					'"Yeah well, this isn''t ''before''. I''m not doing it today."'
-				elseif brotherSex >= 4:
-					'"You''ve done so much with me before!"'
-					'"Yeah well, this isn''t ''before''. I''m not doing anything today."'
+				act'Trick him and don''t do it':
+					cla & *clr
+					brotherwaketrick = 1
+					npc_rel['A34'] -= 5
+					'<center><b><font color="maroon">Kolka</font></b></center>'
+					'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/kolka/brother.jpg"></center>'
+					'You wait for him to be more or less fully awake before snatching his blanket and move away.'
+					'"Hey!" he cries. "What are you doing?"'
+					'"I''m leaving. What the hell is wrong with you? You really thought I was gonna show you my pussy?"'
+					if brotherSex = 2 or brotherSex = 3:
+						'"You''ve let me look at you before!"'
+						'"Yeah well, this isn''t ''before''. I''m not doing it today."'
+					elseif brotherSex >= 4:
+						'"You''ve done so much with me before!"'
+						'"Yeah well, this isn''t ''before''. I''m not doing anything today."'
+					end
+					'"Liar!" he screams at you.'
+					'"Listen here you little-!"'
+					'<b><i>"Hey!"</i></b> your mother shouts from the bedroom. "What is all this racket going on so early in the morning?! You two get along or so help me I will spank you! I don''t care how old you are!"'
+					'Glaring silently at one another, the two of you retreat after a ceasefire being called by your mother. This probably wasn''t good for your relationship though...'
+					act'Move away':gt $loc, $metka
 				end
-				'"Liar!" he screams at you.'
-				'"Listen here you little-!"'
-				'<b><i>"Hey!"</i></b> your mother shouts from the bedroom. "What is all this racket going on so early in the morning?! You two get along or so help me I will spank you! I don''t care how old you are!"'
-				'Glaring silently at one another, the two of you retreat after a ceasefire being called by your mother. This probably wasn''t good for your relationship though...'
-				act'Move away':gt $loc, $metka
 			end
 		end
 	end
@@ -313,6 +477,7 @@ if $ARGS[0] = 'wakeup':
 				'Within just a few minutes he groans, ejaculating as his warm cum coats your fingers.'
 				'Your duty done, you pull your now sticky hand back, saying, "Alright Kolka. A deal''s a deal. Now clean up and get dressed before mom comes out here and sees you like this."'
 				'"Alright!" he says cheerfully, waddling away with his pants around his ankles to find some tissues to clean himself up.'
+				gs 'arousal', 'end'
 				act'Move away':gt $loc, $metka
 			end
 		end
@@ -344,6 +509,7 @@ if $ARGS[0] = 'wakeup':
 				'"Thanks sis," he says. "That was pretty refreshing. Actually makes me want to get up in the morning if you''re gonna give me great head like that!"'
 				'"Glad I could help I guess," you reply, giving his cock a few more licks to make sure it''s clean. "Now go get dressed for school. Before mom comes out and yells at you for having your dick hanging out."'
 				'"Okay, okay," he says, getting up and tidying up the couch from where he was sleeping.'
+				gs 'arousal', 'end'
 				act'Move away':gt $loc, $metka
 			end
 		end
@@ -364,6 +530,7 @@ if $ARGS[0] = 'morninghj':
 	'Your brother sighs in satisfaction, your hand continuing to work his cock. After several minutes he orgasms, his sticky cum spilling all over your hand.'
 	'As you think about what you should do to clean it off, you hear him saying, "Handjobs are great and everything, but do you think you could try a blowjob next time instead?"'
 	'"I''ll think about it," you say, rolling your eyes in amusement as you walk away, your brother automatically beginning to get ready for school.'
+	gs 'arousal', 'end'
 	act'Move away':gt $loc, $metka
 end
 
@@ -389,6 +556,7 @@ if $ARGS[0] = 'morningbj':
 	'"You''re the best sister ever..."'
 	'Swallowing his cum, you flash him a toothy grin. "I know. Now up an at''em kiddo! I don''t do this just so you can go back to sleep."'
 	'Having been given sufficient positive reinforcement, he obediently gets up and starts going about tidying the sofa and getting ready to go to school.'
+	gs 'arousal', 'end'
 	act'Move away':gt $loc, $metka
 end
 --- brother2 ---------------------------------

+ 109 - 3
locations/brother_lessons.qsrc

@@ -14,7 +14,7 @@ if $ARGS[0] = 'homework':
 		if npc_QW['A34'] >= 3 and father_go = 1:
 			cla
 			pcs_horny += RAND(5,10)
-			'As soon as you begin to explain the material, Kolka begins again to stroke your leg his hand.'
+			'Partway through your sibling study session, you suddenly feel Kolka''s hand stroking your leg.'
 			act'Ignore and continue':
 				cla
 				if npc_rel['A34'] <50:npc_rel['A34'] += 2
@@ -52,15 +52,121 @@ if $ARGS[0] = 'homework':
 				cls
 				cla
 				pcs_horny += RAND(1,5)
-				npc_rel['A34'] -= 5
+				npc_rel['A34'] -= 1
 				'<center><b><font color = maroon>Kolka</font></b></center>'
 				'<center><img <<$set_imgh>> src="images/characters/pavlovsk/resident/kolka/event/homework/homework1.jpg"></center>'
 				'You whisper:'
-				'"Don''t, Our parents will see us." You remove his hand from your leg.'
+				'"Don''t, our parents will see us." You remove his hand from your leg.'
 				'Kolka mutters something under his breath with grim resentment on his face.'
 
 				act 'Finish': gt 'sitrPar'
 			end
+			if brotherkisstalk = 1 or brotherSex > 5:
+				act'Turn and kiss':
+					cla & *clr
+					'<center><video autoplay loop src="images/shared/sex/kiss/kiss.mp4"></video></center>'
+					'You chew on your lip for a moment, enjoying the feeling of your brother''s caresses. Turning towards him, you lean in slowly and give him a delicate kiss while he continues to stroke your leg.'
+					pcs_horny += 5
+					brotherkiss += 1
+					npc_rel['A34'] += 3
+					act'End the kiss':
+						cla & *clr
+						'<center><img <<$set_imgh>> src="images/locations/pavlovsk/resident/apartment/home/sitrpar.jpg"></center>'
+						'Breaking away from the kiss with a smile, you gently move his hand away from your leg.'
+						'"Sorry Kolka, not today. Maybe some other time. Let''s keep studying for now, alright?"'
+						'"Alright..." He''s clearly disappointed but seems to pay attention to your help for the rest of the hour anyways.'
+						act 'Finish': gt 'sitrPar'
+					end
+					act'Make out with your brother':
+						cla & *clr
+						'<center><video autoplay loop src="images/shared/sex/kiss/kiss_lips.mp4"></video></center>'
+						'You hungrily continue to kiss your brother, pressing your face hard against his. It becomes impossible for you to focus on anything except your lips and the dance of tongues happening between them.'
+						npc_rel['A34'] += 2
+						motherhw = rand(1,5)
+						if motherhw = 5:
+							'"<<$pcs_firstname>>!"'
+							act'"Eek-!"':
+								cla & *clr
+								'<center><img <<$set_imgh>> src="images/locations/pavlovsk/resident/apartment/home/sitrpar.jpg"></center>'
+								'You squeak loudly in response to hearing your mother shouting your name from the kitchen. You and Kolka swiftly pull back from each other, stiff as boards as you purposely look opposite directions from each other.'
+								'"<<$pcs_firstname>>!" your mother calls again. "What are you doing right now? I need your help in the kitchen! Are you busy?"'
+								'"I-I''m, uhh, helping Kolka with his homework right now!" you stammer, trying to force down the adrenaline in your body and keep your voice from shaking.'
+								'"Oh, that''s alright then. You can help me later. Make sure your brother gets his grades up!"'
+								*nl
+								'Sighing with relief, you and your brother share a a panicked look before turning back to the table with his homework on it. For the rest of the hour, the two of you don''t make eye contact, let alone even <i>think</i> about doing something that might get you caught again.'
+								act 'Finish': gt 'sitrPar'
+							end
+						else
+							*nl
+							'Not a lot of homework gets done after that, but you don''t think your brother minds too much.'
+							act 'Finish': gt 'sitrPar'
+						end
+					end
+					act'Slip your hand down his pants':
+						cla & *clr
+						'<center><img <<$set_imgh>> src="images/characters/pavlovsk/resident/kolka/event/homework/hj.jpg"></center>'
+						'Lust takes control of your mind as you force your tongue down your brother''s throat, slipping your hand into his pants to grab hold of his already hardened cock. You yank it out to begin vigorously jerking him off, never stopping your kiss for a moment. He groans into your mouth but you just keep working your hand on his cock.'
+						brotherhj += 1
+						if brotherSex < 5: brotherSex = 5
+						npc_rel['A34'] += 3
+						if motherhw = 5:
+							'"<<$pcs_firstname>>!"'
+							act'"Eek-!"':
+								cla & *clr
+								'<center><img <<$set_imgh>> src="images/locations/pavlovsk/resident/apartment/home/sitrpar.jpg"></center>'
+								'You squeak loudly in response to hearing your mother shouting your name from the kitchen and leap back from Kolka as he hurriedly pulls his shirt over his cock to hide it.'
+								'"<<$pcs_firstname>>!" your mother calls again. "What are you doing right now? I need your help in the kitchen! Are you busy?"'
+								'"I-I''m, uhh, helping Kolka with his homework right now!" you stammer, trying to force down the adrenaline in your body and keep your voice from shaking.'
+								'"Oh, that''s alright then. You can help me later. Make sure your brother gets his grades up!"'
+								*nl
+								'Sighing with relief, you and your brother share a panicked look before turning back to the table with his homework on it. For the rest of the hour, the two of you don''t make eye contact, let alone even <i>think</i> about doing something that might get you caught again.'
+								act 'Finish': gt 'sitrPar'
+							end
+						else
+							*nl
+							'After a few minutes, you feel him start to stiffen under you.'
+							'"Sis," he mumbles through the kiss. "I''m... I''m gonna..."'
+							act'Continue jerking him off':
+								cla & *clr
+								gs 'cum_call', 'hands', 'A34', 1
+								'<center><img <<$set_imgh>> src="images/characters/pavlovsk/resident/kolka/event/homework/hj_cum.jpg"></center>'
+								'Picking up the pace for a quick burst of speed, you feel his hot cum burst all over your hand. Pulling back, you smile at the look of bliss on his face before leaning in for one more loving kiss.'
+								'"I think we''ll have to call the session early if that''s alright with you," you say, purposefully looking down at the sticky cum covering your hands. "I''m gonna go get cleaned up. You should soon too unless you want mom to catch you with your dick out like that."'
+								'"Y-yeah..." he mumbles back, still dazed from his orgasm.'
+								act'Finish and get up':gt 'sitrPar'
+							end
+							act'Put your mouth over his tip':
+								cla & *clr
+								gs 'cum_call', 'mouth', 'A34', 1
+								npc_rel['A34'] += 3
+								swallow += 1
+								if brotherSex < 6: brotherSex = 6
+								'<center><video autoplay loop src="images/characters/pavlovsk/resident/kolka/event/homework/swallow.mp4"></video></center>'
+								'You jerk him off a little faster, waiting for him to stiffen up and the signs that he''s about to cum. Right at the last moment, you break away from the kiss and wrap your lips around the tip of his cock. You immediately feel him explode inside your mouth, the hot salty taste of his cum pouring out over your tongue.'
+								'He spurts several times and you wait a several seconds more until nothing more comes out. After spending a moment to make sure he''s finished, you suck hard to gather up all the cum in your mouth while pulling your lips back from his tip and leaving his cock completely clean and cum free. As your lips leave his cock, you tilt back your head to look at him, swallowing in the same motion. Kolka stares at you in disbelief of what you just did.'
+								'"I didn''t want to leave a mess," you smile bashfully.'
+								act'Go back to homework':
+									cla & *clr
+									'<center><img <<$set_imgh>> src="images/locations/pavlovsk/resident/apartment/home/sitrpar.jpg"></center>'
+									'After making sure his trousers are back in order and his freshly milked cock has been put back in place, you and your brother go back to his homework for the rest of the hour. Though it feels like he''s sitting a lot closer to you than he was before...'
+									act 'Finish': gt 'sitrPar'
+								end
+							end
+						end
+					end
+				end
+			else
+				act'Turn and kiss':
+					cla & *clr
+					'<center><video autoplay loop src="images/shared/sex/kiss/kiss.mp4"></video></center>'
+					'Turning slowly, you meet Kolka''s eyes. The feeling of his hand on your leg makes you blush and your heart quicken. Before you know what you''re doing, you lean forward and feel your brother''s lips pressing against your own. You close your eyes and melt into the kiss, an endless moment of bliss passing by as you do.'
+					*nl
+					'As your eyes flicker open and see the shocked expression on your brother''s face, the realization of what you''ve done suddenly hits you all at once. You pull back immediately, blushing even harder than before and swiftly avert your gaze back to the table with loose pieces of homework scattered about it. Not knowing what else to do, you frantically try to go back to the last thing you were helping him with. For the rest of the hour, your brother seems be stuttering and making a lot more mistakes than before. Eventually, you call your study session with him quits and awkwardly get up to leave, neither of you acknowledging what happened.'
+					brotherkiss += 1
+					npc_rel['A34'] += 5
+					act 'Finish': gt 'sitrPar'
+				end
+			end
 		else
 			cla
 			pcs_horny += RAND(5,10)

+ 10 - 6
locations/brother_voyeur.qsrc

@@ -748,14 +748,18 @@ if $ARGS[0] = 'brother_wash':
 	gs 'arousal', 'end'
 	gs 'stat'
 
-	if pcs_leghair > 3 or pcs_pubes > 3:
+	if pcs_leghair > 3 or pcs_pubes > 3 or pcs_bush > 0:
 		*nl
 		if pcs_leghair > 3 and pcs_pubes > 3:
 			'	As you rinse off, your brother gives a meaningful look at your lower body and you follow his gaze to your <<$pcdesc_legs>> legs and <<$pcdesc_pubes>> pussy.'
+		elseif pcs_leghair > 3 and pcs_bush > 0:
+			'	As you rinse off, your brother gives a meaningful look at your lower body and you follow his gaze to your <<$pcdesc_legs>> legs and the stubble growing around the patch of hair above your pussy.'
 		elseif pcs_leghair > 3 and pcs_pubes < 3:
 			'	As you rinse off, your brother gives a meaningful look at your lower body and you follow his gaze to your <<$pcdesc_legs>> legs.'
 		elseif pcs_leghair < 3 and pcs_pubes > 3:
 			'	As you rinse off, your brother gives a meaningful look at your lower body and you follow his gaze to your <<$pcdesc_pubes>> pussy.'
+		elseif pcs_leghair < 3 and pcs_bush > 0:
+			'	As you rinse off, your brother gives a meaningful look at your lower body and you follow his gaze to your <<$pcdesc_pubes>> pussy.'
 		end
 		'	"Aren''t you going to shave?"'
 		if stanok = 0:
@@ -783,7 +787,7 @@ if $ARGS[0] = 'brother_wash':
 				'<center><img <<$set_imgh>> src="images/shared/home/bathroom/brotherwash.jpg"></center>'
 				'	"Nah," you say dismissively. "Don''t feel like doing it right now."'
 				'	Kolka''s mouth twists in disappointment. "You know, you really should. Nobody likes girls with hairy legs and a bush between them. You''ll get bullied by other girls and never get a boyfriend if you don''t shave."'
-				'	You roll your eyes at his suggestions, recognizing that they''re obviously motivated by to his preference for clean-shaven girls.'
+				'	You roll your eyes at his suggestions, recognizing that they''re obviously motivated by to his preference for completely clean-shaven girls.'
 				act'Finish showering together':gt'brother_voyeur','brother_shower_end'
 
 				if brothersex > 0 or brotherfuck > 0 or brotherbj > 0 or brotherwash > 5:
@@ -802,7 +806,7 @@ if $ARGS[0] = 'brother_wash':
 				'<center><img <<$set_imgh>> src="images/shared/home/bathroom/brotherwash.jpg"></center>'
 				'	"No?" you say questioningly. "I like it this way!"'
 				'	Kolka''s mouth twists in disappointment. "You know, you really should reconsider. Nobody likes girls with hairy legs and a bush between them. You''ll get bullied by other girls and never get a boyfriend if you don''t shave."'
-				'	You roll your eyes at his suggestions, recognizing that they''re obviously motivated by to his preference for clean-shaven girls.'
+				'	You roll your eyes at his suggestions, recognizing that they''re obviously motivated by to his preference for completely clean-shaven girls.'
 				act'Finish showering together':gt'brother_voyeur','brother_shower_end'
 
 				if brothersex > 0 or brotherfuck > 0 or brotherbj > 0 or brotherwash > 5:
@@ -982,7 +986,7 @@ if $ARGS[0] = 'brother_shower_shave':
 			*nl
 			if pcs_pubes > 3:
 				if pcs_pubes <= 20:'	Kolka frowns. "You''re not going to shave your pussy?"'
-				if pcs_pubes >= 21:'	Kolka frowns. "You''re not going to shave that bush?"'
+				if pcs_pubes >= 21 or pcs_bush > 0:'	Kolka frowns. "You''re not going to shave that bush?"'
 				if stanok = 0:
 					act'"I can''t. Razor''s gone dull"':
 						cla
@@ -1099,7 +1103,7 @@ if $ARGS[0] = 'brother_shower_shave':
 								*nl
 								act'Not going to change my mind':
 									cla
-									'	"Sorry little brother, you''re not going to change my mind that easily. I said I''d shave just because you asked. I didn''t say that I''d do everything you asked."'
+									'	"Sorry little brother, you''re not going to change my mind that easily. I said I''d shave just because you asked. I didn''t say that I''d shave everything you wanted."'
 									'	"Hmph. I still think you''d look better if you just kept it smooth..." he mutters while you gently glide your hands over your smooth legs, making sure you didn''t miss a spot.'
 									act'Finish showering together':gt'brother_voyeur','brother_shower_end'
 									act'Cheer him up':
@@ -1381,7 +1385,6 @@ if $ARGS[0] = 'brother_shower_bj':
 	'<center><video src="images/shared/home/bathroom/showerbj.mp4"></center>'
 	'	Kneeling down, you take Kolka''s freshly washed cock and push it between your lips, sucking gently. Several minutes go by while you to continue blowing your brother, going slowly up and down his length, the sound of water raining down from the showerhead muting the soft slurping sounds coming from your mouth.'
 	gs 'arousal', 'bj', rand(3,5)
-	gs 'arousal', 'end'
 	gs 'stat'
 	act'Keep sucking':
 		cla
@@ -1399,6 +1402,7 @@ if $ARGS[0] = 'brother_shower_bj':
 			act'Ignore him and keep sucking':
 				cla
 				gs 'cum_call', 'mouth', $boy
+				gs 'arousal', 'end'
 				gs 'stat'
 				*nl
 				'	Despite his pleas to let him blow his load on your face, you keep sucking until you taste hot liquid spilling into your mouth.'

+ 4 - 2
locations/buklinik_event.qsrc

@@ -192,6 +192,7 @@ if $ARGS[0] = 'hall':
 	$metka = $ARGS[0]
 	$loc = $CURLOC
     $location_type = 'public_indoors'
+	killvar '$locclass'
 	minut += 5
 	gs 'stat'
 	'<center><b><font color = maroon>Entrance hall</font></b></center>'
@@ -234,8 +235,9 @@ end
 
 if $ARGS[0] = 'kitchen':
 	cls
-	$metka = $ARGS[0]
-	$loc = $CURLOC
+	$metka = 'kitchen'
+	$loc = 'buklinik_event'
+	$locclass = 'kitr'
 	minut += 5
 	gs 'stat'
 	'<center><b><font color = maroon>Kitchen</font></b></center>'

+ 3 - 3
locations/dachain.qsrc

@@ -19,8 +19,8 @@ if $args[0] = '':
 	$location_type = 'private'
 	$metka = ''
 	$metkaM = ''
+	killvar '$locclass'
 	cls
-	clr
 	gs 'stat'
 	'<center><b><font color="maroon">Cottage</font></b></center>'
 	if home_owned[3] = 2:
@@ -57,8 +57,8 @@ if $args[0] = 'dachakit':
 	$location_type = 'private'
 	$metka = 'dachakit'
 	$metkaM = 'dachakit'
+	$locclass = 'kitr'
 	cls
-	clr
 	gs 'stat'
 	'<center><b><font color="maroon">Cottage Kitchen</font></b></center>'
 	if home_owned[3] = 2:
@@ -116,8 +116,8 @@ if $args[0] = 'dachavann':
 	$metka = 'dachavann'
 	$metkaM = 'dachavann'
 	$location_type = 'bathroom'
+	killvar '$locclass'
 	cls
-	clr
 	gs 'stat'
 	'<center><b><font color="maroon">Cottage Bathroom</font></b></center>'
 	if home_owned[3] = 2:

+ 50 - 23
locations/dimaHome.qsrc

@@ -34,6 +34,7 @@ end
 
 if $ARGS[0] = 'hallway':
 	$location_type = 'indoors'
+	killvar '$locclass'
 	cls
 	minut += 1
 	gs 'stat'
@@ -68,6 +69,7 @@ end
 
 if $ARGS[0] = 'livingroom':
 	*clr & cla
+	$locclass = 'livingr'
 	minut += 1
 	gs 'stat'
 	'<center><b><font color = maroon>Living room</font></b></center>'
@@ -79,6 +81,7 @@ end
 if $ARGS[0] = 'kitchen':
     *clr & cla
     minut += 1
+	$locclass = 'kitr'
     gs 'stat'
     '<center><b><font color = maroon>Kitchen</font></b></center>'
     '<center><img <<$set_imgh>> src="images/locations/pavlovsk/resident/dimkahome/kitchen.jpg"></center>'
@@ -151,41 +154,65 @@ if $ARGS[0] = 'bathroom2':
 	gs 'stat'
 	$location_type = 'bathroom'
 	'<center><h4><font color="maroon">Upstairs bathroom</font></h4></center>'
-	'<center><img  src="images/locations/pavlovsk/resident/dimkahome/bathroom.jpg"></center>'
+	'<center><img src="images/locations/pavlovsk/resident/dimkahome/bathroom.jpg"></center>'
 	'This restroom has a large sink area and tile floors. The toilet sits along the far wall. You also notice a walk-in shower and large bathtub. You imagine how luxurious it must feel to bathe in here.'
 	'You can do your hair and makeup in the <a href="exec:gt ''mirror'', ''start''">mirror</a> above the sink.'
 	*nl
-    if pirsA + pirsB + pirsC + pirsD + pirsE + pirsF + pirsN + pirsG + pirsGL > 0:'<a href="exec:dynamic $pirManage">Manage Piercings</a>'
-	act 'Take a shower':
+	if pirsA + pirsB + pirsC + pirsD + pirsE + pirsF + pirsN + pirsG + pirsGL > 0:'<a href="exec:dynamic $pirManage">Manage Piercings</a>'
+	
+	act 'Take a shower (0:15)':
 		cls
-		minut += 10
-		dynamic $showerdin
+		minut += 15
+		!!dynamic $showerdin
 		gs 'stat'
-		'<center><h4><font color="maroon">Bathroom</font></h4></center>'
-		'<center><img  src="images/characters/pavlovsk/school/boy/igor/mitsa.gif"></center>'
-		'You decide to take advantage of the luxury have a shower. As the warm water flows over your entire body from the massive shower head, you feel your whole body relax in the comforting stream.'
-		act 'Get out of the shower': 
-			'You get out of the shower and dry off.' 
-			act 'Get dressed': gt 'dimaHome','bathroom2'
-		end
+		'<center><h4><font color="maroon">Upstairs bathroom</font></h4></center>'
+		'<center><video autoplay loop src="images/characters/pavlovsk/school/boy/igor/mitsa.mp4"></center>'
+		'You decide to take advantage of the luxury shower. As the warm water flows over your entire body from the massive shower head, you feel your whole body relax in the comforting stream.'
+		
+		act 'Get out and dry off': gt 'dimaHome','bathroom2'
 	end
-	act 'You smile to yourself as you draw a bath in the impressive tub. You relish the feeling as you slowly glide into steamy water and relax':
+	
+	act 'Soak in the bath (0:30)':
 		cls
-		minut += 20
-		dynamic $bath
+		minut += 30
+		pcs_sweat = 7 + rand(0,4)
+		pcs_mood += 20
+		pcs_skin += 1
+		if frost > 0:frost = 0
+		pcs_horny += rand(0,2)
+		!!dynamic $bath
 		gs 'stat'
-		'<center><h4><font color="maroon">Bathroom</font></h4></center>'
-		'<center><img  src="images/shared/home/bathroom/wash4.jpg"></center>'
-		'You take a quick bath.'
-		act 'Get out of the bath': 
-			'You get out of the bath and dry off.' 
-			act 'Get dressed': gt 'dimaHome','bathroom2'
+		'<center><h4><font color="maroon">Upstairs bathroom</font></h4></center>'
+		'<center><img src="images/shared/home/bathroom/wash4.jpg"></center>'
+		'You smile to yourself as you draw a bath in the impressive tub. You relish the feeling as you slowly glide into steamy water and relax.'
+		'Then you begin to lather your body, gently gliding your soft hands over your smooth curves, and wash yourself thoroughly.'
+		
+		act '"Wash" your pussy':
+			cla
+			*clr
+			if obdysh = 1 and rand(0, 5) = 1:gt 'vann', 'v4'
+			minut += 10
+
+			'<center><video src="images/shared/home/bathroom/wash7.mp4"></center>'
+			*nl
+			'You turn on the faucet, lift your legs and scoot your ass over to align your pussy with the jet of warm water. It feels really good and soon a warmth begins to grow in your abdomen.'
+
+			if pcs_inhib < 30:inhib_exp += rand(1,3)
+			pcs_mood += 15
+			pcs_willpwr += 15
+			$orgasm_or = 'yes'
+			gs 'arousal', 'masturbate', 10
+			gs 'arousal', 'end'
+
+			act 'Get out and dry off': gt 'dimaHome','bathroom2'
 		end
+
+		act 'Get out and dry off': gt 'dimaHome','bathroom2'
 	end
 	gs 'din_van', 'prvt_pee'
 	dynamic $bteeth
-    dynamic $tampon
-    dynamic $basin
+	dynamic $tampon
+	dynamic $basin
 	act 'Leave the bathroom': gt 'dimaHome','hallway2'
 end
 

+ 5 - 9
locations/dimaRevenge.qsrc

@@ -596,12 +596,10 @@ if dimaRevChoice = 1:
 		if $ARGS[1] = 'lunch':
 		    dimaRevenge += 1
 			!dimaRevenge = 7!
-			!!during lunch!!
 			'<center><img src="images/characters/pavlovsk/school/boy/dimka/revenge/boygirlarguing.jpg"></center>'
-			'You go around the hallway spreading rumors about Dimka, but everyone looks at you like you are full of it. It seems Lizaveta was true to her word, after all. You see Dimka having the same trouble. It seems you''ve both lost your credibility. At least your reputation is safe, since no one believes Dimka anymore.
-			You are too stubborn to notice that though and keep trying to spread rumors while Dimka does the same.
-			Soon the two of you get into an argument, which turns into a screaming match. You are both screaming at the top of your lungs when the principal comes to break things up. "Miss <<$pcs_lastname>>, Mr Nosov, in my office now!"'
-			act 'go to principals office':
+			'You go around the hallway spreading rumors about Dimka, but everyone looks at you like you are full of it. It seems Lizaveta was true to her word, after all. You see Dimka having the same trouble. It seems you''ve both lost your credibility. At least your reputation is safe, since no one believes Dimka anymore. You are too stubborn to notice that though and keep trying to spread rumors while Dimka does the same.'
+			'Soon the two of you get into an argument, which turns into a screaming match. You are both screaming at the top of your lungs when the principal comes to break things up. "Miss <<$pcs_lastname>>, Mr Nosov, in my office now!"'
+			act 'Go to the principal''s office':
 				*clr
 				cla
 				'<center><img src="images/characters/pavlovsk/school/head/50.jpg"></center>'
@@ -613,11 +611,9 @@ if dimaRevChoice = 1:
 				'"I won''t go." He says with a slight smile like he is above punishment.'
 				'She gets a stormy look on her face. "You will."'
 				'"If you lay a finder on me, I''ll call my dad and he''ll sue you and this school into the ground." He seems to think he has won.'
-				'Miss. Volkov is out of patience at this point. "Listen, you little shit," she says angrily, "I will not be talked to that way by some spoiled brat. I know your father better than you, and nothing would piss him off more than a weak son who hides behind his name.
-				You have one chance to get in line or I''ll be the one calling your father and making him come to school during his work hours to talk about his whiny son."'
+				'Miss. Volkov is out of patience at this point. "Listen, you little shit," she says angrily, "I will not be talked to that way by some spoiled brat. I know your father better than you, and nothing would piss him off more than a weak son who hides behind his name. You have one chance to get in line or I''ll be the one calling your father and making him come to school during his work hours to talk about his whiny son."'
 				'"You can''t talk to me that way," Dimka says nervously, "My father would..."'
-				'"That''s enough," she cuts Dimka off, "Miss <<$pcs_lastname>>, go to class and tell your teacher that Mr. Nosov won''t be attending for the rest of the day." As you leave the office, you try and listen at the door. But it is thick and you can''t hear anything.
-				You hear Mrs Sokoloff clear her throat as she catches you. She is the teacher manning the office at this time. After that you quickly go to class.'
+				'"That''s enough," she cuts Dimka off, "Miss <<$pcs_lastname>>, go to class and tell your teacher that Mr. Nosov won''t be attending for the rest of the day." As you leave the office, you try and listen at the door. But it is thick and you can''t hear anything. You hear Mrs Sokoloff clear her throat as she catches you. She is the teacher manning the office at this time. After that you quickly go to class.'
 				act 'Continue': gt 'gschool_lessons', 'short_break'
 			end
 		end

+ 380 - 140
locations/din_van.qsrc

@@ -128,8 +128,8 @@ $shower = {
 			end
 		end
 
-		dynamic $brit
 		dynamic $dryOff
+		dynamic $brit
 	end
 }
 
@@ -200,56 +200,63 @@ $bath = {
 			dynamic $dryOff
 		end
 
-		dynamic $brit
 		dynamic $dryOff
+		dynamic $brit
 	end
 }
 
 $brit = {
-	'Your razor blade looks in good enough shape for <b><<stanok>></b> more shaves.'
-	!pubestyle
-	if pcs_leghair > 3 and pcs_pubes > 3 and stanok > 1:
-		if pubestyle > 1 or pubestyle = 0:
-			act 'Shave your legs and pussy (0:15)':
-				cla
-				*clr
-				minut += 15
-				pcs_leghair = 0
-				if pubestyle = 3 or pubestyle = 0:
-					pcs_pubes = 0
-				elseif pubestyle = 2 and pcs_pubes > 11:
-					pcs_pubes = 11
+	if pcs_leghair > 3 and stanok > 1:
+		if pcs_pubes > 3 or pcs_bush > 0:
+			if pubestyle > 1 or pubestyle = 0:
+				act 'Shave your legs and pussy (0:15)':
+					cla
+					*clr
+					minut += 15
+					pcs_leghair = 0
+					if pubestyle = 4 or pubestyle = 2:
+						pcs_pubes = 0
+						pcs_bush = 0
+					elseif pubestyle = 3:
+						pcs_pubes = 11
+						pcs_bush = 1
+					elseif pubestyle = 4 and pcs_pubes > 11:
+						pcs_pubes = 11
+					end
+					pcs_horny += 5
+					stanok -= 2
+
+					if obdysh = 1 and rand(0, 5) = 0:gt 'vann', 'brit1'
+
+					if $loc ='Gadbana':
+						'<center><video src="images/shared/home/bathroom/shave.mp4"></center>'
+					else
+						'<center><img <<$set_imgh>> src="images/shared/home/bathroom/shave3.jpg"></center>'
+					end
+
+					*nl
+					if daystart < 10 and StoryLine = 0 and ntstart = 0:
+						'You can''t shake off the fact that you''re a girl now, so you decide it''d be best to shave your legs. You begin to lather your legs, still marveling at how soft and round they are. Then you take the razor in your hand and begin to shave your legs.'
+						'You feel really awkward, never having done this before as a guy. Luckily, you had more than enough experience with shaving your face and technically this isn''t really all that different. So in the end you get a pretty decent job done.'
+					elseif daystart < 30 and StoryLine = 0 and ntstart = 0:
+						pcs_mood += 10
+						'With a newfound routine you lather up your legs and start shaving, careful not to miss a spot. After washing away the foam you softly glide your hands over your smooth legs, feeling good to know that you don''t need to hide your legs in pants. Maybe you should wear a skirt tomorrow?'
+					elseif pubestyle = 2:
+						'You lather up your legs and carefully shave them. Once you''re finished gliding your hands over your smooth legs, ensuring you didn''t miss a spot, you spend some time shaving off the stubble around your small bush tidy as well.'
+					elseif pubestyle = 3:
+						'You lather up your legs and carefully shave them. Once you''re finished gliding your hands over your smooth legs, ensuring you didn''t miss a spot, you spend some time cleaning up the area around your neat patch of pussy hair as well.'
+					elseif pubestyle >= 4:
+						'You lather up your legs and carefully shave them. Once you''re finished gliding your hands over your smooth legs, ensuring you didn''t miss a spot, you spend some time trimming back your bush as well.'
+					else
+						'You lather up your legs and crotch and carefully shave them. Once you''re finished you gently glide your hands over your smooth pussy and legs, enjoying the smooth feeling and getting slightly more aroused by the touch.'
+					end
+
+					dynamic $dryOff
 				end
-				pcs_horny += 5
-				stanok -= 2
-
-				if obdysh = 1 and rand(0, 5) = 0:gt 'vann', 'brit1'
-
-				if $loc ='Gadbana':
-					'<center><video src="images/shared/home/bathroom/shave.mp4"></center>'
-				else
-					'<center><img <<$set_imgh>> src="images/shared/home/bathroom/shave3.jpg"></center>'
-				end
-
-				*nl
-				if daystart < 10 and StoryLine = 0 and ntstart = 0:
-					'You can''t shake off the fact that you''re a girl now, so you decide it''d be best to shave your legs. You begin to lather your legs, still marveling at how soft and round they are. Then you take the razor in your hand and begin to shave your legs.'
-					'You feel really awkward, never having done this before as a guy. Luckily, you had more than enough experience with shaving your face and technically this isn''t really all that different. So in the end you get a pretty decent job done.'
-				elseif daystart < 30 and StoryLine = 0 and ntstart = 0:
-					pcs_mood += 10
-					'With a newfound routine you lather up your legs and start shaving, careful not to miss a spot. After washing away the foam you softly glide your hands over your smooth legs, feeling good to know that you don''t need to hide your legs in pants. Maybe you should wear a skirt tomorrow?'
-				elseif pubestyle = 2:
-					'You lather up your legs and carefully shave them. Once you''re finished gliding your hands over your smooth legs, ensuring you didn''t miss a spot, you spend some time trimming back your bush as well.'
-				else
-					'You lather up your legs and crotch and carefully shave them. Once you''re finished you gently glide your hands over your smooth pussy and legs, enjoying the smooth feeling and getting slightly more aroused by the touch.'
-				end
-
-				dynamic $dryOff
 			end
 		end
 	end
 	
-	
 	if pcs_leghair > 3 and stanok > 0:
 		act 'Shave your legs (0:10)':
 			cla
@@ -275,12 +282,13 @@ $brit = {
 	end
 
 	if pcs_pubes > 3 and stanok > 0:
-		if pubestyle = 3 or pubestyle = 0:
+		if pubestyle = 2 or pubestyle = 0:
 			act 'Shave your pussy (0:10)':
 				cla
 				*clr
 				minut += 10
 				pcs_pubes = 0
+				pcs_bush = 0
 				pcs_horny += 5
 				stanok -= 1
 				if obdysh = 1 and rand(0, 5) = 5:gt 'vann', 'brit1'
@@ -292,7 +300,7 @@ $brit = {
 				end
 
 				*nl
-				'You lather your crotch with some soapy water and carefully shave your pubic hair. After shaving you can''t help but run your fingers over your pussy, enjoying the smooth feeling and getting slightly more aroused by the touch.'
+				'You lather your crotch with some soapy water and carefully shave your pubic region. After shaving you can''t help but run your fingers over your pussy, enjoying the smooth feeling and getting slightly more aroused by the touch.'
 
 				dynamic $dryOff
 			end
@@ -313,10 +321,141 @@ $brit = {
 			end
 		end
 	end
+	
+	if pcs_leghair > 3 and stanok > 1:
+		if pubestyle > 1 or pubestyle = 0:
+			if pcs_pubes > 3 or pcs_bush > 0:
+				act 'Shave your legs and pussy (0:15)':
+					cla
+					*clr
+					minut += 15
+					pcs_leghair = 0
+					if pubestyle = 4 or pubestyle = 2:
+						pcs_pubes = 0
+						pcs_bush = 0
+					elseif pubestyle = 3:
+						pcs_pubes = 11
+						pcs_bush = 1
+					elseif pubestyle = 4 and pcs_pubes > 11:
+						pcs_pubes = 11
+					elseif pubestyle = 5 and pcs_pubes > 24:
+						pcs_pubes = 21
+					end
+					pcs_horny += 5
+					stanok -= 2
+					if obdysh = 1 and rand(0, 5) = 5:gt 'vann', 'brit1'
+
+					'<center><img <<$set_imgh>> src="images/shared/home/bathroom/shave3.jpg"></center>'
+					*nl
+					if daystart < 10 and StoryLine = 0 and ntstart = 0:
+						'You can''t shake off the fact that you''re a girl now, so you decide it''d be best to shave your legs. You begin to lather your legs, still marveling at how soft and round they are. Then you take the razor in your hand and begin to shave your legs.'
+						'You feel really awkward, never having done this before as a guy. Luckily, you had more than enough experience with shaving your face and technically this isn''t really all that different. So in the end you get a pretty decent job done.'
+					elseif daystart < 30 and StoryLine = 0 and ntstart = 0:
+						pcs_mood += 10
+						'With a newfound routine you lather up your legs and start shaving, careful not to miss a spot. After washing away the foam you softly glide your hands over your smooth legs, feeling good to know that you don''t need to hide your legs in pants. Maybe you should wear a skirt tomorrow?'
+					
+					elseif pubestyle >= 3:
+						'You lather up your legs and carefully shave them. Once you''re finished gliding your hands over your smooth legs, ensuring you didn''t miss a spot, you spend some time trimming back your pubes as well.'
+					else
+						'You lather up your legs and crotch and carefully shave them. Once you''re finished you gently glide your hands over your smooth pussy and legs, enjoying the smooth feeling and getting slightly more aroused by the touch.'
+					end
+
+					dynamic $dryOff
+				end
+			end
+		end
+	end
+
+	if pcs_leghair > 3 and stanok > 0:
+		act 'Shave your legs (0:10)':
+			cla
+			*clr
+			minut += 10
+			pcs_leghair = 0
+			pcs_horny += 5
+			stanok -= 1
+			'<center><img <<$set_imgh>> src="images/shared/home/bathroom/shave.jpg"></center>'
+			*nl
+			'You lather your legs up with some soapy water and shave your legs. After a few swift movements, your legs are smooth as silk. The feeling of your smooth legs turns you on a little.'
+
+			dynamic $dryOff
+		end
+	end
+
+	if stanok > 0:
+		if pcs_pubes > 3 or pcs_bush > 0:
+			if pubestyle = 2 or pubestyle = 0:
+				act 'Shave your pussy (0:10)':
+					cla
+					*clr
+					minut += 10
+					pcs_pubes = 0
+					pcs_bush = 0
+					pcs_horny += 5
+					stanok -= 1
+					if obdysh = 1 and rand(0, 5) = 5:gt 'vann', 'brit1'
+
+					'<center><img <<$set_imgh>> src="images/shared/home/bathroom/shave3.jpg"></center>'
+					*nl
+					'You lather your crotch with some soapy water and carefully shave your pubic hair. After shaving you can''t help but run your fingers over your pussy, enjoying the smooth feeling and getting slightly more aroused by the touch.'
+
+					dynamic $dryOff
+				end
+			elseif pubestyle = 3 and pcs_pubes > 15:
+				act 'Trim your pussy (0:10)':
+					cla
+					*clr
+					'<center><img <<$set_imgh>> src="images/shared/home/bathroom/shave4.jpg"></center>'
+					*nl
+					if pcs_pubes >= 20:
+						'You carefully shave away the hair at the edges of your pussy, trimming it all away until there is only a neat bush left at the top.'
+					else
+						'You carefully shave away the stubble at the edges of your pussy, careful to only trim and maintain the neat bush you have at the top.'
+					end
+					minut += 10
+					pcs_pubes = 11
+					pcs_bush = 1
+					pcs_horny += 5
+					stanok -= 1
+					if obdysh = 1 and rand(0, 5) = 5:gt 'vann', 'brit1'
+					dynamic $dryOff
+				end
+			elseif pubestyle = 4 and pcs_pubes > 15:
+				act 'Trim your bush (0:10)':
+					cla
+					*clr
+					minut += 10
+					pcs_pubes = 11
+					pcs_horny += 5
+					stanok -= 1
+					if obdysh = 1 and rand(0, 5) = 5:gt 'vann', 'brit1'
+					'<center><img <<$set_imgh>> src="images/shared/home/bathroom/shave4.jpg"></center>'
+					*nl
+					'You spend some time trimming back your pubic hair, not shaving it away completely but careful to make it neat and tidy.'
+					dynamic $dryOff
+				end
+			elseif pubestyle = 5 and pcs_pubes >= 25:
+				act 'Trim back your bush (0:10)':
+					cla
+					*clr
+					minut += 10
+					pcs_pubes = 21
+					pcs_horny += 5
+					stanok -= 1
+					if obdysh = 1 and rand(0, 5) = 5:gt 'vann', 'brit1'
+					'<center><img <<$set_imgh>> src="images/shared/home/bathroom/shave4.jpg"></center>'
+					*nl
+					'You spend some time trimming back your thick bush of pubic hair, tidying it up and keeping your bikini line nice and clean.'
+					dynamic $dryOff
+				end
+			end
+		end
+		act 'Shave options': gt 'din_van', 'shave_options'
+	end
 }
 
 $tampon = {
-	if sanpad > 0 and (mesec > 0 or (placebopart > 2 and pillcon < 40000)) and isprokp = 0 and isprok = 0 and $pantyworntype ! 'none':
+	if sanpad > 0 and (mesec > 0 or (placebopart > 2 and pillcon < 40000)) and isprokp = 0 and isprok = 0 and $pantyworntype ! 'none' and knowpreg = 0:
 		act 'Use a sanitary pad (0:05)':
 			cla
 			*clr
@@ -330,7 +469,7 @@ $tampon = {
 			act 'Finish':gt $loc, $metka
 		end
 	end
-	if tampon > 0 and (mesec > 0 or (placebopart > 2 and pillcon < 40000)) and isprok = 0 and isprokp = 0:
+	if tampon > 0 and (mesec > 0 or (placebopart > 2 and pillcon < 40000)) and isprok = 0 and isprokp = 0 and knowpreg = 0:
 		act 'Use a tampon (0:05)':
 			cla
 			*clr
@@ -494,9 +633,14 @@ $basin = {
 	dynamic $removepan
 }
 
-$pirTongue = {
+$pir_title = {
 	cla
 	*clr
+	'<center><b>Available piercings - select one by clicking the image</b></center>'
+	*nl	
+}
+$pirTongue = {
+	dynamic $pir_title
 
 	i = 1
 	:looptongue_pir
@@ -506,8 +650,7 @@ $pirTongue = {
 }
 
 $pirLip = {
-	cla
-	*clr
+	dynamic $pir_title
 
 	i = 1
 	:looplip_pir
@@ -517,8 +660,7 @@ $pirLip = {
 }
 
 $pirEars = {
-	cla
-	*clr
+	dynamic $pir_title
 
 	i = 1
 	:loopears_pir
@@ -528,8 +670,7 @@ $pirEars = {
 }
 
 $pirNose = {
-	cla
-	*clr
+	dynamic $pir_title
 
 	i = 1
 	:loopnose_pir
@@ -539,8 +680,7 @@ $pirNose = {
 }
 
 $pirBrow = {
-	cla
-	*clr
+	dynamic $pir_title
 
 	i = 1
 	:loopbrow_pir
@@ -550,8 +690,7 @@ $pirBrow = {
 }
 
 $pirNips = {
-	cla
-	*clr
+	dynamic $pir_title
 
 	i = 1
 	:loopnipple_pir
@@ -561,8 +700,7 @@ $pirNips = {
 }
 
 $pirNavel = {
-	cla
-	*clr
+	dynamic $pir_title
 
 	i = 1
 	:loopnavel_pir
@@ -572,8 +710,7 @@ $pirNavel = {
 }
 
 $pirPubic = {
-	cla
-	*clr
+	dynamic $pir_title
 
 	i = 1
 	:looppubic_pir
@@ -587,59 +724,67 @@ $pirManage = {
 	*nl
 	if pirsA > 0:
 		if pirsA < 10000:
-			'<a href="exec:pirsA = 10000 & pierWearCount -= 1 & dynamic $pirManage">Remove tongue piercing</a>.'
+			'<center><a href="exec:pirsA = 10000 & pierWearCount -= 1 & dynamic $pirManage">Remove tongue piercing</a>.</center>'
 		else
-			'<a href="exec:dynamic $pirTongue">Insert tongue piercing</a>.'
+			'<center><a href="exec:dynamic $pirTongue">Insert tongue piercing</a>.</center>'
 		end
+		*nl
 	end
 	if pirsB > 0:
 		if pirsB < 10000:
-			'<a href="exec:pirsB = 10000 & pierWearCount -= 1 & dynamic $pirManage">Remove lip piercing</a>.'
+			'<center><a href="exec:pirsB = 10000 & pierWearCount -= 1 & dynamic $pirManage">Remove lip piercing</a>.</center>'
 		else
-			'<a href="exec:dynamic $pirLip">Insert lip piercing</a>.'
+			'<center><a href="exec:dynamic $pirLip">Insert lip piercing</a>.</center>'
 		end
+		*nl
 	end
 	if pirsC > 0:
 		if pirsC < 10000:
-			'<a href="exec:pirsC = 10000 & pierWearCount -= 1 & dynamic $pirManage">Remove ear piercings</a>.'
+			'<center><a href="exec:pirsC = 10000 & pierWearCount -= 1 & dynamic $pirManage">Remove ear piercings</a>.</center>'
 		else
-			'<a href="exec:dynamic $pirEars">Insert ear piercings</a>.'
+			'<center><a href="exec:dynamic $pirEars">Insert ear piercings</a>.</center>'
 		end
+		*nl
 	end
 	if pirsD > 0:
 		if pirsD < 10000:
-			'<a href="exec:pirsD = 10000 & pierWearCount -= 1 & dynamic $pirManage">Remove nose piercing</a>.'
+			'<center><a href="exec:pirsD = 10000 & pierWearCount -= 1 & dynamic $pirManage">Remove nose piercing</a>.</center>'
 		else
-			'<a href="exec:dynamic $pirNose">Insert nose piercing</a>.'
+			'<center><a href="exec:dynamic $pirNose">Insert nose piercing</a>.</center>'
 		end
+		*nl
 	end
 	if pirsE > 0:
 		if pirsE < 10000:
-			'<a href="exec:pirsE = 10000 & pierWearCount -= 1 & dynamic $pirManage">Remove eyebrow piercing</a>.'
+			'<center><a href="exec:pirsE = 10000 & pierWearCount -= 1 & dynamic $pirManage">Remove eyebrow piercing</a>.</center>'
 		else
-			'<a href="exec:dynamic $pirBrow">Insert eyebrow piercing</a>.'
+			'<center><a href="exec:dynamic $pirBrow">Insert eyebrow piercing</a>.</center>'
 		end
+		*nl
 	end
 	if pirsF > 0:
 		if pirsF < 10000:
-			'<a href="exec:pirsF = 10000 & pierWearCount -= 1 & dynamic $pirManage">Remove nipple piercings</a>.'
+			'<center><a href="exec:pirsF = 10000 & pierWearCount -= 1 & dynamic $pirManage">Remove nipple piercings</a>.</center>'
 		else
-			'<a href="exec:dynamic $pirNips">Insert nipple piercings</a>.'
+			'<center><a href="exec:dynamic $pirNips">Insert nipple piercings</a>.</center>'
 		end
+		*nl
 	end
 	if pirsN > 0:
 		if pirsN < 10000:
-			'<a href="exec:pirsN = 10000 & pierWearCount -= 1 & dynamic $pirManage">Remove navel piercing</a>.'
+			'<center><a href="exec:pirsN = 10000 & pierWearCount -= 1 & dynamic $pirManage">Remove navel piercing</a>.</center>'
 		else
-			'<a href="exec:dynamic $pirNavel">Insert navel piercing</a>.'
+			'<center><a href="exec:dynamic $pirNavel">Insert navel piercing</a>.</center>'
 		end
+		*nl
 	end
 	if pirsG > 0:
 		if pirsG < 10000:
-			'<a href="exec:pirsG = 10000 & pierWearCount -= 1 & dynamic $pirManage">Remove pussy piercings</a>.'
+			'<center><a href="exec:pirsG = 10000 & pierWearCount -= 1 & dynamic $pirManage">Remove pussy piercings</a>.</center>'
 		else
-			'<a href="exec:dynamic $pirPubic">Insert pussy piercings</a>.'
+			'<center><a href="exec:dynamic $pirPubic">Insert pussy piercings</a>.</center>'
 		end
+		*nl
 	end
 
 	act'<b>Back</b>':gt $loc, $metka
@@ -649,10 +794,12 @@ if $ARGS[0] = 'private':
 	if stanok > 0:'Your razor will last for <b><<stanok>></b> more shavings.'
 	
 	'Pubic Shaving Style:'
-	if pubestyle = 0:'<a href="exec:pubestyle = 3 & gt $loc, $metka">Clean Shave</a> | <a href="exec:pubestyle = 2 & gt $loc, $metka">Trimmed</a> | <a href="exec:pubestyle = 1 & gt $loc, $metka">Never Shave</a> | <u>None</u>'
-	if pubestyle = 1:'<a href="exec:pubestyle = 3 & gt $loc, $metka">Clean Shave</a> | <a href="exec:pubestyle = 2 & gt $loc, $metka">Trimmed</a> | <u>Never Shave</u> | <a href="exec:pubestyle = 0 & gt $loc, $metka">None</a>'
-	if pubestyle = 2:'<a href="exec:pubestyle = 3 & gt $loc, $metka">Clean Shave</a> | <u>Trimmed</u> | <a href="exec:pubestyle = 1 & gt $loc, $metka">Never Shave</a> | <a href="exec:pubestyle = 0 & gt $loc, $metka">None</a>'
-	if pubestyle = 3:'<u>Clean Shave</u> | <a href="exec:pubestyle = 2 & gt $loc, $metka">Trimmed</a> | <a href="exec:pubestyle = 1 & gt $loc, $metka">Never Shave</a> | <a href="exec:pubestyle = 0 & gt $loc, $metka">None</a>'
+	if pubestyle = 0:'<a href="exec:pubestyle = 2 & gt $loc, $metka">Clean Shave</a> | <a href="exec:pubestyle = 3 & gt $loc, $metka">Small Bush</a> | <a href="exec:pubestyle = 4 & gt $loc, $metka">Trimmed</a> | <a href="exec:pubestyle = 5 & gt $loc, $metka">Full Bush</a> | <a href="exec:pubestyle = 1 & gt $loc, $metka">Never Shave</a> | <u>None</u>'
+	if pubestyle = 1:'<a href="exec:pubestyle = 2 & gt $loc, $metka">Clean Shave</a> | <a href="exec:pubestyle = 3 & gt $loc, $metka">Small Bush</a> | <a href="exec:pubestyle = 4 & gt $loc, $metka">Trimmed</a> | <a href="exec:pubestyle = 5 & gt $loc, $metka">Full Bush</a> | <u>Never Shave</u> | <a href="exec:pubestyle = 0 & gt $loc, $metka">None</a>'
+	if pubestyle = 2:'<u>Clean Shave</u> | <a href="exec:pubestyle = 3 & gt $loc, $metka">Small Bush</a> | <a href="exec:pubestyle = 4 & gt $loc, $metka">Trimmed</a> | <a href="exec:pubestyle = 5 & gt $loc, $metka">Full Bush</a> | <a href="exec:pubestyle = 1 & gt $loc, $metka">Never Shave</a> | <a href="exec:pubestyle = 0 & gt $loc, $metka">None</a>'
+	if pubestyle = 3:'<a href="exec:pubestyle = 2 & gt $loc, $metka">Clean Shave</a> | <u>Small Bush</u> | <a href="exec:pubestyle = 4 & gt $loc, $metka">Trimmed</a> | <a href="exec:pubestyle = 5 & gt $loc, $metka">Full Bush</a> | <a href="exec:pubestyle = 1 & gt $loc, $metka">Never Shave</a> | <a href="exec:pubestyle = 0 & gt $loc, $metka">None</a>'
+	if pubestyle = 4:'<a href="exec:pubestyle = 2 & gt $loc, $metka">Clean Shave</a> | <a href="exec:pubestyle = 3 & gt $loc, $metka">Small Bush</a> | <u>Trimmed</u> | <a href="exec:pubestyle = 5 & gt $loc, $metka">Full Bush</a> | <a href="exec:pubestyle = 1 & gt $loc, $metka">Never Shave</a> | <a href="exec:pubestyle = 0 & gt $loc, $metka">None</a>'
+	if pubestyle = 5:'<a href="exec:pubestyle = 2 & gt $loc, $metka">Clean Shave</a> | <a href="exec:pubestyle = 3 & gt $loc, $metka">Small Bush</a> | <a href="exec:pubestyle = 4 & gt $loc, $metka">Trimmed</a> | <u>Full Bush</u> | <a href="exec:pubestyle = 1 & gt $loc, $metka">Never Shave</a> | <a href="exec:pubestyle = 0 & gt $loc, $metka">None</a>'
 	
 	!WD: heal chafe
 	if mosolmaz>0:'On a shelf is a tube of ointment for chafing, which will be enough for <b><<mosolmaz>></b> applications.'
@@ -734,37 +881,46 @@ if $ARGS[0] = 'private':
 
 	dynamic $basin
 
-	if pcs_leghair > 3 and pcs_pubes > 3 and stanok > 1:
+	if pcs_leghair > 3 and stanok > 1:
 		if pubestyle > 1 or pubestyle = 0:
-			act 'Shave your legs and pussy (0:15)':
-				cla
-				*clr
-				minut += 15
-				pcs_leghair = 0
-				if pubestyle = 3 or pubestyle = 0:
-					pcs_pubes = 0
-				elseif pubestyle = 2 and pcs_pubes > 11:
-					pcs_pubes = 11
-				end
-				pcs_horny += 5
-				stanok -= 2
-				if obdysh = 1 and rand(0, 5) = 5:gt 'vann', 'brit1'
+			if pcs_pubes > 3 or pcs_bush > 0:
+				act 'Shave your legs and pussy (0:15)':
+					cla
+					*clr
+					minut += 15
+					pcs_leghair = 0
+					if pubestyle = 4 or pubestyle = 2:
+						pcs_pubes = 0
+						pcs_bush = 0
+					elseif pubestyle = 3:
+						pcs_pubes = 11
+						pcs_bush = 1
+					elseif pubestyle = 4 and pcs_pubes > 11:
+						pcs_pubes = 11
+					elseif pubestyle = 5 and pcs_pubes > 24:
+						pcs_pubes = 21
+					end
+					pcs_horny += 5
+					stanok -= 2
+					if obdysh = 1 and rand(0, 5) = 5:gt 'vann', 'brit1'
 
-				'<center><img <<$set_imgh>> src="images/shared/home/bathroom/shave3.jpg"></center>'
-				*nl
-				if daystart < 10 and StoryLine = 0 and ntstart = 0:
-					'You can''t shake off the fact that you''re a girl now, so you decide it''d be best to shave your legs. You begin to lather your legs, still marveling at how soft and round they are. Then you take the razor in your hand and begin to shave your legs.'
-					'You feel really awkward, never having done this before as a guy. Luckily, you had more than enough experience with shaving your face and technically this isn''t really all that different. So in the end you get a pretty decent job done.'
-				elseif daystart < 30 and StoryLine = 0 and ntstart = 0:
-					pcs_mood += 10
-					'With a newfound routine you lather up your legs and start shaving, careful not to miss a spot. After washing away the foam you softly glide your hands over your smooth legs, feeling good to know that you don''t need to hide your legs in pants. Maybe you should wear a skirt tomorrow?'
-				elseif pubestyle = 2:
-					'You lather up your legs and carefully shave them. Once you''re finished gliding your hands over your smooth legs, ensuring you didn''t miss a spot, you spend some time trimming back your bush as well.'
-				else
-					'You lather up your legs and crotch and carefully shave them. Once you''re finished you gently glide your hands over your smooth pussy and legs, enjoying the smooth feeling and getting slightly more aroused by the touch.'
+					'<center><img <<$set_imgh>> src="images/shared/home/bathroom/shave3.jpg"></center>'
+					*nl
+					if daystart < 10 and StoryLine = 0 and ntstart = 0:
+						'You can''t shake off the fact that you''re a girl now, so you decide it''d be best to shave your legs. You begin to lather your legs, still marveling at how soft and round they are. Then you take the razor in your hand and begin to shave your legs.'
+						'You feel really awkward, never having done this before as a guy. Luckily, you had more than enough experience with shaving your face and technically this isn''t really all that different. So in the end you get a pretty decent job done.'
+					elseif daystart < 30 and StoryLine = 0 and ntstart = 0:
+						pcs_mood += 10
+						'With a newfound routine you lather up your legs and start shaving, careful not to miss a spot. After washing away the foam you softly glide your hands over your smooth legs, feeling good to know that you don''t need to hide your legs in pants. Maybe you should wear a skirt tomorrow?'
+					
+					elseif pubestyle = 2:
+						'You lather up your legs and carefully shave them. Once you''re finished gliding your hands over your smooth legs, ensuring you didn''t miss a spot, you spend some time trimming back your pubes as well.'
+					else
+						'You lather up your legs and crotch and carefully shave them. Once you''re finished you gently glide your hands over your smooth pussy and legs, enjoying the smooth feeling and getting slightly more aroused by the touch.'
+					end
+
+					act 'Finish':gt $loc, $metka
 				end
-
-				act 'Return to showering':gt $loc, $metka
 			end
 		end
 	end
@@ -781,44 +937,78 @@ if $ARGS[0] = 'private':
 			*nl
 			'You lather your legs up with some soapy water and shave your legs. After a few swift movements, your legs are smooth as silk. The feeling of your smooth legs turns you on a little.'
 
-			act 'Return to showering':gt $loc, $metka
+			act 'Finish':gt $loc, $metka
 		end
 	end
 
-	if pcs_pubes > 3 and stanok > 0:
-		if pubestyle = 3 or pubestyle = 0:
-			act 'Shave your pussy (0:10)':
-				cla
-				*clr
-				minut += 10
-				pcs_pubes = 0
-				pcs_horny += 5
-				stanok -= 1
-				if obdysh = 1 and rand(0, 5) = 5:gt 'vann', 'brit1'
-
-				'<center><img <<$set_imgh>> src="images/shared/home/bathroom/shave3.jpg"></center>'
-				*nl
-				'You lather your crotch with some soapy water and carefully shave your pubic hair. After shaving you can''t help but run your fingers over your pussy, enjoying the smooth feeling and getting slightly more aroused by the touch.'
-
-				act 'Return to showering':gt $loc, $metka
-			end
-		elseif pubestyle = 2 and pcs_pubes > 15:
-			act 'Trim your pussy (0:10)':
-				cla
-				*clr
-				minut += 10
-				pcs_pubes = 11
-				pcs_horny += 5
-				stanok -= 1
-				if obdysh = 1 and rand(0, 5) = 5:gt 'vann', 'brit1'
+	if stanok > 0:
+		if pcs_pubes > 3 or pcs_bush > 0:
+			if pubestyle = 2 or pubestyle = 0:
+				act 'Shave your pussy (0:10)':
+					cla
+					*clr
+					minut += 10
+					pcs_pubes = 0
+					pcs_bush = 0
+					pcs_horny += 5
+					stanok -= 1
+					if obdysh = 1 and rand(0, 5) = 5:gt 'vann', 'brit1'
 
-				'<center><img <<$set_imgh>> src="images/shared/home/bathroom/shave4.jpg"></center>'
-				*nl
-				'You spend some time trimming back your bush, not shaving it away completely but careful to make it neat and tidy.'
+					'<center><img <<$set_imgh>> src="images/shared/home/bathroom/shave3.jpg"></center>'
+					*nl
+					'You lather your crotch with some soapy water and carefully shave your pubic hair. After shaving you can''t help but run your fingers over your pussy, enjoying the smooth feeling and getting slightly more aroused by the touch.'
 
-				act 'Return to showering':gt $loc, $metka
+					act 'Finish':gt $loc, $metka
+				end
+			elseif pubestyle = 3 and pcs_pubes > 15:
+				act 'Trim your pussy (0:10)':
+					cla & *clr
+					'<center><img <<$set_imgh>> src="images/shared/home/bathroom/shave4.jpg"></center>'
+					*nl
+					if pcs_pubes > 20:
+						'You carefully shave away the hair at the edges of your pussy, trimming it all away until there is only a neat bush left at the top.'
+					else
+						'You carefully shave away the stubble at the edges of your pussy, careful to only trim and maintain the neat bush you have at the top.'
+					end
+					minut += 10
+					pcs_pubes = 11
+					pcs_bush = 1
+					pcs_horny += 5
+					stanok -= 1
+					if obdysh = 1 and rand(0, 5) = 5:gt 'vann', 'brit1'
+					act 'Finish':gt $loc, $metka
+				end
+			elseif pubestyle = 4 and pcs_pubes > 15:
+				act 'Trim your bush (0:10)':
+					cla
+					*clr
+					minut += 10
+					pcs_pubes = 11
+					pcs_horny += 5
+					stanok -= 1
+					if obdysh = 1 and rand(0, 5) = 5:gt 'vann', 'brit1'
+					'<center><img <<$set_imgh>> src="images/shared/home/bathroom/shave4.jpg"></center>'
+					*nl
+					'You spend some time trimming back your pubic hair, not shaving it away completely but careful to make it neat and tidy.'
+					act 'Finish':gt $loc, $metka
+				end
+			elseif pubestyle = 5 and pcs_pubes >= 25:
+				act 'Trim back your bush (0:10)':
+					cla
+					*clr
+					minut += 10
+					pcs_pubes = 21
+					pcs_horny += 5
+					stanok -= 1
+					if obdysh = 1 and rand(0, 5) = 5:gt 'vann', 'brit1'
+					'<center><img <<$set_imgh>> src="images/shared/home/bathroom/shave4.jpg"></center>'
+					*nl
+					'You spend some time trimming back your thick bush of pubic hair, tidying it up and keeping your bikini line nice and clean.'
+					act 'Finish':gt $loc, $metka
+				end
 			end
 		end
+		act 'Shave options': gt 'din_van', 'shave_options'
 	end
 
 	if analplug = 1 and analplugin = 1:
@@ -1332,7 +1522,57 @@ if $ARGS[0] = 'pblc_pee_end':
 	end
 end
 
-
+if $ARGS[0] = 'shave_options':
+	*clr
+	if shave_img_hgt = 0:shave_img_hgt = 250
+
+	'<h3><center><b><font color="maroon">Shaving optons</b></h3><br><center><font color="maroon">Here you can choose your style for pubic hair and which body parts you wish to shave.</font></center>'
+	'<br><center><table border=0 cellspacing=<<shave_img_hgt/25>> cellpadding=5>'
+	*P '<TR><TD><center><a href="exec:pubestyle = 2 & gt ''din_van'', ''shave_options''"><img Height = <<shave_img_hgt>> src="images/shared/home/bathroom/shave3.jpg"></a></center></TD><TD><center><a href="exec:pubestyle = 3 & gt ''din_van'', ''shave_options''"><img Height = <<shave_img_hgt>> src="images/shared/home/bathroom/shave3.jpg"></a></center></TD>'
+	'<TR><TD><center>'
+	if pubestyle ! 2:
+		'<a href="exec:pubestyle = 2 & gt ''din_van'', ''shave_options''">Clean Shave</a>'
+	else
+		'Clean Shave'
+	end
+	'</center></TD><TD><center>'
+	if pubestyle ! 3:
+		'<a href="exec:pubestyle = 3 & gt ''din_van'', ''shave_options''">Small Bush</a>'
+	else
+		'Small Bush'
+	end
+	'</center></TD>'
+	*P '<TR><TD><center><a href="exec:pubestyle = 1 & gt ''din_van'', ''shave_options''"><img Height = <<shave_img_hgt>> src="images/shared/home/bathroom/shave3.jpg"></a></center></TD><TD><center><a href="exec:pubestyle = 4 & gt ''din_van'', ''shave_options''"><img Height = <<shave_img_hgt>> src="images/shared/home/bathroom/shave3.jpg"></a></center></TD>'
+	'<TR><TD><center>'
+	if pubestyle ! 1:
+		'<a href="exec:pubestyle = 1 & gt ''din_van'', ''shave_options''">Full Bush</a>'
+	else
+		'Full Bush'
+	end
+	'</center></TD><TD><center>'
+	if pubestyle ! 4:
+		'<a href="exec:pubestyle = 4 & gt ''din_van'', ''shave_options''">Trimmed</a>'
+	else
+		'Trimmed'
+	end
+	'</center></TD>
+	<TR><center>'
+	'Your razor will last for <b><<stanok>></b> more shaves.'
+	'</center>'
+	'</table></center>'
+	
+	act 'Set image height for this view':
+		shave_img_hgt = input("Enter height in pixels you want for images on this page<br>(default 250, min 100, max 500)")
+		if shave_img_hgt < 100:
+			shave_img_hgt = 250
+		elseif shave_img_hgt > 500:
+			shave_img_hgt = 500
+		end
+		gt 'din_van', 'shave_options'
+	end
+	if pubestyle > 0: act 'Disable shave styles': pubestyle = 0 & gt 'din_van', 'shave_options'
+	act 'Return':gt $loc, $metka
+end
 
 --- din_van ---------------------------------
 

+ 1 - 0
locations/dorm.qsrc

@@ -85,6 +85,7 @@ if $ARGS[0] = 'korr':
 	$metka = 'korr'
 	$loc = 'dorm'
     $location_type = 'public_indoors'
+	killvar '$locclass'
 	cla
 	clr
 	*clr

+ 12 - 1
locations/down.qsrc

@@ -3,6 +3,7 @@
 $metka = $ARGS[0]
 $loc = 'down'
 $location_type = 'public_outdoors'
+killvar '$locclass'
 CLOSE ALL
 if sound = 0:
 	if month >=11 and month <= 12 or month >=1 and month <=3:
@@ -101,7 +102,7 @@ end
 if car > 0 and cardrive = 2:'In the parking stands your <a href="exec:GS ''carF'', ''start''"><<$car>></a>.'
 
 
-act 'wait':gs 'obj_din', 'wait'
+act 'Wait':gs 'obj_din', 'wait'
 
 gs 'taxi'
 
@@ -197,6 +198,16 @@ else
 end
 'Next door is the <<$desc_txt1>> followed by a <<$desc_txt2>> and <<$desc_txt3>> and the 5-star <a href="exec: minut += 5 & gt ''hotel''">Hotel Indigo</a> for your housing needs. Lastly, the local <<$desc_txt4>> and <<$desc_txt5>> can be found at the end of the road.'
 *nl
+if week < 6 and hour >= 9 and hour <= 17:
+	$desc_txt6 = '<a href="exec: minut += 5 & gt ''sentence'',''start''">The Regional Courthouse</a>'
+elseif week < 5 and hour > 17:
+	$desc_txt6 = '<a href="exec:msg ''The Regional Courthouse is closed and will reopen tomorrow at 9:00''">Regional Courthouse</a>'
+else
+	$desc_txt6 = '<a href="exec:msg ''The Regional Courthouse is closed and will reopen on Monday at 9:00''">Regional Courthouse</a>'
+end
+$desc_txt7 = '<a href="exec: minut += 5 & gt ''police_station'',''start''">Main city police station</a>'
+'Away from the shops is both <<$desc_txt6>> and the <<$desc_txt7>>.'
+*nl
 
 if Enable_tablemap = 0:
 	if npc_rel['A218'] > 0 and tanwork = 0 and hour >= 16 and hour <= 21 and tanday ! daystart:'<a href="exec:gt ''tanapartment''">Apartment where Tanya lives</a>.'

+ 14 - 13
locations/exercise.qsrc

@@ -49,6 +49,7 @@ if $ARGS[0] = 'workout':
 		if $sportloc = 'Meadow': gs 'underwear', 'wear'
 		act 'Leave': gt $loc, $metka
 	end
+	gs 'wardrobe', 'sports_outfit_option', 'workout'
 	act 'Manual': gt 'exercise', 'manual'
 	if exer_stam[1] ! 0 and pcs_stam > exer_stam[1]: act '<<$excer_name[1]>> - (<<exer_stam[1]>> stamina)': exercisex = 1 & gt 'exercise', 'auto'
 	if exer_stam[2] ! 0 and pcs_stam > exer_stam[2]: act '<<$excer_name[2]>> - (<<exer_stam[2]>> stamina)': exercisex = 2 & gt 'exercise', 'auto'
@@ -125,12 +126,24 @@ if $ARGS[0] = 'auto_end':
 		gt $loc, $metka
 	else
 		if $sportloc = 'Meadow': gs 'underwear', 'wear'
-		gt $loc, $metka
+		gt 'exercise', 'workout'
 	end
 end
 
 if $ARGS[0] = 'manual':
 	cla
+	if clothesAtLocation = 1:
+		act 'End workout and get dressed':
+			cla
+			minut += 5
+			gs 'underwear', 'wear'
+			gs 'clothing', 'recover_lost_clothes', $sportloc, 1
+			gt $loc, $metka
+		end
+	else
+		if $sportloc = 'Meadow': gs 'underwear', 'wear'
+		act 'Return': gt 'exercise', 'workout'
+	end
 	if pcs_stam >= 15:
 		Act 'Do pushups for 15 minutes': timemult = 1 & gs 'exercise', 'timestring' & gt 'exercise', 'push', 'manual'
 		Act 'Do crunches for 15 minutes': timemult = 1 & gs 'exercise', 'timestring' & gt 'exercise', 'press', 'manual'
@@ -194,18 +207,6 @@ if $ARGS[0] = 'manual':
 	if pcs_stam < 10 or pcs_stam < 15 and bookYog + obruch = 0:
 		'You don''t have the energy to work out anymore now.'
 	end
-	if clothesAtLocation = 1:
-		act 'End workout and get dressed':
-			cla
-			minut += 5
-			gs 'underwear', 'wear'
-			gs 'clothing', 'recover_lost_clothes', $sportloc, 1
-			gt $loc, $metka
-		end
-	else
-		if $sportloc = 'Meadow': gs 'underwear', 'wear'
-		act 'Leave': gt $loc, $metka
-	end
 end
 
 if $ARGS[0] = 'setup':

+ 3 - 3
locations/family.qsrc

@@ -120,7 +120,7 @@ if StoryLine = 1:
 		end
 
 		 if $loc = 'sitrPar' or ($loc = 'family' and $metka = 'sofa'):
-			if hour < 7 and brothemorningsex = daystart:
+			if hour < 7 and brothermorningsex = daystart:
 				ocpd_room = 1
 				'Your younger brother <a href="exec:gt ''brother'', ''start''">Kolka</a> is getting ready for school.'
 			elseif hour < 7 and brothermorningsex ! daystart:
@@ -148,7 +148,7 @@ if StoryLine = 1:
 						'Your little brother <a href="exec:gt ''brother'', ''start''">Kolka</a> is sitting by the table and doing his homework.'
 					end
 				end
-				if hour > 20 and hour < 23:
+				if hour >= 20 and hour < 23:
 					ocpd_room = 1
 					'Your younger brother <a href="exec:gt ''brother'', ''start''">Kolka</a> is sitting on the sofa, playing video games.'
 				end
@@ -167,7 +167,7 @@ if StoryLine = 1:
 					end
 				end
 
-				if hour >= 18 and hour < 23:
+				if hour >= 20 and hour < 23:
 					ocpd_room = 1
 					'Your younger brother <a href="exec:gt ''brother'', ''start''">Kolka</a> is sitting on the sofa, watching TV.'
 				end

+ 31 - 6
locations/femcyc.qsrc

@@ -210,20 +210,33 @@ if $ARGS[0] = '':
 	!! Not lactating yet, but there was milkdemand, meaning someone worked your nipples and breasts.
 	if lactate = 0 and milkoverdemand >= 0 and prolactinlvl >= 0:
 		if milkgrowday < daystart:
-			prolactinlvl += milkoverdemand/200
+			temp_var = milkoverdemand/200
+			if temp_var <= 0 and milkoverdemand >0:
+				prolactinlvl += 1
+			else
+				prolactinlvl += milkoverdemand/200
+			end
 			!! as long as your tits are not over 11 growth will happen to them. If you do not pump or no pregnancy happens, no growth will happen.
 			if milkoverdemand = 0 and pregchem = 0 and tits < 11:
 				temp_var = prolactinlvl - 10
-				if temp_var < 0:
+				if temp_var <= 0:
 					prolactinlvl = 0
 				end
 				!! if prolactinlvl is sinking too much, the aveoli will deflate and thus the breasts growth is reverted. This only counts for induced lactation. If natural lactation occurs breasts will shrink a bit too, but stay bigger in total.
 				if prolactinlvl < 75 and total_milkinduce_growth > 0:
 					nbsize -= total_milkinduce_growth
-					prolactinlvl -= 10
 					total_milkinduce_growth = 0
+					if prolactinlvl > 10:
+						prolactinlvl -= 10
+					else
+						prolactinlvl = 0
+					end
 				else
-					prolactinlvl -= 10
+					if prolactinlvl > 10:
+						prolactinlvl -= 10
+					else
+						prolactinlvl = 0
+					end
 				end
 				milkoverdemand = 0
 				milkgrowday = daystart
@@ -351,7 +364,13 @@ if $ARGS[0] = '':
 			else
 				milkgrowday = daystart
 				if lactatemm >= lactatemv and salo > 11:
-					lactatemv += lactaterate
+					if lactaterate > lactaterate_use:
+						temp_lactaterate = lactaterate_use
+					else
+						temp_lactaterate = lactaterate
+					end
+					lactatemv += temp_lactaterate
+					lactaterate_use = lactaterate
 					if lactatemv > lactatemm:
 						lactatemv = lactatemm
 						lact_engorgement += 1
@@ -419,7 +438,13 @@ if $ARGS[0] = '':
 			else
 				milkgrowday = daystart
 				if lactatemm >= lactatemv and salo > 11:
-					lactatemv += lactaterate
+					if lactaterate > lactaterate_use:
+						temp_lactaterate = lactaterate_use
+					else
+						temp_lactaterate = lactaterate
+					end
+					lactatemv += temp_lactaterate
+					lactaterate_use = lactaterate
 					if lactatemv > lactatemm:
 						lactatemv = lactatemm
 						lact_engorgement += 1

+ 1 - 0
locations/fit.qsrc

@@ -108,6 +108,7 @@ if $ARGS[0] = 'dressing room':
 		gt 'mirror', 'start'
 	end
 
+	gs 'wardrobe', 'sports_outfit_option'
 	act 'Change outfit':
 		cla
 		gt 'wardrobe', 'start'

+ 70 - 68
locations/foto.qsrc

@@ -415,21 +415,13 @@ if $ARGS[0] = 'interview':
 		act'I''m 18':gt'foto','interview2'
 	else
 		howoldareyou = 2
-		if age_truth = 1 or age >= 18:
-			'	"I''m <<age>>."'
-			'	"I see. Alright, undress. Let me take a look at you."'
-			gs 'foto', 'interview_undress'
-		elseif fakepassport = 1:
-			'	"I''m 18."'
-			'	"I see. Alright, undress. Let me take a look at you."'
-			gs 'foto', 'interview_undress'
-		else
-			fakepassport = 2
-			'	"You look a little young, do you have any ID?"'
-			'	Not having any, you feign surprise and tell him you didn''t realise you needed it.'
-			'	"Sorry love, no ID no modelling. If it turned out you were underage I''d end up in jail."'
-			'	Now how are you going to find a way around this?'
-			act 'Continue': gt 'foto', 'start'
+		act 'Tell the truth':
+			age_truth = 1
+			gt'foto','interview2' 
+		end
+		act 'Lie': 
+			age_lie = 1
+			gt'foto','interview2'
 		end
 	end
 end
@@ -1006,7 +998,7 @@ if $ARGS[0] = 'practicemodel':
 			end
 
 
-			act 'Erotic clothed':
+			!!{act 'Erotic clothed':
 				cla
 				act 'Maybe not today':gt 'foto','studio'
 
@@ -1081,7 +1073,7 @@ if $ARGS[0] = 'practicemodel':
 						end
 					end
 				end
-			end
+			end}
 
 			act 'Bikini modelling':
 				cla
@@ -1791,12 +1783,15 @@ if $ARGS[0] = 'model':
 				mdlng_exp += rand(5,8)
 				city_modelling += rand(7,12)
 				pav_modelling += rand(1,city_modelling)/10
-				fashionshoot = rand(1,5)
+				shoot_type = rand(1,2)
 				gs 'stat'
-				if fashionshoot <= 2:'<center><video autoplay loop src="images/locations/city/citycenter/photo/fashion<<rand(1,2)>>.mp4"></video></center>'
-				if fashionshoot >= 3 and fashionshoot < 5:'<center><img <<$set_imgh>> src="images/locations/city/citycenter/photo/fashion<<rand(1,3)>>.jpg"></center>'
-				if fashionshoot < 5:'	You dress up in the latest in fashion wear and spend the next two hours sexily posing for the photographer.'
-				if fashionshoot = 5:
+				if shoot_type = 1:
+					'<center><video autoplay loop src="images/locations/city/citycenter/photo/fashion<<rand(1,2)>>.mp4"></video></center>'
+					'	You dress up in the latest in fashion wear and spend the next two hours sexily posing for the photographer.'
+				elseif shoot_type = 2:
+					'<center><img <<$set_imgh>> src="images/locations/city/citycenter/photo/fashion<<rand(1,3)>>.jpg"></center>'
+					'	You dress up in the latest in fashion wear and spend the next two hours sexily posing for the photographer.'
+				else
 					'<center><video autoplay loop src="images/locations/city/citycenter/photo/fashion3.mp4"></video></center>'
 					'	You spend two hours modelling for the online catalogs of retail clothing stores, wearing various different dresses but the same expression. It''s boring but it still gets you paid.'
 				end
@@ -1838,22 +1833,16 @@ if $ARGS[0] = 'model':
 							'	It appears that unlike more low-end and retail companies that want your posing to be consistent, designer labels want your posing to be evocative and varied. Whatever works you guess.'
 						end
 					elseif bikinishoot = 3:
-						'<center><video autoplay loop src="images/locations/city/citycenter/photo/bikini3.mp4"></video></center>'
+						'<center><video autoplay loop src="images/locations/city/citycenter/photo/bikini<<rand(3,5)>>.mp4"></video></center>'
 						if bikinicatalog = 0:bikinicatalog = 1
 						'	You change in and out of various different bikinis, modelling them with the same pose and expression for use in online catalogs.'
 					end
 					*nl
 					'	Two hours later, you''re all done. The photographer thanks you for your time, pays you <<modelpayfin>> <b>₽</b> for the job.'
-					act'Continue':
-						cla & *clr
-						*nl
-						'<center><video autoplay loop src="images/locations/city/citycenter/photo/modelbts2.mp4"></video></center>'
-						'	The practice shoot ends and he calls you over to his computer to show you what you need to work on.'
-						if pcs_mdlng >= 40 and commercial = 0:
-							act 'Leave':gt'foto','commercial'
-						else
-							act 'Leave':gt 'foto', 'end'
-						end
+					if pcs_mdlng >= 40 and commercial = 0:
+						act 'Leave':gt'foto','commercial'
+					else
+						act 'Leave':gt 'foto', 'end'
 					end
 				end
 			end
@@ -1877,7 +1866,7 @@ if $ARGS[0] = 'model':
 					pav_modelling += rand(1,city_modelling)/10
 					inhib_exp += 1
 					gs 'stat'
-					'<center><img <<$set_imgh>> src="images/locations/city/citycenter/photo/model1.jpg"></center>'
+					'<center><img <<$set_imgh>> src="images/locations/city/citycenter/photo/ero<<rand(1,3)>>.jpg"></center>'
 					'	You dress up in sexy clothes and spend the next two hours posing for the photographer.'
 					*nl
 					'	After having taken all his pictures, the photographer thanks you for your time and concludes the shoot, counting out your <<modelpayfin>> <b>₽</b> to hand to you.'
@@ -1903,8 +1892,13 @@ if $ARGS[0] = 'model':
 					city_modelling += rand(7,13)
 					pav_modelling += rand(0,city_modelling)/10
 					inhib_exp += 2
+					shoot_type = rand(1,2)
 					gs 'stat'
-					'<center><video autoplay loop src="images/locations/city/citycenter/photo/lingerie<<rand(1,2)>>.mp4"></video></center>'
+					if shoot_type = 1:
+						'<center><video autoplay loop src="images/locations/city/citycenter/photo/lingerie<<rand(1,2)>>.mp4"></video></center>'
+					else
+						'<center><img <<$set_imgh>> src="images/locations/city/citycenter/photo/lingerie<<rand(1,3)>>.jpg"></center>'
+					end
 					'	You put on some sexy lingerie and spend the next two hours striking various poses for a photographer.'
 					*nl
 					'	After having taken all his pictures, the photographer thanks you for your time and concludes the shoot, counting out your <<modelpayfin>> <b>₽</b> to hand to you.'
@@ -1932,33 +1926,33 @@ if $ARGS[0] = 'nude_shoot':
 	'<center><img <<$set_imgh>> src="images/locations/city/citycenter/photo/fotograph.jpg"></center>'
 	'	"Alright, we can do that. What kind of nude shoot?"'
 
-	act 'Erotic clothing with breast nudity':
+!!	act 'Erotic clothing with breast nudity':
 		!!already matched the exhibitionism value above
-		cla
-		act 'Maybe not today':gt 'foto','studio'
-
-		act 'Agree (2:00)':
-			*clr & cla
-
-			minut += 120
-			modelpayfin = 700 + (modelpay) + (15*rand(0,5))
-			modelfoto_nip += 1
-			mdlng_exp += rand(6,10)
-			city_modelling += rand(7,13)
-			pav_modelling += rand(1,city_modelling)/10
-			inhib_exp += 2
-			gs 'stat'
-			'<center><video autoplay loop src="images/locations/city/citycenter/photo/model5.mp4"></video></center>'
-			'	You dressed up in sexy clothes and spend the next two hours striking various poses for a photographer, your nipples occasionally slipping out from behind the clothing.'
-			*nl
-			'	After having taken all his pictures, the photographer thanks you for your time and concludes the shoot, counting out your <<modelpayfin>> <b>₽</b> to hand to you.'
-			if pcs_mdlng >= 40 and commercial = 0:
-				act 'Leave':gt'foto','commercial'
-			else
-				act 'Leave':gt 'foto', 'end'
-			end
-		end
-	end
+!!		cla
+!!		act 'Maybe not today':gt 'foto','studio'
+
+!!		act 'Agree (2:00)':
+!!			*clr & cla
+
+!!			minut += 120
+!!			modelpayfin = 700 + (modelpay) + (15*rand(0,5))
+!!			modelfoto_nip += 1
+!!			mdlng_exp += rand(6,10)
+!!			city_modelling += rand(7,13)
+!!			pav_modelling += rand(1,city_modelling)/10
+!!			inhib_exp += 2
+!!			gs 'stat'
+!!			'<center><video autoplay loop src="images/locations/city/citycenter/photo/model5.mp4"></video></center>'
+!!			'	You dressed up in sexy clothes and spend the next two hours striking various poses for a photographer, your nipples occasionally slipping out from behind the clothing.'
+!!			*nl
+!!			'	After having taken all his pictures, the photographer thanks you for your time and concludes the shoot, counting out your <<modelpayfin>> <b>₽</b> to hand to you.'
+!!			if pcs_mdlng >= 40 and commercial = 0:
+!!				act 'Leave':gt'foto','commercial'
+!!			else
+!!				act 'Leave':gt 'foto', 'end'
+!!			end
+!!		end
+!!	end
 
 	act 'Transparent clothing':
 		!!already matched the exhibitionism value above
@@ -1995,7 +1989,6 @@ if $ARGS[0] = 'nude_shoot':
 		else
 			cla
 			act 'Maybe not today':gt 'foto','studio'
-
 			act 'Agree (2:00)':
 				*clr & cla
 				minut += 120
@@ -2006,9 +1999,18 @@ if $ARGS[0] = 'nude_shoot':
 				city_modelling += rand(8,14)
 				pav_modelling += rand(1,city_modelling)/10
 				inhib_exp += 3
+				shoot_type = rand(1,3)
 				gs 'stat'
-				'<center><video autoplay loop src="images/locations/city/citycenter/photo/model4.mp4"></video></center>'
-				'	You put on some pants and omit a top leaving your breasts exposed. You spend two hours striking various poses, covering and uncovering your breasts, and listen to instruction while the photographer takes pictures of you.'
+				if shoot_type = 1:
+					'<center><img <<$set_imgh>> src="images/locations/city/citycenter/photo/topless<<rand(1,5)>>.jpg"></center>'
+					'	You put on some pants and omit a top leaving your breasts exposed. You spend two hours striking various poses, covering and uncovering your breasts, and listen to instruction while the photographer takes pictures of you.'
+				elseif shoot_type = 2:
+					'<center><img <<$set_imgh>> src="images/locations/city/citycenter/photo/topless<<rand(6,12)>>.jpg"></center>'
+					'	Putting on some sexy panties, you spend the next two hours having photos taken of you with exposed breasts.'
+				else
+					'<center><img <<$set_imgh>> src="images/locations/city/citycenter/photo/topless13.jpg"></center>'
+					'	You dress up in special one piece bunny suit, put on some floppy ears, and pull the top down to expose your breasts. The photographer takes pictures of you for some kind of special issue.'
+				end
 				*nl
 				'	After having taken all his pictures, the photographer thanks you for your time and concludes the shoot, counting out your <<modelpayfin>> <b>₽</b> to hand to you.'
 				if pcs_mdlng >= 40 and commercial = 0:
@@ -2072,9 +2074,9 @@ if $ARGS[0] = 'nude_shoot':
 				city_modelling += rand(10,20)
 				pav_modelling += rand(0,city_modelling)/4
 				inhib_exp += 5
-				shoot_type = rand(1,3)
+				shoot_type = rand(1,4)
 				gs 'stat'
-				if shoot_type = 1:
+				if shoot_type <= 2:
 					modelfoto_pussy += 1
 					modelfoto_nip += 1
 					if pcs_pubes <= 20:
@@ -2083,12 +2085,12 @@ if $ARGS[0] = 'nude_shoot':
 						*nl
 						'	You spend two hours posing confidently for a photographer taking pictures of you that fully expose your breasts and pussy. When the shoot ends, both you and the photographers are very proud of the results and you are paid <<modelpayfin>> <b>₽</b> for your work.'
 					else
-						'<center><img <<$set_imgh>> src="images/locations/city/citycenter/photo/nude<<rand(13,15)>>.jpg"></center>'
+						'<center><img <<$set_imgh>> src="images/locations/city/citycenter/photo/nude<<rand(13,19)>>.jpg"></center>'
 						'	Already naked, you step onto set and begin the shoot immediately.'
 						*nl
 						'	You spend two hours posing confidently for a photographer taking pictures of you, your thick bush being used as a simple censor of your pussy and make it more "acceptable" as art while still maintaining the feeling of eroticism. When the shoot ends, both you and the photographers are very proud of the results and you are paid <<modelpayfin>> <b>₽</b> for your work.'
 					end
-				elseif shoot_type = 2:
+				elseif shoot_type = 3:
 					modelfoto_nip += 1
 					'<center><img <<$set_imgh>> src="images/locations/city/citycenter/photo/nude<<rand(4,11)>>.jpg"></center>'
 					'	Already naked, you step onto set and begin the shoot immediately.'

+ 1 - 1
locations/gadmarket.qsrc

@@ -23,7 +23,7 @@ $gadmarkettab += FUNC ('$single_stock_item', 1, 'Cooking magazine', 450, 'cookma
 $gadmarkettab += FUNC ('$single_stock_item', 1, 'Knitting magazine', 450, 'knitmag', 'gadmarket')
 $gadmarkettab += FUNC ('$stock_item', 5, 'Condoms', 600, 'prezikcount', 'gadmarket')
 $gadmarkettab += FUNC ('$stock_item', 20, 'Tampons', 250, 'tampon', 'gadmarket')
-$gadmarkettab += FUNC ('$stock_item', 10, 'Razors', 1000, 'stanok', 'gadmarket')
+$gadmarkettab += FUNC ('$stock_item', 40, 'Razors', 700, 'stanok', 'gadmarket')
 $gadmarkettab += FUNC ('$single_stock_item', 1, 'Bottle of water', 100, 'bottle', 'gadmarket', '', iif(bag > 0, 0, 1), 'You need a handbag')
 $gadmarkettab += FUNC ('$single_stock_item', 1, 'Sandwich', 100, 'buterbrod', 'gadmarket', '', iif(bag > 0, 0, 1), 'You need a handbag')
 $gadmarkettab += FUNC ('$single_stock_item', 1, 'Cheap Bottle of wine', 200, 'wine', 'gadmarket', '', iif(bag > 0, 0, 1), 'You need a handbag')

+ 2 - 2
locations/gadukino.qsrc

@@ -63,7 +63,7 @@ if $ARGS[0] = '':
 		if car > 0 and cardrive = 23: '<a href="exec:GS ''carF'',''start''">Your <<$car>></a> is close by.'
 		if StoryLine = 1 :
 			'Nearby are a series of small farms, on one of which <a href="exec:minut += 5 & gt ''Gaddvor''">your grandparents</a> live.'
-			act 'Grandparent''s house': gt 'Gaddvor'
+			act 'Grandparent''s house': minut += 5 & gt 'Gaddvor'
 		else
 			'Nearby are a series of small farms, on one of which <a href="exec:minut += 5 & gt ''Gaddvor''">old couple</a> live.'
 			act 'Old couple''s house': gt 'Gaddvor'
@@ -168,7 +168,7 @@ if $ARGS[0] = '':
 			act 'Go Hunting (this can take a lot of time)': suchunt = 1 & gt 'gadukino', 'succubus_hunt'
 		end
 
-		act 'Go to the highway':minut += 30 & nroad = 10 & gt 'road'
+		act 'Go to the highway':minut += 30 & nroad = 10 & dirtyclothes = 0 & gt 'road'
 	end
 end
 

+ 1 - 0
locations/gadukino_event.qsrc

@@ -815,6 +815,7 @@ end
 if $ARGS[0] = 'go_home_ender':
 	*clr & cla
 	minut += rand(15,25)
+	dirtyclothes = 0
 	if grandmahelp > 0:
 		'<center><b><font color="maroon">Your grandmother</font></b></center>'
 		'<center><img <<$set_imgh>> src="images/locations/gadukino/village/grandmahelp.jpg"></center>'

+ 8 - 1
locations/gaptek.qsrc

@@ -56,7 +56,14 @@ if $ARGS[0] = 'start' or gaptek_loc = 1 or $message ! '':
 	*P FUNC ('$stock_item', 20, 'Tampons', 200, 'tampon', $CURLOC, $ARGS[0])
 	*P FUNC ('$stock_item', 20, 'Sanitary napkins', 100, 'sanpad', $CURLOC, $ARGS[0])
 	*P FUNC ('$single_stock_item', 1, 'enema kit', 1250, 'klisma', $CURLOC, $ARGS[0], StoryLine, 'You should be stealthy')
-	*P FUNC ('$single_stock_item', 1, 'breast pump', 2200, 'breastpump', $CURLOC, $ARGS[0])
+	*P FUNC ('$single_stock_item', 1, 'breast pump', 2500, 'breastpump', $CURLOC, $ARGS[0])
+	if pcs_knowsmilkbottles > 0:
+		*P FUNC ('$stock_item', 3, 'Breastmilk Bottle S', 930, 'bpbottles', $CURLOC, $ARGS[0])
+		*P FUNC ('$stock_item', 2, 'Breastmilk Bottle M', 930, 'bpbottlem', $CURLOC, $ARGS[0])
+	end
+	if pcs_knows_nipplecream > 0:
+		*P FUNC ('$stock_item', 20, 'Nipplebalm', 600, 'bpnipplebalm', $CURLOC, $ARGS[0])
+	end
 	*P '</table></center>'
 	!! for original start we can just use stockitem, for alt start there are other plot elements involved
 	!strip polt-related item, other use new system

+ 2 - 0
locations/gdksport.qsrc

@@ -79,6 +79,8 @@ if $ARGS[0] = 'start':
 		gt 'wardrobe', 'start'
 	end
 
+	gs 'wardrobe', 'sports_outfit_option'
+
 	if albinaQWdance > 0 or gsAboDance > 0 or gsAboBeg > 0 or gsAboVolley > 0:
 		if $clothingworntype ! 'exercise':'You are not dressed in sports clothes.'
 		if $shoeworntype ! 'trainers':'You are not wearing training shoes.'

+ 2 - 2
locations/gdktoilet.qsrc

@@ -30,11 +30,11 @@ if $ARGS[0] = 'start':
 			$track_loop = 'sound/komb.mp3'
 			volume = 50
 			music_loop = 1
-			pl '<a href="exec: music_on = 0 & gt $loc">Turn off the music</a>'
+			pl '<a href="exec: music_on = 0 & gt $loc, $metka">Turn off the music</a>'
 		else
 			music_loop = 0
 			close all
-			pl '<a href="exec: music_on = 1 & gt $loc">Play music</a>'
+			pl '<a href="exec: music_on = 1 & gt $loc, $metka">Play music</a>'
 		end
 		if gdkin_in = daystart:
 			act 'Return to the dance':gt 'gdkin'

+ 462 - 346
locations/gpoli.qsrc

@@ -20,6 +20,10 @@ if $ARGS[0] = '':
 	if prcptn_lvl > 40 and pcs_know_mward <= 0:
 		'<br><br>You see a sign that reads <a href="exec: minut += 5 & gt ''gpoli'', ''maternity_ward''">"Maternity ward"</a>.'
 	end
+	
+	if pcs_ask_mward_help >= 1 and pcs_know_mward <= 0:
+		'<br><br><a href="exec: minut += 5 & gt ''gpoli'', ''reception''">Ask</a> at the reception for help with your breasts.'
+	end
 
 	act 'Leave':minut += 5 & gt 'pavCommercial'
 
@@ -1271,393 +1275,505 @@ if $ARGS[0] = 'maternity_ward':
 	cla
 	gs 'stat'
 	minut += 5
-	'<center><img <<$set_imgh>> src="images/locations/pavlovsk/clinic/mward/mward.jpg"></center>'
-	'<center>You are at the maternity ward. There are alot of babies and nurses taking care of them.</center>'
-	if lactate > 0 and pcs_gpolimilkdonation = 3:
-		act 'Talk to the nurse (0:05)':
-			gs 'stat'
-			*clr
-			cla
-			minut += 5
-			'<center><img <<$set_imgh>> src="images/locations/pavlovsk/clinic/mward/old_nurse.jpg"></center>'
-			'Nurse: Hello <<$pcs_firstname>>, how can I help you?'
-			act 'Donate your breast milk (0:15)':
+	if hour >= 6 and hour <= 20:
+		'<center><img <<$set_imgh>> src="images/locations/pavlovsk/clinic/mward/mward.jpg"></center>'
+		'<center>You are at the maternity ward. There are alot of babies and nurses taking care of them.</center>'
+		if lactate > 0 and pcs_gpolimilkdonation = 3:
+			act 'Talk to the nurse (0:05)':
+				gs 'stat'
 				*clr
 				cla
-				milkedvolume = 0
-				pcs_gpoli_donationsessioncount = 0
-				!!if rand(0,100) = 95 and orphanfeed = 0:
-				!!	orphanfeed = 1
-				!!end
-				'<center><img <<$set_imgh>> src="images/locations/pavlovsk/clinic/mward/pump_room.jpg"></center>'
-				'You talk to the old nurse and she leads you into the quiet room.'
-				!!if orphanfeed = 1:
-				!!	'It seems like there is a crib with a baby inside in this room, too.'
-				!!end
-				act 'have your breasts pumped':
+				minute += 5
+				'<center><img <<$set_imgh>> src="images/locations/pavlovsk/clinic/mward/old_nurse.jpg"></center>'
+				'Nurse: Hello <<$pcs_firstname>>, how can I help you?'
+				act 'Donate your breast milk (0:15)':
 					*clr
 					cla
+					milkedvolume = 0
+					pcs_gpoli_donationsessioncount = 0
+					!!if rand(0,100) = 95 and orphanfeed = 0:
+					!!	orphanfeed = 1
+					!!end
 					'<center><img <<$set_imgh>> src="images/locations/pavlovsk/clinic/mward/pump_room.jpg"></center>'
-					'You sit down and take off your top.'
-					if lactatemv > lactatemm*8/10:
-						'The nurse looks surprised at your engorged breasts'
-						'Nurse: Oh dear! These look painfully full. I hope the pumping will make you feel better.'
-					end					
-					if pain['nipples'] >= 60:
-						'<center><img <<$set_imgh>> src="images/pc/body/nipples/sore_nipples.jpg"></center>'
-						'The nurse looks at your sore nipples and frowns a bit. She then grabs a small tin, and takes a bit more of the yellowish cream from the tin.'
-						'She applies the cream to your nipples. It feels nice on your nipples and they hurt less.'
-						pain['nipples'] -= 20
-					else
-						'The nurse grabs the nipple balm and applies it to your nipples. It feels nice on your nipples as she rubs it in.'
+					'You talk to the old nurse and she leads you into the quiet room.'
+					!!if orphanfeed = 1:
+					!!	'It seems like there is a crib with a baby inside in this room, too.'
+					!!end
+					act 'have your breasts pumped':
+						*clr
+						cla
+						'<center><img <<$set_imgh>> src="images/locations/pavlovsk/clinic/mward/pump_room.jpg"></center>'
+						'You sit down and take off your top.'
+						if lactatemv > lactatemm*8/10:
+							'The nurse looks surprised at your engorged breasts'
+							'Nurse: Oh dear! These look painfully full. I hope the pumping will make you feel better.'
+						end					
+						if pain['nipples'] >= 60:
+							'<center><img <<$set_imgh>> src="images/pc/body/nipples/sore_nipples.jpg"></center>'
+							'The nurse looks at your sore nipples and frowns a bit. She then grabs a small tin, and takes a bit more of the yellowish cream from the tin.'
+							'She applies the cream to your nipples. It feels nice on your nipples and they hurt less.'
+							pain['nipples'] -= 20
+						else
+							'The nurse grabs the nipple balm and applies it to your nipples. It feels nice on your nipples as she rubs it in.'
+						end
+						nipple_cream = 1
+						act 'continue':	gt 'gpoli', 'maternity_ward_donation'
 					end
-					nipple_cream = 1
-					act 'continue':	gt 'gpoli', 'maternity_ward_donation'
 				end
-			end
-			act 'Check your file (0:05)':
-				*clr
-				cla
-				'<center><img <<$set_imgh>> src="images/locations/pavlovsk/clinic/mward/formular.jpg"></center>'
-				'The nurse hands you a file on how much you have donated so far.'
-				'<br>----------------------------------------'
-				'Analyzed milksample measurements'
-				'Volume in ml: <<mward_donatesv/10>>ml'
-				'Fat in %: <<mward_donatesf/10>>.<<mward_donatesf mod 10>>%'
-				'Lactose in %: <<mward_donatess/10>>.<<mward_donatess mod 10>>%'
-				'<br>----------------------------------------'
-				if pcs_gpoli_totalmilkdonation_count > 0:
-					'Total breast milk donation statistics'
-					if pcs_gpoli_totalmilkdonation < 100:
-						'Donated milk volume in liter: <<pcs_gpoli_totalmilkdonation/1000>>.0<<pcs_gpoli_totalmilkdonation mod 1000>>l'
-					else
-						'Donated milk volume in liter: <<pcs_gpoli_totalmilkdonation/1000>>.<<pcs_gpoli_totalmilkdonation mod 1000>>l'
-					end
-					'Donation count: <<pcs_gpoli_totalmilkdonation_count>>'
-					'Average milk volume per donation in ml: <<pcs_gpoli_totalmilkdonation/pcs_gpoli_totalmilkdonation_count>>'
-					'Paid money: <<(((pcs_gpoli_totalmilkdonation*10)/3)*75)/100>><b>₽</b>'
+				act 'Check your file (0:05)':
+					*clr
+					cla
+					'<center><img <<$set_imgh>> src="images/locations/pavlovsk/clinic/mward/formular.jpg"></center>'
+					'The nurse hands you a file on how much you have donated so far.'
+					'<br>----------------------------------------'
+					'Analyzed milksample measurements'
+					'Volume in ml: <<mward_donatesv/10>>ml'
+					'Fat in %: <<mward_donatesf/10>>.<<mward_donatesf mod 10>>%'
+					'Lactose in %: <<mward_donatess/10>>.<<mward_donatess mod 10>>%'
 					'<br>----------------------------------------'
+					if pcs_gpoli_totalmilkdonation_count > 0:
+						'Total breast milk donation statistics'
+						if pcs_gpoli_totalmilkdonation < 100:
+							'Donated milk volume in liter: <<pcs_gpoli_totalmilkdonation/1000>>.0<<pcs_gpoli_totalmilkdonation mod 1000>>l'
+						else
+							'Donated milk volume in liter: <<pcs_gpoli_totalmilkdonation/1000>>.<<pcs_gpoli_totalmilkdonation mod 1000>>l'
+						end
+						'Donation count: <<pcs_gpoli_totalmilkdonation_count>>'
+						'Average milk volume per donation in ml: <<pcs_gpoli_totalmilkdonation/pcs_gpoli_totalmilkdonation_count>>'
+						'Paid money: <<(((pcs_gpoli_totalmilkdonation*10)/3)*75)/100>><b>₽</b>'
+						'<br>----------------------------------------'
+					end
+					act 'Leave': gt 'gpoli', 'maternity_ward'
 				end
-				act 'Leave': gt 'gpoli', 'maternity_ward'
+				!!act 'Mammography (1:00)':
+				!!	
+				!!end
+				act 'Leave': gt 'gpoli', 'maternity_ward'			
 			end
-			!!act 'Mammography (1:00)':
-			!!	
-			!!end
-			act 'Leave': gt 'gpoli', 'maternity_ward'			
 		end
-	end
-	if lactate > 0 and lactatemv > lactatemm/8 and pcs_gpolimilkdonation <= 2:
-		'<br><br><center>One of the nurses looks at you suspiciously.<center>'
-		act 'Talk to the nurse (0:05)':
-			*clr
-			cla
-			minut += 5
-			'<center><img <<$set_imgh>> src="images/locations/pavlovsk/clinic/mward/old_nurse.jpg"></center>'
-			if preg >= 0 and pregtimes > 0 and pcs_gpolimilkdonation <= 0:
-				'You walk up to the nurse'
-				'You: Uhm, Hello...'
-				'Nurse: Which one is yours?'
-				'You: Mine? I don''t understand...'
-				'The nurse looks at your face then down at your breast and than back at your face.'
-				'Nurse: Well, you are obviously lactating, so you came here to breastfeed your offspring?'
-				'She concludes on you, giving you a rised eyebrow.'
-			elseif preg = 0 and pregtimes = 0 and pcs_gpolimilkdonation <= 0:
-				'You walk up to the nurse'
-				'You: Uhm, Hello...'
-				'The nurse looks you up and down, rising an eyebrow on you.'
-				'Nurse: You don''t look like you ever had a child, how come you are lactating?'
-				'You are surprised by the sudden and precise analysis of the nurse.'
-				'You: How... how do you know?'
-				'Nurse: I''ve been working here for ages. Trust me ... I can tell by the smell. Now why are you lactating?'
-			elseif pcs_gpolimilkdonation <= 0:
-				'You walk up to the nurse'
-				'You: Uhm, Hello...'
-				'Nurse: Which one is yours?'
-				'You: Mine? I don''t understand...'
-				'The nurse looks at your face then down at your breast and than back at your face.'
-				'Nurse: Well, you are obviously lactating, so you came here to breastfeed your offspring?'
-				'She concludes on you, giving you a rised eyebrow.'
-			else
-				'You walk up to the nurse'
-				'You: Hello...'
-				'Nurse: Ah, it is you again...'
-				'She looks you up and down'
-				if pcs_gpolimilkdonation = 1 and preg = 0 and pregtimes = 0:
-					'Nurse: So, why are you lactating again?'
-				elseif pcs_gpolimilkdonation = 2:
-					'Nurse: Did you change your mind and want donate your breast milk?'
+		if lactate > 0 and lactatemv > lactatemm/8 and pcs_gpolimilkdonation <= 2:
+			'<br><br><center>One of the nurses looks at you suspiciously.<center>'
+			act 'Talk to the nurse (0:05)':
+				*clr
+				cla
+				minut += 5
+				'<center><img <<$set_imgh>> src="images/locations/pavlovsk/clinic/mward/old_nurse.jpg"></center>'
+				if preg >= 0 and pregtimes > 0 and pcs_gpolimilkdonation <= 0:
+					'You walk up to the nurse'
+					'You: Uhm, Hello...'
+					'Nurse: Which one is yours?'
+					'You: Mine? I don''t understand...'
+					'The nurse looks at your face then down at your breast and than back at your face.'
+					'Nurse: Well, you are obviously lactating, so you came here to breastfeed your offspring?'
+					'She concludes on you, giving you a rised eyebrow.'
+				elseif preg = 0 and pregtimes = 0 and pcs_gpolimilkdonation <= 0:
+					'You walk up to the nurse'
+					'You: Uhm, Hello...'
+					'The nurse looks you up and down, rising an eyebrow on you.'
+					'Nurse: You don''t look like you ever had a child, how come you are lactating?'
+					'You are surprised by the sudden and precise analysis of the nurse.'
+					'You: How... how do you know?'
+					'Nurse: I''ve been working here for ages. Trust me ... I can tell by the smell. Now why are you lactating?'
+				elseif pcs_gpolimilkdonation <= 0:
+					'You walk up to the nurse'
+					'You: Uhm, Hello...'
+					'Nurse: Which one is yours?'
+					'You: Mine? I don''t understand...'
+					'The nurse looks at your face then down at your breast and than back at your face.'
+					'Nurse: Well, you are obviously lactating, so you came here to breastfeed your offspring?'
+					'She concludes on you, giving you a rised eyebrow.'
 				else
-					'Nurse: What do you want?'
+					'You walk up to the nurse'
+					'You: Hello...'
+					'Nurse: Ah, it is you again...'
+					'She looks you up and down'
+					if pcs_gpolimilkdonation = 1 and preg = 0 and pregtimes = 0:
+						'Nurse: So, why are you lactating again?'
+					elseif pcs_gpolimilkdonation = 2:
+						'Nurse: Did you change your mind and want donate your breast milk?'
+					else
+						'Nurse: What do you want?'
+					end
 				end
-			end
-			if pcs_gpolimilkdonation < 1: pcs_gpolimilkdonation = 1
-			if pcs_gpolimilkdonation < 2:
-				act 'explain yourself':
-					*clr
-					cla
-					'<center><img <<$set_imgh>> src="images/locations/pavlovsk/clinic/mward/old_nurse.jpg"></center>'
-					if preg = 0 and pregtimes = 0:
-						pcs_gpolimilkdonation = 2
-						if lactateinduced = 1:
-							'You: Erm ... I used a breast pump on myself...'
-							'You blush a bit from embarresment, while telling it to her.'
-						else
-							'You: I don''t really now... it just started some day.'
-							'You explain, blushing from embarresment.'
-						end
-						'The nurse nods at you professionally, then pulls some paper together, while she looks really thoughful. She then looks up at you and starts to speak.'
-						'Nurse: Have you ever thought of donating your breast milk?'
-						'You: Donating?'
-						'Nurse: Yes, donating. We would pump your breasts and collect the milk. We can use the milk for the mothers that are not able to breastfeed yet. We also offer a bit of money for your donated breast milk.'
-						'You look at her with wide eyes.'
-						'Nurse: So, what do you think?'
-						pcs_gpolimilkdonation = 2
-						act 'give it a try (0:15)':
-							*clr
-							cla
-							minut += 15
-							pcs_gpolimilkdonation = 3
-							'<center><img <<$set_imgh>> src="images/locations/pavlovsk/clinic/mward/pump_room.jpg"></center>'
-							'The nurse leads you into a room. It is quiet in here. There is a chair a table and a breastpump.'
-							'You sit down and the nurse invites you to take off your top.'
-							if pain['nipples'] >= 60 and pcs_knows_nipplecream <= 0:
-								'<center><img <<$set_imgh>> src="images/pc/body/nipples/sore_nipples.jpg"></center>'
-								'The nurse looks at your sore nipples and frowns a bit. She then grabs a small tin, and takes a bit of the yellowish cream from the tin.'
-								'You: What is that?'
-								'The nurse looks up at you.'
-								'Nurse: This is nipple balm. It helps with sore nipples during pumping. Don''t you now this?'
-								'You nod your head and watch as the nurse applies the cream to your nipples. The cream feels nice on your nipples and they hurt less.'
-								pain['nipples'] -= 20
-								'You: Where do I get this stuff?'
-								'Nurse: You can buy it in the pharmacy...'
-								pcs_knows_nipplecream = 1
-								'The nurse finishes rubbing you nipples with the nipple balm.'
-							elseif pain['nipples'] >= 60:
-								'<center><img <<$set_imgh>> src="images/pc/body/nipples/sore_nipples.jpg"></center>'
-								'The nurse looks at your sore nipples and frowns a bit. She then grabs a small tin, and takes a bit of the yellowish cream from the tin.'
-								'She applies the cream to your nipples. It feels nice on your nipples and they hurt less.'
-								pain['nipples'] -= 20
+				if pcs_gpolimilkdonation < 1: pcs_gpolimilkdonation = 1
+				if pcs_gpolimilkdonation < 2:
+					act 'explain yourself':
+						*clr
+						cla
+						'<center><img <<$set_imgh>> src="images/locations/pavlovsk/clinic/mward/old_nurse.jpg"></center>'
+						if preg = 0 and pregtimes = 0:
+							pcs_gpolimilkdonation = 2
+							if lactateinduced = 1:
+								'You: Erm ... I used a breast pump on myself...'
+								'You blush a bit from embarresment, while telling it to her.'
 							else
-								'The nurse grabs the nipple balm and applies it to your nipples. It feels nice on your nipples as she rubs it in.'
+								'You: I don''t really now... it just started some day.'
+								'You explain, blushing from embarresment.'
 							end
-							nipple_cream = 1
-							'Nurse: Okay, I am going to pump a bit milk off first, to check the quality and if you are able to donate enough. So this time you won''t get paid for your milk.'
-							'You nod and pull up your shirt. The nurse takes the pumps and puts them on your breasts. She flicks a switch and you can feel your nipples being sucked in with force. The pump slowly working your nipples.'
-							'<center><img <<$set_imgh>> src="images/locations/pavlovsk/clinic/mward/pumping.jpg"></center>'
-							milkedvolume = func('lact_lib','$get_breastmilk', 4, 15)
-							breastpumped += 4
-							pcs_orphanfeed = 0
-							if milkedvolume >= 1000:
-								'Your breasts are able to fill both small bottles easily. The nurse nods at you confidently.'
-								'Nurse: Yes, it seems you are able to make good amount of milk. You could breastfeed a baby with no issue.'
-							elseif milkedvolume >= 500 and milkedvolume < 1000:
-								'Your breasts are not able to fill both small bottles. The nurse rises an eyebrow on you.'
-								'Nurse: Okay... it seems you are able to make enough milk for a 50ml donation, but you could have trouble to breastfeed a baby properly.'
-							else
-								'You have trouble to fill the bottles to the first mark. The nurse shakes her head disappointed.'
-								'Nurse: Mhmm ... your breasts don''t seem to make enough milk. You can still come here and get yourself pumped, but we need at least 50ml for a valid donation.'
+							'The nurse nods at you professionally, then pulls some paper together, while she looks really thoughful. She then looks up at you and starts to speak.'
+							'Nurse: Have you ever thought of donating your breast milk?'
+							'You: Donating?'
+							'Nurse: Yes, donating. We would pump your breasts and collect the milk. We can use the milk for the mothers that are not able to breastfeed yet. We also offer a bit of money for your donated breast milk.'
+							'You look at her with wide eyes.'
+							'Nurse: So, what do you think?'
+							pcs_gpolimilkdonation = 2
+							act 'give it a try (0:15)':
+								*clr
+								cla
+								minut += 15
+								pcs_gpolimilkdonation = 3
+								'<center><img <<$set_imgh>> src="images/locations/pavlovsk/clinic/mward/pump_room.jpg"></center>'
+								'The nurse leads you into a room. It is quiet in here. There is a chair a table and a breastpump.'
+								'You sit down and the nurse invites you to take off your top.'
+								if pain['nipples'] >= 60 and pcs_knows_nipplecream <= 0:
+									'<center><img <<$set_imgh>> src="images/pc/body/nipples/sore_nipples.jpg"></center>'
+									'The nurse looks at your sore nipples and frowns a bit. She then grabs a small tin, and takes a bit of the yellowish cream from the tin.'
+									'You: What is that?'
+									'The nurse looks up at you.'
+									'Nurse: This is nipple balm. It helps with sore nipples during pumping. Don''t you now this?'
+									'You nod your head and watch as the nurse applies the cream to your nipples. The cream feels nice on your nipples and they hurt less.'
+									pain['nipples'] -= 20
+									'You: Where do I get this stuff?'
+									'Nurse: You can buy it in the pharmacy...'
+									pcs_knows_nipplecream = 1
+									'The nurse finishes rubbing you nipples with the nipple balm.'
+								elseif pain['nipples'] >= 60:
+									'<center><img <<$set_imgh>> src="images/pc/body/nipples/sore_nipples.jpg"></center>'
+									'The nurse looks at your sore nipples and frowns a bit. She then grabs a small tin, and takes a bit of the yellowish cream from the tin.'
+									'She applies the cream to your nipples. It feels nice on your nipples and they hurt less.'
+									pain['nipples'] -= 20
+								else
+									'The nurse grabs the nipple balm and applies it to your nipples. It feels nice on your nipples as she rubs it in.'
+								end
+								nipple_cream = 1
+								'Nurse: Okay, I am going to pump a bit milk off first, to check the quality and if you are able to donate enough. So this time you won''t get paid for your milk.'
+								'You nod and pull up your shirt. The nurse takes the pumps and puts them on your breasts. She flicks a switch and you can feel your nipples being sucked in with force. The pump slowly working your nipples.'
+								'<center><img <<$set_imgh>> src="images/locations/pavlovsk/clinic/mward/pumping.jpg"></center>'
+								milkedvolume = func('lact_lib','$get_breastmilk', 4, 15)
+								breastpumped += 4
+								pcs_orphanfeed = 0
+								if milkedvolume >= 1000:
+									'Your breasts are able to fill both small bottles easily. The nurse nods at you confidently.'
+									'Nurse: Yes, it seems you are able to make good amount of milk. You could breastfeed a baby with no issue.'
+								elseif milkedvolume >= 500 and milkedvolume < 1000:
+									'Your breasts are not able to fill both small bottles. The nurse rises an eyebrow on you.'
+									'Nurse: Okay... it seems you are able to make enough milk for a 50ml donation, but you could have trouble to breastfeed a baby properly.'
+								else
+									'You have trouble to fill the bottles to the first mark. The nurse shakes her head disappointed.'
+									'Nurse: Mhmm ... your breasts don''t seem to make enough milk. You can still come here and get yourself pumped, but we need at least 50ml for a valid donation.'
+								end
+								'The nurse detaches the pump and allows you to dress up again.'
+								if milkedvolume > 500:
+									mward_donatesv = 500
+								else
+									mward_donatesv = milkedvolume
+								end
+								if salo > 40:
+									mward_donatesf = 60
+								elseif salo > 20:
+									mward_donatesf = 45
+								elseif salo > 15:
+									mward_donatesf = 20
+								else
+									mward_donatesf = 10
+								end
+								if pcs_energy > 30:
+									mward_donatess = rand(69, 80)
+								elseif sick > 1:
+									mward_donatess = rand(0,45)
+								else
+									mward_donatess = rand(45, 69)
+								end
+								act 'Leave':gt 'gpoli'								
 							end
-							'The nurse detaches the pump and allows you to dress up again.'
-							if milkedvolume > 500:
-								mward_donatesv = 500
-							else
-								mward_donatesv = milkedvolume
+							act 'deny to donate':
+								*clr
+								cla
+								'You deny to donate your breast milk. The nurse looks sad at you and let you leave.'
+								act 'Leave':gt 'gpoli'							
 							end
-							if salo > 40:
-								mward_donatesf = 60
-							elseif salo > 20:
-								mward_donatesf = 45
-							elseif salo > 15:
-								mward_donatesf = 20
-							else
-								mward_donatesf = 10
+						else
+							pcs_gpolimilkdonation = 2
+							'You: Well ... I don''t have a kid here... I was just looking around for a bit'
+							'You look a bit awkward at the nurse as you try to explain yourself.'
+							'The nurse nods at you professionally, then pulls some paper together, while she looks really thoughful. She then looks up at you and starts to speak.'
+							'Nurse: Have you ever thought of donating your breast milk?'
+							'You: Donating?'
+							'Nurse: Yes, donating. We would pump your breasts and collect the milk. We can use the milk for the mothers that are not able to breastfeed yet. We also offer a bit of money for your donated breast milk.'
+							'You look at her with wide eyes.'
+							'Nurse: So, what do you think?'
+							pcs_gpolimilkdonation = 2
+							act 'give it a try (0:15)':
+								*clr
+								cla
+								minut += 15
+								pcs_gpolimilkdonation = 3
+								'<center><img <<$set_imgh>> src="images/locations/pavlovsk/clinic/mward/pump_room.jpg"></center>'
+								'The nurse leads you into a room. It is quiet in here. There is a chair a table and a breastpump.'
+								'You sit down and the nurse invites you to take off your top.'
+								if pain['nipples'] >= 60 and pcs_knows_nipplecream <= 0:
+									'<center><img <<$set_imgh>> src="images/pc/body/nipples/sore_nipples.jpg"></center>'
+									'The nurse looks at your sore nipples and frowns a bit. She then grabs a small tin, and takes a bit of the yellowish cream from the tin.'
+									'You: What is that?'
+									'The nurse looks up at you.'
+									'Nurse: This is nipple balm. It helps with sore nipples during pumping. Don''t you now this?'
+									'You nod your head and watch as the nurse applies the cream to your nipples. The cream feels nice on your nipples and they hurt less.'
+									pain['nipples'] -= 20
+									'You: Where do I get this stuff?'
+									'Nurse: You can buy it in the pharmacy...'
+									pcs_knows_nipplecream = 1
+									'The nurse finishes rubbing you nipples with the nipple balm.'
+								elseif pain['nipples'] >= 60:
+									'<center><img <<$set_imgh>> src="images/pc/body/nipples/sore_nipples.jpg"></center>'
+									'The nurse looks at your sore nipples and frowns a bit. She then grabs a small tin, and takes a bit of the yellowish cream from the tin.'
+									'She applies the cream to your nipples. It feels nice on your nipples and they hurt less.'
+									pain['nipples'] -= 20
+								else
+									'The nurse grabs the nipple balm and applies it to your nipples. It feels nice on your nipples as she rubs it in.'
+								end
+								nipple_cream = 1
+								'Nurse: Okay, I am going to pump a bit milk off first, to check the quality and if you are able to donate enough. So this time you won''t get paid for your milk.'
+								'You nod and pull up your shirt. The nurse takes the pumps and puts them on your breasts. She flicks a switch and you can feel your nipples being sucked in with force. The pump slowly working your nipples.'
+								'<center><img <<$set_imgh>> src="images/locations/pavlovsk/clinic/mward/pumping.jpg"></center>'
+								milkedvolume = func('lact_lib','$get_breastmilk', 4, 15)
+								breastpumped += 4
+								pcs_orphanfeed = 0
+								if milkedvolume >= 1000:
+									'Your breasts are able to fill both small bottles easily. The nurse nods at you confidently.'
+									'Nurse: Yes, it seems you are able to make good amount of milk. You could breastfeed a baby with no issue.'
+								elseif milkedvolume >= 500 and milkedvolume < 1000:
+									'Your breasts are not able to fill both small bottles. The nurse rises an eyebrow on you.'
+									'Nurse: Okay... it seems you are able to make enough milk for a 50ml donation, but you could have trouble to breastfeed a baby properly.'
+								else
+									'You have trouble to fill the bottles to the first mark. The nurse shakes her head disappointed.'
+									'Nurse: Mhmm ... your breasts don''t seem to make enough milk. You can still come here and get yourself pumped, but we need at least 50ml for a valid donation.'
+								end
+								'The nurse detaches the pump and allows you to dress up again.'
+								if milkedvolume > 500:
+									mward_donatesv = 500
+								else
+									mward_donatesv = milkedvolume
+								end
+								if salo > 40:
+									mward_donatesf = 60
+								elseif salo > 20:
+									mward_donatesf = 45
+								elseif salo > 15:
+									mward_donatesf = 20
+								else
+									mward_donatesf = 10
+								end
+								if pcs_energy > 30:
+									mward_donatess = rand(69, 80)
+								elseif sick > 1:
+									mward_donatess = rand(0,45)
+								else
+									mward_donatess = rand(45, 69)
+								end
+								act 'Leave':gt 'gpoli'								
 							end
-							if pcs_energy > 30:
-								mward_donatess = rand(69, 80)
-							elseif sick > 1:
-								mward_donatess = rand(0,45)
-							else
-								mward_donatess = rand(45, 69)
+							act 'deny to donate':
+								*clr
+								cla
+								'You deny to donate your breast milk. The nurse looks sad at you and let you leave.'
+								act 'Leave':gt 'gpoli'							
 							end
-							act 'Leave':gt 'gpoli'								
+						end						
+					end
+				elseif pcs_gpolimilkdonation = 2:
+					act 'Offer to donate your breast milk (0:15)':
+					*clr
+						cla
+						minut += 15
+						pcs_gpolimilkdonation = 3
+						'<center><img <<$set_imgh>> src="images/locations/pavlovsk/clinic/mward/pump_room.jpg"></center>'
+						'The nurse smiles and gets up, then she leads you into a room. It is quiet in here. There is a chair a table and a breastpump.'
+						'You sit down and the nurse invites you to take off your top.'
+						if pain['nipples'] >= 60 and pcs_knows_nipplecream <= 0:
+							'<center><img <<$set_imgh>> src="images/pc/body/nipples/sore_nipples.jpg"></center>'
+							'The nurse looks at your sore nipples and frowns a bit. She then grabs a small tin, and takes a bit of the yellowish cream from the tin.'
+							'You: What is that?'
+							'The nurse looks up at you.'
+							'Nurse: This is nipple balm. It helps with sore nipples during pumping. Don''t you now this?'
+							'You shake your head and watch as the nurse applies the cream to your nipples. The cream feels nice on your nipples and they hurt less.'
+							pain['nipples'] -= 20
+							'You: Where do I get this stuff?'
+							'Nurse: You can buy it in the pharmacy...'
+							pcs_knows_nipplecream = 1
+							'The nurse finishes rubbing you nipples with the nipple balm.'
+						elseif  pain['nipples'] >= 60:
+							'<center><img <<$set_imgh>> src="images/pc/body/nipples/sore_nipples.jpg"></center>'
+							'The nurse looks at your sore nipples and frowns a bit. She then grabs a small tin, and takes a bit of the yellowish cream from the tin.'
+							'She applies the cream to your nipples. It feels nice on your nipples and they hurt less.'
+							pain['nipples'] -= 20
+						elseif pcs_knows_nipplecream <= 0:
+							'The nurse grabs a small tin and takes a bit of yellowish cream from it.'
+							'You: What is that?'
+							'The nurse looks up at you.'
+							'Nurse: This is nipple balm. It helps during pumping and prevents nipple soreness. Don''t you now this?'
+							'You shake your head and watch as the nurse applies the cream to your nipples. The cream feels nice on your nipples.'
+							'You: Where do I get this stuff?'
+							'Nurse: You can buy it in the pharmacy...'
+							pcs_knows_nipplecream = 1
+							'The nurse finishes rubbing you nipples with the nipple balm.'
+						else
+							'The nurse grabs the nipple balm and applies it to your nipples. It feels nice on your nipples as she rubs it in.'
 						end
-						act 'deny to donate':
-							*clr
-							cla
-							'You deny to donate your breast milk. The nurse looks sad at you and let you leave.'
-							act 'Leave':gt 'gpoli'							
+						nipple_cream = 1
+						'Nurse: Okay, I am going to pump a bit milk off first, to check the quality and if you are able to donate enough.'
+						'You nod and pull up your shirt. The nurse takes the pumps and puts it on your breasts. She flicks a switch and you can feel your nipples being sucked in with force. The pump slowly working your nipples.'
+						'<center><img <<$set_imgh>> src="images/locations/pavlovsk/clinic/mward/pumping.jpg"></center>'
+						milkedvolume = func('lact_lib','$get_breastmilk', 4, 15)
+						breastpumped += 4
+						pcs_orphanfeed = 0
+						if milkedvolume >= 1000:
+							'Your breasts are able to fill both small bottles easily. The nurse nods at you confidently.'
+							'Nurse: Yes, it seems you are able to make good amount of milk. You could breastfeed a baby with no issue.'
+						elseif milkedvolume >= 50 and milkedvolume < 1000:
+							'Your breasts are not able to fill both small bottles. The nurse rises an eyebrow on you.'
+							'Nurse: Okay... it seems you are able to make enough milk for a donation, but you could have trouble to breastfeed a baby properly.'
+						else
+							'You have trouble to fill the bottles to the first mark. The nurse shakes her head disappointed.'
+							'Nurse: Mhmm ... your breasts don''t seem to make enough milk. You can still come and be pumped, but we need at least 50ml for a valid donation.'
 						end
-					end						
-				end
-			elseif pcs_gpolimilkdonation = 2:
-				act 'Offer to donate your breast milk (0:15)':
-				*clr
-					cla
-					minut += 15
-					pcs_gpolimilkdonation = 3
-					'<center><img <<$set_imgh>> src="images/locations/pavlovsk/clinic/mward/pump_room.jpg"></center>'
-					'The nurse smiles and gets up, then she leads you into a room. It is quiet in here. There is a chair a table and a breastpump.'
-					'You sit down and the nurse invites you to take off your top.'
-					if pain['nipples'] >= 60 and pcs_knows_nipplecream <= 0:
-						'<center><img <<$set_imgh>> src="images/pc/body/nipples/sore_nipples.jpg"></center>'
-						'The nurse looks at your sore nipples and frowns a bit. She then grabs a small tin, and takes a bit of the yellowish cream from the tin.'
-						'You: What is that?'
-						'The nurse looks up at you.'
-						'Nurse: This is nipple balm. It helps with sore nipples during pumping. Don''t you now this?'
-						'You shake your head and watch as the nurse applies the cream to your nipples. The cream feels nice on your nipples and they hurt less.'
-						pain['nipples'] -= 20
-						'You: Where do I get this stuff?'
-						'Nurse: You can buy it in the pharmacy...'
-						pcs_knows_nipplecream = 1
-						'The nurse finishes rubbing you nipples with the nipple balm.'
-					elseif  pain['nipples'] >= 60:
-						'<center><img <<$set_imgh>> src="images/pc/body/nipples/sore_nipples.jpg"></center>'
-						'The nurse looks at your sore nipples and frowns a bit. She then grabs a small tin, and takes a bit of the yellowish cream from the tin.'
-						'She applies the cream to your nipples. It feels nice on your nipples and they hurt less.'
-						pain['nipples'] -= 20
-					elseif pcs_knows_nipplecream <= 0:
-						'The nurse grabs a small tin and takes a bit of yellowish cream from it.'
-						'You: What is that?'
-						'The nurse looks up at you.'
-						'Nurse: This is nipple balm. It helps during pumping and prevents nipple soreness. Don''t you now this?'
-						'You shake your head and watch as the nurse applies the cream to your nipples. The cream feels nice on your nipples.'
-						'You: Where do I get this stuff?'
-						'Nurse: You can buy it in the pharmacy...'
-						pcs_knows_nipplecream = 1
-						'The nurse finishes rubbing you nipples with the nipple balm.'
-					else
-						'The nurse grabs the nipple balm and applies it to your nipples. It feels nice on your nipples as she rubs it in.'
-					end
-					nipple_cream = 1
-					'Nurse: Okay, I am going to pump a bit milk off first, to check the quality and if you are able to donate enough.'
-					'You nod and pull up your shirt. The nurse takes the pumps and puts it on your breasts. She flicks a switch and you can feel your nipples being sucked in with force. The pump slowly working your nipples.'
-					'<center><img <<$set_imgh>> src="images/locations/pavlovsk/clinic/mward/pumping.jpg"></center>'
-					milkedvolume = func('lact_lib','$get_breastmilk', 4, 15)
-					breastpumped += 4
-					pcs_orphanfeed = 0
-					if milkedvolume >= 1000:
-						'Your breasts are able to fill both small bottles easily. The nurse nods at you confidently.'
-						'Nurse: Yes, it seems you are able to make good amount of milk. You could breastfeed a baby with no issue.'
-					elseif milkedvolume >= 50 and milkedvolume < 1000:
-						'Your breasts are not able to fill both small bottles. The nurse rises an eyebrow on you.'
-						'Nurse: Okay... it seems you are able to make enough milk for a donation, but you could have trouble to breastfeed a baby properly.'
-					else
-						'You have trouble to fill the bottles to the first mark. The nurse shakes her head disappointed.'
-						'Nurse: Mhmm ... your breasts don''t seem to make enough milk. You can still come and be pumped, but we need at least 50ml for a valid donation.'
-					end
-					'The nurse detaches the pump and allows you to dress up again.'
-					if milkedvolume > 500:
-						mward_donatesv = 500
-					else
-						mward_donatesv = milkedvolume
-					end
-					if salo > 40:
-						mward_donatesf = 60
-					elseif salo > 20:
-						mward_donatesf = 45
-					elseif salo > 15:
-						mward_donatesf = 20
-					else
-						mward_donatesf = 10
+						'The nurse detaches the pump and allows you to dress up again.'
+						if milkedvolume > 500:
+							mward_donatesv = 500
+						else
+							mward_donatesv = milkedvolume
+						end
+						if salo > 40:
+							mward_donatesf = 60
+						elseif salo > 20:
+							mward_donatesf = 45
+						elseif salo > 15:
+							mward_donatesf = 20
+						else
+							mward_donatesf = 10
+						end
+						if pcs_energy > 30:
+							mward_donatess = rand(69, 80)
+						elseif sick > 1:
+							mward_donatess = rand(0,45)
+						else
+							mward_donatess = rand(45, 69)
+						end							
+						act 'Leave':gt 'gpoli'				
 					end
-					if pcs_energy > 30:
-						mward_donatess = rand(69, 80)
-					elseif sick > 1:
-						mward_donatess = rand(0,45)
-					else
-						mward_donatess = rand(45, 69)
-					end							
-					act 'Leave':gt 'gpoli'				
 				end
+				act 'Leave':gt 'gpoli'
 			end
-			act 'Leave':gt 'gpoli'
 		end
+		act 'leave':gt 'gpoli'
+	else
+		'The clinic is closed. It''s open every day between 06:00 and 21:00.'
+		act 'Leave':minut += 5 & gt 'pavCommercial'
 	end
-	act 'leave':gt 'gpoli'
+end
+
+if $ARGS[0] = 'reception':
+	*clr
+	cla
+	minut += 2
+	gs 'stat'
+	'You walk up to the reception and ask for help with your problem'
+	'The receptionist looks you up and down and tells you to visit the maternity ward. Someone over there would be able to help you.'
+	pcs_know_mward = 1
+	act 'Go to maternity ward (0:05)': gt 'gpoli', 'maternity_ward'
+	act 'Leave': gt 'gpoli'
 end
 
 if $ARGS[0] = 'maternity_ward_donation':	
 	*clr
 	cla
 	gs 'stat'
-	nipple_cream = 1
-	'<center><img <<$set_imgh>> src="images/locations/pavlovsk/clinic/mward/pumping.jpg"></center>'
-	'The nurse attaches the pumps and switches them on.'
-	if lactatemv >= 0:
-		'Your nipples are worked by the pumps, pumping your milk out, first draining at your collected milk resevoir. You feel the pressure in your breasts easing down.'
-	else
-		'Your nipples are worked by the pumps, pumping your milk out, you feel the pressure in your breasts easing down. Then your breasts tingle from the milk production as the pump demands more of your milk.'
-	end
-	act 'continue':
-		*clr
-		cla
-		milkedvolume += func('lact_lib','$get_breastmilk', 4, 15)
-		breastpumped += 4
-		'After 15 minutes, the nurse detaches the pumps from your breasts.'
-		if milkedvolume > 500:
-			temp_var = milkedvolume/500
-			!!'milkedvolume: <<milkedvolume>> - temp var test: <<temp_var>>'
-			pcs_gpoli_donationsessioncount += temp_var
-			pcs_gpoli_totalmilkdonation_count += 1
-			pcs_gpoli_totalmilkdonation += temp_var*50
-			if temp_var < 2:
-				'She looks satisfied at you as she puts away one bottle with 50ml of your breast milk.'
-			elseif temp_var => 4:
-				'She looks satisfied at you as she puts away the <<temp_var>> bottles containing <<temp_var*50>>ml of your breast milk.'
-				'Nurse: This is a good amount of milk.'
-			elseif temp_var => 8:
-				'She looks surprised at the at the amount of milk you made as she stores away the <<temp_var>> bottles that contain <<temp_var*50>>ml of your breast milk.'
-				'Nurse: Dear, that is much milk...'
-			else
-				'She looks satisfied at you as she puts away <<temp_var>> bottles with <<temp_var*50>>ml of your breast milk inside.'
-			end
+	if hour >= 6 and hour <= 20:
+		nipple_cream = 1
+		'<center><img <<$set_imgh>> src="images/locations/pavlovsk/clinic/mward/pumping.jpg"></center>'
+		'The nurse attaches the pumps and switches them on.'
+		if lactatemv >= 0:
+			'Your nipples are worked by the pumps, pumping your milk out, first draining at your collected milk resevoir. You feel the pressure in your breasts easing down.'
 		else
-			'She looks at you a bit disappointed.'
-			'Nurse: Mhmm... I am sorry, but this isn''t enough milk for a valid donation. You only made <<milkedvolume/10>>ml of breast milk.'
+			'Your nipples are worked by the pumps, pumping your milk out, you feel the pressure in your breasts easing down. Then your breasts tingle from the milk production as the pump demands more of your milk.'
 		end
-		if pcs_gpoli_donationsessioncount > 0:
-			mward_donatemoney = (((pcs_gpoli_donationsessioncount*500)/3)*75)/100
-		else
-			mward_donatemoney = 0
-		end
-		money += mward_donatemoney
-		minut += 15
-		nipple_cream = 0
-		if lactatemv > lactatemm/2:
-			'The nurse looks at your breasts'
-			'Nurse: Looks like you could go for a another pumping...shall we?'
-			act 'have your breasts pumped again': gt 'gpoli', 'maternity_ward_donation'
-			act 'enough for today':
-				*clr
-				cla
-				gs 'stat'
-				if pcs_gpoli_donationsessioncount > 0:
-					'You put on your top, and the nurse hands you <<mward_donatemoney>><b>₽</b> for your donated breast milk.'
+		act 'continue':
+			*clr
+			cla
+			milkedvolume = func('lact_lib','$get_breastmilk', 4, 15)
+			breastpumped += 4
+			'After 15 minutes, the nurse detaches the pumps from your breasts.'
+			if milkedvolume > 500:
+				'milked volume = <<milkedvolume/10>>ml'
+				temp_var = milkedvolume/500
+				pcs_gpoli_donationsessioncount += temp_var
+				pcs_gpoli_totalmilkdonation_count += 1
+				pcs_gpoli_totalmilkdonation += temp_var*50
+				if temp_var < 2:
+					'She looks satisfied at you as she puts away one bottle with 50ml of your breast milk.'
+				elseif temp_var => 4:
+					'She looks satisfied at you as she puts away the <<temp_var>> bottles containing <<temp_var*50>>ml of your breast milk.'
+					'Nurse: This is a good amount of milk.'
+				elseif temp_var => 8:
+					'She looks surprised at the at the amount of milk you made as she stores away the <<temp_var>> bottles that contain <<temp_var*50>>ml of your breast milk.'
+					'Nurse: Dear, that is much milk...'
 				else
-					'You put on your top'
-				end
-				act 'leave':
-					milkedvolume = 0
-					gt 'gpoli', 'maternity_ward'
+					'She looks satisfied at you as she puts away <<temp_var>> bottles with <<temp_var*50>>ml of your breast milk inside.'
 				end
+			else
+				'She looks at you a bit disappointed.'
+				'Nurse: Mhmm... I am sorry, but this isn''t enough milk for a valid donation. You only made <<milkedvolume/10>>ml of breast milk.'
 			end
-		else
-			act 'ask to donate more': gt 'gpoli', 'maternity_ward_donation'
-			act 'enough for today':
-				*clr
-				cla
-				gs 'stat'
-				if pcs_gpoli_donationsessioncount > 0:
-					'You put on your top, and the nurse hands you <<mward_donatemoney>><b>₽</b> for your donated breast milk.'
-				else
-					'You put on your top'
+			if pcs_gpoli_donationsessioncount > 0:
+				mward_donatemoney = (((pcs_gpoli_donationsessioncount*500)/3)*75)/100
+			else
+				mward_donatemoney = 0
+			end
+			money += mward_donatemoney
+			minut += 15
+			nipple_cream = 0
+			if lactatemv > lactatemm/2:
+				'The nurse looks at your breasts'
+				'Nurse: Looks like you could go for a another pumping...shall we?'
+				act 'have your breasts pumped again': gt 'gpoli', 'maternity_ward_donation'
+				act 'enough for today':
+					*clr
+					cla
+					gs 'stat'
+					if pcs_gpoli_donationsessioncount > 0:
+						'You put on your top, and the nurse hands you <<mward_donatemoney>><b>₽</b> for your donated breast milk.'
+					else
+						'You put on your top'
+					end
+					act 'leave':
+						milkedvolume = 0
+						gt 'gpoli', 'maternity_ward'
+					end
 				end
-				act 'leave':
-					milkedvolume = 0
-					gt 'gpoli', 'maternity_ward'
+			else
+				act 'ask to donate more': gt 'gpoli', 'maternity_ward_donation'
+				act 'enough for today':
+					*clr
+					cla
+					gs 'stat'
+					if pcs_gpoli_donationsessioncount > 0:
+						'You put on your top, and the nurse hands you <<mward_donatemoney>><b>₽</b> for your donated breast milk.'
+					else
+						'You put on your top'
+					end
+					act 'leave':
+						milkedvolume = 0
+						gt 'gpoli', 'maternity_ward'
+					end
 				end
 			end
 		end
+	elseif pcs_gpoli_donationsessioncount > 0:
+		'Sorry <<$pcs_firstname>>, we are closing now.'
+		'You put on your top, and the nurse hands you <<mward_donatemoney>><b>₽</b> for your donated breast milk.'
+		act 'Leave':minut += 5 & gt 'pavCommercial'
+	else
+		'The clinic is closed. It''s open every day between 06:00 and 21:00.'
+		act 'Leave':minut += 5 & gt 'pavCommercial'
 	end
 end
 --- gpoli ---------------------------------

File diff suppressed because it is too large
+ 292 - 292
locations/grigory.qsrc


+ 1 - 1
locations/gschool_boys_bathroom.qsrc

@@ -399,7 +399,7 @@ if $ARGS[0] = 'boy4':
 			'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/marcus/sex/school/marc2.jpg"></center>'
 			'You don''t get up, don''t take your mouth off Marcus'' cock, don''t even break your rhythm... but you do slip your panties off - Marcus seems like a nice enough guy and with a cock like this, you just can''t resist. You give his manhood one last trip down as deep into your throat as you can take it before you stand up and pull off your top and bra, exposing your pert breasts to him. He grabs you, pulling your close, and kisses you passionately on the lips. "Your tits are awesome", he compliments as he squeezes them and gives your nipples a lick or three, but the teasing and your blowjob hasn''t did anything but make him patient, so, even though he visibly appreciates your rack, he still turns you around and bends you over only a few seconds later. You expect him to go straight for the prize and are already mentally prepared for penetration... but he doesn''t: He gets down on his knees behind you and starts licking your pussy. The sensation is so unexpected and yet so overwhelmingly pleasant that you moan long and loud. "You Americans know how to eat pussy", you whisper to yourself, but the chuckle that vibrates through your clit tells you that Marcus heard you. You step one foot up on the toilet to help spread your legs as he eats you out and enjoy the simple yet amazing fact that he reciprocates what you did for him.'
 			*nl
-			'Once he has your pussy good and wet with your juices and his saliva, he stands back up and rubs the tip of his penis against your slit. Getting the head of his dick nice and lubed up, he finally slides his <<dick>>cm <<$dick_girth>> cock into your pussy, filling it so completely that all the air escapes you for a moment. You can''t recall ever having felt this full from a dick inside your vagina before, at least not without hurting. He starts pumping into you, slowly working his way deeper into your pussy with each stroke, and each time, you expect it to hurt, to reach your limit.  The incredible thing is, though, that it doesn''t hurt, not at all - he seems to fit your perfectly, even though his size is well above average. All you feel is intense, mind-dissolving pleasure that shoots up your spine like lightning and grows stronger with ever inch of depth he gains. You would have bet that he couldn''t fit his entire cock inside you and yet, eventually, you feel his scrotum touch your nether lips and feel so wonderfully, desperately full.'
+			'Once he has your pussy good and wet with your juices and his saliva, he stands back up and rubs the tip of his penis against your slit. Getting the head of his dick nice and lubed up, he finally slides his <<dick>>cm <<$dick_girth>> cock into your pussy, filling it so completely that all the air escapes you for a moment. You can''t recall ever having felt this full from a dick inside your vagina before, at least not without hurting. He starts pumping into you, slowly working his way deeper into your pussy with each stroke, and each time, you expect it to hurt, to reach your limit. The incredible thing is, though, that it doesn''t hurt, not at all - he seems to fit your perfectly, even though his size is well above average. All you feel is intense, mind-dissolving pleasure that shoots up your spine like lightning and grows stronger with ever inch of depth he gains. You would have bet that he couldn''t fit his entire cock inside you and yet, eventually, you feel his scrotum touch your nether lips and feel so wonderfully, desperately full.'
 			*nl
 			'He fucks you in deep strokes for a bit and it is everything you could want or hope for. Once you moans start getting so loud that they could easily be heard in the hall, he picks up the pace and starts hammering into your pussy, his balls slapping against your clit with each powerful stroke. You feel your need for release grow with every thrust and everything he does only seems to make it better. He leans forward, kisses your neck just below your ear, then unexpectedly stops pounding your pussy and pulls out. You immediately go down on him, as if your mouth was drawn to his black cock, and you give it a couple of strokes, enjoying the taste of yourself on him. That''s when you hear him whisper: "I want to fuck your ass, <<$pcs_nickname>>."'
 			gs 'arousal', 'vaginal', 5

Some files were not shown because too many files changed in this diff