Browse Source

Merge branch 'dev' into galaMistress

Christine 5 years ago
parent
commit
642c4b4b30

+ 7 - 4
locations/Cum_Manage.qsrc

@@ -68,7 +68,9 @@
 !!	cumarrkno =  0 : 'You know somebody got sperm in you, but you don''t know that person'
 !!	cumarrkno =  1 : 'You know who got sperm in you'
 !!
+!!	Setting for no STD checks
 !!
+!!	cumnostd = 1 : No risk of STD, resets at end of file so must be used for all related cum_management calls
 !!
 !!	Locations to be defined by 'spafinloc'
 !!
@@ -122,7 +124,7 @@ if $ARGS[0] = '':
 !!{Check for previous deposit, and if it was by the same guy and precum, it sets cumarrtemp back by one}
 !!	if $cumarrnam[cumarrtemp-1] = $boy and cumarrkno[cumarrtemp-1] = -1:cumarrtemp -= 1 & sexspecpot = cumarrppt[cumarrtemp]
 
-	if cumprecheck = 1:
+	if cumprecheck = 1 and cumnostd = 0:
 		cumarrkno[cumarrtemp] = -1
 		gs 'dinSex', 'std_trigger'
 	elseif sexunaware > 0:
@@ -350,7 +352,7 @@ if $ARGS[0] = '':
 	!! creampie vaginal statistics:
 			if spafinloc = 0:
 				!!STD checks
-				gs 'dinSex', 'std_trigger'
+				if cumnostd = 0: gs 'dinSex', 'std_trigger'
 				!! safe creampie (if cycle > 3 or on pill or succubus):
 				if cycle > 3 or pillcon2 > 1000 or succubusflag = 1:
 					if sexunaware = 1 or sexcontra = 6:
@@ -464,9 +466,9 @@ if $ARGS[0] = '':
 	end
 
 	!!STD from anal check
-	if spafinloc = 3: gs 'dinSex', 'std_trigger'
+	if spafinloc = 3 and cumnostd = 0: gs 'dinSex', 'std_trigger'
 	!!STD from oral check
-	if spafinloc = 12: gs 'dinSex', 'std_trigger_oral'
+	if spafinloc = 12 and cumnostd = 0: gs 'dinSex', 'std_trigger_oral'
 
 	cumprecheck = 0
 	spafinloc = 0
@@ -488,6 +490,7 @@ if $ARGS[0] = '':
 
 	end
 	killvar 'sexspecpot'
+	killvar 'cumnostd'
 end
 
 

+ 428 - 71
locations/IgorHunter.qsrc

@@ -1,26 +1,29 @@
 # Igorhunter
 
+$menu_loc = 'Igorhunter'
+$menu_arg = ''
+menu_off = 0
+gs 'boyStat', 'A173'
+$boybody = 'high'
+$boybod = 'athletic'
+$boyface = 'brunette'
+lover_picture_number = 31
+finance = 1
+vneshBoy = 8
+$boyClo = 'dressed in jeans and a sweater.'
+figurBoy = 1
+titBoy = 1
+hairBoy = 3
+harakBoy = 1
+izvrat = 0
+boyage = year - ((npc_dob['A173'] - (npc_dob['A173'] mod 10000)) / 10000)
+boy_birth_date = 9
+boy_birth_month = 6
+gs 'stat'
+
+
 if $ARGS[0] = '':
-    $menu_loc = 'Igorhunter'
-    $menu_arg = ''
-    menu_off = 0
-    gs 'boyStat', 'A173'
-    $boybody = 'high'
-    $boybod = 'athletic'
-    $boyface = 'brunette'
-    lover_picture_number = 31
-    finance = 1
-    vneshBoy = 8
-    $boyClo = 'dressed in jeans and a sweater.'
-    figurBoy = 1
-    titBoy = 1
-    hairBoy = 3
-    harakBoy = 1
-    izvrat = 0
-    boyage = year - ((npc_dob['A173'] - (npc_dob['A173'] mod 10000)) / 10000)
-    boy_birth_date = 9
-    boy_birth_month = 6
-    gs 'stat'
+    
     
     '<center><b><font color = maroon>Igor Anisimov</font></b></center>'
     '<center><img <<$set_imgh>> src="images/locations/gadukino/hunters/igorhanter.jpg"></center>'
@@ -31,8 +34,9 @@ if $ARGS[0] = '':
         minut += 60
         menu_off = 1
         
-        igor_base_opinion += 1
-    
+        igor_base_opinion += 2
+        
+        gs 'IgorHunter', 'check_opinion'
         act 'Continue': gt $loc
     end
 end
@@ -41,90 +45,443 @@ if $ARGS[0] = 'check_opinion':
     huntersIgorQw = igor_base_opinion + hunter_collective_opinion / 2 - hunter_sexual_comfort / 4
 
     if huntersIgorQw > hunter_collective_opinion: huntersIgorQw = hunter_collective_opinion - hunter_sexual_comfort / 4
+    
+    !TODO: Add igor_sexual_comfort: 'platonic', 'romantic', 'partial', 'full', 'extreme' or 0 to 4
+
+    gs 'stat'
 
 end
 
 if $ARGS[0] = 'schedule':
+    !TODO: Add energy/stamina and horniness stats for Igor
 end
 
 !Sex scenes
 if $ARGS[0] = 'creekside':
     if $ARGS[1] = '':
         cla
-        act 'See who is behind you':
-            '<center><img <<$set_imgh>> src="images/locations/gadukino/sex/igor_hunter/creekside/2.jpg"></center>'
+        act 'You suddenly feel an arm on your shoulder':
+            cla & *clr
+            '<center><img <<$set_imgh>> src="images/locations/gadukino/sex/hunter_igor/creekside/2.jpg"></center>'
+            'You turn back to see Igor standing over you. Watching the scenery you did not even notice him sneaking up to you.'
+            'After saying hi, you suddenly realize you are completely naked in front of him, giving him quite the view with the creek in the background'
             act 'Cover your chest with your arms':
-                '<center><img <<$set_imgh>> src="images/locations/gadukino/sex/igor_hunter/creekside/1.jpg"></center>'
+                cla & *clr
+                '<center><img <<$set_imgh>> src="images/locations/gadukino/sex/hunter_igor/creekside/1.jpg"></center>'
+                'You quickly cover your chest with your arms, looking away a bit ashamed. The clothing disparity is a bit embarassing, him clothed and you in your birthday suit.'
+                '"What is wrong?" asks Igor, landing a small kiss on your shoulder.'
+                
+                gs 'arousal', 'flashlite', 2
+                gs 'stat'
+
                 act 'You are not feeling it':
                     cla
+                    '"I...it''s just... I''m sorry, just not in the mood to seen naked" you stammer.'
+                    '"No need to apologize, I''ll leave you alone" says Igor with a smile. "Catch you back at the hut maybe"'
+                    
+                    gs 'arousal', 'flashlite', 2
+                    mood -=5
+                    gs 'stat'
+                    gs 'arousal', 'end'
+
+                    act 'Further': gt 'backwater'
                 end
                 act 'Kiss him back':
-                    '<center><img <<$set_imgh>> src="images/locations/gadukino/sex/igor_hunter/creekside/3.jpg"></center>'
-                    act 'Further': gt 'IgorHunter', 'creekside', 'bj'
+                    cla & *clr
+                    '<center><img <<$set_imgh>> src="images/locations/gadukino/sex/hunter_igor/creekside/3.jpg"></center>'
+                    'Igor''s tender kiss on your bare skin dissolves whatever bit of embarrassment you had. Being naked in front off him like this is actually turning you on.'
+                    'You respond by giving Igor a passionate kiss, his hand stroking the small of your back.'
+
+                    gs 'arousal', 'kiss', 4
+                    gs 'arousal', 'flashlite', 2
+                    gs 'stat'
+
+                    act 'You do not want to get carried away':
+                        cla & *clr
+                        '<center><img <<$set_imgh>> src="images/locations/gadukino/sex/hunter_igor/creekside/1.jpg"></center>'
+                        'You cover up your chest and tell Igor you want to call it there "I do not want to do anything further. At least, not like this..." you say.'
+                        'It would only take the right touch to change your mind, if Igor had noticed the growing dampness between your legs. Instead he smiles and gives you a kis on the shoulder before walking away.'
+                     
+                        gs 'arousal', 'flashlite', 2
+                        gs 'arousal', 'end'
+                        gs 'stat'
+
+                        act 'Further': gt 'backwater'
+                    end
+                    act 'Take him in your mouth': gt 'IgorHunter', 'creekside', 'bj'
                 end
             end
         
-            act 'Give him a hug':
-                '<center><img <<$set_imgh>> src="images/locations/gadukino/sex/igor_hunter/creekside/4.jpg"></center>'
+            act 'Greet him with a hug':
+                cla & *clr
+                '<center><img <<$set_imgh>> src="images/locations/gadukino/sex/hunter_igor/creekside/4.jpg"></center>'
+                'With a smile, you stand up on the rock you were sitting and go in for a hug as Igor kneels down, his lips locking on your nipple.'
+                'You hug his neck as he suckles and flicks his tongue around your nipple, eliciting some deep sighs from you.'
+                
+                gs 'arousal', 'foreplay', 4
+                gs 'arousal', 'breasts', 2
+                minut -= 3
+                gs 'stat'
+                
+                act 'Not now':
+                    cla & *clr
+                    '<center><img <<$set_imgh>> src="images/locations/gadukino/sex/hunter_igor/creekside/11.jpg"></center>'
+                    'You gently push Igor away, not feeling like doing anything further.'
+                    '"Maybe later", you say. Igor gives you another peck on the breasts before walking away.'
+                    
+                    gs 'arousal', 'breasts', 2
+                    gs 'stat'
+                    gs 'arousal', 'end'
+                   
+                    act 'Further': gt 'backwater'
+                end
+                
                 act 'Lay back and spread your legs':
-                '<center><img <<$set_imgh>> src="images/locations/gadukino/sex/igor_hunter/creekside/5.jpg"></center>'
-                act 'Further': gt 'IgorHunter', 'creekside', 'piv'
+                    cla & *clr
+                    '<center><img <<$set_imgh>> src="images/locations/gadukino/sex/hunter_igor/creekside/5.jpg"></center>'
+                    'Having your nipples teased like this is almost unbearable. You feel your pussy lips getting inflamed, the dampness between your legs growing.'
+                    'Laying back, you spread your legs wide and look almost beggingly at Igor, wanting his attention right between them. He does not lose time starting to lick your now burning hot, soaking wet fuckhole'
+
+                    gs 'arousal', 'cuni', 10
+                    minut -= 4
+                    gs 'stat'
+                   
+                    act 'You want him inside you': gt 'IgorHunter', 'creekside', 'piv'
                 end
             end
         end
     end
 
     if $ARGS[1] = 'bj':
-        '<center><img <<$set_imgh>> src="images/locations/gadukino/sex/igor_hunter/creekside/7.jpg"></center>'
-        '<center><img <<$set_imgh>> src="images/locations/gadukino/sex/igor_hunter/creekside/8.jpg"></center>'
-        '<center><img <<$set_imgh>> src="images/locations/gadukino/sex/igor_hunter/creekside/9.jpg"></center>'
-        '<center><img <<$set_imgh>> src="images/locations/gadukino/sex/igor_hunter/creekside/10.jpg"></center>'
-        '<center><img <<$set_imgh>> src="images/locations/gadukino/sex/igor_hunter/creekside/11.jpg"></center>'
-    
+        cla & *clr
+        '<center><img <<$set_imgh>> src="images/locations/gadukino/sex/hunter_igor/creekside/6.jpg"></center>'
+        gs 'dinSex', 'bj_random'
+        gs 'arousal', 'bj', 9
+        minut -= 3
+        gs 'stat'
+        
+        act 'Keep sucking him':
+            cla & *clr
+            '<center><img <<$set_imgh>> src="images/locations/gadukino/sex/hunter_igor/creekside/7.jpg"></center>'
+            'As you keep sucking and stroking Igor''s <<$penis_desc>>, you start to feel his dick throb stronger and stronger. Igor tells you he is going to cum'
+            gs 'arousal', 'bj', 6
+            minut -= 3
+            gs 'stat'
+            
+            act 'You want to swallow his cum':
+                cla & *clr
+                '<center><img <<$set_imgh>> src="images/locations/gadukino/sex/hunter_igor/creekside/8.jpg"></center>'
+                gs 'dinSex', 'bj_swallow_random'
+                'You lock eyes  with Igor and open your mouth wide, sticking out your tongue to show how thoroughly you have cleaned his dick.'
+                gs 'cum_call', 'mouth', 'A173'
+                gs 'arousal', 'bj', 6
+                minut -= 3
+                gs 'stat'
+                gs 'arousal','end'
+
+                act 'Further': gt 'backwater' 
+            end
+            act 'Make him pull out':
+                cla & *clr
+                '<center><img <<$set_imgh>> src="images/locations/gadukino/sex/hunter_igor/creekside/9.jpg"></center>'
+                'Igor pulls out of your mouth the last moment, jerking off furiously and covering your chest in his warm spunk.'
+                gs 'cum_call', 'breasts', 'A173', 1
+                gs 'arousal', 'bj', 4
+                gs 'arousal', 'breasts', 4
+                minut -= 5
+                gs 'stat'
+
+                act 'Relax and enjoy the view together':
+                    cla & *clr
+                    gs 'arousal', 'breasts', 4
+                    minut += 10
+                    gs 'arousal', 'end'
+                    gs 'stat'
+
+                    '<center><img <<$set_imgh>> src="images/locations/gadukino/sex/hunter_igor/creekside/10.jpg"></center>'
+                    'You go back to relaxing and enjoying the view, Igor''s warm seed still covering your tits.'
+                    'Igor cuddles you from behind as his hand idly plays with your boob, basking in the post-orgasmic bliss.'
+                    act 'Further': gt 'backwater' 
+                end    
+            end
+        end
     end
  
 
     if $ARGS[1] = 'piv':
