1
0
فهرست منبع

Merge branch 'master' of https://git.catrenelle.com/Kevin_Smarts/glife

3xpurt 6 سال پیش
والد
کامیت
57a67c6a49
6فایلهای تغییر یافته به همراه331 افزوده شده و 21 حذف شده
  1. 28 21
      glife.qproj
  2. 87 0
      locations/crossfit_north_box
  3. 55 0
      locations/crossfit_north_girlmeet
  4. 85 0
      locations/crossfit_north_record
  5. 71 0
      locations/crossfit_north_wod
  6. 5 0
      locations/fit

+ 28 - 21
glife.qproj

@@ -1083,30 +1083,37 @@
       <Location name="koncepod1"/>
     </Folder>
     <Folder name="CumManage">
-		<Location name="Cum_Manage"/>
-		<Location name="cum_arrcheat"/>
-		<Location name="cum_cleanup"/>
-		<Location name="cum_call"/>
-		<Location name="pregriskeval"/>
-		<Location name="cuminsidereact"/>
+  		<Location name="Cum_Manage"/>
+  		<Location name="cum_arrcheat"/>
+  		<Location name="cum_cleanup"/>
+  		<Location name="cum_call"/>
+  		<Location name="pregriskeval"/>
+  		<Location name="cuminsidereact"/>
     </Folder>
     <Folder name="Ibiza">
-		<Location name="IbizaStart"/>
-		<Location name="IbizaDay2"/>
-		<Location name="IbizaDay3"/>
-		<Location name="IbizaDay4"/>
-		<Location name="IbizaDay5"/>
-		<Location name="IbizaDay6"/>
-		<Location name="IbizaDay7"/>
-		<Location name="IbizaToilet"/>
-		<Location name="IbizaDance"/>
-		<Location name="IbizaBar"/>
-		<Location name="IbizaGuard"/>
-    </Folder>
-	<Location name="LBZhouse"/>
+  		<Location name="IbizaStart"/>
+  		<Location name="IbizaDay2"/>
+  		<Location name="IbizaDay3"/>
+  		<Location name="IbizaDay4"/>
+  		<Location name="IbizaDay5"/>
+  		<Location name="IbizaDay6"/>
+  		<Location name="IbizaDay7"/>
+  		<Location name="IbizaToilet"/>
+  		<Location name="IbizaDance"/>
+  		<Location name="IbizaBar"/>
+  		<Location name="IbizaGuard"/>
+    </Folder>
+	  <Location name="LBZhouse"/>
     <Location name="femcyc"/>
-	<Location name="show_table"/>
-	<Location name="exercise"/>
+  	<Location name="show_table"/>
+  	<Location name="exercise"/>
     <Location name="BanSexType"/>
+
+    <Folder name="crossfit_sever">
+      <Location name="crossfit_sever_box"/>
+      <Location name="crossfit_sever_wod"/>
+      <Location name="crossfit_sever_record"/>
+      <Location name="crossfit_sever_girlmeet"/>
+    </Folder>
   </Structure>
 </QGen-project>

+ 87 - 0
locations/crossfit_north_box

