Browse Source

Merge remote-tracking branch 'KeyMasterOfGozer/master'

KevinSmarts 5 years ago
parent
commit
ceb9775361

+ 1 - 0
glife.qproj

@@ -1115,6 +1115,7 @@
 	<Location name="BanSexType"/>
 	<Folder name="Magic">
 		<Location name="castSpell"/>
+		<Location name="spellList"/>
 		<Location name="spell_teleport"/>
 		<Location name="treeCircle"/>
 		<Location name="treeCircActs"/>

+ 4 - 13
locations/castSpell.qsrc

@@ -9,16 +9,7 @@
 !	Example:
 !		gs 'castSpell', 'teleport', 'CentralPark'
 
-!teleport
-spellMana['teleport'] = 1000
-spellTime['teleport'] = 20
-spellWill['teleport'] = 20
-spellDiff['teleport'] = 20
-!glamour
-spellMana['glamour'] = 500
-spellTime['glamour'] = 1
-spellWill['glamour'] = 15
-spellDiff['glamour'] = 30
+gs 'spellList'
 
 spellSuccess = 0
 
@@ -48,7 +39,7 @@ if spellKnown[$SpellName] = 1:
 		!Failure
 		spellSuccess = 0
 		splcstng_exp += rand(1,spellDiff[$SpellName]) / 2
-	else:
+	else
 		!Critical Failure
 		spellSuccess = -1
 		splcstng_exp += rand(1,spellDiff[$SpellName]) / 2
@@ -60,7 +51,7 @@ if spellKnown[$SpellName] = 1:
 		manaCost = spellMana[$SpellName] / 2
 	elseif spellSuccess = -1:
 		manaCost = spellMana[$SpellName] * 2
-	else:
+	else
 		manaCost = spellMana[$SpellName]
 	end
 	pcs_manna -= manaCost
@@ -79,7 +70,7 @@ gs 'stat'
 
 $SpellExec = "gs 'spell_<<$SpellName>>', '<<spellSuccess>>'<<$SpellArgs>>"
 
-dynamic $SpellExec
+result = dyneval($SpellExec)
 
 killvar '$SpellName'
 killvar '$SpellArgs'

+ 154 - 16
locations/lab.qsrc

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

+ 28 - 0
locations/spellList.qsrc

@@ -0,0 +1,28 @@
+#spellList
+
+!teleport
+spellMana['teleport'] = 1000
+spellTime['teleport'] = 20
+spellDiff['teleport'] = 20
+$spellName['teleport'] = "Teleport"
+$spellDesc['teleport'] = "You can move from one Fairy Circle to another."
+!glamour
+spellMana['glamour'] = 500
+spellTime['glamour'] = 1
+spellDiff['glamour'] = 30
+$spellName['teleport'] = "Glamour"
+$spellDesc['teleport'] = "Change your appearance."
+!bodymod
+spellMana['bodymod'] = 40
+spellTime['bodymod'] = 30
+spellDiff['bodymod'] = 0
+$spellName['bodymod'] = "Body Modification"
+$spellDesc['bodymod'] = "Change your appearance."
+
+
+
+! List Combat Spells for use in fight scenerios
+combatSpells[0] = ''
+
+
+--- spellList ---------------------------------

+ 5 - 3
locations/spell_teleport.qsrc

@@ -18,7 +18,7 @@ if didItWork > 0:
 	wait 1000
 	if $treeCircArg[$NewLocation] = "":
 		gt $treeCircLoc[$NewLocation]
-	else:
+	else
 		gt $treeCircLoc[$NewLocation], $treeCircArg[$NewLocation]
 	end
 elseif didItWork < 0:
@@ -27,10 +27,10 @@ elseif didItWork < 0:
 	wait 1000
 	if $treeCircArg[$randomLoc] = "":
 		gt $treeCircLoc[$randomLoc]
-	else:
+	else
 		gt $treeCircLoc[$randomLoc], $treeCircArg[$randomLoc]
 	end
-else:
+else
 	'You feel drained, but the energy fizzles out and nothing happens'
 end
 
@@ -38,4 +38,6 @@ killvar '$randomLoc'
 killvar '$NewLocation'
 killvar didItWork
 
+result = ""
+
 -- spell_teleport ---------------------------------

+ 2 - 2
locations/treeCircActs.qsrc

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

+ 1 - 1
locations/treeCircEntry.qsrc

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

+ 3 - 3
locations/treeCircle.qsrc

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