Browse Source

Add in Tree Circle teleport locations and events

This is a preliminary add in.  It is not yet working.  I have added a stub in to each park/forest location ot get to the treeCricle, and a stub for the event to get the teleport spell.  The user should be able to teleport to locations he has found.
Mike Greene 5 years ago
parent
commit
be47590dea

+ 3 - 0
glife.qproj

@@ -1099,5 +1099,8 @@
 	</Folder>
 	<Location name="LBZhouse"/>
 	<Location name="BanSexType"/>
+	<Location name="castSpell"/>
+	<Location name="treeCircle"/>
+	<Location name="treeCircActs"/>
 	</Structure>
 </QGen-project>

+ 29 - 1
locations/MagEncounterFairy.qsrc

@@ -130,7 +130,7 @@ if $ARGS[0] = 'fairy_chat':
 			act 'Sure':
 				cla
 				fday_surprise += 1
-				fairy_surprise = RAND(1,9)
+				fairy_surprise = RAND(1,10)
 				if fairy_surprise =< 2:
 					pcs_nips += 5
 					pcs_horny += 10
@@ -175,6 +175,34 @@ if $ARGS[0] = 'fairy_chat':
 					if clit_size >= 80:'<center><img <<$set_imgh>> src="images/pc/body/clit/clit5.jpg"></center>'
 					'You hear a giggle and you feel a warm tingle at the top of your slit, you reach down and part your pussy lips with your fingers.'
 					'Your clitoris has shunk, and seems to more demure than before! You can''t help but rub all around it, feeling the warm tingling and the moisture build at the entrance.'
+				elseif fairy_surprise <= 6:
+					! Teleport
+					if spellKnown['teleport'] = 0:
+						!show and teach Teleport spell
+						'The Fairy wraps her arms around your thumb and lightly tugs you over to a mysterious circle of trees.'
+						''
+						'She says, "You may have seen these circles of trees around the lands.  Fairies planted them long ago and used their magic to tether them together.  Since you also have Fae magic, I can show you how to use them."'
+						''
+						'She continues,"Most of the work was already done in the binding.  In a way, the trees of each circle are the same trees.  You just have to stand inside the circle, then hold in your mind a picture of another circle that you have been to before.  Then you say the word <i>inla</i>.  If your will is strong enough and you have enough magical energy, your energy can be used to enact your will."'
+						''
+						'She giggles.  "This lets you dance through any field you like!  "Let''s go!"'
+						''
+						'She grunts and give you a nudge into the circle.  The view outside the circle seems blurry and a little indistinct.  The Fairy's face scrunches up in concentration as she incants "inla", and the world outside seems to shimmer a little.  You step out of the circle...'
+						spellKnown['teleport'] = 1
+						gt 'gadforest', '1'
+					else:
+						!take the user to random location
+
+						'The Fairy nudges you into the nearby tree circle, and giggles as you hear her incant "inla", then flies out of the ring.'
+
+						$tpRand[0]='GadForest'
+						$tpRand[1]='PushkinPark'
+						$tpRand[2]='Village'
+
+						gt 'treeCircle', $tpRand[rnd(0,2)]
+
+						killvar $tpRand
+					end
 				elseif fairy_surprise <= 7:
 					min_arousal += rand(1,5)
 					'You hear a giggle, then sparkles surround your body and you get all tingly.'

+ 28 - 0
locations/castSpell.qsrc

@@ -0,0 +1,28 @@
+# castSpell
+! Used to cast a spell
+!
+! ARGS[0] is the spell being cast
+!	Valid Spells are
+!		teleport
+
+!teleport
+spellMana['teleport'] = 1000
+spellTime['teleport'] = 20
+spellWill['teleport'] = 20
+!glamour
+spellMana['glamour'] = 500
+spellTime['glamour'] = 1
+spellWill['glamour'] = 15
+
+if spellKnown[ARGS[0]] = 1:
+	pcs_manna -= spellMana[ARGS[0]]
+	pcs_willpwr -= spellWill[ARGS[0]]
+	arouseVal = spellMana[ARGS[0]] / 50
+	gs 'arousal', 'voyeur', arouseVal
+	minut -= arouseVal
+	killvar arouseVal
+end
+
+minut += spellTime[ARGS[0]]
+
+--- castSpell ---------------------------------

+ 7 - 0
locations/etoexhib.qsrc

@@ -214,6 +214,13 @@ if $ARGS[0] = 'pos6':
 
 		act 'Leave':gt 'dachi'
 	end
+
+	! Setup for teleport circle
+	if tpKnown['Village'] = 1:
+		act 'Enter the hidden circle of trees': gt 'treeCircle', 'Village'
+	else:
+		act 'Investigate a mysterious copse of trees': gt 'treeCircle', 'Village'
+	end
 end
 
 if $ARGS[0] = 'pos7':

+ 7 - 0
locations/gadforest.qsrc

@@ -120,6 +120,13 @@ if $ARGS[0] = '1':
 		end
 	end
 