@@ -0,0 +1,87 @@
+# crossfit_north_box
+
+$loc = $CURLOC
+$locM = 'crossfit_north_box'
+$sexloc = 'crossfit_north_box'
+$location_type = 'public_indoors'
+$metka = 'box'
+$metkaM = 'box'
+$crossfit_north_image_dir = 'mod/crossfit_north/'
+
+if $ARGS[0] = 'box':
+	if crossfit_random_choice < daystart OR $todays_crossfit_wod = '':
+		gs 'crossfit_north_wod', 'setup_wod'
+		$todays_crossfit_wod = $crossfit_wods[rand(0, ARRSIZE('$crossfit_wods') - 1)]
+		crossfit_random_choice = daystart
+	end
+
+	if $previous_record_holder ! ''  and pcs_lover < 3 and last_crossfit_workout < daystart:
+		gt 'crossfit_north_girlmeet', 'start'
+	end
+
+	'<center><b><font color="maroon">Crossfit North St. Petersburg</font></b></center>'
+	'<center><img <<$set_imgh>> src="<<$crossfit_north_image_dir>>start.jpg"></center>'
+	'This crossfit box might not look like it, but is said to be one of the best ones in the region.'
+	'Today''s exercise is <<$todays_crossfit_wod>>.'
+	'It consists of:'
+	gs 'crossfit_north_wod', $todays_crossfit_wod
+
+	act 'Check personal records':
+		cla
+		gt 'crossfit_north_record', 'view_records'
+	end
+
+	act 'Start the exercise':
+
+		if last_crossfit_workout = daystart:
+			msg'<b><font color = red>You already did this workout today. That''s enough for one day.</font></b>'
+		else
+			cla
+			*clr
+			last_crossfit_workout = daystart
+			abonement -= 1
+			'You start with the workout.'
+			gs 'crossfit_north_wod', $todays_crossfit_wod
+			gs 'exercise', 'tier4', 20, 'stren_exp', 'vital_exp', 'agil_exp'
+			'<center><video autoplay loop src="<<$crossfit_north_image_dir>><<$wod_video[$todays_crossfit_wod]>>.mp4"></video></center>'
+			current_wod_score = max(1,(100 - ((100 * pcs_health * (rand(40,100) + pcs_sleep  + pcs_vital + pcs_agil + pcs_stren))/ (healthmax * 500))))
+			cla
+			act 'Check your score':
+				cla
+				$resultstring = func('crossfit_north_record', 'recordstring', $todays_crossfit_wod,  current_wod_score)
+				'You successfully finish the workout <<$todays_crossfit_wod>> in <<$resultstring>>'
+				if personal_wod_record[$todays_crossfit_wod] = 0:
+					personal_wod_record[$todays_crossfit_wod] = current_wod_score
+				elseif current_wod_score < personal_wod_record[$todays_crossfit_wod]:
+					'This is a new personal record!'
+					personal_wod_record[$todays_crossfit_wod] = current_wod_score
+				end
+				if box_wod_record[$todays_crossfit_wod] = 0:
+					box_wod_record[$todays_crossfit_wod] = current_wod_score
+					$box_wod_record_holder[$todays_crossfit_wod] = $pcs_nickname
+				elseif current_wod_score < box_wod_record[$todays_crossfit_wod]:
+					'Not only that, it''s also a new best record for the whole box!'
+					$prevrecordstring = func('crossfit_north_wod', 'recordstring', $todays_crossfit_wod, box_wod_record[$todays_crossfit_wod])
+					if $box_wod_record_holder[$todays_crossfit_wod] ! $pcs_nickname:
+						$previous_record_holder = $box_wod_record_holder[$todays_crossfit_wod]
+						'You beat <<$previous_record_holder>>''s record of <<$prevrecordstring>>'
+					else
+						'You beat your own old box record of <<$prevrecordstring>>'
+					end
+					killvar '$prevrecordstring'
+					box_wod_record[$todays_crossfit_wod] = current_wod_score
+					$box_wod_record_holder[$todays_crossfit_wod] = $pcs_nickname
+				end
+				killvar 'current_wod_score'
+				act 'Finish and go to the changing room':
+					gt 'fit', 'dressing room'
+				end
+			end
+		end
+	end
+	act 'Turn around and leave':
+		gt 'fit', 'dressing room'
+	end
+end
+
+--- crossfit_north_box ---------------------------------

+ 55 - 0
locations/crossfit_north_girlmeet

