willpower.qsrc 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909
  1. # willpower
  2. !!To use it call it with gs 'willpower', 'action', 'type'
  3. !!Action: Determines what action sveta is resisting, forcing somebody to do or forcing herself to do
  4. !!List of actions:
  5. !! 'voyeur', 'mast', 'hj', 'bj', 'cuni', 'sex', 'anal', 'group', 'gangbang', 'prostitution', 'swallow', 'cum_inside', 'cum_inside_anal', 'rape',
  6. !! 'kiss', 'humiliation', 'footjob', 'titjob', 'trib', 'rimming', 'BDSM', 'pee', 'cum_outside', 'drink', 'drugs', 'crime', 'exhib', 'sleep'
  7. !! there is also 'foreplay' for things like touching and fondling
  8. !! and two special cases 'misc' and 'skill'
  9. !!Type: Determines what kind of willpower check sveta needs to do ('resist', 'force', 'self').
  10. !! -'resist' is used if sveta is resisting to do the 'action' somebody else wants her to do.
  11. !! -'force' is used if sveta forces somebody else to do the 'action'.
  12. !! -'self' should be used if sveta forces herself to do the 'action' (this should be used only in rare occasions)
  13. !!Example 1: Sveta is forcing somebody to perform a blowjob: gs 'willpower', 'bj', 'force'
  14. !!Example 2: Sveta is resisting doing drugs: gs 'willpower', 'drugs', 'resist'
  15. !!You can modify the difficulty of the check with adding an additional argument at the end. You can either add an 'easy' or a 'hard' to modify the difficulty.
  16. !!Example 1: Sveta is resisting doing drugs, a weak outcast is pressuring her to use them: gs 'willpower', 'drugs', 'resist', 'easy'
  17. !!Example 2: Sveta is resisting doing drugs, a group of gopniks are pressuring her to use them: gs 'willpower', 'drugs', 'resist', 'hard'
  18. !!There are two special cases: 'misc' and 'skill'
  19. !!'skill': Bridging a gap in skill for doing something, for succeeding when not quite meeting the required skill/attribute: gs 'willpower', '<skill>_lvl'
  20. !!Example for 'skill': gs 'willpower', 'skill', 'resist', 'pcs_makupskl_lvl' for a willpower check regarding something with pcs_makupskl_lvl (you can also apply 'easy' or 'hard' difficulty to a skill check)
  21. !!'misc': Use this 'action' if no other 'action' fits the scene. You can set three difficulty levels for this check 'easy', 'medium', 'hard' (Difficulty is only for 'misc' checks)
  22. !!To call 'misc' do the following: gs 'willpower', 'misc', 'type', 'difficulty'
  23. !!Example 1 for 'misc': Sveta wants to bring herself to slap a weak looking nerd: gs 'willpower', 'misc', 'self', 'easy'
  24. !!Example 2 for 'misc': Sveta wants to force Artem to go to Vitek and call him an asshole: gs 'willpower', 'misc', 'force', 'hard'
  25. !!After Sveta has taken the willpower action the cost must be paid with: gs 'willpower', 'pay', 'type'
  26. !!Example: Sveta has to pay for resisting to do a blowjob: gs 'willpower', 'pay', 'resist'
  27. !!WARNING: When adding new options include gs 'willpower', 'difficulty', '<<$ARGS[2]>>' at the end of the ARGS to apply easy or hard.
  28. !!WARNING: If you have two or more actions that need willpower at the same time, you have to recalculate the willpower cost before the costs are payed (see Code Example 2)
  29. !{ Code Example 1 (one action needs willpower)
  30. gs 'willpower', 'misc', 'self', 'hard'
  31. if will_cost <= pcs_willpwr:
  32. act 'Kick him in the balls (<<will_cost>> Willpower)':
  33. *clr & cla
  34. gs 'willpower', 'pay', 'self'
  35. gs 'stat'
  36. 'Event text'
  37. act 'Next action': gt 'farawayistan'
  38. end
  39. else
  40. act 'Kick him in the balls (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
  41. end
  42. }
  43. !{ Code Example 2 (several actions need willpower)
  44. gs 'willpower', 'misc', 'self', 'hard'
  45. if will_cost <= pcs_willpwr:
  46. act 'Kick him in the balls (<<will_cost>> Willpower)':
  47. *clr & cla
  48. gs 'willpower', 'misc', 'self', 'medium' <-- recalculate the willpower cost here
  49. gs 'willpower', 'pay', 'self'
  50. gs 'stat'
  51. 'Event text'
  52. act 'Next action': gt 'farawayistan'
  53. end
  54. else
  55. act 'Kick him in the balls (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
  56. end
  57. gs 'willpower', 'misc', 'self', 'medium'
  58. if will_cost <= pcs_willpwr:
  59. act 'Slap him across the face (<<will_cost>> Willpower)':
  60. *clr & cla
  61. gs 'willpower', 'misc', 'self', 'medium' <-- recalculate the willpower cost here
  62. gs 'willpower', 'pay', 'self'
  63. gs 'stat'
  64. 'Event text'
  65. act 'Next action': gt 'farawayistan'
  66. end
  67. else
  68. act 'Slap him across the face (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
  69. end
  70. }
  71. if $ARGS[0] = 'calc':
  72. gs 'willpower', 'dnd'
  73. will_calc = will_dnd
  74. !!fatigue
  75. if pcs_sleep < 5:
  76. will_calc += 50
  77. elseif pcs_sleep < 10:
  78. will_calc += 25
  79. elseif pcs_sleep < 20:
  80. will_calc += 10
  81. elseif pcs_sleep < 30:
  82. will_calc += 5
  83. end
  84. !!hunger
  85. if pcs_energy < 5:
  86. will_calc += 50
  87. elseif pcs_energy < 10:
  88. will_calc += 25
  89. elseif pcs_energy < 20:
  90. will_calc += 10
  91. elseif pcs_energy < 30:
  92. will_calc += 5
  93. end
  94. !!thirst
  95. if pcs_hydra < 5:
  96. will_calc += 50
  97. elseif pcs_hydra < 10:
  98. will_calc += 25
  99. elseif pcs_hydra < 20:
  100. will_calc += 10
  101. elseif pcs_hydra < 30:
  102. will_calc += 5
  103. end
  104. !!Very horny
  105. if pcs_horny >= 90: will_calc += 10
  106. !!Bad syphilis, you is mental
  107. if Sifilis >= 50: will_calc += 100
  108. !!feeling sick
  109. if sick > 72:
  110. will_calc += 35
  111. elseif sick > 48:
  112. will_calc += 20
  113. elseif sick > 24:
  114. will_calc += 10
  115. elseif sick > 1:
  116. will_calc += 5
  117. end
  118. will_calc += pain['total']
  119. end
  120. if $ARGS[0] = 'voyeur':
  121. gs 'willpower', 'calc'
  122. if $ARGS[1] = 'self':
  123. if stat['voyeur'] <= 90:
  124. will_cost = (100 - stat['voyeur'] + will_calc)/10
  125. else
  126. will_cost = (10 + will_calc)/10
  127. end
  128. elseif $ARGS[1] = 'force':
  129. if stat['voyeur'] <= 40:
  130. will_cost = (110 - will_enforced - stat['voyeur'] + will_calc)/10
  131. else
  132. will_cost = (70 - will_enforced + will_calc)/10
  133. end
  134. else
  135. if stat['voyeur'] <= 90:
  136. will_cost = (10 + stat['voyeur'] + will_calc)/10
  137. else
  138. will_cost = (100 + will_calc)/10
  139. end
  140. end
  141. gs 'willpower', 'difficulty', '<<$ARGS[2]>>'
  142. end
  143. if $ARGS[0] = 'mast':
  144. gs 'willpower', 'calc'
  145. if $ARGS[1] = 'self':
  146. if stat['mast'] <= 90:
  147. will_cost = (100 - stat['mast'] + will_calc)/10
  148. else
  149. will_cost = (10 + will_calc)/10
  150. end
  151. elseif $ARGS[1] = 'force':
  152. if stat['mast'] <= 40:
  153. will_cost = (110 - will_enforced - stat['mast'] + will_calc)/10
  154. else
  155. will_cost = (70 - will_enforced + will_calc)/10
  156. end
  157. else
  158. if stat['mast'] <= 90:
  159. will_cost = (10 + stat['mast'] + will_calc)/10
  160. else
  161. will_cost = (100 + will_calc)/10
  162. end
  163. end
  164. gs 'willpower', 'difficulty', '<<$ARGS[2]>>'
  165. end
  166. if $ARGS[0] = 'hj':
  167. gs 'willpower', 'calc'
  168. if $ARGS[1] = 'self':
  169. if missCum >= timeTresh: will_calc = 0
  170. if stat['hj'] <= 90:
  171. will_cost = (100 - stat['hj'] + will_calc)/10
  172. else
  173. will_cost = (10 + will_calc)/10
  174. end
  175. elseif $ARGS[1] = 'force':
  176. if stat['hj'] <= 40:
  177. will_cost = (110 - will_enforced - stat['hj'] + will_calc)/10
  178. else
  179. will_cost = (70 - will_enforced + will_calc)/10
  180. end
  181. else
  182. if missCum >= timeTresh: will_calc += 100
  183. if stat['hj'] <= 90:
  184. will_cost = (10 + stat['hj'] + will_calc)/10
  185. else
  186. will_cost = (100 + will_calc)/10
  187. end
  188. end
  189. gs 'willpower', 'difficulty', '<<$ARGS[2]>>'
  190. end
  191. if $ARGS[0] = 'bj':
  192. gs 'willpower', 'calc'
  193. if $ARGS[1] = 'self':
  194. if missCum >= timeTresh: will_calc = 0
  195. if stat['bj'] <= 90:
  196. will_cost = (100 - stat['bj'] + will_calc)/10
  197. else
  198. will_cost = (10 + will_calc)/10
  199. end
  200. elseif $ARGS[1] = 'force':
  201. if stat['bj'] <= 40:
  202. will_cost = (110 - will_enforced - stat['bj'] + will_calc)/10
  203. else
  204. will_cost = (70 - will_enforced + will_calc)/10
  205. end
  206. else
  207. if missCum >= timeTresh: will_calc += 100
  208. if stat['bj'] <= 90:
  209. will_cost = (10 + stat['bj'] + will_calc)/10
  210. else
  211. will_cost = (100 + will_calc)/10
  212. end
  213. end
  214. gs 'willpower', 'difficulty', '<<$ARGS[2]>>'
  215. end
  216. if $ARGS[0] = 'cuni':
  217. gs 'willpower', 'calc'
  218. cuni_check = (stat['cuni'] + stat['cuni_give']) / 2
  219. if $ARGS[1] = 'self':
  220. if cuni_check <= 90:
  221. will_cost = (100 - cuni_check + will_calc)/10
  222. else
  223. will_cost = (10 + will_calc)/10
  224. end
  225. elseif $ARGS[1] = 'force':
  226. if cuni_check <= 40:
  227. will_cost = (110 - will_enforced - cuni_check + will_calc)/10
  228. else
  229. will_cost = (70 - will_enforced + will_calc)/10
  230. end
  231. else
  232. if cuni_check <= 90:
  233. will_cost = (10 + cuni_check + will_calc)/10
  234. else
  235. will_cost = (100 + will_calc)/10
  236. end
  237. end
  238. killvar 'cuni_check'
  239. gs 'willpower', 'difficulty', '<<$ARGS[2]>>'
  240. end
  241. if $ARGS[0] = 'sex' or $ARGS[0] = 'vaginal':
  242. gs 'willpower', 'calc'
  243. if $ARGS[1] = 'self':
  244. if missCum >= timeTresh: will_calc = 0
  245. if stat['vaginal'] <= 90:
  246. will_cost = (100 - stat['vaginal'] + will_calc)/10
  247. else
  248. will_cost = (10 + will_calc)/10
  249. end
  250. elseif $ARGS[1] = 'force':
  251. if stat['vaginal'] <= 40:
  252. will_cost = (110 - will_enforced - stat['vaginal'] + will_calc)/10
  253. else
  254. will_cost = (70 - will_enforced + will_calc)/10
  255. end
  256. else
  257. if missCum >= timeTresh: will_calc += 100
  258. if stat['vaginal'] <= 90:
  259. will_cost = (10 + stat['vaginal'] + will_calc)/10
  260. else
  261. will_cost = (100 + will_calc)/10
  262. end
  263. end
  264. gs 'willpower', 'difficulty', '<<$ARGS[2]>>'
  265. end
  266. if $ARGS[0] = 'anal':
  267. gs 'willpower', 'calc'
  268. if $ARGS[1] = 'self':
  269. if missCum >= timeTresh: will_calc = 0
  270. if stat['anal'] <= 90:
  271. will_cost = (100 - stat['anal'] + will_calc)/10
  272. else
  273. will_cost = (10 + will_calc)/10
  274. end
  275. elseif $ARGS[1] = 'force':
  276. if stat['anal'] <= 40:
  277. will_cost = (160 - will_enforced * 2 - stat['anal'] + will_calc)/10
  278. else
  279. will_cost = (120 - will_enforced * 2 + will_calc)/10
  280. end
  281. else
  282. if missCum >= timeTresh: will_calc += 100
  283. if stat['anal'] <= 90:
  284. will_cost = (10 + stat['anal'] + will_calc)/10
  285. else
  286. will_cost = (100 + will_calc)/10
  287. end
  288. end
  289. gs 'willpower', 'difficulty', '<<$ARGS[2]>>'
  290. end
  291. if $ARGS[0] = 'gangbang' or $ARGS[0] = 'group':
  292. gs 'willpower', 'calc'
  293. if $ARGS[1] = 'self':
  294. if missCum >= timeTresh: will_calc = 0
  295. if gang <= 90:
  296. will_cost = (100 - gang + will_calc)/10
  297. else
  298. will_cost = (10 + will_calc)/10
  299. end
  300. elseif $ARGS[1] = 'force':
  301. if gang <= 40:
  302. will_cost = (160 - will_enforced * 2 - gang + will_calc)/10
  303. else
  304. will_cost = (120 - will_enforced * 2 + will_calc)/10
  305. end
  306. else
  307. if missCum >= timeTresh: will_calc += 100
  308. if gang <= 90:
  309. will_cost = (10 + gang + will_calc)/10
  310. else
  311. will_cost = (100 + will_calc)/10
  312. end
  313. end
  314. gs 'willpower', 'difficulty', '<<$ARGS[2]>>'
  315. end
  316. if $ARGS[0] = 'prostitution':
  317. gs 'willpower', 'calc'
  318. if $ARGS[1] = 'self':
  319. if missCum >= timeTresh: will_calc = 0
  320. if slutty <= 90:
  321. will_cost = (100 - slutty + will_calc)/10
  322. else
  323. will_cost = (10 + will_calc)/10
  324. end
  325. elseif $ARGS[1] = 'force':
  326. if slutty <= 40:
  327. will_cost = (160 - will_enforced * 2 - slutty + will_calc)/10
  328. else
  329. will_cost = (120 - will_enforced * 2 + will_calc)/10
  330. end
  331. else
  332. if missCum >= timeTresh: will_calc += 100
  333. prost_will = pav_prostitute + city_prostitute + oldtown_prostitute + village_prostitute + slutty/2
  334. if prost_will <= 90:
  335. will_cost = (10 + prost_will + will_calc)/10
  336. else
  337. will_cost = (100 + will_calc)/10
  338. end
  339. killvar 'prost_will'
  340. end
  341. gs 'willpower', 'difficulty', '<<$ARGS[2]>>'
  342. end
  343. if $ARGS[0] = 'humiliation':
  344. gs 'willpower', 'calc'
  345. if $ARGS[1] = 'self':
  346. if missCum >= timeTresh: will_calc = 0
  347. if stat['humiliation'] <= 90:
  348. will_cost = (100 - stat['humiliation'] + will_calc)/10
  349. else
  350. will_cost = (10 + will_calc)/10
  351. end
  352. elseif $ARGS[1] = 'force':
  353. will_cost = (120 - will_enforced * 2 + will_calc)/10
  354. else
  355. if missCum >= timeTresh: will_calc += 100
  356. if stat['humiliation'] <= 90:
  357. will_cost = (10 + stat['humiliation'] + will_calc)/10
  358. else
  359. will_cost = (100 + will_calc)/10
  360. end
  361. end
  362. gs 'willpower', 'difficulty', '<<$ARGS[2]>>'
  363. end
  364. if $ARGS[0] = 'footjob':
  365. gs 'willpower', 'calc'
  366. if $ARGS[1] = 'self':
  367. if stat['footjob'] <= 90:
  368. will_cost = (100 - stat['footjob'] + will_calc)/10
  369. else
  370. will_cost = (10 + will_calc)/10
  371. end
  372. elseif $ARGS[1] = 'force':
  373. if stat['footjob'] <= 40:
  374. will_cost = (110 - will_enforced - stat['footjob'] + will_calc)/10
  375. else
  376. will_cost = (70 - will_enforced + will_calc)/10
  377. end
  378. else
  379. if stat['footjob'] <= 90:
  380. will_cost = (10 + stat['footjob'] + will_calc)/10
  381. else
  382. will_cost = (100 + will_calc)/10
  383. end
  384. end
  385. gs 'willpower', 'difficulty', '<<$ARGS[2]>>'
  386. end
  387. if $ARGS[0] = 'titjob':
  388. gs 'willpower', 'calc'
  389. if $ARGS[1] = 'self':
  390. if stat['titjob'] <= 90:
  391. will_cost = (100 - stat['titjob'] + will_calc)/10
  392. else
  393. will_cost = (10 + will_calc)/10
  394. end
  395. elseif $ARGS[1] = 'force':
  396. if stat['titjob'] <= 40:
  397. will_cost = (110 - will_enforced - stat['titjob'] + will_calc)/10
  398. else
  399. will_cost = (70 - will_enforced + will_calc)/10
  400. end
  401. else
  402. if stat['titjob'] <= 90:
  403. will_cost = (10 + stat['titjob'] + will_calc)/10
  404. else
  405. will_cost = (100 + will_calc)/10
  406. end
  407. end
  408. gs 'willpower', 'difficulty', '<<$ARGS[2]>>'
  409. end
  410. if $ARGS[0] = 'trib':
  411. gs 'willpower', 'calc'
  412. if $ARGS[1] = 'self':
  413. if stat['trib'] <= 90:
  414. will_cost = (100 - stat['trib'] + will_calc)/10
  415. else
  416. will_cost = (10 + will_calc)/10
  417. end
  418. elseif $ARGS[1] = 'force':
  419. if stat['trib'] <= 40:
  420. will_cost = (110 - will_enforced - stat['trib'] + will_calc)/10
  421. else
  422. will_cost = (70 - will_enforced + will_calc)/10
  423. end
  424. else
  425. if stat['trib'] <= 90:
  426. will_cost = (10 + stat['trib'] + will_calc)/10
  427. else
  428. will_cost = (100 + will_calc)/10
  429. end
  430. end
  431. gs 'willpower', 'difficulty', '<<$ARGS[2]>>'
  432. end
  433. if $ARGS[0] = 'rimming':
  434. gs 'willpower', 'calc'
  435. rimming_check = (stat['rimming'] + stat['rimming_give']) / 2
  436. if $ARGS[1] = 'self':
  437. if rimming_check <= 90:
  438. will_cost = (100 - rimming_check + will_calc)/10
  439. else
  440. will_cost = (10 + will_calc)/10
  441. end
  442. elseif $ARGS[1] = 'force':
  443. if rimming_check <= 40:
  444. will_cost = (110 - will_enforced - rimming_check + will_calc)/10
  445. else
  446. will_cost = (70 - will_enforced + will_calc)/10
  447. end
  448. else
  449. if rimming_check <= 90:
  450. will_cost = (10 + rimming_check + will_calc)/10
  451. else
  452. will_cost = (100 + will_calc)/10
  453. end
  454. end
  455. gs 'willpower', 'difficulty', '<<$ARGS[2]>>'
  456. end
  457. if $ARGS[0] = 'BDSM':
  458. gs 'willpower', 'calc'
  459. ! It seems to me like 'force' should strictly be BDSM_give, and resist strictly BDSM.
  460. !bdsm_check = (stat['BDSM'] + stat['BDSM_give']) / 2
  461. ! Also, this category could benifit from sum, dom, maso, bound inclusion in some way
  462. !bdsm_exp = (maso['exp'] + bound['exp'] + sub['exp'] + maso['exp'])/4
  463. if $ARGS[1] = 'self':
  464. if (stat['BDSM'] + stat['BDSM_give']) / 2 <= 90:
  465. will_cost = (100 - ((stat['BDSM'] + stat['BDSM_give']) / 2) + will_calc)/10
  466. else
  467. will_cost = (10 + will_calc)/10
  468. end
  469. elseif $ARGS[1] = 'force':
  470. if stat['BDSM_give'] <= 40:
  471. will_cost = (160 - will_enforced - stat['BDSM_give'] + will_calc)/10
  472. else
  473. will_cost = (120 - will_enforced + will_calc)/10
  474. end
  475. else
  476. if stat['BDSM'] <= 90:
  477. will_cost = (10 + stat['BDSM'] + will_calc)/10
  478. else
  479. will_cost = (100 + will_calc)/10
  480. end
  481. end
  482. gs 'willpower', 'difficulty', '<<$ARGS[2]>>'
  483. end
  484. ! For things like facials and other non-internal cum-receiving
  485. if $ARGS[0] = 'cum_outside':
  486. gs 'willpower', 'calc'
  487. ! I''m including internal stats, since it makes sense those would influence Sveta''s willingness to being cum on
  488. cum_check = facial + frot + (swallow) + (pcs_cp_safe_known + pcs_cp_notsafe_known + pcs_cp_risky_known) + (pcs_acp_known)
  489. if $ARGS[1] = 'self':
  490. if missCum >= timeTresh: will_calc = 0
  491. if cumloc[1] + cumloc[2] + cumloc[4] + cumloc[5] + cumloc[6] + cumloc[7] + cumloc[8] + cumloc[9] + cumloc[10] + cumloc[11] + cumloc[13] + cumloc[14] + cumloc[15] + cumloc[16] > 0 or cum_check > 90:
  492. will_cost = (10 + cum_check + will_calc)/10
  493. else
  494. will_cost = (100 + will_calc)/10
  495. end
  496. elseif $ARGS[1] = 'force':
  497. will_cost = (120 - will_enforced * 2 + will_calc)/10
  498. else
  499. if missCum >= timeTresh: will_calc += 100
  500. if cumloc[1] + cumloc[2] + cumloc[4] + cumloc[5] + cumloc[6] + cumloc[7] + cumloc[8] + cumloc[9] + cumloc[10] + cumloc[11] + cumloc[13] + cumloc[14] + cumloc[15] + cumloc[16] > 0 or cum_check > 90:
  501. will_cost = (100 + will_calc)/10
  502. else
  503. will_cost = (10 + cum_check + will_calc)/10
  504. end
  505. end
  506. gs 'willpower', 'difficulty', '<<$ARGS[2]>>'
  507. end
  508. if $ARGS[0] = 'swallow':
  509. gs 'willpower', 'calc'
  510. if $ARGS[1] = 'self':
  511. if missCum >= timeTresh: will_calc = 0
  512. if trt_cumeater = 1 or cumloc[12] > 0:
  513. will_cost = (10 + will_calc)/10
  514. else
  515. will_cost = (100 + will_calc)/10
  516. end
  517. elseif $ARGS[1] = 'force':
  518. will_cost = (80 - will_enforced - trt_cumeater * 10 + will_calc)/10
  519. else
  520. if missCum >= timeTresh: will_calc += 100
  521. if trt_cumeater = 1 or cumloc[12] > 0:
  522. will_cost = (100 + will_calc)/10
  523. else
  524. will_cost = (10 + will_calc)/10
  525. end
  526. end
  527. gs 'willpower', 'difficulty', '<<$ARGS[2]>>'
  528. end
  529. if $ARGS[0] = 'cum_inside':
  530. gs 'willpower', 'calc'
  531. creampie_count = pcs_cp_safe_known + pcs_cp_notsafe_known + pcs_cp_risky_known
  532. if $ARGS[1] = 'self':
  533. if missCum >= timeTresh: will_calc = 0
  534. if cumloc[0] > 0 or creampie_count > 90:
  535. will_cost = (10 + creampie_count + will_calc)/10
  536. else
  537. will_cost = (100 + will_calc)/10
  538. end
  539. elseif $ARGS[1] = 'force':
  540. will_cost = (120 - will_enforced * 2 + will_calc)/10
  541. else
  542. if missCum >= timeTresh: will_calc += 100
  543. if cumloc[0] > 0 or creampie_count > 90:
  544. will_cost = (100 + will_calc)/10
  545. else
  546. will_cost = (10 + creampie_count + will_calc)/10
  547. end
  548. end
  549. gs 'willpower', 'difficulty', '<<$ARGS[2]>>'
  550. end
  551. if $ARGS[0] = 'cum_inside_anal':
  552. gs 'willpower', 'calc'
  553. if $ARGS[1] = 'self':
  554. if missCum >= timeTresh: will_calc = 0
  555. if cumloc[3] > 0 or pcs_acp_known > 90:
  556. will_cost = (10 + pcs_acp_known + will_calc)/10
  557. else
  558. will_cost = (100 + will_calc)/10
  559. end
  560. elseif $ARGS[1] = 'force':
  561. will_cost = (120 - will_enforced * 2 + will_calc)/10
  562. else
  563. if missCum >= timeTresh: will_calc += 100
  564. if cumloc[3] > 0 or pcs_acp_known > 90:
  565. will_cost = (100 + will_calc)/10
  566. else
  567. will_cost = (10 + pcs_acp_known + will_calc)/10
  568. end
  569. end
  570. gs 'willpower', 'difficulty', '<<$ARGS[2]>>'
  571. end
  572. if $ARGS[0] = 'kiss':
  573. gs 'willpower', 'calc'
  574. if $ARGS[1] = 'self':
  575. if stat['kiss'] <= 90:
  576. will_cost = (100 - stat['kiss'] + will_calc)/10
  577. else
  578. will_cost = (10 + will_calc)/10
  579. end
  580. elseif $ARGS[1] = 'force':
  581. if stat['kiss'] <= 40:
  582. will_cost = (110 - will_enforced - stat['kiss'] + will_calc)/10
  583. else
  584. will_cost = (70 - will_enforced + will_calc)/10
  585. end
  586. else
  587. if stat['kiss'] <= 90:
  588. will_cost = (10 + stat['kiss'] + will_calc)/10
  589. else
  590. will_cost = (100 + will_calc)/10
  591. end
  592. end
  593. gs 'willpower', 'difficulty', '<<$ARGS[2]>>'
  594. end
  595. if $ARGS[0] = 'foreplay':
  596. gs 'willpower', 'calc'
  597. if $ARGS[1] = 'self':
  598. if (stat['foreplay'] + stat['foreplay_give']) / 2 <= 90:
  599. will_cost = (100 - ((stat['foreplay'] + stat['foreplay_give']) / 2) + will_calc)/10
  600. else
  601. will_cost = (10 + will_calc)/10
  602. end
  603. elseif $ARGS[1] = 'force':
  604. if stat['foreplay_give'] <= 40:
  605. will_cost = (110 - will_enforced - stat['foreplay_give'] + will_calc)/10
  606. else
  607. will_cost = (70 - will_enforced + will_calc)/10
  608. end
  609. else
  610. if stat['foreplay'] <= 90:
  611. will_cost = (10 + stat['foreplay'] + will_calc)/10
  612. else
  613. will_cost = (100 + will_calc)/10
  614. end
  615. end
  616. gs 'willpower', 'difficulty', '<<$ARGS[2]>>'
  617. end
  618. if $ARGS[0] = 'pee':
  619. gs 'willpower', 'calc'
  620. ! Same as with BDSM concerning 'force' and 'resist'
  621. !pee_check = (stat['pee'] + stat['pee_give']) / 2
  622. if $ARGS[1] = 'self':
  623. if (stat['pee'] + stat['pee_give']) / 2 <= 90:
  624. will_cost = (100 - ((stat['pee'] + stat['pee_give']) / 2) + will_calc)/10
  625. else
  626. will_cost = (10 + will_calc)/10
  627. end
  628. elseif $ARGS[1] = 'force':
  629. if stat['pee_give'] <= 40:
  630. will_cost = (160 - will_enforced - stat['pee_give'] + will_calc)/10
  631. else
  632. will_cost = (120 - will_enforced + will_calc)/10
  633. end
  634. else
  635. if stat['pee'] <= 90:
  636. will_cost = (10 + stat['pee'] + will_calc)/10
  637. else
  638. will_cost = (100 + will_calc)/10
  639. end
  640. end
  641. gs 'willpower', 'difficulty', '<<$ARGS[2]>>'
  642. end
  643. !! requires the skill to be named with the _lvl postfix
  644. if $ARGS[0] = 'skill':
  645. gs 'willpower', 'calc'
  646. if $ARGS[1] = 'resist' or $ARGS[1] = 'force' or $ARGS[1] = 'self':
  647. if $ARGS[2] = 'inhib_lvl':
  648. will_cost = (pcs_inhib + will_calc)/10
  649. else
  650. dynamic 'will_cost = (100 - <<$ARGS[2]>> + will_calc)/10'
  651. end
  652. else
  653. if $ARGS[1] = 'inhib_lvl':
  654. will_cost = (pcs_inhib + will_calc)/10
  655. else
  656. dynamic 'will_cost = (100 - <<$ARGS[1]>> + will_calc)/10'
  657. end
  658. end
  659. gs 'willpower', 'difficulty', '<<$ARGS[2]>>'
  660. end
  661. if $ARGS[0] = 'rape':
  662. gs 'willpower', 'calc'
  663. if $ARGS[1] = 'self':
  664. if missCum >= timeTresh: will_calc = 0
  665. will_cost = (100 + will_calc)/10
  666. elseif $ARGS[1] = 'force':
  667. will_cost = (200 - will_enforced * 2 + will_calc)/10
  668. else
  669. if missCum >= timeTresh: will_calc += 100
  670. if rape = 0:
  671. will_cost = (10 + will_calc)/10
  672. else
  673. will_cost = (100 + rape + will_calc)/10
  674. end
  675. end
  676. gs 'willpower', 'difficulty', '<<$ARGS[2]>>'
  677. end
  678. if $ARGS[0] = 'drink':
  679. gs 'willpower', 'calc'
  680. if $ARGS[1] = 'self':
  681. will_cost = (60 - alcohol_exp * 40 + will_calc)/10
  682. elseif $ARGS[1] = 'force':
  683. will_cost = (100 - will_enforced - alcohol_exp * 30 + will_calc)/10
  684. else
  685. if alko > 10:
  686. will_cost = (20 + alcohol_exp * 10 + will_calc)/10
  687. elseif alko > 6:
  688. will_cost = (80 + alcohol_exp * 40 + will_calc)/10
  689. elseif alko > 3:
  690. will_cost = (60 + alcohol_exp * 30 + will_calc)/10
  691. else
  692. will_cost = (10 + alcohol_exp * 20 + will_calc)/10
  693. end
  694. end
  695. gs 'willpower', 'difficulty', '<<$ARGS[2]>>'
  696. end
  697. !!Drug needs already included in the will_calc so just a small base cost here
  698. if $ARGS[0] = 'drugs':
  699. gs 'willpower', 'calc'
  700. if $ARGS[1] = 'self':
  701. will_cost = (100 - addictive_trait_lvl * 30 + will_calc)/10
  702. elseif $ARGS[1] = 'force':
  703. will_cost = (100 - will_enforced - addictive_trait_lvl * 10 + will_calc)/10
  704. else
  705. if addictive_trait_lvl > 0:
  706. will_cost = (addictive_trait_lvl * 30 + will_calc)/10
  707. else
  708. will_cost = (10 + will_calc)/10
  709. end
  710. end
  711. gs 'willpower', 'difficulty', '<<$ARGS[2]>>'
  712. end
  713. if $ARGS[0] = 'crime':
  714. gs 'willpower', 'calc'
  715. if $ARGS[0] = 'force':
  716. will_cost = (80 - will_enforced + will_calc)/10
  717. else
  718. will_cost = (60 + will_calc)/10
  719. end
  720. gs 'willpower', 'difficulty', '<<$ARGS[2]>>'
  721. end
  722. if $ARGS[0] = 'exhib':
  723. gs 'willpower', 'calc'
  724. if $ARGS[1] = 'self':
  725. will_cost = (100 - Exhibitionist_lvl * 20 - pcs_inhib/5 + will_calc)/10
  726. elseif $ARGS[1] = 'force':
  727. will_cost = (100 - will_enforced - Exhibitionist_lvl * 10 + will_calc)/10
  728. else
  729. will_cost = (Exhibitionist_lvl * 25 + pcs_inhib/4 + will_calc)/10
  730. end
  731. gs 'willpower', 'difficulty', '<<$ARGS[2]>>'
  732. end
  733. !!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
  734. if $ARGS[0] = 'sleep':
  735. gs 'willpower', 'calc'
  736. will_cost = 0
  737. if pcs_sleep <= 5: will_cost = will_calc/10
  738. !! Not sure if this one belongs. It doesn''t look like it''s used anywhere.
  739. gs 'willpower', 'difficulty', '<<$ARGS[2]>>'
  740. end
  741. !!Choose this if nothing else fits
  742. if $ARGS[0] = 'misc':
  743. gs 'willpower', 'calc'
  744. if $ARGS[1] = 'force':
  745. if $ARGS[2] = 'easy':
  746. will_cost = (60 - will_enforced + will_calc)/10
  747. elseif $ARGS[2] = 'hard':
  748. will_cost = (90 - will_enforced + will_calc)/10
  749. else
  750. will_cost = (70 - will_enforced + will_calc)/10
  751. end
  752. else
  753. if $ARGS[2] = 'easy':
  754. will_cost = (10 + will_calc)/10
  755. elseif $ARGS[2] = 'hard':
  756. will_cost = (40 + will_calc)/10
  757. else
  758. will_cost = (20 + will_calc)/10
  759. end
  760. end
  761. gs 'willpower', 'difficulty', '<<$ARGS[2]>>'
  762. end
  763. !!modifiers for drink an drugs
  764. if $ARGS[0] = 'dnd':
  765. will_dnd = 0
  766. if alko > 10:
  767. will_dnd += 160
  768. elseif alko > 6:
  769. will_dnd += 80
  770. elseif alko > 3:
  771. will_dnd += 30
  772. end
  773. !!cigarettes
  774. if smokerNeed > 10: will_dnd += 10
  775. !!weed
  776. if jointhigh > 0: will_dnd -= 10
  777. !!amphetamines
  778. if amphWithdrawl > 2:
  779. will_dnd += 40
  780. elseif amphHigh > 0:
  781. will_dnd += 80
  782. end
  783. !!heroine
  784. if SLomka > 0:
  785. will_dnd += 100
  786. elseif StrongNarkota > 0:
  787. will_dnd += 60
  788. end
  789. !!cocaine
  790. if narkoman = 1:
  791. will_dnd += 60
  792. elseif nark < 0:
  793. will_dnd -= 20
  794. end
  795. end
  796. if $ARGS[0] = 'difficulty':
  797. !!Multiplier to make willpower cost more. Use if all total costs need adjusting.
  798. will_cost = will_cost * 3 / 2
  799. if $ARGS[1] = 'easy':
  800. will_cost = will_cost * 2/3
  801. if will_cost < 5: will_cost = 5
  802. elseif $ARGS[1] = 'hard':
  803. will_cost = will_cost * 3/2
  804. if will_cost < 7: will_cost = 7
  805. else
  806. if will_cost < 6: will_cost = 6
  807. end
  808. end
  809. if $ARGS[0] = 'pay':
  810. if will_cost < 1: will_cost = 1
  811. pcs_willpwr -= will_cost
  812. if $ARGS[1] = 'force':
  813. will_counter += 1
  814. if will_counter >= 5: will_counter = 0 & willpowermax += 1
  815. if will_enforced < 50: will_enforced += 1
  816. end
  817. end
  818. --- willpower ---------------------------------