-        '<center><img <<$set_imgh>> src="images/locations/gadukino/sex/igor_hunter/creekside/f_1.jpg"></center>'
-        '<center><img <<$set_imgh>> src="images/locations/gadukino/sex/igor_hunter/creekside/f_2.jpg"></center>'
-        '<center><img <<$set_imgh>> src="images/locations/gadukino/sex/igor_hunter/creekside/f_3.jpg"></center>'
-        '<center><img <<$set_imgh>> src="images/locations/gadukino/sex/igor_hunter/creekside/f_4.jpg"></center>'
-        '<center><img <<$set_imgh>> src="images/locations/gadukino/sex/igor_hunter/creekside/f_5.jpg"></center>'
-        '<center><img <<$set_imgh>> src="images/locations/gadukino/sex/igor_hunter/creekside/f_6.jpg"></center>'
-        '<center><img <<$set_imgh>> src="images/locations/gadukino/sex/igor_hunter/creekside/f_7.jpg"></center>'
+        cla & *clr
+        '<center><img <<$set_imgh>> src="images/locations/gadukino/sex/hunter_igor/creekside/f_2.jpg"></center>'
+        'You lean back further as Igor kisses all over your tit, your hand lightly playing with your other breast'
+
+        gs 'arousal', 'breasts', 5
+        gs 'arousal', 'foreplay', 5
+        minut -= 7
+        gs 'stat'
+
+        act 'Jump on Igor''s lap':
+            cla & *clr
+            '<center><img <<$set_imgh>> src="images/locations/gadukino/sex/hunter_igor/creekside/f_5.jpg"></center>'
+            'You sit on Igor''s lap, slowly grinding your ass on his crotch as his dick pokes against your folds, the tip almost dipping into the dampness inside'
+            
+            gs 'arousal', 'foreplay', 5
+            minut -= 2
+            gs 'stat'
+
+            act 'Take him inside you':
+                cla & *clr
+                '<center><img <<$set_imgh>> src="images/locations/gadukino/sex/hunter_igor/creekside/f_6.jpg"></center>'
+                gs 'dinSex', 'vaginal_sex', 12
+                gs 'stat'
+
+                act 'You start feeling his cock start to twitch inside you':
+                    cla & *clr
+                    '<center><img <<$set_imgh>> src="images/locations/gadukino/sex/hunter_igor/creekside/f_7.jpg"></center>'
+                    pose = 3
+                    gs 'dinSex', 'sexcum'
+                    gs 'arousal', 'vaginal', 4
+                    gs 'stat'
+                    gs 'arousal', 'end'
+
+                    act 'Further': gt 'backwater'
+                end
+            end
+        end
     end
 end
 
-if $ARGS[0] = 'yard':
-    if $ARGS[0] = '':
-        '<center><img <<$set_imgh>> src="images/locations/gadukino/sex/igor_hunter/yard/1.jpg"></center>'
-        '<center><img <<$set_imgh>> src="images/locations/gadukino/sex/igor_hunter/yard/2.jpg"></center>'
-        '<center><img <<$set_imgh>> src="images/locations/gadukino/sex/igor_hunter/yard/3.jpg"></center>'
-        '<center><img <<$set_imgh>> src="images/locations/gadukino/sex/igor_hunter/yard/4.jpg"></center>'
-        '<center><img <<$set_imgh>> src="images/locations/gadukino/sex/igor_hunter/yard/5.jpg"></center>'
-        '<center><img <<$set_imgh>> src="images/locations/gadukino/sex/igor_hunter/yard/6.jpg"></center>'
-        '<center><img <<$set_imgh>> src="images/locations/gadukino/sex/igor_hunter/yard/7.jpg"></center>'
-        '<center><img <<$set_imgh>> src="images/locations/gadukino/sex/igor_hunter/yard/8.jpg"></center>'
-        '<center><img <<$set_imgh>> src="images/locations/gadukino/sex/igor_hunter/yard/9.jpg"></center>'
-        '<center><img <<$set_imgh>> src="images/locations/gadukino/sex/igor_hunter/yard/10.jpg"></center>'
-        '<center><img <<$set_imgh>> src="images/locations/gadukino/sex/igor_hunter/yard/11.jpg"></center>'
-        '<center><img <<$set_imgh>> src="images/locations/gadukino/sex/igor_hunter/yard/12.jpg"></center>'
-        '<center><img <<$set_imgh>> src="images/locations/gadukino/sex/igor_hunter/yard/13.jpg"></center>'
-        '<center><img <<$set_imgh>> src="images/locations/gadukino/sex/igor_hunter/yard/14.jpg"></center>'
+if $ARGS[0] = 'cabin':
+    if $ARGS[1] = '' or $ARGS[1] = 'makeout':
+        if $ARGS[2] = '' or $ARGS[2] = 'light':
+            cla & *clr
+            '<center><img <<$set_imgh>> src="images/locations/gadukino/sex/hunter_igor/cabin/cabin_makeout.jpg"></center>'
+            'You are making out with Igor on the couch, your hands roaming over his body as he passionately kisses you'
+            'As you both get more and more heated, you notice Igor''s hands gliding further and further up your thighs'
+
+            gs 'arousal', 'kiss', 6
+            gs 'arousal', 'foreplay', 2
+            minut -= 4
+            gs 'stat'
+
+            act 'You do not want to get carried away':
+                cla
+                'You tell Igor you do not want to do anything more. He keeps kissing you for a couple more minutes but the heat quickly dies down before Igor gives you a final kiss on the cheek and walks away.'
+                gs 'arousal', 'kiss', 2
+                gs 'stat'
+                gs 'arousal', 'end'
+
+                act 'Further': gt 'swamphouse'
+            end
+            
+            act 'Keep making out': gt 'igorhunter', 'cabin', 'makeout', 'heavy'
+            act 'Blow him': gt 'igorhunter', 'cabin', 'bj'
+
+        end
+        if $ARGS[2] = 'heavy':
+            cla & *clr
+            '<center><img <<$set_imgh>> src="images/locations/gadukino/sex/hunter_igor/cabin/cabin_makeout_2.jpg"></center>'
+            'You relax on the couch, letting Igor''s hands glide further up. He moves towards your midriff, lifting your bottom up and exposing your wet pussy as he strokes deliciously close to your nether lips, making you moan lightly'
+            
+            gs 'arousal', 'foreplay', 4
+            gs 'stat'
+        
+            act 'Suck Igor''s cock': gt 'igorhunter', 'cabin', 'bj'
+            act 'You want him to lick your pussy': gt 'igorhunter', 'cabin', 'cuni'
+            act '"I need you inside me, Igor!" you whisper': gt 'igorhunter', 'cabin', 'vaginal'
+        end    
+    end
+
+    if $ARGS[1] = 'cuni':
+        cla & *clr
+        '<center><img <<$set_imgh>> src="images/locations/gadukino/sex/hunter_igor/cabin/cabin_cuni.jpg"></center>'
+        'You smile and moan as Igor laps up your juices, pulling out and playing with your tit as he flick around your clit, getting you very excited.'
+
+        gs 'arousal', 'foreplay', 4
+        gs 'arousal', 'breasts', 3
+        gs 'arousal', 'cuni', 10
+        minut -= 10
+        gs 'stat'
+
+        act 'Return the favor': gt 'igorhunter', 'cabin', 'bj'
+        act 'You need your pussy filled and fucked proper': gt 'igorhunter', 'cabin', 'vaginal'
+    end
+
+    if $ARGS[1] = 'bj':  
+        cla & *clr
+        '<center><img <<$set_imgh>> src="images/locations/gadukino/sex/hunter_igor/cabin/bj_1.jpg"></center>'
+        'You go on your hands and knees in front of Igor, your exposed ass towards the door for anyone coming in to see your fuckholes.'
+        gs 'dinsex', 'bj_random'
+
+        gs 'arousal', 'bj', 7
+        gs 'arousal', 'flash', 5, 'exhibitionism'
+        minut -= 6
+        gs 'stat'
+
+        act 'Keep sucking him':
+            cla & *clr
+            '<center><img <<$set_imgh>> src="images/locations/gadukino/sex/hunter_igor/cabin/bj_2.jpg"></center>'
+            'You keep sucking Igor on your knees, your hand pulling out and squeezing your tits. Igor lightly grabs your head and begins to lightly skulllfuck you. After a moment you notice his dick spasming right in your mouth, shooting his jizm right down your throat.'
+            gs 'dinsex', 'bj_swallow_random'
+
+            gs 'arousal', 'bj', 7
+            gs 'arousal', 'breasts', 5
+            minut -= 8
+            gs 'stat'
+            gs 'arousal', 'end'
+
+            act 'Further': gt 'swamphouse'
+        end    
+    end
+
+    if $ARGS[1] = 'vaginal':
+        cla & *clr
+        '<center><img <<$set_imgh>> src="images/locations/gadukino/sex/hunter_igor/cabin/f_1.jpg"></center>'
+        gs 'dinsex', 'vaginal_sex', 15
+
+        act 'Take off your top':
+            cla & *clr
+            '<center><img <<$set_imgh>> src="images/locations/gadukino/sex/hunter_igor/cabin/f_2.jpg"></center>'
+            'You pretty much rip off your top and start kneading your tits as Igor keeps drilling your cunt, making you moan and scream like a whore.'
+
+            gs 'arousal', 'vaginal', 8
+            gs 'arousal', breasts, 4
+            gs 'stat'
+
+            act 'Igor suddenly pulls out':
+                cla & *clr
+                '<center><img <<$set_imgh>> src="images/locations/gadukino/sex/hunter_igor/cabin/f_3.jpg"></center>'
+                'Jerking off his <<$penis_desc>>, he covers your stomach and tits with his warm spunk.'
+
+                gs 'cum_call', 'breasts', 'A173', 1
+                gs 'cum_call', 'stomach', 'A173', 1
+                minut += 2
+                gs 'stat'
+                gs 'arousal', 'end'
+
+                act 'Cuddle him':
+                    cla & *clr
+                    '<center><img <<$set_imgh>> src="images/locations/gadukino/sex/hunter_igor/cabin/f_4.jpg"></center>'
+                    'You cuddle with Igor still covered in his spunk, enjoying this intimate moment'
+                    'After a few minutes, Igor pulls you closer and gives you a kiss on the cheek before getting dressed and walking out of the hut.'
+
+                    minut += 8
+                    mood += 10
+
+                    act 'Further': gt 'swamphouse'
+                end
+            end
+        end
     end
 end
 
-if $ARGS[0] = 'cabin':
-    if $ARGS[0] = '':
-        '<center><img <<$set_imgh>> src="images/locations/gadukino/sex/igor_hunter/cabin/1.jpg"></center>'
-        '<center><img <<$set_imgh>> src="images/locations/gadukino/sex/igor_hunter/cabin/2.jpg"></center>'
-        '<center><img <<$set_imgh>> src="images/locations/gadukino/sex/igor_hunter/cabin/3.jpg"></center>'
-        '<center><img <<$set_imgh>> src="images/locations/gadukino/sex/igor_hunter/cabin/4.jpg"></center>'
-        '<center><img <<$set_imgh>> src="images/locations/gadukino/sex/igor_hunter/cabin/5.jpg"></center>'
-        '<center><img <<$set_imgh>> src="images/locations/gadukino/sex/igor_hunter/cabin/6.jpg"></center>'
-        '<center><img <<$set_imgh>> src="images/locations/gadukino/sex/igor_hunter/cabin/7.jpg"></center>'
-        '<center><img <<$set_imgh>> src="images/locations/gadukino/sex/igor_hunter/cabin/8.jpg"></center>'
-        '<center><img <<$set_imgh>> src="images/locations/gadukino/sex/igor_hunter/cabin/9.jpg"></center>'
+if $ARGS[0] = 'woods':
+    if $ARGS[1] = '':
+        cla & *clr
+        '<center><img <<$set_imgh>> src="images/locations/gadukino/sex/hunter_igor/woods/2.jpg"></center>'
+        'You passionately kiss Igor, his tongue exploring your throat. As you are making out with Igor, you notice him undoing your buttons'
+        
+        gs 'arousal', 'kiss', 3
+        gs 'stat'
+
+        act 'Pull back': 
+            cla & *clr
+            '<center><img <<$set_imgh>> src="images/locations/gadukino/sex/hunter_igor/misc/hangout_woods.jpg"></center>'
+            'You do not really want to do it here. Noticing you not really reciprocating, Igor pulls back and goes back to simply relaxing and chatting with you.'
+
+            gs 'arousal', 'end'
+
+            act 'Further': gt 'swamp_woods'
+        end
+
+        act 'Keep making out with him':
+            cla & *clr
+            '<center><img <<$set_imgh>> src="images/locations/gadukino/sex/hunter_igor/woods/3.jpg"></center>'
+            'You let him undo your top, continuing to make out with him until he exposes your tits to the warm, breezy air.'
+
+            gs 'arousal', 'foreplay', 2
+            gs 'stat'
+
+            act '...':
+                cla & *clr
+                '<center><img <<$set_imgh>> src="images/locations/gadukino/sex/hunter_igor/woods/4.jpg"></center>'
+                'He pulls your outfit down and kisses down your chest before his lips find your nipple. You gasp when he starts to suckle and nibble, feeling a bit of wetness between your legs'
+
+                gs 'arousal', 'foreplay', 4
+                gs 'arousal', 'breasts', 4
+                minut -= 5
+                gs 'stat'
+
+                act 'Stand up so that he can strip you off':
+                    cla & *clr
+                    '<center><img <<$set_imgh>> src="images/locations/gadukino/sex/hunter_igor/woods/5_2.jpg"></center>'
+                    'As soon as you stand up he starts pulling your outfit down your legs, exposing your already aching pussy.'
+
+                    act 'Blow him': gt 'IgorHunter', 'woods', 'cuni'
+                end
+            end
+        end
+    end
+
+    if $ARGS[1] = 'cuni':
+        cla & *clr
+        '<center><img <<$set_imgh>> src="images/locations/gadukino/sex/hunter_igor/woods/6.jpg"></center>'
+        'Just as you start kneeling down, Igor picks you up and puts you up on the stump in one swift move'
+        'You let out a shriek part out of surprise and part how being manhandled like this got you aroused, spreading your legs wide for Igor'
+        'He does not lose time before starting to suck on your clit, pumping his finger in and out while you moan deeply.'
+
+        gs 'arousal', 'foreplay', 8, 'sub'
+        gs 'arousal', 'cuni', 12
+        gs 'arousal', 'vaginal_finger', 8
+        minut -= 20
+        gs 'stat'
+
+        act 'Get down and strip Igor': gt 'IgorHunter', 'woods', 'bj'
+    end
+
+    if $ARGS[1] = 'bj':
+        cla & *clr
+        '<center><img <<$set_imgh>> src="images/locations/gadukino/sex/hunter_igor/woods/8.jpg"></center>'
+        'Satisfied enough with Igor''s ''surprise'', you get down and undo his pants as he takes off his t-shirt.'
+        'You then pull down his boxers, exposing his diamond hard cock'
+
+        minut += 2
+        gs 'stat'
+
+        act 'Suck his dick':
+            cla & *clr
+            '<center><img <<$set_imgh>> src="images/locations/gadukino/sex/hunter_igor/woods/9.jpg"></center>'
+            gs 'dinsex', 'bj_random'
+            'After a few moments, you start feeling his dick rhytmically pulsing inside your mouth'
+
+            gs 'arousal', 'bj', 8
+            gs 'stat'
+
+            act 'Keep sucking and milk his dick':
+                cla & *clr
+                '<center><img <<$set_imgh>> src="images/locations/gadukino/sex/hunter_igor/woods/swallow.jpg"></center>'
+                'You keep on sucking and stroking Igor''s dick as his dick throbs harder and harder'
+                gs 'dinsex', 'bj_swallow_random'
+
+                gs 'arousal', 'bj', 4
+                gs 'cum_call', 'mouth', 'A173', 1
+                gs 'stat'
+                gs 'arousal', 'end'
+
+                act 'Further': gt 'swamp_woods'
+            end
+
+            act 'You want him to cum on your tits':
+                cla & *clr
+                '<center><img <<$set_imgh>> src="images/locations/gadukino/sex/hunter_igor/woods/pnecklace.jpg"></center>'
+                'You take him out and jerk him off. It takes him only a few seconds to climax, covering your chest with his spunk'
+
+                gs 'arousal', 'hj', 4
+                gs 'cum_call', 'breasts', 'A173', 1
+                gs 'stat'
+                gs 'arousal', 'end'
+
+                act 'Further': gt 'swamp_woods'
+            end
+        end
     end
 end
 