@@ -0,0 +1,55 @@
+# crossfit_north_girlmeet
+
+if $ARGS[0] = 'start':
+	!! generate a girlfriend
+	gs 'girl'
+	$boydesc = $previous_record_holder
+	$boyClo = 'wearing workout clothes'
+	killvar '$previous_record_holder'
+	*clr
+	cla
+	minut += 5
+	gs 'stat'
+	'<center><img <<$set_imgh>> src="images/characters/shared/'+lover_picrand+'.jpg"></center>'
+	'As you enter the crossfit box, you notice a girl of <<$boybody>> height with a <<$boybod>> body and <<$boyface>> hair. 
+	She is <<$boyClo>>'
+	'As she notices you, she greets you "Hi. My name is <<$boydesc>>. I heard you beat my old record, very impressive!"'
+	act 'Thank her':
+		cla
+		'You reply: "Oh thank you. That is a tough workout and your score was not easy to beat."'
+		act 'Ask her if she comes around often':
+			cla
+			'"Do you visit this box often?", you ask.'
+			'She replies: "Yeah, I am here two or three times a week."'
+			'<<$boydesc>> looks at you and asks: "I just got finished with my workout for today, would you like to hang out afterwards?"'
+			act 'Agree to a date':
+				cla
+				'"Sure, sounds like fun, I would love to."'
+				'"Great!" answers <<$boydesc>> "So, what do you want to do?".'
+				gs 'dateF', 'date_choice'
+			end
+			act 'Decline':
+				*clr
+				cla
+				'<center><img <<$set_imgh>> src="images/characters/shared/'+lover_picrand+'.jpg"></center>'
+				'"I''m sorry but I don''t feel myself attracted to you enough and I don''t want to lead you on."'
+				'<<$boydesc>> looks at you disappointed. "Oh well, I didn''t know if I had a chance but you can''t blame me for trying."'
+				'The two of you say goodbye to each other.'
+				act 'Return': gt $loc, $metka
+			end
+		end
+		act 'Say goodbye':
+			cla
+			'You check your watch and tell her: "Sorry, I got to run now, see you around!"'
+			act 'Leave': gt $loc, $metka
+		end
+	end
+	act 'Pretend you''re busy':
+		cla
+		'You check your watch and pack your things, ignoring the girl.'
+		act 'Leave': gt $loc, $metka
+	end
+end
+
+
+--- crossfit_north_girlmeet ---------------------------------

+ 85 - 0
locations/crossfit_north_record

@@ -0,0 +1,85 @@
+# crossfit_north_record
+
+if $ARGS[0] = 'view_records':
+	cla
+	*clr
+	gs 'crossfit_north_record', 'update_box_records'
+
+	'<center><img <<$set_imgh>> src="<<$crossfit_north_image_dir>>records.jpg"></center>'
+	'You look at the board outlining the personal records'
+	'<center><table border=1><tr><th>Workout</th><th>Personal Best</th><th>Box Record (Women)</th><th>Box Record Holder</th></tr>'
+	record_table_counter = 0
+	:recordloop
+	if record_table_counter < ARRSIZE('$crossfit_wods'):
+		$crossfit_wod = $crossfit_wods[record_table_counter]
+		'<tr><td><<$crossfit_wod>></td><td>' & func('crossfit_north_record', 'recordstring', $crossfit_wod, personal_wod_record[$crossfit_wod]) & '</td><td>' & func('crossfit_north_record', 'recordstring', $crossfit_wod, box_wod_record[$crossfit_wod])  & '</td><td> <<$box_wod_record_holder[$crossfit_wod]>></td></tr>'
+		record_table_counter += 1
+		jump 'recordloop'
+	end
+	'</table></center>'
+	killvar 'record_table_counter'
+	killvar '$crossfit_wod'
+	act 'Go back':
+		gt $loc, $metka
+	end
+end
+
+
+if $ARGS[0] = 'recordstring':
+	if ARGS[2] = 0:
+		$result = 'No score yet'
+	else
+		wod_score = wod_min_score[$ARGS[1]] + (wod_max_score[$ARGS[1]] - wod_min_score[$ARGS[1]]) * ARGS[2] / 100
+		if $wod_type[$ARGS[1]] = 'for_time':
+			$result = '<<wod_score/60>> minutes and <<wod_score - (wod_score/60)*60>> seconds'
+		end
+		if $wod_type[$ARGS[1]] = 'for_rounds':
+			$result = '<<wod_score/100>> rounds and <<wod_score - (wod_score/100)*100>>% of the last one'
+		end
+	end
+end
+
+if $ARGS[0] = 'update_box_records':
+	if last_box_record_update = 0 or last_box_record_update + 30 < daystart:
+		number_of_box_record_updates = 30
+	else
+		number_of_box_record_updates = daystart - last_box_record_update
+	end
+	last_box_record_update = daystart
+	current_record_update_count = 0
+
+	:recordupdateloop
+	if current_record_update_count < number_of_box_record_updates:
+		gs 'crossfit_north_record', 'box_records'
+		current_record_update_count += 1
+		jump 'recordupdateloop'
+	end
+	killvar 'current_record_update_count'
+	killvar 'number_of_box_record_updates'
+end
+
+if $ARGS[0] = 'box_records':
+	crossfit_record_it = 0
+	:recordloop
+	if crossfit_record_it < ARRSIZE('$crossfit_wods'):
+
+		$crossfit_wod = $crossfit_wods[crossfit_record_it]
+		new_record_wod_time = max(1,(100 - (100 * (rand(40,100) + rand(0,100) + rand(0,100) + rand(0,100)) / 400)))
+
+		if box_wod_record[$crossfit_wod] = 0 or box_wod_record[$crossfit_wod] > new_record_wod_time:
+			box_wod_record[$crossfit_wod] = new_record_wod_time
+			!! record holder changes only in 1/3rd of the cases from previous holder, or if sveta is record holder
+			if rand(1,3) = 1 OR $box_wod_record_holder[$crossfit_wod] = '' OR $box_wod_record_holder[$crossfit_wod] = $pcs_nickname:
+				gs 'npcrnamefile', 'rusFemale'
+				$box_wod_record_holder[$crossfit_wod] = $npctempgn[1]
+			end
+		end
+		crossfit_record_it += 1
+		jump 'recordloop'
+	end
+	killvar 'crossfit_record_it'
+	killvar 'new_record_wod_time'
+	killvar '$crossfit_wod'
+end
+
+--- crossfit_north_record ---------------------------------

