|
@@ -0,0 +1,267 @@
|
|
|
+# willpower
|
|
|
+
|
|
|
+!!To use call with gs 'willpower', '<type>'
|
|
|
+!!type is the nature of the demand and can be any of the following:
|
|
|
+!!
|
|
|
+!!Sex acts, this is for the cost to refuse advances or force another to partake
|
|
|
+!!'hj', 'bj', 'sex', 'anal', 'gangbang', 'prostitution', 'swallow', 'cum_inside'
|
|
|
+!!Bridging a gap in skill, for succeeding when not quite meeting the required skill/attribute, must include skill with _lvl postfix in $ARGS[1]
|
|
|
+!!'skill'
|
|
|
+!!Standing up to unwanted sex
|
|
|
+!!'rape'
|
|
|
+!!Refusing peer pressure
|
|
|
+!!'drink', 'drugs', 'crime', 'exhib'
|
|
|
+!!Forcing Sveta to stay awake
|
|
|
+!!'sleep'
|
|
|
+!!The value returned as will_cost can be used to inform the player of cost and limit actions
|
|
|
+!!To apply the cost just call gs 'willpower', 'resist' or gs 'willpower', 'force'
|
|
|
+!!Force is for Sveta forcing someone else and will slowly increase the will stat, otherwise its the same as resist
|
|
|
+
|
|
|
+if $ARGS[0] = 'calc':
|
|
|
+ gs 'willpower', 'dnd'
|
|
|
+ will_calc = will_dnd
|
|
|
+!!fatigue
|
|
|
+ if pcs_sleep < 5:
|
|
|
+ will_calc += 50
|
|
|
+ elseif pcs_sleep < 10:
|
|
|
+ will_calc += 25
|
|
|
+ elseif pcs_sleep < 20:
|
|
|
+ will_calc += 10
|
|
|
+ elseif pcs_sleep < 30:
|
|
|
+ will_calc += 5
|
|
|
+ end
|
|
|
+!!hunger
|
|
|
+ if pcs_energy < 5:
|
|
|
+ will_calc += 50
|
|
|
+ elseif pcs_energy < 10:
|
|
|
+ will_calc += 25
|
|
|
+ elseif pcs_energy < 20:
|
|
|
+ will_calc += 10
|
|
|
+ elseif pcs_energy < 30:
|
|
|
+ will_calc += 5
|
|
|
+ end
|
|
|
+!!thirst
|
|
|
+ if pcs_hydra < 5:
|
|
|
+ will_calc += 50
|
|
|
+ elseif pcs_hydra < 10:
|
|
|
+ will_calc += 25
|
|
|
+ elseif pcs_hydra < 20:
|
|
|
+ will_calc += 10
|
|
|
+ elseif pcs_hydra < 30:
|
|
|
+ will_calc += 5
|
|
|
+ end
|
|
|
+!!Very horny
|
|
|
+ if pcs_horny >= 90: will_calc += 10
|
|
|
+!!Bad syphilis, you is mental
|
|
|
+ if Sifilis >= 50: will_calc += 100
|
|
|
+!!feeling sick
|
|
|
+ if sick > 72:
|
|
|
+ will_calc += 35
|
|
|
+ elseif sick > 48:
|
|
|
+ will_calc += 20
|
|
|
+ elseif sick > 24:
|
|
|
+ will_calc += 10
|
|
|
+ elseif sick > 1:
|
|
|
+ will_calc += 5
|
|
|
+ end
|
|
|
+
|
|
|
+end
|
|
|
+
|
|
|
+if $ARGS[0] = 'hj':
|
|
|
+ gs 'willpower', 'calc'
|
|
|
+ will_cost = 0
|
|
|
+ if stat['hj'] <= 90:
|
|
|
+ will_cost = ((100 - stat['hj']) + will_calc)/10
|
|
|
+ else
|
|
|
+ will_cost = (10 + will_calc)/10
|
|
|
+ end
|
|
|
+end
|
|
|
+
|
|
|
+if $ARGS[0] = 'bj':
|
|
|
+ gs 'willpower', 'calc'
|
|
|
+ will_cost = 0
|
|
|
+ if missCum >= timeTresh: will_calc += 100
|
|
|
+ if stat['bj'] <= 90:
|
|
|
+ will_cost = ((100 - stat['bj']) + will_calc)/10
|
|
|
+ else
|
|
|
+ will_cost = (10 + will_calc)/10
|
|
|
+ end
|
|
|
+end
|
|
|
+
|
|
|
+if $ARGS[0] = 'sex':
|
|
|
+ gs 'willpower', 'calc'
|
|
|
+ will_cost = 0
|
|
|
+ if stat['vaginal'] <= 90:
|
|
|
+ will_cost = ((100 - stat['vaginal']) + will_calc)/10
|
|
|
+ else
|
|
|
+ will_cost = (10 + will_calc)/10
|
|
|
+ end
|
|
|
+end
|
|
|
+
|
|
|
+if $ARGS[0] = 'anal':
|
|
|
+ gs 'willpower', 'calc'
|
|
|
+ will_cost = 0
|
|
|
+ if missCum >= timeTresh: will_calc += 100
|
|
|
+ if stat['anal'] <= 90:
|
|
|
+ will_cost = ((100 - stat['anal']) + will_calc)/10
|
|
|
+ else
|
|
|
+ will_cost = (10 + will_calc)/10
|
|
|
+ end
|
|
|
+end
|
|
|
+
|
|
|
+if $ARGS[0] = 'gangbang':
|
|
|
+ gs 'willpower', 'calc'
|
|
|
+ will_cost = 0
|
|
|
+ if missCum >= timeTresh: will_calc += 100
|
|
|
+ if stat['group'] <= 90:
|
|
|
+ will_cost = ((100 - stat['group']) + will_calc)/10
|
|
|
+ else
|
|
|
+ will_cost = (10 + will_calc)/10
|
|
|
+ end
|
|
|
+end
|
|
|
+
|
|
|
+if $ARGS[0] = 'prostitution':
|
|
|
+ gs 'willpower', 'calc'
|
|
|
+ will_cost = 0
|
|
|
+ if missCum >= timeTresh: will_calc += 100
|
|
|
+ prost_will = pav_prostitute + city_prostitute + oldtown_prostitute + village_prostitute
|
|
|
+ if prost_will <= 90:
|
|
|
+ will_cost = ((100 - prost_will) + will_calc)/10
|
|
|
+ else
|
|
|
+ will_cost = (10 + will_calc)/10
|
|
|
+ end
|
|
|
+end
|
|
|
+
|
|
|
+if $ARGS[0] = 'swallow':
|
|
|
+ gs 'willpower', 'calc'
|
|
|
+ will_cost = 0
|
|
|
+ if trt_cumeater = 0:
|
|
|
+ will_cost = (100 + will_calc)/10
|
|
|
+ else
|
|
|
+ will_cost = (10 + will_calc)/10
|
|
|
+ end
|
|
|
+end
|
|
|
+
|
|
|
+!! no stat for this currently so just a baseline figure and reduction if cum already inside
|
|
|
+if $ARGS[0] = 'cum_inside':
|
|
|
+ gs 'willpower', 'calc'
|
|
|
+ will_cost = 0
|
|
|
+ if missCum >= timeTresh: will_calc += 100
|
|
|
+ if cumloc[0] <= 0:
|
|
|
+ will_cost = (100 + will_calc)/10
|
|
|
+ else
|
|
|
+ will_cost = (10 + will_calc)/10
|
|
|
+ end
|
|
|
+end
|
|
|
+
|
|
|
+!! requires the skill to be named with the _lvl postfix
|
|
|
+if $ARGS[0] = 'skill':
|
|
|
+ gs 'willpower', 'calc'
|
|
|
+ will_cost = 0
|
|
|
+ dynamic 'will_cost = <<$ARGS[1]>> + will_calc)/10'
|
|
|
+end
|
|
|
+
|
|
|
+if $ARGS[0] = 'rape':
|
|
|
+ gs 'willpower', 'calc'
|
|
|
+ will_cost = 0
|
|
|
+ if missCum >= timeTresh: will_calc += 100
|
|
|
+ if stat['bj'] <= 90:
|
|
|
+ will_cost = ((100 - stat['bj']) + will_calc)/10
|
|
|
+ else
|
|
|
+ will_cost = (10 + will_calc)/10
|
|
|
+ end
|
|
|
+end
|
|
|
+
|
|
|
+if $ARGS[0] = 'drink':
|
|
|
+ gs 'willpower', 'calc'
|
|
|
+ will_cost = 0
|
|
|
+ if alko > 10:
|
|
|
+ will_cost = (60 + will_calc)/10
|
|
|
+ elseif alko > 6:
|
|
|
+ will_cost = (100 + will_calc)/10
|
|
|
+ elseif alko > 3:
|
|
|
+ will_cost = (80 + will_calc)/10
|
|
|
+ end
|
|
|
+end
|
|
|
+
|
|
|
+!!Drug needs already included in the will_calc so just a small base cost here
|
|
|
+if $ARGS[0] = 'drugs':
|
|
|
+ gs 'willpower', 'calc'
|
|
|
+ will_cost = 0
|
|
|
+ will_cost = (20 + will_calc)/10
|
|
|
+end
|
|
|
+
|
|
|
+!!There is no related stat so just a base cost of 6
|
|
|
+if $ARGS[0] = 'crime':
|
|
|
+ gs 'willpower', 'calc'
|
|
|
+ will_cost = 0
|
|
|
+ will_cost = (60 + will_calc)/10
|
|
|
+end
|
|
|
+
|
|
|
+if $ARGS[0] = 'exhib':
|
|
|
+ gs 'willpower', 'calc'
|
|
|
+ will_cost = 0
|
|
|
+ if stat['bj'] <= 90:
|
|
|
+ if Exhibitionist_lvl = 3:
|
|
|
+ will_cost = (0 + will_calc)/10
|
|
|
+ elseif Exhibitionist_lvl = 2:
|
|
|
+ will_cost = (1 + will_calc)/10
|
|
|
+ elseif Exhibitionist_lvl = 1:
|
|
|
+ will_cost = (2 + will_calc)/10
|
|
|
+ elseif pcs_inhib > 70:
|
|
|
+ will_cost = (3 + will_calc)/10
|
|
|
+ else
|
|
|
+ will_cost = (100 - pcs_inhib + will_calc)/10
|
|
|
+ end
|
|
|
+end
|
|
|
+
|
|
|
+!!this is to force you to stay wake so will cost nothing if you have more than 5 sleep, it has no base cost as there will always be a sleep cost in calc
|
|
|
+if $ARGS[0] = 'sleep':
|
|
|
+ gs 'willpower', 'calc'
|
|
|
+ will_cost = 0
|
|
|
+ if pcs_sleep <= 5: will_cost = will_calc/10
|
|
|
+end
|
|
|
+
|
|
|
+!!modifiers for drink an drugs
|
|
|
+if $ARGS[0] = 'dnd':
|
|
|
+ will_dnd = 0
|
|
|
+ if alko > 10:
|
|
|
+ will_dnd += 80
|
|
|
+ elseif alko > 6:
|
|
|
+ will_dnd += 40
|
|
|
+ elseif alko > 3:
|
|
|
+ will_dnd += 20
|
|
|
+ end
|
|
|
+
|
|
|
+ !!cigarettes
|
|
|
+ if smokerNeed > 10: will_dnd += 10
|
|
|
+ !!amphetamines
|
|
|
+ if amphWithdrawl > 2:
|
|
|
+ will_dnd += 40
|
|
|
+ elseif amphHigh > 0:
|
|
|
+ will_dnd += 60
|
|
|
+ end
|
|
|
+ !!heroine
|
|
|
+ if SLomka > 0:
|
|
|
+ will_dnd += 80
|
|
|
+ elseif StrongNarkota > 0:
|
|
|
+ will_dnd += 50
|
|
|
+ end
|
|
|
+ !!cocaine
|
|
|
+ if narkoman = 1:
|
|
|
+ will_dnd += 40
|
|
|
+ elseif nark < 0:
|
|
|
+ will_dnd -= 20
|
|
|
+ end
|
|
|
+end
|
|
|
+
|
|
|
+if $ARGS[0] = 'resist': pcs_willpwr -= will_cost
|
|
|
+
|
|
|
+if $ARGS[0] = 'force':
|
|
|
+ pcs_willpwr -= will_cost
|
|
|
+ will_counter += 1
|
|
|
+ if will_counter > 10: pcs_will += 1
|
|
|
+end
|
|
|
+
|
|
|
+--- willpower ---------------------------------
|
|
|
+
|