+	! Setup for teleport circle
+	if tpKnown['GadForest'] = 1:
+		act 'Enter the hidden circle of trees': gt 'treeCircle', 'GadForest'
+	else:
+		act 'Investigate a mysterious copse of trees': gt 'treeCircle', 'GadForest'
+	end
+
 	! can only be naked if successfully complete Mira gadforest_event, nude_event
 	if $clothingworntype ! 'nude' and clothesAtLocation = 0 and temper >= 15 and sunWeather = 1 and hour>=6 and hour<=20 and miratalkforest > 1 and MiraLoc ! 3 and (pcs_inhib >= 25 or exhibitionist_lvl > 1):
 		act'Strip naked':

+ 7 - 0
locations/lug.qsrc

@@ -122,6 +122,13 @@ if $ARGS[0] = 'prut2':
         gt 'lug', 'prut'
     end
 
+	! Setup for teleport circle
+	if tpKnown['PushkinPark'] = 1:
+		act 'Enter the hidden circle of trees': gt 'treeCircle', 'PushkinPark'
+	else:
+		act 'Investigate a mysterious copse of trees': gt 'treeCircle', 'PushkinPark'
+	end
+
 	if MagikDostup ! 1 and rand (1, 4) <= pcs_magik and (hour <=6 or hour >=19):
 		if knowsfairy < 1 and fairyskip = 0:
 			$metka = 'prut2'

+ 7 - 0
locations/park.qsrc

@@ -84,6 +84,13 @@ if $ARGS[0] = 'start':
 
 	act 'Walk around the park (1:00)': gt 'parkdin'
 
+	! Setup for teleport circle
+	if tpKnown['CentralPark'] = 1:
+		act 'Enter the hidden circle of trees': gt 'treeCircle', 'CentralPark'
+	else:
+		act 'Investigate a mysterious copse of trees': gt 'treeCircle', 'CentralPark'
+	end
+
 	if hour >= 10 and hour <= 22:
 		act 'Have some food in the cafe': minut += 5 & gt 'ParkKafe', 'start'
 	end

+ 8 - 0
locations/placer_gskver.qsrc

@@ -148,6 +148,14 @@ end
 !_________________Change the date/nights, seasons. End.___________________________
 
 
+!Setup for teleport circle
+if tpKnown['PavlovskPark'] = 1:
+	act 'Enter the hidden circle of trees': gt 'treeCircle', 'PavlovskPark'
+else:
+	act 'Investigate a mysterious copse of trees': gt 'treeCircle', 'PavlovskPark'
+end
+
+
 if soniaPS=5 and rand(1,10)=>9 and hour>14 and hour<20:
 	''
 	'<b>While you walk past a row of bushes, you hear some strange sounds coming from behind them.</B>'

+ 25 - 0
locations/treeCircActs.qsrc

@@ -0,0 +1,25 @@
+#treeCircActs
+! Handles making Action Entries for Different Tree Circle Entry Points
+!	Call as a GoSub with ARGS:
+!	ARGS[0] = Location Identifier	['CentralPark']
+!	ARGS[1] = Localtion Label		['Central Park']
+!	ARGS[2] = location leaving to	['park']
+!	ARGS[3] = parameter for prev	['start']
+
+
+if tpKnown[ARGS[0]] = 1:
+	if $EntryPoint = ARGS[0]:
+		act 'Leave the cirlce to <<ARGS[1]>>':gt ARGS[2], ARGS[3]
+	else:
+		if canTeleport = 1:
+			act 'Will yourself to <<ARGS[1]>>':
+				gs 'castSpell', 'teleport'
+				'The blur you see just outside the ring seems to shift.  You step outside the ring.'
+				wait 750
+				gt ARGS[2], ARGS[3]
+			end
+		end
+	end;
+end
+
+--- treeCircActs ---------------------------------

+ 40 - 0
locations/treeCircle.qsrc

@@ -0,0 +1,40 @@
+#treeCircle
+! The Magical Teleport Tree Circle
+!
+! ARGS[0] is your entrance point as those listed below.  If the user doesn't have the magical ability,
+!		they will only be allowed to leave back from their entry point.
+
+$EntryPoint = ARGS[0]
+
+! Learn the current entry point
+tpKnown[$EntryPoint] = 1
+
+*clr & cla
+
+'<center><img <<$set_imgh>> src="images/locations/shared/someimage.jpg"></center>'
+
+'Description of Circle'
+
+! Determine if this user can teleport at all.
+canTeleport = 0
+if spellKnown['teleport'] = 1:
+	if pcs_manna > spellMana['teleport']:
+		canTeleport = 1
+		'Instructions for concentrating on Locations'
+	else:
+		'Text for being too tired.'
+	end
+else:
+	'Text for this circle of trees feeling important'
+end
+
+! Setup Actions for locations when applicable
+gs 'treeCircActs', 'CentralPark', 'Central Park', 'park', 'start'
+gs 'treeCircActs', 'PavlovskPark', 'Pavlovsk Park', 'placer_gskver', ''
+gs 'treeCircActs', 'GadForest', 'Gadukino Forest', 'gadforest', '1'
+gs 'treeCircActs', 'PushkinPark', 'Pushkin Park', 'lug', 'prut2'
+gs 'treeCircActs', 'Village', 'Communal Village Spring', 'etoexhib', 'pos6'
+
+killvar canTeleport
+
+--- treeCircle ---------------------------------