+ 5 - 2
locations/arousal.qsrc

@@ -621,6 +621,9 @@ if $ARGS[0] ! 'end' and $ARGS[0] ! 'checks' and $ARGS[0] ! 'count' and $ARGS[0]
 			gs 'orgasm', $ARGS[0]
 		end
 	end
+
+	if $orgasm_or ! 'no' and orgasm_buildup >= 300 and pcs_horny >= 60: gs 'orgasm', $ARGS[0]
+
 	killvar 'temp_dick'
 	killvar 'temp_unaware'
 	killvar '$orgasm_txt'
@@ -634,9 +637,9 @@ end
 !!-----------------------------------------------
 
 if $ARGS[0] = 'end':
-	if orgasm_buildup > 250: orgasm_buildup = 250
+	if orgasm_buildup > 350: orgasm_buildup = 350
+	if orgasm_buildup > 300: orgasm_buildup -= 10
 	if orgasm_buildup > 200: orgasm_buildup -= 10
-	if orgasm_buildup > 150: orgasm_buildup -= 10
 	if orgasm_buildup > 100: orgasm_buildup -= 10
 	if stim['lesbian'] = 1: lesbian += 1
 	if stim['hidden_lesbian'] = 1: hidden_lesbian += 1

+ 4 - 4
locations/bedrPar.qsrc

@@ -44,14 +44,14 @@ if sisterHere = 2 and popugai2 = 1 and sispopconf = 0:
 	*clr & cla
 	menu_off = 1
 	'<center><img <<$set_imgh>> src="images/characters/pavlovsk/resident/anya/sister2.jpg"></center>'
-	'"What is that ?" your sister asks while pointing at <<$namepopu2>> in his cage'
+	'"What is that?" your sister asks while pointing at <<$namepopu2>> in his cage'
 	'"I went to the shopping center and bought this bird. Isn''t he the cutest ?"'
 	if npc_rel['A33'] > 50:
-		'"Not really, but I can see this is something you really want. So as long as he doesn''t make too much noise I don''t really care"'
+		'"Not really, but I can see this is something you really want. As long as he doesn''t make too much noise, I don''t really care"'
 		sispopconf = 1
 	end
 	if npc_rel['A33']  <= 50:
-		'"No he is not cute, and I suggest you take it out of here, I am not sharing my room with a bird. "'
+		'"No he isn''t cute, and I suggest you take it out of here, I am not sharing my room with a bird."'
 		'You feel kind of sad but you understand your sister. You should have asked her before buying it.'
 		'You go to the window, open it and release the bird'
 		popugai2 = 0
@@ -147,7 +147,7 @@ else
 
 			pcs_mood -= 10
 			'<center><img <<$set_imgh>> src="images/pc/activities/study.jpg"></center>'
-			'You sit down at the desk and do your coursework, you''ve finished <<kursovik>> percent of it.'
+			'You sit down at the desk and do your coursework. You''ve finished <<kursovik>> percent of it.'
 
 			act 'Leave your desk':gt $curloc
 		end

+ 1 - 1
locations/brother.qsrc

@@ -974,7 +974,7 @@ if $ARGS[0] = 'brother_voyeur_ev2':
 	picrand = rand(1,7)
 	if npc_rel['A34'] <50:npc_rel['A34'] += rand(1,2)
 	'<center><img <<$set_imgh>> src="images/characters/pavlovsk/resident/kolka/event/shower/c (<<picrand>>).jpg"></center>'
-	'You turn to face the door, giving Kolka a better view of your body and then erotically squeeze your <<$titsize>> tits. Your fingers graze over your <<pcdesc_nipples>> nipples and you can''t help but give them a slight pinch. You reach for the detachable shower head and begin spraying water over your chest, all the way gazing at your awestruck sibling. You close your eyes and in the heat of the moment, your heart flutters and you let out a light moan.'
+	'You turn to face the door, giving Kolka a better view of your body and then erotically squeeze your <<$titsize>> tits. Your fingers graze over your <<$pcdesc_nipples>> nipples and you can''t help but give them a slight pinch. You reach for the detachable shower head and begin spraying water over your chest, all the way gazing at your awestruck sibling. You close your eyes and in the heat of the moment, your heart flutters and you let out a light moan.'
 
 	gs 'arousal','breasts', 3, 'incest'
 	gs 'stat'

+ 2 - 2
locations/brother_lessons.qsrc

@@ -38,9 +38,9 @@ if $ARGS[0] = 'homework':
 						'After you finish explaining the new material, Kolka goes red with excitement and asks:'
 						'"<<$pcs_nickname>>, Can you help me out here now?"'
 						if pcs_horny > 80:
-							act 'How could i say no if you keep asking so nice?': gs 'brother', 'brotherSexStart'
+							act 'How could I say no if you keep asking so nice?': gs 'brother', 'brotherSexStart'
 						else
-							act 'I think i could teach you a thing or two': gs 'brother', 'brotherSexStart'
+							act 'I think I could teach you a thing or two': gs 'brother', 'brotherSexStart'
 							act 'Maybe next time...': gt 'sitrPar'
 						end
 					end

+ 1 - 1
locations/brother_voyeur.qsrc

@@ -760,7 +760,7 @@ if $ARGS[0] = 'brother_shower_together':
 					end
 				end
 			end
-			act'"Give him "shower head"':
+			act'Give him shower head':
 				cla
 				npc_rel['A34'] += 5
 				if brotherbj < 1 and brotherfuck < 1:

+ 3 - 3
locations/dinSex.qsrc

@@ -184,8 +184,8 @@ if $ARGS[0] = 'vaginal_sex':
 		$temp_mens = iif(cycle <= 0,' and a bit of your period leaks from your vagina','')
 		pcs_horny += arousal_modifier * 2
 		pcs_mood += arousal_modifier * 2
-		'<<$boydesc>> pushes <<$xyr>> <<$penis_desc>> into your unexplored pussy gently. It is bit painful, but as your lust builds up you do not want to wait anymore.'
-		'With the next push from <<$boydesc>>, you push your ass towards <<$xyr>>''s cock. You feel your hymen break and his cock slide into deep inside you, <<$xyr>>''s head rubbing against your no longer untouched walls as you both moan very loudly.'
+		'<<$boydesc>> pushes <<$xyr>> <<$penis_desc>> into your unexplored pussy gently. It is a bit painful, but as your lust builds up you do not want to wait anymore.'
+		'With the next push from <<$boydesc>>, you push your ass towards <<$xyr>> cock. You feel your hymen break and his cock slide into deep inside you, <<$xyr>> head rubbing against your no longer untouched walls as you both moan very loudly.'
 		gs 'arousal','vaginal',ARGS[1],$ARGS[2],$ARGS[3],$ARGS[4],$ARGS[5],$ARGS[6],$ARGS[7],$ARGS[8]
 	end
 	killvar '$temp_mens'
@@ -386,7 +386,7 @@ if $ARGS[0] = 'analsex':
 		'You cry and bite your lip when the <<$penis_desc>> begins to thrust in and out of your ass. Your anus feels like it is going to tear apart and all you want is for this torture to be over quickly.'
 	elseif (agrdif + altdif) >= 20 and (agrdif + altdif) < 30:
 		pcs_horny += 10
-		'You savor <<$xyr>>''s cock moving inside you, lightly moaning in rhythm.'
+		'You savor <<$xyr>> cock moving inside you, lightly moaning in rhythm.'
 	end
 	'After some time <<$boydesc>> groans and you feel <<$xyr>> cock pulsing inside you and a pleasant warmth filling your ass.'
 	gs 'cum_call','anus',$boy,1

+ 1 - 1
locations/din_van.qsrc