+ 71 - 0
locations/crossfit_north_wod

@@ -0,0 +1,71 @@
+# crossfit_north_wod
+
+!! set up wods
+if $ARGS[0] = 'setup_wod':
+	killvar '$crossfit_wods'
+	killvar 'wod_min_score'
+	killvar 'wod_max_score'
+	killvar '$wod_type'
+	killvar '$wod_video'
+	gs 'crossfit_north_wod', 'add_wod', 'Fran', 120, 600, 'for_time', 'pullup'
+	gs 'crossfit_north_wod', 'add_wod', 'Nancy', 600, 1200, 'for_time', 'ohs'
+	gs 'crossfit_north_wod', 'add_wod', 'Isabel', 90, 600, 'for_time', 'snatch'
+	gs 'crossfit_north_wod', 'add_wod', 'Open 17.1', 600, 1200, 'for_time', 'dumbbell_snatch'
+	gs 'crossfit_north_wod', 'add_wod', 'Open 16.1', 1300, 100, 'for_rounds', 'overhead_lunge'
+	gs 'crossfit_north_wod', 'add_wod', 'Karen', 300, 720, 'for_time', 'wallball'
+end
+
+if $ARGS[0] = 'Fran':
+	'- Thruster 65 lbs'
+	'- Pull-ups'
+	'21-15-9 repetitions each, for time'
+end
+
+if $ARGS[0] = 'Nancy':
+	'- 400 meter run'
+	'- Overhead squat 65 lbs x 15'
+	'5 rounds for time'
+end
+
+if $ARGS[0] = 'Isabel':
+	'- Snatch 95 pounds'
+	'30 repetitions for time'
+end
+
+if $ARGS[0] = 'Open 17.1':
+	' - 10 dumbbell snatches'
+	' - 15 burpee box jump-overs'
+	' - 20 dumbbell snatches'
+	' - 15 burpee box jump-overs'
+	' - 30 dumbbell snatches'
+	' - 15 burpee box jump-overs'
+	' - 40 dumbbell snatches'
+	' - 15 burpee box jump-overs'
+	' - 50 dumbbell snatches'
+	' - 15 burpee box jump-overs'
+	'For time'
+end
+
+if $ARGS[0] = 'Open 16.1':
+	' - 25-ft. overhead walking lunge'
+	' - 8 burpees'
+	' - 25-ft. overhead walking lunge'
+	' - 8 chest-to-bar pull-ups'
+	'Complete as many rounds and reps as possible in 20 minutes'
+end
+
+
+if $ARGS[0] = 'Karen':
+	'- 150 wallball shots'
+	'For time'
+end
+
+if $ARGS[0] = 'add_wod':	
+	$crossfit_wods[] = $ARGS[1]
+	wod_min_score[$ARGS[1]] = ARGS[2]
+	wod_max_score[$ARGS[1]] = ARGS[3]
+	$wod_type[$ARGS[1]] = $ARGS[4]
+	$wod_video[$ARGS[1]] = $ARGS[5]
+end
+
+--- crossfit_north_wod ---------------------------------

+ 5 - 0
locations/fit

@@ -129,6 +129,11 @@ if $ARGS[0] = 'dressing room':
 				cla
 				gt 'danceclass'
 			end
+
+			act 'Go to a crossfit workout': 
+				cla
+				gt 'crossfit_north_box', 'box'
+			end
 		end
 
 		if begsec = 0: