2 次代碼提交 95c76e98b8 ... 46a8fd6d93

作者 SHA1 備註 提交日期
  oldentree 46a8fd6d93 [added] Wrapper for willpower in bestmod. Not in use yet, but will take into account PCs experience. Waiting for inverse willpower calculation in base game to be worked out. 5 年之前
  oldentree 23f937d59c [changed] gadsarai location sets $loc, use willpower to push bandit off 5 年之前

+ 1 - 0
bestmod.qproj

@@ -14,6 +14,7 @@
             <Location name="mod_bestmod_petshop"/>
             <Location name="mod_bestmod_park_dog"/>
             <Location name="mod_bestmod_lake_dog"/>
+            <Location name="mod_bestmod_willpower"/>
         </Folder>
         <Folder name="setup">
             <Location name="mod_bestmod_options"/>

+ 2 - 1
locations/mod_bestmod.qsrc

@@ -92,7 +92,8 @@ if $curloc = 'din_bad' and $ARGS[0] = 'd_bag':
 	if bm_dog_treat > 0: 'You have <b><<bm_dog_treat>></b> dog treat'+iif(bm_dog_treat > 1, 's ', ' ')+'left in your purse.'
 end
 
-!! Some of the variables used in this mod:
+!! Some of the variables used in this mod
+!! Edit: Use stat['beast'] instead of bm_beast['exp']:
 !! bm_beast[''exp'']			Beastiality experience. Incremented each act.
 !! bm_beast[''num'']			Count of animal partners. Incremented once per individual.
 !! bm_beast[''dog_exp'']		Experience with dogs. Incremented each act with dog.

+ 15 - 2
locations/mod_bestmod_gadsarai.qsrc

@@ -1,13 +1,26 @@
 # mod_bestmod_gadsarai
+
+$loc = 'mod_bestmod_gadsarai'
+$metka = ''
+menu_off = 1
+
 if $ARGS[0] = 'bandit':
+	if bm_bandit_setup = 0: bm_bandit_setup = 1 & gs 'mod_bestmod_bandit', 'bandit_setup'
 	gs 'boyStat', 'A800'
 	sexpartkno = 1
 	gs 'stat'
 	'<center><img <<$set_imgh>> src="mod/bestmod/images/locations/gadukino/village/leghump.jpg"></center>'
 	'Bandit pounces on you and pins your thigh between his front legs. He begins to persistently and significantly put pressure on you, growling menacingly...'
-	if pcs_dom > 0 and alko < 6:
-		act 'Push off': minut += 1 & gt 'Gaddvor'
+	gs 'willpower', iif(banditfrend, 'sex', 'rape')
+	if will_cost <= pcs_willpwr:
+		act 'Push off (<<will_cost>> Willpower)':
+			gs 'willpower', 'resist'
+			gs 'stat'
+			minut += 1 & gt 'Gaddvor'
+		end
 	else
+		*nl
+		'You don''t have enough willpower to resist his <<iif(banditfrend, '''', ''unwanted '')>>advances.'
 		act 'Submit':
 			*clr & cla
 			banditknow = RAND(0,1)

+ 1 - 1
locations/mod_bestmod_park_dog.qsrc

@@ -90,7 +90,7 @@ end
 
 !! Used before sex, once PC is friendly with stray
 if $ARGS[0] = 'parkdog_setup':
-	!! Ask user for name for the stray
+	!! Ask user for name for the stray?
 	gs 'npcgeneratec', 0, 'Park Stray', rand(1,4)
 	gs 'npcpreservec', $npclastgenerated
 	$bm_parkdog_ID = $npclastsaved

+ 26 - 0
locations/mod_bestmod_willpower.qsrc

@@ -0,0 +1,26 @@
+# mod_bestmod_willpower
+
+!! This file will implement willpower elements exclusive to the bestmod.
+!! See willpower.qsrc in the base game code to see how that library works.
+!! To use call with gs 'mod_bestmod_willpower', '<type>'
+!! An alternate form with three arguments can be used to specify the animal type when 'type' is not 'force' or 'resist':
+!! gs 'mod_bestmod_willpower', '<type>', '<animal_type>'
+
+!! Not used in the game yet as we need the inverse calculation so that it would be
+!! harder to accept when experience is low
+!! Use stat['beast'] instead of bm_beast['exp']
+if $ARGS[0] = 'sex':
+	!! Use basemod willpower calc to calculate the base cost.
+	gs 'willpower', 'calc'
+	!! Use basemod willpower sex to calculate how willing PC is to have sex.
+	gs 'willpower', 'sex'
+	!! will_cost is set now. Now we need to add the penalty based on willingness
+	!! of PC to have sex with an animal
+	if $ARGS[1] ! '':
+		!! Specific species
+		will_cost += bm_beast['<<$ARGS[1]>>_exp']/10
+	else
+		!! Beast sex overall
+		will_cost += bm_beast['exp']/10
+	end
+end