@@ -240,7 +240,7 @@ $bath = {
 $brit = {
 	if shave_menu = 1  and stanok > 1:
 		if pcs_leghair > 3 or (pubestyle = 1 and pcs_pubes > 3) or (pubestyle >= 2 and pubestyle <=7 and pcs_pubes > 11) or (pubestyle = 8 and pcs_pubes > 11) or (pubestyle = 9 and pcs_pubes > 20) or (pubestyle = 10 and pcs_pubes > 26):
-			if (pubestyle = 1 and pcs_pubes > 3) or ((pubestyle >= 2 and pubestyle <= 7) and pcs_pubes >= 15) or (pubestyle = 8 and pcs_pubes >= 20) or (pubestyle = 9 and pcs_pubes >= 25) or (pubestyle = 10 and pcs_pubes >= 30):
+			if pcs_leghair > 3 or (pubestyle = 1 and pcs_pubes > 3) or ((pubestyle >= 2 and pubestyle <= 7) and pcs_pubes >= 15) or (pubestyle = 8 and pcs_pubes >= 20) or (pubestyle = 9 and pcs_pubes >= 25) or (pubestyle = 10 and pcs_pubes >= 30):
 				act 'Shave yourself (0:15)':
 					menu_off = 1
 					*clr & cla

+ 62 - 74
locations/downlibrary.qsrc

@@ -8,7 +8,39 @@ menu_off = 0
 $location_type = 'public_indoors'
 frost = 0
 gs 'stat'
-	gs 'themes', 'indoors'
+gs 'themes', 'indoors'
+
+! Stuff to do on Studying a Book
+!	$ARGS[0] = Skill to Check
+$downlibrary['BookStudy'] = {
+	$downlibrary['Skill'] = $ARGS[0]
+	*clr & cla
+	menu_off = 1
+	if blizoruk = 100 or glassqw = 1:
+		glassqw = 1
+		msg'	The text blurs across the page, it seems you have poor eyesight. Maybe you should visit an ophthalmologists.'&gt $curloc
+	end
+	if pcs_nerd > 0:
+		lastread = totminut
+		lastreadday = daystart
+		pcs_nerd += 1
+	end
+	minut += 60
+	if $downlibrary['Skill'] ! '':
+		dynamic "
+			if pcs_<<$downlibrary['Skill']>> >= 50:
+				<<$downlibrary['Skill']>>_exp += RAND(0,1)
+			elseif pcs_<<$downlibrary['Skill']>> >= 25:
+				<<$downlibrary['Skill']>>_exp += RAND(1,2)
+			else
+				<<$downlibrary['Skill']>>_exp += RAND(1,3)
+			end"
+	end
+
+	blizoruk += 1
+	gs'stat'
+}
+
 '<center><b><font color="maroon">National Library of Russia</font></b></center>'
 '<center><img <<$set_imgh>> src="images/locations/city/citycenter/library/downlibint.jpg"></center>'
 'A huge library with thousands upon thousands of books. You could spend years here and you probably still wouldn''t be able to read it all.'
@@ -17,18 +49,6 @@ act 'Leave the library': minut += 5 & gt 'down'
 
 if hour >= 8 and hour <= 18:
 	act 'Read a science book (1:00)':
-		*clr & cla
-		menu_off = 1
-		if blizoruk = 100 or glassqw = 1:
-		glassqw = 1
-		msg'The text blurs across the page, it looks like you have got poor eyesight. It would be suitable to visit an ophthalmologists.'&gt $curloc
-		end
-		if pcs_nerd > 0:
-			lastread = totminut
-			lastreadday = daystart
-			pcs_nerd += 1
-		end
-		minut += 60
 		if pcs_intel >= 50:
 			intel_exp += RAND(0,1) + (mentats_dose - rand(0,mentats_dose))
 		elseif pcs_intel >= 25:
@@ -37,8 +57,7 @@ if hour >= 8 and hour <= 18:
 			intel_exp += RAND(1,3) + (mentats_dose - rand(0,mentats_dose))
 		end
 
-		blizoruk += 1
-		gs'stat'
+		dynamic $downlibrary['BookStudy'], ''
 
 		'	You read the book for an hour trying to make sense of all clever propositions and understand the subject of the description.'
 
@@ -46,22 +65,10 @@ if hour >= 8 and hour <= 18:
 	end
 
 	act 'Read an entertaining book (1:00)':
-		*clr & cla
-		menu_off = 1
-		if blizoruk = 100 or glassqw = 1:
-		glassqw = 1
-		msg'The text blurs across the page, it looks like you have got poor eyesight. It would be suitable to visit an ophthalmologists.'&gt $curloc
-		end
-		if pcs_nerd > 0:
-			lastread = totminut
-			lastreadday = daystart
-			pcs_nerd += 1
-		end
-		minut += 60
 		pcs_mood = 100
 		pcs_willpwr += 100
-		blizoruk += 1
-		gs'stat'
+
+		dynamic $downlibrary['BookStudy'], ''
 
 		'	You read an adventure fiction for an hour.'
 
@@ -69,28 +76,7 @@ if hour >= 8 and hour <= 18:
 	end
 
 	act 'Read the collected works of Leo Tolstoy (1:00)':
-		*clr & cla
-		menu_off = 1
-		if blizoruk = 100 or glassqw = 1:
-		glassqw = 1
-		msg'	The text blurs across the page, it looks like you have got poor eyesight. It would be suitable to visit an ophthalmologists.'&gt $curloc
-		end
-		if pcs_nerd > 0:
-			lastread = totminut
-			lastreadday = daystart
-			pcs_nerd += 1
-		end
-		minut += 60
-		if pcs_sprt >= 50:
-			sprt_exp += RAND(0,1)
-		elseif pcs_sprt >= 25:
-			sprt_exp += RAND(1,2)
-		else
-			sprt_exp += RAND(1,3)
-		end
-
-		blizoruk += 1
-		gs'stat'
+			dynamic $downlibrary['BookStudy'], 'sprt'
 
 		'	You read the book for an hour. Tolstoy is certainly a classic writer, no one denies this, but he wrote exceptionally wordily.'
 
@@ -98,37 +84,39 @@ if hour >= 8 and hour <= 18:
 	end
 	if MagicLibrary = 1:
 		act 'Read in magic books':
-			*clr & cla
-			menu_off = 1
-			if blizoruk = 100 or glassqw = 1:
-			glassqw = 1
-			msg'	The text blurs across the page, it looks like you have got poor eyesight. It would be suitable to visit an ophthalmologists.'&gt $curloc
-			end
-			if pcs_nerd > 0:
-				lastread = totminut
-				lastreadday = daystart
-				pcs_nerd += 1
-			end
-			minut += 60
-			if pcs_splcstng >= 50:
-				splcstng_exp += RAND(0,1)
-			elseif pcs_splcstng >= 25:
-				splcstng_exp += RAND(1,2)
-			else
-				splcstng_exp += RAND(1,3)
-			end
-			
-			blizoruk += 1
-			gs'stat'
+			dynamic $downlibrary['BookStudy'], 'splcstng'
 
 			'	You pick out one of the magic books you can actually read and sit down with it.'
 			'Not only is the subject matter complex and mostly a mystery to you, but the descriptions and explanations are unnecessarily wordy, as if the writer had something to prove.'
 			'After about an hour, you decide to take a break from it and, instead, test your memory. You don''t remember much, but you understand magic a tiny bit better than before nonetheless.'
 
+			! Find Researchable Spells
+			if arrsize('$ResearchingSP') < arrsize('$librarySpells'):
+				if rand(1,10) = 10:
+					NumResearching = arrsize('$ResearchingSP') + 1
+					if spellKnown[$librarySpells[NumResearching]] = 0:
+						*nl
+						*pl 'You have come across a lead on a new spell.'
+					end
+					i=0
+					:FindNewSpell1
+					if i < NumResearching:
+						$ResearchingSP[i] = $librarySpells[i]
+						i += 1
+						jump 'FindNewSpell1'
+					end
+					killvar 'i'
+					killvar 'NumResearching'
+				end
+			end
+
+			if arrsize('$ResearchingSP') > 0:
+				gs 'spellList', 'teacherActions', '$ResearchingSP', 'downlibrary', ''
+			end
 			act 'Put the book down':gt $curloc
 		end
 	end
-	
+
 else
 	'The library is closed.'
 end

+ 4 - 0
locations/foto.qsrc

@@ -1,6 +1,9 @@
 # foto
 
+$loc = 'foto'
+
 if $ARGS[0] = 'start':
+	$metka = 'start'
 	if hour < 2:
 		menu_off = 1
 		gs 'clothing', 'wear_last_worn'
@@ -134,6 +137,7 @@ if $ARGS[0] = 'start':
 end
 
 if $ARGS[0] = 'studio':
+	$metka = 'studio'
 	$menu_loc = 'foto'
 	$menu_arg = 'studio'
 	menu_off = 0

+ 1 - 1
locations/gadforest.qsrc

@@ -44,7 +44,7 @@ if $ARGS[0] = '1':
 	if month >= 4 and month <= 10:
 		if hour >= 6 and hour < 22:
 			'<center><img <<$set_imgh>> src="images/locations/gadukino/forest/gadforest1.jpg"></center>'
-			'Your are at the edge of the forest. Mushrooms and berries grow here and you can often find other people picking them.'
+			'You are at the edge of the forest. Mushrooms and berries grow here and you can often find other people picking them.'
 		else
 			'<center><img <<$set_imgh>> src="images/locations/gadukino/forest/gadforest_night1.jpg"></center>'
 			'You are at the edge of the forest. Night in the woods is scary and uncomfortable.'

+ 4 - 4
locations/gschool_chats3.qsrc

@@ -539,13 +539,13 @@ if $ARGS[0] = 'anushka':
 	*clr & cla
 	menu_off = 1
 	gs 'stat'
-	'<center><img <<$set_imgh>> src="images/pc/npc_headshots/big45.jpg"></center>'
+	'<center><img <<$set_imgh>> src="images/pc/npc_headshots/big144.jpg"></center>'
 	if npc_rel['A144'] >= 50 and anushkaFirstvisit = 0:
 		'"Hey <<$pcs_nickname>> you want to come over after school and hang out today?"'
 		act 'Not today':
 			*clr & cla
 			npc_rel['A144'] -= 1
-			'<center><img <<$set_imgh>> src="images/pc/npc_headshots/big45.jpg"></center>'
+			'<center><img <<$set_imgh>> src="images/pc/npc_headshots/big144.jpg"></center>'
 			'"Sorry I can''t, maybe some other time?" You tell her.'
 			'She frowns a little then shurgs. "Sure what ev, some other time then."'
 			act 'Time for the next class': gt 'gschool_lessons', 'short_break'
@@ -553,7 +553,7 @@ if $ARGS[0] = 'anushka':
 		act 'I would like that':
 			*clr & cla
 			npc_rel['A144'] += 1
-			'<center><img <<$set_imgh>> src="images/pc/npc_headshots/big45.jpg"></center>'
+			'<center><img <<$set_imgh>> src="images/pc/npc_headshots/big144.jpg"></center>'
 			'"Yes I would like that." You tell her.'
 			'"Sweet, I''ll wait for you at the doors after school." She tells you.'
 			act 'Time for the next class': gt 'gschool_lessons', 'short_break'
@@ -597,7 +597,7 @@ if $ARGS[0] = 'anushka':
 			*clr & cla
 			if Anush_lunch = 0:
 				pcs_horny += 10
-				'<center><img <<$set_imgh>> src="images/pc/npc_headshots/big45.jpg"></center>'
+				'<center><img <<$set_imgh>> src="images/pc/npc_headshots/big144.jpg"></center>'
 				'"Hey Anush, you feeling ok? You kinda look flushed, is something wrong? Would you like to talk about it?"'
 				'She leans in close and tries to kiss you, while one hand reaches down and squeezes your butt. You turn your head and pull away. "What are you doing? I was only seeing if you were ok."'
 				'She crowds you a bit and leans in close. "You talk too much, I can think of better things you can do with that tongue of yours."'

+ 1 - 1
locations/gschool_gossip.qsrc

@@ -572,7 +572,7 @@ if $ARGS[0] = 'boys':
 		'"Well, he said Pavlovsk is like living in a porn movie or video game. That Moscow is nothing like this."'
 		'The second boy laughs. "More like the girls there see through his bullshit and don''t give him play."'
 		'"Yeah, maybe, but I don''t know. The girls are just different there. I mean, normally it isn''t too hard to find a girl that will let you fuck her, but they are a lot more resistant there."'
-		'"Well, what do you expect? It''s Moscow, they are obsessed with being all prime and proper. Moscow is just boring, it''s not us that are different, but them."'
+		'"Well, what do you expect? It''s Moscow, they are obsessed with being all prim and proper. Moscow is just boring, it''s not us that are different, but them."'
 		'"Hmm yeah, you''re most likely right, but man it would be fun to live in a porn movie or video game though, wouldn''t it?"'
 		'"Fuck yeah it would!"'
 	elseif chat_rand = 39 and pav_sex > 25:

+ 1 - 1
locations/gschool_sex.qsrc

@@ -304,7 +304,7 @@ if $ARGS[0] = 'Anush_private2':
 					npc_rel['A144'] -= 2
 					npc_rel['A158'] -= 2
 					npc_rel['A156'] -= 2
-					'<center><img <<$set_imgh>> src="images/pc/npc_headshots/big45.jpg"></center>'
+					'<center><img <<$set_imgh>> src="images/pc/npc_headshots/big144.jpg"></center>'
 					'You pull away and put your hands up to push her gentle away. "Stop I don''t want to right now." The boys snort and mutter shaking there head, while Anushka is a bit more vocal. "What the fuck <<$pcs_nickname>>? I thought you wanted to have some fun, fuck it then, get out if you don''t want to party with us." She gets up and guides you to the door and then out, closing the door loudly once your out. You can hear them talking and you are pretty sure you hear your name.'
 					act 'Continue': gt 'gschool_lessons', 'short_break'
 				end

+ 1 - 1
locations/gschool_socialchg.qsrc

@@ -1404,7 +1404,7 @@ if $ARGS[0] = 'tArkadi':
 end
 
 if $ARGS[0] = 'tAnushka':
-	'<center><img <<$set_imgh>> src="images/pc/npc_headshots/big45.jpg"></center>'
+	'<center><img <<$set_imgh>> src="images/pc/npc_headshots/big144.jpg"></center>'
 	'You sit down on the sofa next to Anushka. She gives you a big grin, "Hiya <<$pcs_nickname>> what have you been up to?" You notice a blunt that''s been placed on the table.'
 	'You shrug your shoulders, "Nothing much. Been talking to people, having fun."'
 	'"Good, I hope none of the guys tried to hump your leg. They can be a pain in the ass sometimes." she says.'

+ 1 - 1
locations/kakuzu.qsrc

@@ -95,7 +95,7 @@ if $ARGS[0] = 'mansion1':
 			if srodstvo = 0:srodrand = rand(1, 5)
 
 			'You concentrate energy in the sheet of paper. You feel that you are spending a huge amount of mana for this action.'
-			srodstvo += rand(1, 10)
+			srodstvo += rand(9-(2*difficulty), 10)
 
 			if srodstvo < 100:
 				'You get tired and sweat like a horse, but your effort was not enough.'

+ 2 - 2
locations/kiosk.qsrc

@@ -109,8 +109,8 @@ end
 if $ARGS[0] = 'counter':
 	*clr & cla
 	$kioskloc = 'counter'
-	$menu_loc = 'counter'
-	$menu_arg = ''
+	$menu_loc = 'kiosk'
+	$menu_arg = 'counter'
 	menu_off = 0
 	gs 'stat'
 	

+ 42 - 38
locations/kseniyaQW.qsrc

@@ -12,9 +12,9 @@ if $ARGS[0] = 'event1':
 	'<center><b><font color="maroon">Woman</font></b></center>'
 	'<center><img <<$set_imgh>> src="images/locations/shared/park/kseniya/flash.jpg"></center>'
 	if ARGS[1] = 1:
-		'As you wonder through the park you see someone in a field who waves you over. As you get closer you realise it is a topless women, see gives you an enigmatic smile while cupping a breast then runs off.'
+		'As you wonder through the park you see someone in a field, who waves you over. As you get closer you realise it is a topless women, she gives you an enigmatic smile while cupping a breast then runs off.'
 	else
-		'As you look for somewhere to expose yourself you see someone in a field who waves you over. As you get closer you realise it is a topless women, see gives you an enigmatic smile while cupping a breast then runs off.'
+		'As you look for somewhere to expose yourself you see someone in a field, who waves you over. As you get closer you realise it is a topless women, she gives you an enigmatic smile while cupping a breast then runs off.'
 	end
 
 	act 'Finish walk': gt $loc, $metka
@@ -29,7 +29,7 @@ if $ARGS[0] = 'events':
 				cla
 				minut += 5
 				*nl
-				'You look around the park but can''t find her'
+				'You look around the park but can''t find her.'
 				act 'Continue': gt $loc, $metka
 			end
 		end
@@ -41,7 +41,7 @@ if $ARGS[0] = 'events':
 				cla
 				minut += 5
 				*nl
-				'You look around the park but can''t find her'
+				'You look around the park but can''t find her.'
 				act 'Continue': gt $loc, $metka
 			end
 		end
@@ -58,9 +58,9 @@ if $ARGS[0] = 'event2':
 
 	'<center><b><font color="maroon">Kseniya</font></b></center>'
 	'<center><img <<$set_imgh>> src="images/locations/shared/park/kseniya/kseniya1.jpg"></center>'
-	'You find the flashing woman in just her panties by the stream near the edge of the park, she covers one of her breasts and feigns embarrassment but you know better.'
-	'She smiles and says, "Hi, I''m Kseniya. I saw you before, you weren''t shocked or surprised. Is it something you''re into as well?"'
-	'You can hardly lie to the near naked woman in front of you. "Yeah, I like to show off too. I''m <<$pcs_firstname>>, Pleased to meet you."'
+	'You find the flashing woman in just her panties by the stream, near the edge of the park. She covers one of her breasts and feigns embarrassment, but you know better.'
+	'She smiles and says, "Hi, I''m Kseniya. I saw you before, you weren''t shocked or surprised. Is this something you''re into as well?"'
+	'You can hardly lie to the near naked woman in front of you. "Yeah, I like to show off too. I''m <<$pcs_firstname>>, pleased to meet you."'
 	'"Cool, can I ask you for an odd favour?" Without waiting for a reply she continues, "Can you take a couple of pictures of me on my phone?"'
 	act 'Sure, why not?':
 		cls
@@ -69,9 +69,9 @@ if $ARGS[0] = 'event2':
 		gs 'stat'
 		'<center><b><font color="maroon">Kseniya</font></b></center>'
 		'<center><img <<$set_imgh>> src="images/locations/shared/park/kseniya/kseniya2.jpg"></center>'
-		'"Thank you, I wanted to see how I look. I''m thinking about doing some nude modelling, here take my phone."'
-		'As you check over her phone working out how to take pictures, Kseniya hides behind some bushes and removes her panties.'
-		'She comes back out but is still partially obscured, she is holding a flower and starts posing. You frame the shot and take what you think is a nice picture.'
+		'"Thank you, I wanted to see how I looked. I''m thinking about doing some nude modelling. Here, take my phone."'
+		'As you check over her phone, working out how to take pictures, Kseniya hides behind some bushes and removes her panties.'
+		'She comes back out but is still partially obscured. She is holding a flower and starts posing. You frame the shot and take what you think is a nice picture.'
 		act 'Continue':
 			cls
 			minut += 5
@@ -79,10 +79,10 @@ if $ARGS[0] = 'event2':
 			gs 'stat'
 			'<center><b><font color="maroon">Kseniya</font></b></center>'
 			'<center><img <<$set_imgh>> src="images/locations/shared/park/kseniya/kseniya3.jpg"></center>'
-			'Kseniya claps with joy and you are reminded of an excited puppy, before running around to a clearer break in the bushes.'
-			'She strikes a pose showing the full length of her body turned to the side while she pretends to be sniffing the wild flowers.'
+			'Kseniya claps with joy reminding of an excited puppy, before she runs around to a clearer break in the bushes.'
+			'She strikes a pose, showing the full length of her body turned to the side, while she pretends to be sniffing the wild flowers.'
 			'You carefully line up the frame and take another picture.'
-			'Kseniya looks to you and says, "OK, one more over there in the open but try and be a bit quicker or I might lose my nerve."'
+			'Kseniya looks at you and says, "OK, one more over there in the open, but try and be a bit quicker or I might lose my nerve."'
 			act 'Continue':
 				cls
 				minut += 5
@@ -90,9 +90,9 @@ if $ARGS[0] = 'event2':
 				gs 'stat'
 				'<center><b><font color="maroon">Kseniya</font></b></center>'
 				'<center><img <<$set_imgh>> src="images/locations/shared/park/kseniya/kseniya4.jpg"></center>'
-				'With a quick look to check it is clear, Kseniya runs over to the nearby field and pose against a bail of hay.'
+				'With a quick look to check if it''s clear, Kseniya runs over to the nearby field and poses against a bail of hay.'
 				'You line up the phone as fast as you can and take a picture, she immediately runs up to you and kisses you on the check as she takes back her phone.'
-				'"I''ll do you next time!" She calls as she runs back into the bushes where her clothes are stashed.'
+				'"I''ll do you next time!" she shouts as she runs back into the bushes where her clothes are stashed.'
 				'You take that as your cue to leave and head back into the park.'
 
 				act 'Leave': gt $loc, $metka
@@ -109,13 +109,14 @@ if $ARGS[0] = 'event3':
 
 	'<center><b><font color="maroon">Kseniya</font></b></center>'
 	'<center><img <<$set_imgh>> src="images/locations/shared/park/kseniya/flash.jpg"></center>'
-	'As before you find Kseniya near the edge of the park exposing herself. She gives you that same look you just can''t place.'
+	'As you did before you find Kseniya near the edge of the park, exposing herself. She gives you that same look, you just can''t seem to place.'
 	'"Hi, <<$pcs_firstname>>. It''s your turn, are you up for this?"'
 
 	act 'No, sorry':
 		cla
 		*nl
-		'"That''s OK, we all lose our nerve sometimes, when you are ready come and find me again."'
+		'You tell her that you don''t want to do it now.'
+		'"That''s OK, we all lose our nerve sometimes. When you are ready come and find me again."'
 		act 'Leave': gt $loc, $metka
 	end
 
@@ -126,14 +127,14 @@ if $ARGS[0] = 'event3':
 		if exhibitionist_lvl < 2: exhibitionist_lvl = 2
 		gs 'stat'
 		'<center><img <<$set_imgh>> src="images/locations/shared/park/kseniya/strip1.jpg"></center>'
-		'Cool, the light is not great here at this time but there''s a great spot just around the corner.'
-		'She leads you to a small clearing and you start to undress. Kseniya gives you a bag for your clothing so it''ll stay safe and clean.'
+		'Cool, the light is not great here at this time, but there''s a great spot just around the corner.'
+		'She leads you to a small clearing and you start to undress. Kseniya gives you a bag for your clothing, "So they''ll stay safe and clean."'
 		if $pantyworntype ! 'none':
 			act 'Take your panties off':
 				*clr
 				cla
 				'<center><img <<$set_imgh>> src="images/locations/shared/park/kseniya/strip2.jpg"></center>'
-				'You look to Kseniya who seems busy checking there''s no one about so you think fuck it and remove your panties.'
+				'You look at Kseniya, who seems busy checking if there''s no one around. Eventually you decide to remove your panties, here goes nothing!'
 
 				act 'Continue': gt 'kseniyaQW', 'event3_1'
 			end
@@ -145,11 +146,11 @@ end
 
 if $ARGS[0] = 'event3_1':
 	'<center><img <<$set_imgh>> src="images/locations/shared/park/kseniya/strip3.jpg"></center>'
-	'You stand up completely naked with everything but your shoes in the bag.'
-	'"Oh crap, I packed my phone. I meant to give it to you, how are you going to take pictures for me now?"'
+	'You stand up completely naked, with everything but your shoes in the bag.'
+	'"Oh crap, I packed my phone. I ment to give it to you, how are you going to take pictures of me now?" you tell her.'
 	'"It''s OK <<$pcs_firstname>>, I can take the pictures on my phone and message them to you. What''s your number?"'
-	'You give her your phone number and she quickly types it into her phone, "Cool, firstly that bag is not going to look good in shot."'
-	'She looks around quickly, "There''s nowhere safe to stash them here but it''s OK I can carry them."'
+	'You give her your phone number and she quickly types the number into her phone, "Cool, firstly that bag is not going to look good in the shot."'
+	'She looks around quickly. "There''s nowhere safe to stash them, but it''s OK, I can carry them."'
 	$orgasm_or = 'no'
 	gs 'arousal', 'flash', 10
 	minut -= 5
@@ -159,7 +160,7 @@ if $ARGS[0] = 'event3_1':
 		mdlng_exp += rand(0,2)
 		'<center><img <<$set_imgh>> src="images/locations/shared/park/kseniya/strip4.jpg"></center>'
 		'You hand her the bag and strike a pose, Kseniya laughs.'
-		'"More natural! That ugly building is showing through, try the path." She points to the track by the clearing.'
+		'"More natural! Bah, that ugly building is in frame, try doing the same on the path." She points to the track by the clearing.'
 		gs 'arousal', 'flash', 10
 		minut -= 5
 		gs 'stat'
@@ -170,7 +171,7 @@ if $ARGS[0] = 'event3_1':
 			'<center><img <<$set_imgh>> src="images/locations/shared/park/kseniya/strip5.jpg"></center>'
 			'You walk over to the path, lift you arms over your head and try to look more natural.'
 			'"Much better." Kseniya takes a couple of pictures, then whispers, "Someone''s coming."'
-			'She points toward a tree by the side of the track.'
+			'She points towards a tree by the side of the track.'
 			gs 'arousal', 'flash', 10
 			minut -= 5
 			gs 'stat'
@@ -179,7 +180,7 @@ if $ARGS[0] = 'event3_1':
 				mdlng_exp += rand(0,2)
 				'<center><img <<$set_imgh>> src="images/locations/shared/park/kseniya/strip6.jpg"></center>'
 				'A man walks past with his dog, he doesn''t seem to notice or care and you quickly relax.'
-				'He is still behind you as you start posing again, You''re really getting in to this and can''t stop smiling.'
+				'He is still behind you, as you start posing again. You''re really getting into this and can''t stop smiling.'
 				gs 'arousal', 'flash', 10
 				minut -= 5
 				gs 'stat'
@@ -187,7 +188,8 @@ if $ARGS[0] = 'event3_1':
 					*clr & cla
 					mdlng_exp += rand(0,2)
 					'<center><img <<$set_imgh>> src="images/locations/shared/park/kseniya/strip7.jpg"></center>'
-					'Still smiling you find a large tree stump and sit down on it. You realise you are exposing yourself quite in this position.'
+					'Still smiling you find a large tree stump and sit down on it. You realise you are exposing yourself quite a bit in this position.'
+					'Kseniya shoots more pictures and you feel yourself relax more.'
 					gs 'arousal', 'flash', 10
 					minut -= 5
 					gs 'stat'
@@ -195,26 +197,28 @@ if $ARGS[0] = 'event3_1':
 						*clr & cla
 						mdlng_exp += rand(0,2)
 						'<center><img <<$set_imgh>> src="images/locations/shared/park/kseniya/strip8.jpg"></center>'
-						'You tell Kseniya you are done and want your clothes back.'
-						'She suddenly looks very stern and says, "If you want your clothes you are going to have to spread those legs."'
-						'She has your clothes and all your stuff, shit this isn''t good. You spread your legs and try to look sexy.'
+						'Starting to get concerned you tell Kseniya you are done and want your clothes back.'
+						'She suddenly looks very stern and says, "If you want your clothes, you are going to have to spread those legs."'
+						'She has your clothes, bag and everything, shit this isn''t good.'
+						'You have no real choice so you open up your legs and try to look sexy for the last time.'
 						gs 'arousal', 'flash', 10
 						minut -= 5
 						gs 'stat'
 						act 'Continue':
 							*clr & cla
 							'<center><img <<$set_imgh>> src="images/locations/shared/park/kseniya/strip9.jpg"></center>'
-							'You tell Kseniya you are done and want your clothes back.'
-							'"Over there. Sit down hand between your legs, that''s the one"'
-							'As you try and pose you realise your pussy is soaking wet and your nervousness about exposing yourself is completely overcome.'
-							'Kseniya hands you back your clothes and gives you a business card, it is for a shop in Old Town. How odd.'
-							'"It was fun and I''m glad I found you. I have others to find though so good bye." Kseniya blows you a kiss and leaves. By the time you are dressed she is long gone.'
-							*nl
-							'You look at the card again "Expression of You" just off Pushkin High Street. Open Mon-Sat, 08:00 - 18:00'
+							'You playfully ask Kseniya if are done now and ask her if you can get your clothes back, hoping a different approach will work.'
+							'"Over there. Sit down and put your hand between your legs, that''s the one. And make it look sensual," she tells you sounding like a professional photographer.'
+							'As you try and pose you realise your pussy is soaking wet and any lingering inhibition regarding nudity is completely overcome.'
 							gs 'arousal', 'flash', 10, 'sub'
 							gs 'arousal', 'end'
 							minut -= 5
 							gs 'stat'
+							'Kseniya hands you back your clothes and gives you a business card, it''s for a shop in Old Town. How odd.'
+							'"I know I tricked you there but I find special customers for a very private shop. The address is on the card."'
+							'""You have a lovely body by the way." Kseniya blows you a kiss and leaves. By the time you are dressed she is long gone.'
+							*nl
+							'You look at the card again, "Expression of You," just off Pushkin High Street. Open Mon-Sat, 08:00 - 18:00'
 
 							act 'Leave': gt $loc, $metka
 						end

+ 2 - 0
locations/lab.qsrc

@@ -526,6 +526,8 @@ if $ARGS[0] = 'Tatiana':
 
 	! Show Actions for Learning Spells
 	gs 'spellList', 'teacherActions', '$basicSpells', 'lab', 'Tatiana'
+	gs 'spellList', 'teacherActions', '$healSpells', 'lab', 'Tatiana'
+	!gs 'spellList', 'teacherActions', '$beautySpells', 'lab', 'Tatiana'
 
 	if pcs_magik >= 5 and spellavtoklon = 0:
 		act 'Learn technique preparation (1:00)':

+ 1 - 1
locations/mother.qsrc

@@ -450,7 +450,7 @@ if $ARGS[0] = '':
 						if SchoolAtestat = 0:
 							if npc_rel['A29'] >= 80:
 								if motherClotheMonth ! month:
-									'Your mother lets out an exasperated sigh, and throws her hands in the air. "Here we go again... "<<$npc_nickname[''A29'']>>, I have nothing to wear!"" he says, mocking your voice in a high pitch. You both laugh. "Alright then <<$pcs_nickname>>, let''s go see if we can find something."'
+									'Your mother lets out an exasperated sigh and throws her hands in the air. "Here we go again... <<$npc_nickname[''A29'']>>, I have nothing to wear!" she says, mocking your voice in a high pitch. You both laugh. "Alright then <<$pcs_nickname>>, let''s go see if we can find something."'
 
 									act 'Go to the store':
 										cla

+ 2 - 11
locations/nichChore.qsrc

@@ -20,7 +20,6 @@
 if $ARGS[0] = 'inspect':
 	if $ARGS[1] = 'hallway':
 		$location_type = 'event'
-		menu_off = 1
 		
 		nichChoreID = 0
 		nichChoreTimeF = 1
@@ -50,7 +49,6 @@ if $ARGS[0] = 'inspect':
 		
 	elseif $ARGS[1] = 'bathGuest':
 		$location_type = 'event'
-		menu_off = 1
 		
 		nichChoreID = 1
 		nichChoreTimeF = 1
@@ -80,7 +78,6 @@ if $ARGS[0] = 'inspect':
 		
 	elseif $ARGS[1] = 'servant':
 		$location_type = 'event'
-		menu_off = 1
 		
 		nichChoreID = 2
 		nichChoreTimeF = 1
@@ -110,7 +107,6 @@ if $ARGS[0] = 'inspect':
 		
 	elseif $ARGS[1] = 'bathServant':
 		$location_type = 'event'
-		menu_off = 1
 		
 		nichChoreID = 3
 		nichChoreTimeF = 1
@@ -140,7 +136,6 @@ if $ARGS[0] = 'inspect':
 	
 	elseif $ARGS[1] = 'laundry':
 		$location_type = 'event'
-		menu_off = 1
 		
 		nichChoreID = 4
 		nichChoreTimeF = 1
@@ -172,7 +167,6 @@ if $ARGS[0] = 'inspect':
 		
 	elseif $ARGS[1] = 'tanya':
 		$location_type = 'event'
-		menu_off = 1
 		
 		nichChoreID = 5
 		nichChoreTimeF = 1
@@ -202,7 +196,6 @@ if $ARGS[0] = 'inspect':
 		
 	elseif $ARGS[1] = 'masterbath':
 		$location_type = 'event'
-		menu_off = 1
 		
 		nichChoreID = 6
 		nichChoreTimeF = 1
@@ -231,7 +224,6 @@ if $ARGS[0] = 'inspect':
 		end	
 	elseif $ARGS[1] = 'master':
 		$location_type = 'event'
-		menu_off = 1
 		
 		nichChoreID = 7
 		nichChoreTimeF = 1
@@ -261,7 +253,6 @@ if $ARGS[0] = 'inspect':
 	
 	elseif $ARGS[1] = 'living':
 		$location_type = 'event'
-		menu_off = 1
 		
 		nichChoreID = 8
 		nichChoreTimeF = 1
@@ -290,7 +281,6 @@ if $ARGS[0] = 'inspect':
 		end	
 	elseif $ARGS[1] = 'kitchen':
 		$location_type = 'event'
-		menu_off = 1
 		
 		nichChoreID = 9
 		nichChoreTimeF = 1
@@ -319,7 +309,6 @@ if $ARGS[0] = 'inspect':
 		end	
 	elseif $ARGS[1] = 'study':
 		$location_type = 'event'
-		menu_off = 1
 		
 		nichChoreID = 10
 		nichChoreTimeF = 1
@@ -356,6 +345,8 @@ if $ARGS[0] = 'inspect':
 	
 	act '<<$nichChoreActCaption>>':
 		:nichChoreSkipInspect
+		menu_off = 1
+		gs 'stat'
 		*clr & cla
 		'<center><img <<$set_imgh>> src="<<$nichTempPic >>"></center>'
 		'<<$nichChoreDesc>>'

+ 4 - 4
locations/nichTanya.qsrc

@@ -330,7 +330,7 @@ elseif $ARGS[0] = 'bathroom':
 			act 'Join her':
 				cla
 				*clr
-				'<center><img <<$set_imgh>> src="images/characters/city/tanya/gym/showermol0.jpg"></center>'
+				'<center><img <<$set_imgh>> src="images/characters/city/tanya/gym/shower_mol0.jpg"></center>'
 				'You silently put your clothes off. Then you join Tanya in the shower and gently place one hand on her right breast. She turns to face you.'
 				
 				gs 'underwear', 'remove'
@@ -348,7 +348,7 @@ elseif $ARGS[0] = 'bathroom':
 			act 'Molest her':
 				cla
 				*clr
-				'<center><img <<$set_imgh>> src="images/characters/city/tanya/gym/showermol0.jpg"></center>'
+				'<center><img <<$set_imgh>> src="images/characters/city/tanya/gym/shower_mol0.jpg"></center>'
 				'You silently put your clothes off. Then you join Tanya in the shower and gently place one hand on her right breast. She turns to face you.'
 				
 				gs 'underwear', 'remove'
@@ -375,7 +375,7 @@ elseif $ARGS[0] = 'bathroom':
 						cla
 						*clr
 						
-						'<center><img <<$set_imgh>> src="images/characters/city/tanya/gym/showermol1.jpg"></center>'
+						'<center><img <<$set_imgh>> src="images/characters/city/tanya/gym/shower_mol1.jpg"></center>'
 						'While she is trying to understand what is happening you begin fondling her sex with your fingers, and then her hand strokes your ass.'
 
 						gs 'arousal', 'foreplay', 10, 'dom', 'lesbian'
@@ -395,7 +395,7 @@ elseif $ARGS[0] = 'bathroom':
 						elseif pcs_apprnc >= 120:
 							cla
 							*clr
-							'<center><img <<$set_imgh>> src="images/characters/city/tanya/gym/showermol2.jpg"></center>'
+							'<center><img <<$set_imgh>> src="images/characters/city/tanya/gym/shower_mol2.jpg"></center>'
 							'Tanya presses up to you even stronger and kisses your lips.'
 
 							gs 'arousal', 'kiss', 5, 'dom', 'lesbian'

+ 4 - 4
locations/nichTaras.qsrc

@@ -517,10 +517,10 @@ elseif $ARGS[0] = 'session':
 			act 'Further':
 				*clr & cla
 				'<center><img <<$set_imgh>> src="images/characters/city/taras/mirrorEvent1f.jpg"></center>'
-				'He takes a vibrator and start working your clit.'
-				'It doesn''t take long before you feel an orgasm building up.'
-				'Your breath quickens while your gag still makes breathing difficult. Just as you are about to cum Taras holds your nose shut.'
-				'You feel your intense orgasm with every nerve. You try to move, to give into it, but your are tightly hold in place.'
+				'He takes a vibrator and starts working your clit.'
+				'It doesn''t take long before you feel an orgasm build up.'
+				'Your breath quickens while your gag still makes breathing difficult. Just as you are about to cum, Taras holds your nose shut.'
+				'You feel your intense orgasm with every nerve. You try to move, to give into it, but you are tightly hold in place.'
 				*nl
 				'Finally Taras removes his hand from your nose also removes the horrible gag.'
 				'"I am done with you for today. You can rest now, slut."'

+ 4 - 0
locations/npcstatic2.qsrc

@@ -173,6 +173,8 @@ npctemp = 58
 gs 'npcstaticdefaults', 'defaults'
 $npc_dna['A<<npctemp>>'] = '1443401856 1151112047 8321006077 1153217734 1305220298 7921283143 7765736018'
 $npc_firstname['A<<npctemp>>'] = 'Zhendos'
+$npc_nickname['A<<npctemp>>'] = 'Zhen'
+$npc_lastname['A<<npctemp>>'] = 'Mikhailov'
 $npc_usedname['A<<npctemp>>'] = 'Zhendos'
 $npc_notes['A<<npctemp>>'] = 'Your Brother''s Friend.'
 npc_cyc['A<<npctemp>>'] = -1
@@ -193,6 +195,8 @@ npctemp = 59
 gs 'npcstaticdefaults', 'defaults'
 $npc_dna['A<<npctemp>>'] = '1670044870 1746541889 1939734844 1792989216 1320934850 1111430962 2142228809'
 $npc_firstname['A<<npctemp>>'] = 'Mishan'
+$npc_nickname['A<<npctemp>>'] = 'Misha'
+$npc_lastname['A<<npctemp>>'] = 'Andreev'
 $npc_usedname['A<<npctemp>>'] = 'Mishan'
 $npc_notes['A<<npctemp>>'] = 'Your brother''s friend.'
 npc_cyc['A<<npctemp>>'] = -1

+ 1 - 1
locations/pavCommercial.qsrc

@@ -132,7 +132,7 @@ if leonidSlave = 1:
 end
 
 if hour >= 7 and hour <= 18:
-	$desc_txt2 = 'a <a href="exec:minut += 15 & gt ''etoexhib'', ''pos20''">vocational school</a>, where young adults can learn a trade.'
+	$desc_txt2 = '<a href="exec:minut += 15 & gt ''etoexhib'', ''pos20''">vocational school</a>, where young adults can learn a trade.'
 else
 	$desc_txt2 = '<a href="exec:msg ''vocational school, which is closed right now. It will reopen again at 7:00''">vocational school</a>.'
 end

+ 53 - 0
locations/pornfilm.qsrc

@@ -169,6 +169,7 @@ if $ARGS[0] = '2':
 					sexpartkno = 1
 					spafinloc = 12
 					sexvolume = 36
+					cumnostd = 1
 					gs 'cum_manage'
 					spafinloc = 11
 					sexvolume = 4
@@ -250,6 +251,7 @@ if $ARGS[0] = '3':
 					gs 'boyStat', $pakterID[1]
 					sexpartkno = 1
 					cumprecheck = 1
+					cumnostd = 1
 					gs 'cum_manage'
 
 					gs 'arousal', 'vaginal', 15, 'exhibitionism'
@@ -263,6 +265,7 @@ if $ARGS[0] = '3':
 						minut += 5
 						spafinloc = 12
 						sexvolume = 36
+						cumnostd = 1
 						gs 'cum_manage'
 						spafinloc = 11
 						sexvolume = 4
@@ -354,6 +357,7 @@ if $ARGS[0] = '4':
 					gs 'boyStat', $pakterID[1]
 					sexpartkno = 1
 					cumprecheck = 1
+					cumnostd = 1
 					gs 'cum_manage'
 
 					gs 'arousal', 'vaginal', 5, 'exhibitionism'
@@ -383,6 +387,7 @@ if $ARGS[0] = '4':
 							'<<$pakter[1]>> brings his cock to your mouth, and feeds you the contents of his balls.'
 							spafinloc = 12
 							sexvolume = 36
+							cumnostd = 1
 							gs 'cum_manage'
 							spafinloc = 11
 							sexvolume = 4
@@ -464,6 +469,7 @@ if $ARGS[0] = '5':
 				gs 'boyStat', $pakterID[1]
 				sexpartkno = 1
 				cumprecheck = 1
+				cumnostd = 1
 				gs 'cum_manage'
 				gs 'stat'
 
@@ -482,6 +488,7 @@ if $ARGS[0] = '5':
 					'<<$pakter[1]>> takes his cock out of your pussy, and plunges it into your ass. The change and the extra tightness quickly overwelms him.'
 					'He shoots his load into your ass, all the while you keep sucking <<$pakter[2]>>.'
 					spafinloc = 3
+					cumnostd = 1
 					gs 'cum_manage'
 					gs 'stat'
 
@@ -502,6 +509,7 @@ if $ARGS[0] = '5':
 						gs 'boyStat', $pakterID[2]
 						sexpartkno = 1
 						spafinloc = 12
+						cumnostd = 1
 						gs 'cum_manage'
 						gs 'stat'
 						gs 'arousal', 'end'
@@ -566,6 +574,7 @@ if $ARGS[0] = '6':
 				gs 'boyStat', $pakterID[1]
 				sexpartkno = 1
 				cumprecheck = 1
+				cumnostd = 1
 				gs 'cum_manage'
 				gs 'stat'
 
@@ -616,6 +625,7 @@ if $ARGS[0] = '6':
 							'Suddenly your head gets turned around and <<$pakter[2]>> shoots his load on your face and in your mouth, <<$pakter[1]>> following him close behind.'
 							spafinloc = 12
 							sexvolume = 6
+							cumnostd = 1
 							gs 'cum_manage'
 							spafinloc = 11
 							sexvolume = 2
@@ -623,6 +633,7 @@ if $ARGS[0] = '6':
 							gs 'boyStat', $pakterID[2]
 							spafinloc = 12
 							sexvolume = 6
+							cumnostd = 1
 							gs 'cum_manage'
 							spafinloc = 11
 							sexvolume = 2
@@ -698,6 +709,7 @@ if $ARGS[0] = '7':
 						minut += 15
 						pcs_horny += 15
 						sexpartkno = 1
+						cumnostd = 1
 						gs 'boyStat', $pakterID[1]
 						gs 'cum_manage'
 						gs 'stat'
@@ -718,6 +730,7 @@ if $ARGS[0] = '7':
 						sexpartkno = 1
 						orgasmbonus += 10
 						porngasm += 1
+						cumnostd = 1
 						gs 'boyStat', $pakterID[1]
 						gs 'cum_manage'
 						gs 'stat'
@@ -789,10 +802,12 @@ if $ARGS[0] = '8':
 				if rand(0,1) = 0:
 					gs 'boyStat', $pakterID[1]
 					sexpartkno = 1
+					cumnostd = 1
 					gs 'cum_manage'
 					gs 'boyStat', $pakterID[2]
 					sexpartkno = 1
 					spafinloc = 3
+					cumnostd = 1
 					gs 'cum_manage'
 					'<<$pakter[1]>> lays on the bed and you climb above him, fitting his cock in your pussy, then wait until <<$pakter[2]>> pushes his member in your ass. He soon starts to fuck you enthusiastically, making you ride <<$pakter[1]>>''s dick. This continues for a while, but soon the director signals the guys that they should cum inside.'
 
@@ -805,10 +820,12 @@ if $ARGS[0] = '8':
 				else
 					gs 'boyStat', $pakterID[2]
 					sexpartkno = 1
+					cumnostd = 1
 					gs 'cum_manage'
 					gs 'boyStat', $pakterID[1]
 					sexpartkno = 1
 					spafinloc = 3
+					cumnostd = 1
 					gs 'cum_manage'
 					'<<$pakter[2]>> lays on the bed and you climb above him, fitting his cock in your pussy, then wait until <<$pakter[1]>> pushes his member in your ass. He soon starts to fuck you enthusiastically, making you ride <<$pakter[2]>>''s dick. This continues for a while, but soon the director signals the guys that they should cum inside.'
 
@@ -893,10 +910,12 @@ if $ARGS[0] = '9':
 				if rand(0,1) = 0:
 					gs 'boyStat', $pakterID[1]
 					sexpartkno = 1
+					cumnostd = 1
 					gs 'cum_manage'
 					gs 'boyStat', $pakterID[2]
 					sexpartkno = 1
 					spafinloc = 12
+					cumnostd = 1
 					gs 'cum_manage'
 					'You get in position before <<$pakter[2]>> and starts to suck him, while <<$pakter[1]>> starts to fuck your pussy. He soon works on that part enthusiastically, making you swallow <<$pakter[2]>>''s dick. This continues for a while, but soon the director signals that the scene is good enough, and it is time for the finale.'
 
@@ -909,10 +928,12 @@ if $ARGS[0] = '9':
 				else
 					gs 'boyStat', $pakterID[2]
 					sexpartkno = 1
+					cumnostd = 1
 					gs 'cum_manage'
 					gs 'boyStat', $pakterID[1]
 					sexpartkno = 1
 					spafinloc = 3
+					cumnostd = 1
 					gs 'cum_manage'
 					'You get in position before <<$pakter[1]>> and starts to suck him, while <<$pakter[2]>> starts to fuck your pussy. He soon works on that part enthusiastically, making you swallow <<$pakter[1]>>''s dick. This continues for a while, but soon the director signals that the scene is good enough, and it is time for the finale.'
 
@@ -1001,6 +1022,7 @@ if $ARGS[0] = '10':
 				gs 'boyStat', $pakterID[1]
 				sexpartkno = 1
 				cumprecheck = 1
+				cumnostd = 1
 				gs 'cum_manage'
 				if rand(0,5) > 0:
 					'<center><video autoplay loop src="images/locations/city/citycenter/studio/sex/cumbath<<rand(1,9)>>.mp4" width="500"></video></center>'
@@ -1009,11 +1031,13 @@ if $ARGS[0] = '10':
 					'<center><video autoplay loop src="images/locations/city/citycenter/studio/sex/cumbathm<<rand(1,2)>>.mp4" width="500"></video><video autoplay loop src="images/locations/city/citycenter/studio/sex/cumbath<<rand(1,9)>>.mp4" width="500"></video></center>'
 					'<<$pakter[1]>> suddenly groans, pulling his dick out of your pussy but obviously messes up when his first shot of seed sprays straight into your open vagina, but he quickly corrects it, and the others coat your pussylips.'
 					sexpartkno = 1
+					cumnostd = 1
 					gs 'cum_manage'
 					cuminside = 1
 				end
 				spafinloc = 1
 				sexpartkno = 1
+				cumnostd = 1
 				gs 'cum_manage'
 				if pcs_horny >= (100-pcs_inhib):
 					orgasmbonus += 10
@@ -1032,6 +1056,7 @@ if $ARGS[0] = '10':
 				gs 'boyStat', $pakterID[2]
 				sexpartkno = 1
 				cumprecheck = 1
+				cumnostd = 1
 				gs 'cum_manage'
 				if rand(0,5) > 0:
 					'<center><video autoplay loop src="images/locations/city/citycenter/studio/sex/cumbath<<rand(1,9)>>.mp4" width="500"></video></center>'
@@ -1040,6 +1065,7 @@ if $ARGS[0] = '10':
 					'<center><video autoplay loop src="images/locations/city/citycenter/studio/sex/cumbathm<<rand(1,2)>>.mp4" width="500"></video><video autoplay loop src="images/locations/city/citycenter/studio/sex/cumbath<<rand(1,9)>>.mp4" width="500"></video></center>'
 					'<<$pakter[2]>> suddenly groans, pulling his dick out of your pussy but obviously messes up when his first shot of seed sprays straight into your open vagina, but he quickly corrects it, and the others coat your breasts.'
 					sexpartkno = 1
+					cumnostd = 1
 					gs 'cum_manage'
 					cuminside = 1
 				end
@@ -1063,6 +1089,7 @@ if $ARGS[0] = '10':
 				gs 'boyStat', $pakterID[3]
 				sexpartkno = 1
 				cumprecheck = 1
+				cumnostd = 1
 				gs 'cum_manage'
 				if rand(0,5) > 0:
 					'<center><video autoplay loop src="images/locations/city/citycenter/studio/sex/cumbath<<rand(1,9)>>.mp4" width="500"></video></center>'
@@ -1071,6 +1098,7 @@ if $ARGS[0] = '10':
 					'<center><video autoplay loop src="images/locations/city/citycenter/studio/sex/cumbathm<<rand(1,2)>>.mp4" width="500"></video><video autoplay loop src="images/locations/city/citycenter/studio/sex/cumbath<<rand(1,9)>>.mp4" width="500"></video></center>'
 					'<<$pakter[3]>> suddenly groans, pulling his dick out of your pussy but obviously messes up when his first shot of seed sprays straight into your open vagina, but he quickly corrects it, and the others coat your face and hair with his sperm.'
 					sexpartkno = 1
+					cumnostd = 1
 					gs 'cum_manage'
 					cuminside = 1
 				end
@@ -1096,6 +1124,7 @@ if $ARGS[0] = '10':
 				gs 'boyStat', $pakterID[4]
 				sexpartkno = 1
 				cumprecheck = 1
+				cumnostd = 1
 				gs 'cum_manage'
 				if rand(0,5) > 0:
 					'<center><video autoplay loop src="images/locations/city/citycenter/studio/sex/cumbath<<rand(1,9)>>.mp4" width="500"></video></center>'
@@ -1104,6 +1133,7 @@ if $ARGS[0] = '10':
 					'<center><video autoplay loop src="images/locations/city/citycenter/studio/sex/cumbathm<<rand(1,2)>>.mp4" width="500"></video><video autoplay loop src="images/locations/city/citycenter/studio/sex/cumbath<<rand(1,9)>>.mp4" width="500"></video></center>'
 					'<<$pakter[4]>> suddenly groans, pulling his dick out of your pussy but obviously messes up when his first shot of seed sprays straight into your open vagina, but he quickly corrects it, and the others coat your belly with his sperm.'
 					sexpartkno = 1
+					cumnostd = 1
 					gs 'cum_manage'
 					cuminside = 1
 				end
@@ -1166,18 +1196,22 @@ if $ARGS[0] = '11':
 			gs 'boyStat', $pakterID[1]
 			sexpartkno = 1
 			cumprecheck = 1
+			cumnostd = 1
 			gs 'cum_manage'
 			gs 'boyStat', $pakterID[2]
 			sexpartkno = 1
 			cumprecheck = 1
+			cumnostd = 1
 			gs 'cum_manage'
 			gs 'boyStat', $pakterID[3]
 			sexpartkno = 1
 			cumprecheck = 1
+			cumnostd = 1
 			gs 'cum_manage'
 			gs 'boyStat', $pakterID[4]
 			sexpartkno = 1
 			cumprecheck = 1
+			cumnostd = 1
 			gs 'cum_manage'
 			gs 'stat'
 			'<center><video autoplay loop src="images/shared/sex/group/threesomepm<<rand(1,12)>>.mp4" width="500"></video></center>'
@@ -1198,15 +1232,19 @@ if $ARGS[0] = '11':
 				'<center><video autoplay loop src="images/locations/city/citycenter/studio/sex/porncp<<rand(1,4)>>.mp4" width="500"></video></center>'
 				gs 'boyStat', $pakterID[1]
 				sexpartkno = 1
+				cumnostd = 1
 				gs 'cum_manage'
 				gs 'boyStat', $pakterID[2]
 				sexpartkno = 1
+				cumnostd = 1
 				gs 'cum_manage'
 				gs 'boyStat', $pakterID[3]
 				sexpartkno = 1
+				cumnostd = 1
 				gs 'cum_manage'
 				gs 'boyStat', $pakterID[4]
 				sexpartkno = 1
+				cumnostd = 1
 				gs 'cum_manage'
 
 				if pcs_horny < 85 and pcs_inhib < 80:
@@ -1301,6 +1339,7 @@ if $ARGS[0] = '12':
 				gs 'boyStat', $pakterID[1]
 				sexpartkno = 1
 				spafinloc = 3
+				cumnostd = 1
 				gs 'cum_manage'
 				gs 'boyStat', $pakterID[2]
 				sexpartkno = 1
@@ -1309,10 +1348,12 @@ if $ARGS[0] = '12':
 				gs 'boyStat', $pakterID[3]
 				sexpartkno = 1
 				spafinloc = 3
+				cumnostd = 1
 				gs 'cum_manage'
 				gs 'boyStat', $pakterID[4]
 				sexpartkno = 1
 				spafinloc = 3
+				cumnostd = 1
 				gs 'cum_manage'
 				'<center><video autoplay loop src="/images/shared/sex/cum/analcreampie/cumanal<<rand(1,2)>>.mp4" width="500"></video></center>'
 				if pcs_horny < 85 and pcs_inhib < 80:
@@ -1392,9 +1433,11 @@ if $ARGS[0] = '13':
 			*clr
 			gs 'boyStat', $pakterID[1]
 			sexpartkno = 1
+			cumnostd = 1
 			gs 'cum_manage'
 			gs 'boyStat', $pakterID[2]
 			sexpartkno = 1
+			cumnostd = 1
 			gs 'cum_manage'
 
 			'<center><video autoplay loop src="images/shared/sex/group/doublevag<<rand(1,4)>>.mp4" width="500"></video></center>'
@@ -1428,10 +1471,12 @@ if $ARGS[0] = '13':
 				gs 'boyStat', $pakterID[3]
 				sexpartkno = 1
 				spafinloc = 3
+				cumnostd = 1
 				gs 'cum_manage'
 				gs 'boyStat', $pakterID[4]
 				sexpartkno = 1
 				spafinloc = 3
+				cumnostd = 1
 				gs 'cum_manage'
 				gs 'stat'
 				'<center><video autoplay loop src="images/locations/city/citycenter/studio/sex/doublean<<rand(1,4)>>.mp4" width="500"></video></center>'
@@ -1528,8 +1573,10 @@ if $ARGS[0] = '14':
 			gs 'boyStat', $npclastgenerated
 			pfcounter += 1
 			cumprecheck = 1
+			cumnostd = 1
 			gs 'cum_manage'
 			spafinloc = 12
+			cumnostd = 1
 			gs 'cum_manage'
 			bj50 -= 1
 			stat['bj'] += 1
@@ -1542,6 +1589,7 @@ if $ARGS[0] = '14':
 			gs 'boyStat', $npclastgenerated
 			pfcounter += 1
 			cumprecheck = 1
+			cumnostd = 1
 			gs 'cum_manage'
 			spafinloc = 13
 			gs 'cum_manage'
@@ -1555,6 +1603,7 @@ if $ARGS[0] = '14':
 			gs 'boyStat', $npclastgenerated
 			pfcounter += 1
 			cumprecheck = 1
+			cumnostd = 1
 			gs 'cum_manage'
 			if rand(0,1)=0:
 				spafinloc = 11
@@ -1572,6 +1621,7 @@ if $ARGS[0] = '14':
 			gs 'boyStat', $npclastgenerated
 			pfcounter += 1
 			spafinloc = 3
+			cumnostd = 1
 			gs 'cum_manage'
 			anal50 -= 1
 			stat['anal'] += 1
@@ -1583,6 +1633,7 @@ if $ARGS[0] = '14':
 			gs 'boyStat', $npclastgenerated
 			pfcounter += 1
 			cumprecheck = 1
+			cumnostd = 1
 			gs 'cum_manage'
 			bukkloc = rand(0,6)
 			if bukkloc = 0:
@@ -1600,6 +1651,7 @@ if $ARGS[0] = '14':
 			else
 				spafinloc = 15
 			end
+			cumnostd = 1
 			gs 'cum_manage'
 			bukk50 -= 1
 		end
@@ -1609,6 +1661,7 @@ if $ARGS[0] = '14':
 			gs 'npcgeneratec', 0, 'Porn Fan', rand(22,38)
 			gs 'boyStat', $npclastgenerated
 			pfcounter += 1
+			cumnostd = 1
 			gs 'cum_manage'
 			sex50 -= 1
 		end

+ 15 - 2
locations/saveupdater.qsrc

@@ -410,7 +410,7 @@ if arrsize('$bodimgsets') = 30:
 end
 
 !! reorganizes old spell variables into new arrrays
-if spell_update ! 1:
+if spell_update = 0:
 	spell_update = 1
 
 	if spelltuman = 1:spellKnown['fog'] = 1
@@ -448,6 +448,12 @@ if spell_update ! 1:
 	if spellwater5 = 1:spellKnown['greatflood'] = 1
 end
 
+if spell_update < 2:
+	spell_update = 2
+	killvar '$basicSpells'
+end
+gs 'spellList'
+
 !! Updater for manna > mana conversions
 
 if pcs_manna ! 0:
@@ -568,7 +574,13 @@ if npcSex[14] > 0: npcSex[14] = 0 and npc_sex['A14'] = 1
 
 if npc_dob['A34'] ! 20001219: npc_dob['A34'] = 20001219
 
-if telefon_rev = 0:
+if telefon_rev < 2:
+	killvar '$contact'
+	killvar '$contactIcon'
+	killvar '$contactOCode'
+	killvar '$contactOSche'
+	killvar '$contactICode'
+	killvar '$contactISche'
 	gs 'telefon', 'AddContact', 'A29', 'icon_npc1',"gs 'telefon', 'Phone_call'","hour >= 8 and hour <= 20"
 	if telkat > 0:
 		gs 'telefon', 'AddContact', 'A219', 'icon_kat',"$telsob = 'Kate' & gt 'telefon', 'mobilaraz'","hour >= 8 and hour <= 20"
@@ -576,6 +588,7 @@ if telefon_rev = 0:
 	if npc_QW['A192'] > 0:
 		gs 'telefon', 'AddContact', 'A192', 'icon_nastja',"gs 'telefon', 'start'","hour >= 8 and hour <= 20"
 	end
+	telefon_rev = 2
 end
 
 --- saveupdater ---------------------------------

+ 34 - 0
locations/spell.qsrc

@@ -130,6 +130,7 @@ if $ARGS[0] = 'curewounds2':
 	if SuccessValue > 0:
 		! Remove all pain
 		killvar 'pain'
+		pcs_health = pcs_vital * 10 + pcs_stren * 5 + 1000
 		'<b><font color = green>You feel yourself coursing with life.  All pain is gone.</font></b>'
 	else
 		'<b>The spell fizzles.  Nothing seems to happen.</b>'
@@ -202,6 +203,39 @@ if $ARGS[0] = 'shower':
 	end
 end
 
+if $ARGS[0] = 'makeup':
+	if SuccessValue > 0:
+		! Argument should be 3 digit string representing Makeup to apply
+		$MakeupArg = $ARGS[2]
+		if $MakeupArg = '': $MakeupArg = '210'
+		! Arg[0] = Makeup Amount (0-3)
+		MakeupArg[0] = val(mid($MakeupArg,1,1))
+		! Arg[1] = Lip Balm application (0-1)
+		MakeupArg[1] = val(mid($MakeupArg,2,1))
+		! Arg[2] = False lash Application (0-2)
+		MakeupArg[2] = val(mid($MakeupArg,3,1))
+
+		! Brush hair
+		pcs_hairbsh = 1
+		! Apply Makeup
+		pcs_makeup = MakeupArg[0]
+		! Apply Lipbalm
+		pcs_lipbalm += 8*MakeupArg[1]
+		! Apply False Lashes
+		if MakeupArg[2] = 1 and pcs_lashes < 3:
+			pcs_lashes = 3
+		elseif MakeupArg[2] = 2 and pcs_lashes < 4:
+			pcs_lashes = 4
+		end
+
+		killvar 'MakeupArg'
+		killvar '$MakeupArg'
+		'<b><font color = green>makeup is applied to your face.</font></b>'
+	else
+		'<b>The spell fizzles.  Nothing seems to happen.</b>'
+	end
+end
+
 if $ARGS[0] = 'cosmetica':
 	if SuccessValue > 0:
 		! Take a Shower

+ 33 - 6
locations/spellBook.qsrc

@@ -61,13 +61,40 @@ else
 			</tr>"
 	$spellBookVar['RowCode'] = {
 		if spellKnown[$ThisSpellName] = 1:
-			$result = " 
-			<tr>
-				<td align='left'><a href=""EXEC: gs 'castSpell', '<<$ThisSpellName>>'& <<$spellBookVar['CodeAfterSpell']>>""><<$spellName[$ThisSpellName]>></a></td>
-				<td align='right'><<spellMana[$ThisSpellName]>></td>
-				<td align='left'><<$spellDesc[$ThisSpellName]>></td>
-			</tr>"
+			if $spellOptDesc[$ThisSpellName] = '':
+				$tmpHTMLCode = " 
+				<tr>
+					<td align='left'><a href=""EXEC: gs 'castSpell', '<<$ThisSpellName>>'& <<$spellBookVar['CodeAfterSpell']>>""><<$spellName[$ThisSpellName]>></a></td>
+					<td align='right'><<spellMana[$ThisSpellName]>></td>
+					<td align='left'><<$spellDesc[$ThisSpellName]>></td>
+				</tr>"
+			else
+				$tmpHTMLCode = " 
+				<tr>
+					<td align='left'><<$spellName[$ThisSpellName]>></td>
+					<td align='right'><<spellMana[$ThisSpellName]>></td>
+					<td align='left'><<$spellDesc[$ThisSpellName]>></td>
+				</tr>"
+				n=0
+				:RowCodeLoop99
+				if n < arrsize('<<$spellOptDesc[$ThisSpellName]>>'):
+					$spellBookVar['tmpVal'] = dyneval('$result = <<$spellOptVal[$ThisSpellName]>>[<<n>>]')
+					$spellBookVar['tmpName']= dyneval('$result = <<$spellOptDesc[$ThisSpellName]>>[<<n>>]')
+					$tmpHTMLCode += " 
+					<tr>
+						<td align='left'></td>
+						<td align='left'><a href=""EXEC: gs 'castSpell', '<<$ThisSpellName>>', '<<$spellBookVar['tmpVal']>>' & <<$spellBookVar['CodeAfterSpell']>>""><<$spellBookVar['tmpName']>></a></td>
+						<td align='left'></td>
+					</tr>"
+					n += 1
+					jump 'RowCodeLoop99'
+				end
+
+			end
+			$result = $tmpHTMLCode
 			spellBookVar['Counter'] += 1
+			killvar '$tmpHTMLCode'
+			killvar 'n'
 		else
 			$result = ''
 		end

+ 84 - 12
locations/spellList.qsrc

@@ -8,13 +8,19 @@
 !	spellTime['spellname'] = How much time will pass in the casting of the spell
 !	spellDiff['spellname'] = Difficulty to learn and cast this spell
 !	$spellName['spellname'] = Pretty name for the spell
-!	$sellDesc['spellname'] = Description of what the spell does.
+!	$psellDesc['spellname'] = Description of what the spell does.
+!	$spellReq['spellname'] = Prerequisite Spell needed to learn this spell
+!	$spellOptDesc['spellname'] = name of an array of Option Descriptions for this spell
+!	$spellOptVal['spellname'] = name of an array of values to pass for Spell Options
 !
 ! There are also defined lists of spells grouped together
 !	$combatSpells = Spells that can be used in Combat
 !	$nonComSpells = Non-Combat Spells, ones that can be executed in any location.
 !	---
 !	$basicSpells = basic spells that are taught by Tatiana
+!	$healSpells = Healing Spells
+!	$beautySpells = Beauty Spells
+!	$librarySpells = Spelsl Researchable in the Library
 !	$fireSpells = Fire-based spells
 !	$electSpells = Electricity based spells
 !	$earthSpells = Earth magic spells
@@ -53,13 +59,14 @@ spellMana['curewounds'] = 10000
 spellTime['curewounds'] = 30
 spellDiff['curewounds'] = 25
 $spellName['curewounds'] = "Cure Wounds"
-$spellDesc['curewounds'] = "You feel your body's wounds begin to heal."
+$spellDesc['curewounds'] = "You feel your bodys wounds begin to heal."
 !curewounds2
 spellMana['curewounds2'] = 100000
 spellTime['curewounds2'] = 60
 spellDiff['curewounds2'] = 75
 $spellName['curewounds2'] = "Greater Cure Wounds"
 $spellDesc['curewounds2'] = "You feel your body heal to perfection."
+$spellReq['curewounds2'] = 'curewounds'
 !painblock
 spellMana['painblock'] = 1000
 spellTime['painblock'] = 1
@@ -78,12 +85,60 @@ spellTime['shower'] = 1
 spellDiff['shower'] = 1
 $spellName['shower'] = "Shower"
 $spellDesc['shower'] = "Clean and refresh yourself as if you have taken a shower."
+!makeup
+spellMana['makeup'] = 100
+spellTime['makeup'] = 5
+spellDiff['makeup'] = 15
+$spellName['makeup'] = "Makeup"
+$spellDesc['makeup'] = "Apply Makeup to yourself magically."
+$spellOptDesc['makeup'] = '$MakeupSet'
+$spellOptVal['makeup'] = '$MakeupSetVal'
+if $routine1+$routine2+$routine3+$routine4 = '':
+	killvar '$MakeupSet'
+	killvar '$MakeupSetVal'
+	$MakeupSet[0] = 'No Makeup'
+	$MakeupSetVal[0] = '000'
+	$MakeupSet[1] = 'Light Makeup'
+	$makeupSetVal[1] = '110'
+	$MakeupSet[2] = 'Vibrant Makeup'
+	$makeupSetVal[2] = '210'
+	$MakeupSet[3] = 'Heavy Makeup'
+	$makeupSetVal[3] = '310'
+else
+	killvar '$MakeupSet'
+	killvar '$MakeupSetVal'
+	$MakeupSet[0] = 'No Makeup'
+	$MakeupSetVal[0] = '000'
+	i=1
+	if $routine1 ! '':
+		$MakeupSet[i] = $routine1custname
+		$MakeupSetVal[i] = $routine1
+		i += 1
+	end
+	if $routine2 ! '':
+		$MakeupSet[i] = $routine2custname
+		$MakeupSetVal[i] = $routine2
+		i += 1
+	end
+	if $routine3 ! '':
+		$MakeupSet[i] = $routine3custname
+		$MakeupSetVal[i] = $routine3
+		i += 1
+	end
+	if $routine4 ! '':
+		$MakeupSet[i] = $routine4custname
+		$MakeupSetVal[i] = $routine4
+		i += 1
+	end
+	killvar 'i'
+end
 !cosmetica
 spellMana['cosmetica'] = 10000
 spellTime['cosmetica'] = 5
 spellDiff['cosmetica'] = 50
 $spellName['cosmetica'] = "Cosmetica"
 $spellDesc['cosmetica'] = "Clean and tidy yourself, completely beautifying yourself; hair, makeup, grooming of all kinds."
+$spellReq['cosmetica'] = 'makeup'
 !glamour
 spellMana['glamour'] = 500
 spellTime['glamour'] = 1
@@ -133,6 +188,7 @@ spellTime['multiclone'] = 0
 spellDiff['multiclone'] = 2
 $spellName['multiclone'] = "Multi-Clone"
 $spellDesc['multiclone'] = "Summon three clones of yourself and slip out of the enemys sight."
+$spellReq['multiclone'] = 'clone'
 !energo
 spellMana['energo'] = 50
 spellTime['energo'] = 0
@@ -169,6 +225,7 @@ spellTime['burninghands'] = 0
 spellDiff['burninghands'] = 7
 $spellName['burninghands'] = "Burning Hands"
 $spellDesc['burninghands'] = "A torrent of flames jets from your hands."
+$spellReq['burninghands'] = 'scaldingtouch'
 !firebarrier
 spellMana['firebarrier'] = 150
 spellTime['firebarrier'] = 0
@@ -211,6 +268,7 @@ spellTime['1000birds'] = 0
 spellDiff['1000birds'] = 9
 $spellName['1000birds'] = "Dance of a Thousand Birds"
 $spellDesc['1000birds'] = "The air is filled with small lightning bolts leaping through the air with shrieks."
+$spellReq['1000birds'] = 'lightning'
 !dancingsphere
 spellMana['dancingsphere'] = 500
 spellTime['dancingsphere'] = 0
@@ -355,7 +413,8 @@ $nonComSpells[4] = 'curewounds2'
 $nonComSpells[5] = 'painblock'
 $nonComSpells[6] = 'berserk'
 $nonComSpells[7] = 'shower'
-$nonComSpells[8] = 'cosmetica'
+$nonComSpells[8] = 'makeup'
+$nonComSpells[9] = 'cosmetica'
 
 
 ! Basic Spells
@@ -366,14 +425,27 @@ $basicSpells[3] = 'wind'
 $basicSpells[4] = 'multiclone'
 $basicSpells[5] = 'energo'
 $basicSpells[6] = 'haste'
-$basicSpells[7] = 'regenerate'
-$basicSpells[8] = 'curedisease'
-$basicSpells[9] = 'curewounds'
-$basicSpells[10] = 'curewounds2'
-$basicSpells[11] = 'painblock'
-$basicSpells[12] = 'berserk'
-$basicSpells[13] = 'shower'
-$basicSpells[14] = 'cosmetica'
+$basicSpells[7] = 'berserk'
+
+!Healing Spells
+$healSpells[0] = 'painblock'
+$healSpells[1] = 'curewounds'
+$healSpells[2] = 'curewounds2'
+$healSpells[3] = 'curedisease'
+$healSpells[4] = 'heal'
+$healSpells[5] = 'regenerate'
+
+! Beauty Spells
+$beautySpells[0] = 'shower'
+$beautySpells[1] = 'makeup'
+$beautySpells[2] = 'cosmetica'
+
+
+! Researchable Spells
+$librarySpells[0] = 'painblock'
+$librarySpells[1] = 'shower'
+$librarySpells[2] = 'makeup'
+$librarySpells[3] = 'cosmetica'
 
 
 ! Elemental Spell Groups
@@ -427,7 +499,7 @@ if $ARGS[0] = 'teacherActions':
 	spellDifficulty = $spellDiff[$ThisSpellName]
 	if spellDifficulty = 0: spellDifficulty = 1
 	if i < ThisArraySize:
-		if pcs_magik >= spellDifficulty and spellKnown[$ThisSpellName] = 0:
+		if pcs_magik >= spellDifficulty and spellKnown[$ThisSpellName] = 0 and ($spellReq[$ThisSpellName] = '' or spellKnown[$spellReq[$ThisSpellName]]):
 			dynamic "act 'Learn <<$spellName[$ThisSpellName]>> (1:00)':
 				cla
 				if pcs_mana >= 1000:

+ 4 - 4
locations/street_event.qsrc

@@ -157,7 +157,7 @@ if $ARGS[1] = 'extras':
 	end
 	
 	!! Divorce Party
-	if (hour > 9 or hour < 3) and $loc ! 'pavIndustrial' and divorce_party = 0 and hotcat > 4 and rand(1,100) > 95:
+	if (hour > 9 or hour < 3) and $loc ! 'pavIndustrial' and divorce_party < 2 and hotcat > 4 and rand(1,100) > 95:
 		*clr & cla
 		menu_off = 1
 		gs 'stat'
@@ -175,11 +175,11 @@ if $ARGS[1] = 'extras':
 			*nl
 			'"It''s to make out with a pretty little thing like you," Marta grins and gives you (a very poor attempt at) a wink. "So? What do you say? Wanna give her a little kiss?"'
 				
-			act 'Keep walking': gt $loc, $metka
+			act 'Keep walking': divorce_party += 1 & gt $loc, $metka
 				
 			act 'Agree':
-				divorce_party = 1
 				*clr & cla
+				divorce_party = 2
 				gs 'arousal', 'kiss', 5
 				gs 'stat'
 				'<center><img <<$set_imgh>> src="images/locations/shared/divorcee/makeout.jpg"></center>'
@@ -1622,7 +1622,7 @@ if $ARGS[1] = 'main':
 					'<<$streetev_title>>'
 					'<center><img <<$set_imgh>> src="images/locations/shared/street/city/homeless.jpg"></center>'
 					'As you walk down the street you pass a couple of homeless men laying on a metro gate, using it for warmth in the freezing conditions.'
-					act 'Ignore her':gt $loc
+					act 'Ignore them':gt $loc
 				else
 					gt $loc
 				end

+ 1 - 1
locations/street_walker.qsrc

@@ -90,7 +90,7 @@ if $ARGS[0] = 'work':
 		prst_loc = 2
 	end
 	gs 'street_walker', 'start'
-	'You do a last minute check of your outfit and makeup, in a reflection in the window of a store. Yep you look good and like your are open for business. With a final look you turn and make your way down the sidewalk looking for a customer.'
+	'You do a last minute check of your outfit and makeup in a reflection in the window of a store. Yep, you look good and like you are open for business. With a final look you turn and make your way down the sidewalk looking for a customer.'
 	act 'Work the street': gt 'street_walker', 'event1'
 	act 'Leave (don''t work)': gt 'street_walker', 'end'
 end

+ 17 - 6
locations/telefon.qsrc

@@ -13,14 +13,15 @@
 ! $contactOSche[] = If statement code to determine schedule for outbound calls
 ! $contactICode[] = Code to execute for Incoming call
 ! $contactISche[] = if statement code for schedule of incoming calls
+! contactAnon[] = 0 if contact number is known to Sveta, 1 for Anonymous
 ! contactToday[] = Calls from this contact today
 ! contactWeek[] = Calls from this contact this week
 ! contactLastCall[] = last time this Contact called
 !
 ! Add a contact with AddContact
-!	gs 'telefon', 'AddContact', <NPC Code>, <Icon for NPC>, <Code for Incoming Call>, <Limiter for Incoming Call>, <Code for Outgoing Call>, <Limiter for Outgoign Call>
+!	gs 'telefon', 'AddContact', <NPC Code>, <Icon for NPC>, <Code for Incoming Call>, <Limiter for Incoming Call>, <Code for Outgoing Call>, <Limiter for Outgoign Call>, <Anonymous=1>
 !  Example, to Add Mother:
-!	gs 'telefon', 'AddContact', 'A29', 'icon_npc1', "gs 'telefon', 'Phone_call'", "hour >= 8 and hour <= 20", "gs 'telefon', 'lover'", "hour >= 8 and hour <= 20"
+!	gs 'telefon', 'AddContact', 'A29', 'icon_npc1', "gs 'telefon', 'Phone_call'", "hour >= 8 and hour <= 20", "gs 'telefon', 'lover'", "hour >= 8 and hour <= 20", 0
 !
 ! Remove a contact with DeleteContact
 !	gs 'telefon', 'DeleteContact', <NPC Code>
@@ -151,9 +152,14 @@ if $ARGS[0] = 'IncomingCallChooser':
 		if $contactICode[i] ! "":
 			if dyneval('result = iif(<<$contactISche[i]>>,1,0)') = 1:
 				j = arrsize('$telefIncCall')
+				if contactAnon[i] = 1:
+					$telefIncIcon[j] = "images/system/phone/decline.png"
+					$telefIncName[j] = "Unknown Caller"
+				else
+					$telefIncIcon[j] = $contactIcon[i]
+					$telefIncName[j] = $npc_nickname[$contact[i]]
+				end
 				$telefIncCall[j] = $contactICode[i]
-				$telefIncIcon[j] = $contactIcon[i]
-				$telefIncName[j] = $npc_nickname[$contact[i]]
 				$telefIncNPC[j] = $contact[i]
 			end
 		end
@@ -1002,15 +1008,17 @@ if $ARGS[0] = 'AddContact':
 	! $ARGS[4] = If statement code to determine schedule for outbound calls
 	! $ARGS[5] = Code to execute for Incoming call
 	! $ARGS[6] = if statement code for schedule of incoming calls
+	!  ARGS[7] = Anonymous? 0 if not, 1 if yes
 	$telefonCon['NPC'] = $ARGS[1]
 	$telefonCon['Icon'] = $ARGS[2]
 	$telefonCon['OutCode'] = $ARGS[3]
 	$telefonCon['OutSched'] = $ARGS[4]
 	$telefonCon['InCode'] = $ARGS[5]
 	$telefonCon['InSched'] = $ARGS[6]
+	telefonCon['Anonymous'] = ARGS[7]
 	telefonCon['ContactListID'] = arrpos('$contact',$telefonCon['NPC'])
 	if telefonCon['ContactListID'] = -1:
-		telefonCon['ContactListID'] = len($contact)
+		telefonCon['ContactListID'] = arrsize('$contact')
 		$contact[telefonCon['ContactListID']] = $telefonCon['NPC']
 	end
 	$contactIcon[telefonCon['ContactListID']] = $telefonCon['Icon']
@@ -1018,6 +1026,7 @@ if $ARGS[0] = 'AddContact':
 	$contactOSche[telefonCon['ContactListID']] = $telefonCon['OutSched']
 	$contactICode[telefonCon['ContactListID']] = $telefonCon['InCode']
 	$contactISche[telefonCon['ContactListID']] = $telefonCon['InSched']
+	contactAnon[telefonCon['ContactListID']] = telefonCon['Anonymous']
 
 	killvar 'telefonCon'
 	killvar '$telefonCon'
@@ -1046,7 +1055,9 @@ if $ARGS[0] = 'ContactList':
 	i=0
 	:contactloop2
 	if i < arrsize('$contact'):
-		$telefon['body'] += dyneval($telefon['contact'],$contactIcon[i],$npc_nickname[$contact[i]],$contactOCode[i],$contactOSche[i])
+		if contactAnon[i] = 0:
+			$telefon['body'] += dyneval($telefon['contact'],$contactIcon[i],$npc_nickname[$contact[i]],$contactOCode[i],$contactOSche[i])
+		end
 		i += 1
 		jump 'contactloop2'
 	end