1
0

willpower.qsrc 25 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936
  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', 'flash', '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', 'hard' <-- 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'] + stat['voyeur_sex'] <= 90:
  124. will_cost = (100 - stat['voyeur'] - stat['voyeur_sex'] + will_calc)/10
  125. else
  126. will_cost = (10 + will_calc)/10
  127. end
  128. elseif $ARGS[1] = 'force':
  129. if stat['voyeur'] + stat['voyeur_sex'] <= 40:
  130. will_cost = (110 - will_enforced - stat['voyeur'] - stat['voyeur_sex'] + will_calc)/10
  131. else
  132. will_cost = (70 - will_enforced + will_calc)/10
  133. end
  134. else
  135. if stat['voyeur'] + stat['voyeur_sex'] <= 90:
  136. will_cost = (10 + stat['voyeur'] + stat['voyeur_sex'] + 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] = 'flash':
  144. gs 'willpower', 'calc'
  145. if $ARGS[1] = 'self':
  146. if stat['flash'] + (stat['flashlite'] / 2) <= 90:
  147. will_cost = (100 - stat['flash'] - (stat['flashlite'] / 2) + will_calc)/10
  148. else
  149. will_cost = (10 + will_calc)/10
  150. end
  151. elseif $ARGS[1] = 'force':
  152. if stat['flash'] + (stat['flashlite'] / 2) <= 40:
  153. will_cost = (110 - will_enforced - stat['flash'] - (stat['flashlite'] / 2) + will_calc)/10
  154. else
  155. will_cost = (70 - will_enforced + will_calc)/10
  156. end
  157. else
  158. if stat['flash'] + (stat['flashlite'] / 2) <= 90:
  159. will_cost = (10 + stat['flash'] + (stat['flashlite'] / 2) + 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] = 'mast':
  167. gs 'willpower', 'calc'
  168. if $ARGS[1] = 'self':
  169. if stat['mast'] <= 90:
  170. will_cost = (100 - stat['mast'] + will_calc)/10
  171. else
  172. will_cost = (10 + will_calc)/10
  173. end
  174. elseif $ARGS[1] = 'force':
  175. if stat['mast'] <= 40:
  176. will_cost = (110 - will_enforced - stat['mast'] + will_calc)/10
  177. else
  178. will_cost = (70 - will_enforced + will_calc)/10
  179. end
  180. else
  181. if stat['mast'] <= 90:
  182. will_cost = (10 + stat['mast'] + will_calc)/10
  183. else
  184. will_cost = (100 + will_calc)/10
  185. end
  186. end
  187. gs 'willpower', 'difficulty', '<<$ARGS[2]>>'
  188. end
  189. if $ARGS[0] = 'hj':
  190. gs 'willpower', 'calc'
  191. if $ARGS[1] = 'self':
  192. if missCum >= timeTresh: will_calc = 0
  193. if stat['hj'] <= 90:
  194. will_cost = (100 - stat['hj'] + will_calc)/10
  195. else
  196. will_cost = (10 + will_calc)/10
  197. end
  198. elseif $ARGS[1] = 'force':
  199. if stat['hj'] <= 40:
  200. will_cost = (110 - will_enforced - stat['hj'] + will_calc)/10
  201. else
  202. will_cost = (70 - will_enforced + will_calc)/10
  203. end
  204. else
  205. if missCum >= timeTresh: will_calc += 100
  206. if stat['hj'] <= 90:
  207. will_cost = (10 + stat['hj'] + will_calc)/10
  208. else
  209. will_cost = (100 + will_calc)/10
  210. end
  211. end
  212. gs 'willpower', 'difficulty', '<<$ARGS[2]>>'
  213. end
  214. if $ARGS[0] = 'bj':
  215. gs 'willpower', 'calc'
  216. if $ARGS[1] = 'self':
  217. if missCum >= timeTresh: will_calc = 0
  218. if stat['bj'] <= 90:
  219. will_cost = (100 - stat['bj'] + will_calc)/10
  220. else
  221. will_cost = (10 + will_calc)/10
  222. end
  223. elseif $ARGS[1] = 'force':
  224. if stat['bj'] <= 40:
  225. will_cost = (110 - will_enforced - stat['bj'] + will_calc)/10
  226. else
  227. will_cost = (70 - will_enforced + will_calc)/10
  228. end
  229. else
  230. if missCum >= timeTresh: will_calc += 100
  231. if stat['bj'] <= 90:
  232. will_cost = (10 + stat['bj'] + will_calc)/10
  233. else
  234. will_cost = (100 + will_calc)/10
  235. end
  236. end
  237. gs 'willpower', 'difficulty', '<<$ARGS[2]>>'
  238. end
  239. if $ARGS[0] = 'cuni':
  240. gs 'willpower', 'calc'
  241. cuni_check = (stat['cuni'] + stat['cuni_give']) / 2
  242. if $ARGS[1] = 'self':
  243. if cuni_check <= 90:
  244. will_cost = (100 - cuni_check + will_calc)/10
  245. else
  246. will_cost = (10 + will_calc)/10
  247. end
  248. elseif $ARGS[1] = 'force':
  249. if cuni_check <= 40:
  250. will_cost = (110 - will_enforced - cuni_check + will_calc)/10
  251. else
  252. will_cost = (70 - will_enforced + will_calc)/10
  253. end
  254. else
  255. if cuni_check <= 90:
  256. will_cost = (10 + cuni_check + will_calc)/10
  257. else
  258. will_cost = (100 + will_calc)/10
  259. end
  260. end
  261. killvar 'cuni_check'
  262. gs 'willpower', 'difficulty', '<<$ARGS[2]>>'
  263. end
  264. if $ARGS[0] = 'sex' or $ARGS[0] = 'vaginal':
  265. gs 'willpower', 'calc'
  266. if $ARGS[1] = 'self':
  267. if missCum >= timeTresh: will_calc = 0
  268. if stat['vaginal'] <= 90:
  269. will_cost = (100 - stat['vaginal'] + will_calc)/10
  270. else
  271. will_cost = (10 + will_calc)/10
  272. end
  273. elseif $ARGS[1] = 'force':
  274. if stat['vaginal'] <= 40:
  275. will_cost = (110 - will_enforced - stat['vaginal'] + will_calc)/10
  276. else
  277. will_cost = (70 - will_enforced + will_calc)/10
  278. end
  279. else
  280. if missCum >= timeTresh: will_calc += 100
  281. if stat['vaginal'] <= 90:
  282. will_cost = (10 + stat['vaginal'] + will_calc)/10
  283. else
  284. will_cost = (100 + will_calc)/10
  285. end
  286. end
  287. gs 'willpower', 'difficulty', '<<$ARGS[2]>>'
  288. end
  289. if $ARGS[0] = 'anal':
  290. gs 'willpower', 'calc'
  291. if $ARGS[1] = 'self':
  292. if missCum >= timeTresh: will_calc = 0
  293. if stat['anal'] <= 90:
  294. will_cost = (100 - stat['anal'] + will_calc)/10
  295. else
  296. will_cost = (10 + will_calc)/10
  297. end
  298. elseif $ARGS[1] = 'force':
  299. if stat['anal'] <= 40:
  300. will_cost = (160 - will_enforced * 2 - stat['anal'] + will_calc)/10
  301. else
  302. will_cost = (120 - will_enforced * 2 + will_calc)/10
  303. end
  304. else
  305. if missCum >= timeTresh: will_calc += 100
  306. if stat['anal'] <= 90:
  307. will_cost = (10 + stat['anal'] + will_calc)/10
  308. else
  309. will_cost = (100 + will_calc)/10
  310. end
  311. end
  312. gs 'willpower', 'difficulty', '<<$ARGS[2]>>'
  313. end
  314. if $ARGS[0] = 'gangbang' or $ARGS[0] = 'group':
  315. gs 'willpower', 'calc'
  316. if $ARGS[1] = 'self':
  317. if missCum >= timeTresh: will_calc = 0
  318. if gang <= 90:
  319. will_cost = (100 - gang + will_calc)/10
  320. else
  321. will_cost = (10 + will_calc)/10
  322. end
  323. elseif $ARGS[1] = 'force':
  324. if gang <= 40:
  325. will_cost = (160 - will_enforced * 2 - gang + will_calc)/10
  326. else
  327. will_cost = (120 - will_enforced * 2 + will_calc)/10
  328. end
  329. else
  330. if missCum >= timeTresh: will_calc += 100
  331. if gang <= 90:
  332. will_cost = (10 + gang + will_calc)/10
  333. else
  334. will_cost = (100 + will_calc)/10
  335. end
  336. end
  337. gs 'willpower', 'difficulty', '<<$ARGS[2]>>'
  338. end
  339. if $ARGS[0] = 'prostitution':
  340. gs 'willpower', 'calc'
  341. if $ARGS[1] = 'self':
  342. if missCum >= timeTresh: will_calc = 0
  343. if slutty <= 90:
  344. will_cost = (100 - slutty + will_calc)/10
  345. else
  346. will_cost = (10 + will_calc)/10
  347. end
  348. elseif $ARGS[1] = 'force':
  349. if slutty <= 40:
  350. will_cost = (160 - will_enforced * 2 - slutty + will_calc)/10
  351. else
  352. will_cost = (120 - will_enforced * 2 + will_calc)/10
  353. end
  354. else
  355. if missCum >= timeTresh: will_calc += 100
  356. prost_will = pav_prostitute + city_prostitute + oldtown_prostitute + village_prostitute + slutty/2
  357. if prost_will <= 90:
  358. will_cost = (10 + prost_will + will_calc)/10
  359. else
  360. will_cost = (100 + will_calc)/10
  361. end
  362. killvar 'prost_will'
  363. end
  364. gs 'willpower', 'difficulty', '<<$ARGS[2]>>'
  365. end
  366. if $ARGS[0] = 'humiliation':
  367. gs 'willpower', 'calc'
  368. if $ARGS[1] = 'self':
  369. if missCum >= timeTresh: will_calc = 0
  370. if stat['humiliation'] <= 90:
  371. will_cost = (100 - stat['humiliation'] + will_calc)/10
  372. else
  373. will_cost = (10 + will_calc)/10
  374. end
  375. elseif $ARGS[1] = 'force':
  376. will_cost = (120 - will_enforced * 2 + will_calc)/10
  377. else
  378. if missCum >= timeTresh: will_calc += 100
  379. if stat['humiliation'] <= 90:
  380. will_cost = (10 + stat['humiliation'] + 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] = 'footjob':
  388. gs 'willpower', 'calc'
  389. if $ARGS[1] = 'self':
  390. if stat['footjob'] <= 90:
  391. will_cost = (100 - stat['footjob'] + will_calc)/10
  392. else
  393. will_cost = (10 + will_calc)/10
  394. end
  395. elseif $ARGS[1] = 'force':
  396. if stat['footjob'] <= 40:
  397. will_cost = (110 - will_enforced - stat['footjob'] + will_calc)/10
  398. else
  399. will_cost = (70 - will_enforced + will_calc)/10
  400. end
  401. else
  402. if stat['footjob'] <= 90:
  403. will_cost = (10 + stat['footjob'] + 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] = 'titjob':
  411. gs 'willpower', 'calc'
  412. if $ARGS[1] = 'self':
  413. if stat['titjob'] <= 90:
  414. will_cost = (100 - stat['titjob'] + will_calc)/10
  415. else
  416. will_cost = (10 + will_calc)/10
  417. end
  418. elseif $ARGS[1] = 'force':
  419. if stat['titjob'] <= 40:
  420. will_cost = (110 - will_enforced - stat['titjob'] + will_calc)/10
  421. else
  422. will_cost = (70 - will_enforced + will_calc)/10
  423. end
  424. else
  425. if stat['titjob'] <= 90:
  426. will_cost = (10 + stat['titjob'] + 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] = 'trib':
  434. gs 'willpower', 'calc'
  435. if $ARGS[1] = 'self':
  436. if stat['trib'] <= 90:
  437. will_cost = (100 - stat['trib'] + will_calc)/10
  438. else
  439. will_cost = (10 + will_calc)/10
  440. end
  441. elseif $ARGS[1] = 'force':
  442. if stat['trib'] <= 40:
  443. will_cost = (110 - will_enforced - stat['trib'] + will_calc)/10
  444. else
  445. will_cost = (70 - will_enforced + will_calc)/10
  446. end
  447. else
  448. if stat['trib'] <= 90:
  449. will_cost = (10 + stat['trib'] + will_calc)/10
  450. else
  451. will_cost = (100 + will_calc)/10
  452. end
  453. end
  454. gs 'willpower', 'difficulty', '<<$ARGS[2]>>'
  455. end
  456. if $ARGS[0] = 'rimming':
  457. gs 'willpower', 'calc'
  458. rimming_check = (stat['rimming'] + stat['rimming_give']) / 2
  459. if $ARGS[1] = 'self':
  460. if rimming_check <= 90:
  461. will_cost = (100 - rimming_check + will_calc)/10
  462. else
  463. will_cost = (10 + will_calc)/10
  464. end
  465. elseif $ARGS[1] = 'force':
  466. if rimming_check <= 40:
  467. will_cost = (110 - will_enforced - rimming_check + will_calc)/10
  468. else
  469. will_cost = (70 - will_enforced + will_calc)/10
  470. end
  471. else
  472. if rimming_check <= 90:
  473. will_cost = (10 + rimming_check + will_calc)/10
  474. else
  475. will_cost = (100 + will_calc)/10
  476. end
  477. end
  478. gs 'willpower', 'difficulty', '<<$ARGS[2]>>'
  479. end
  480. if $ARGS[0] = 'BDSM':
  481. gs 'willpower', 'calc'
  482. ! It seems to me like 'force' should strictly be BDSM_give, and resist strictly BDSM.
  483. !bdsm_check = (stat['BDSM'] + stat['BDSM_give']) / 2
  484. ! Also, this category could benifit from sum, dom, maso, bound inclusion in some way
  485. !bdsm_exp = (maso['exp'] + bound['exp'] + sub['exp'] + maso['exp'])/4
  486. if $ARGS[1] = 'self':
  487. if (stat['BDSM'] + stat['BDSM_give']) / 2 <= 90:
  488. will_cost = (100 - ((stat['BDSM'] + stat['BDSM_give']) / 2) + will_calc)/10
  489. else
  490. will_cost = (10 + will_calc)/10
  491. end
  492. elseif $ARGS[1] = 'force':
  493. if stat['BDSM_give'] <= 40:
  494. will_cost = (160 - will_enforced - stat['BDSM_give'] + will_calc)/10
  495. else
  496. will_cost = (120 - will_enforced + will_calc)/10
  497. end
  498. else
  499. if stat['BDSM'] <= 90:
  500. will_cost = (10 + stat['BDSM'] + will_calc)/10
  501. else
  502. will_cost = (100 + will_calc)/10
  503. end
  504. end
  505. gs 'willpower', 'difficulty', '<<$ARGS[2]>>'
  506. end
  507. ! For things like facials and other non-internal cum-receiving
  508. if $ARGS[0] = 'cum_outside':
  509. gs 'willpower', 'calc'
  510. ! I''m including internal stats, since it makes sense those would influence Sveta''s willingness to being cum on
  511. cum_check = facial + frot + (swallow) + (pcs_cp_safe_known + pcs_cp_notsafe_known + pcs_cp_risky_known) + (pcs_acp_known)
  512. if $ARGS[1] = 'self':
  513. if missCum >= timeTresh: will_calc = 0
  514. 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:
  515. will_cost = (10 + cum_check + will_calc)/10
  516. else
  517. will_cost = (100 + will_calc)/10
  518. end
  519. elseif $ARGS[1] = 'force':
  520. will_cost = (120 - will_enforced * 2 + will_calc)/10
  521. else
  522. if missCum >= timeTresh: will_calc += 100
  523. 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:
  524. will_cost = (100 + will_calc)/10
  525. else
  526. will_cost = (10 + cum_check + will_calc)/10
  527. end
  528. end
  529. gs 'willpower', 'difficulty', '<<$ARGS[2]>>'
  530. end
  531. if $ARGS[0] = 'swallow':
  532. gs 'willpower', 'calc'
  533. if $ARGS[1] = 'self':
  534. if missCum >= timeTresh: will_calc = 0
  535. if trt_cumeater = 1 or cumloc[12] > 0:
  536. will_cost = (10 + will_calc)/10
  537. else
  538. will_cost = (100 + will_calc)/10
  539. end
  540. elseif $ARGS[1] = 'force':
  541. will_cost = (80 - will_enforced - trt_cumeater * 10 + will_calc)/10
  542. else
  543. if missCum >= timeTresh: will_calc += 100
  544. if trt_cumeater = 1 or cumloc[12] > 0:
  545. will_cost = (100 + will_calc)/10
  546. else
  547. will_cost = (10 + will_calc)/10
  548. end
  549. end
  550. gs 'willpower', 'difficulty', '<<$ARGS[2]>>'
  551. end
  552. if $ARGS[0] = 'cum_inside':
  553. gs 'willpower', 'calc'
  554. creampie_count = pcs_cp_safe_known + pcs_cp_notsafe_known + pcs_cp_risky_known
  555. if $ARGS[1] = 'self':
  556. if missCum >= timeTresh: will_calc = 0
  557. if cumloc[0] > 0 or creampie_count > 90:
  558. will_cost = (10 + creampie_count + will_calc)/10
  559. else
  560. will_cost = (100 + will_calc)/10
  561. end
  562. elseif $ARGS[1] = 'force':
  563. will_cost = (120 - will_enforced * 2 + will_calc)/10
  564. else
  565. if missCum >= timeTresh: will_calc += 100
  566. if cumloc[0] > 0 or creampie_count > 90:
  567. will_cost = (100 + will_calc)/10
  568. else
  569. will_cost = (10 + creampie_count + will_calc)/10
  570. end
  571. end
  572. gs 'willpower', 'difficulty', '<<$ARGS[2]>>'
  573. end
  574. if $ARGS[0] = 'cum_inside_anal':
  575. gs 'willpower', 'calc'
  576. if $ARGS[1] = 'self':
  577. if missCum >= timeTresh: will_calc = 0
  578. if cumloc[3] > 0 or pcs_acp_known > 90:
  579. will_cost = (10 + pcs_acp_known + will_calc)/10
  580. else
  581. will_cost = (100 + will_calc)/10
  582. end
  583. elseif $ARGS[1] = 'force':
  584. will_cost = (120 - will_enforced * 2 + will_calc)/10
  585. else
  586. if missCum >= timeTresh: will_calc += 100
  587. if cumloc[3] > 0 or pcs_acp_known > 90:
  588. will_cost = (100 + will_calc)/10
  589. else
  590. will_cost = (10 + pcs_acp_known + will_calc)/10
  591. end
  592. end
  593. gs 'willpower', 'difficulty', '<<$ARGS[2]>>'
  594. end
  595. if $ARGS[0] = 'kiss':
  596. gs 'willpower', 'calc'
  597. if $ARGS[1] = 'self':
  598. if stat['kiss'] <= 90:
  599. will_cost = (100 - stat['kiss'] + will_calc)/10
  600. else
  601. will_cost = (10 + will_calc)/10
  602. end
  603. elseif $ARGS[1] = 'force':
  604. if stat['kiss'] <= 40:
  605. will_cost = (110 - will_enforced - stat['kiss'] + will_calc)/10
  606. else
  607. will_cost = (70 - will_enforced + will_calc)/10
  608. end
  609. else
  610. if stat['kiss'] <= 90:
  611. will_cost = (10 + stat['kiss'] + 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] = 'foreplay':
  619. gs 'willpower', 'calc'
  620. if $ARGS[1] = 'self':
  621. if (stat['foreplay'] + stat['foreplay_give']) / 2 <= 90:
  622. will_cost = (100 - ((stat['foreplay'] + stat['foreplay_give']) / 2) + will_calc)/10
  623. else
  624. will_cost = (10 + will_calc)/10
  625. end
  626. elseif $ARGS[1] = 'force':
  627. if stat['foreplay_give'] <= 40:
  628. will_cost = (110 - will_enforced - stat['foreplay_give'] + will_calc)/10
  629. else
  630. will_cost = (70 - will_enforced + will_calc)/10
  631. end
  632. else
  633. if stat['foreplay'] <= 90:
  634. will_cost = (10 + stat['foreplay'] + will_calc)/10
  635. else
  636. will_cost = (100 + will_calc)/10
  637. end
  638. end
  639. gs 'willpower', 'difficulty', '<<$ARGS[2]>>'
  640. end
  641. if $ARGS[0] = 'pee':
  642. gs 'willpower', 'calc'
  643. ! Same as with BDSM concerning 'force' and 'resist'
  644. !pee_check = (stat['pee'] + stat['pee_give']) / 2
  645. if $ARGS[1] = 'self':
  646. if (stat['pee'] + stat['pee_give']) / 2 <= 90:
  647. will_cost = (100 - ((stat['pee'] + stat['pee_give']) / 2) + will_calc)/10
  648. else
  649. will_cost = (10 + will_calc)/10
  650. end
  651. elseif $ARGS[1] = 'force':
  652. if stat['pee_give'] <= 40:
  653. will_cost = (160 - will_enforced - stat['pee_give'] + will_calc)/10
  654. else
  655. will_cost = (120 - will_enforced + will_calc)/10
  656. end
  657. else
  658. if stat['pee'] <= 90:
  659. will_cost = (10 + stat['pee'] + will_calc)/10
  660. else
  661. will_cost = (100 + will_calc)/10
  662. end
  663. end
  664. gs 'willpower', 'difficulty', '<<$ARGS[2]>>'
  665. end
  666. !! requires the skill to be named with the _lvl postfix
  667. if $ARGS[0] = 'skill':
  668. gs 'willpower', 'calc'
  669. if $ARGS[1] = 'resist' or $ARGS[1] = 'force' or $ARGS[1] = 'self':
  670. if $ARGS[2] = 'inhib_lvl':
  671. will_cost = (100 - pcs_inhib + will_calc)/10
  672. else
  673. dynamic 'will_cost = (100 - <<$ARGS[2]>> + will_calc)/10'
  674. end
  675. gs 'willpower', 'difficulty', '<<$ARGS[3]>>'
  676. else
  677. if $ARGS[1] = 'inhib_lvl':
  678. will_cost = (100 - pcs_inhib + will_calc)/10
  679. else
  680. dynamic 'will_cost = (100 - <<$ARGS[1]>> + will_calc)/10'
  681. end
  682. gs 'willpower', 'difficulty', '<<$ARGS[2]>>'
  683. end
  684. end
  685. if $ARGS[0] = 'rape':
  686. gs 'willpower', 'calc'
  687. if $ARGS[1] = 'self':
  688. if missCum >= timeTresh: will_calc = 0
  689. will_cost = (100 + will_calc)/10
  690. elseif $ARGS[1] = 'force':
  691. will_cost = (200 - will_enforced * 2 + will_calc)/10
  692. else
  693. if missCum >= timeTresh: will_calc += 100
  694. if rape = 0:
  695. will_cost = (10 + will_calc)/10
  696. else
  697. will_cost = (100 + rape + will_calc)/10
  698. end
  699. end
  700. gs 'willpower', 'difficulty', '<<$ARGS[2]>>'
  701. end
  702. if $ARGS[0] = 'drink':
  703. gs 'willpower', 'calc'
  704. if $ARGS[1] = 'self':
  705. will_cost = (60 - alcohol_exp * 40 + will_calc)/10
  706. elseif $ARGS[1] = 'force':
  707. will_cost = (100 - will_enforced - alcohol_exp * 30 + will_calc)/10
  708. else
  709. if alko > 10:
  710. will_cost = (20 + alcohol_exp * 10 + will_calc)/10
  711. elseif alko > 6:
  712. will_cost = (80 + alcohol_exp * 40 + will_calc)/10
  713. elseif alko > 3:
  714. will_cost = (60 + alcohol_exp * 30 + will_calc)/10
  715. else
  716. will_cost = (10 + alcohol_exp * 20 + will_calc)/10
  717. end
  718. end
  719. gs 'willpower', 'difficulty', '<<$ARGS[2]>>'
  720. end
  721. !!Drug needs already included in the will_calc so just a small base cost here
  722. if $ARGS[0] = 'drugs':
  723. gs 'willpower', 'calc'
  724. if $ARGS[1] = 'self':
  725. will_cost = (100 - addictive_trait_lvl * 30 + will_calc)/10
  726. elseif $ARGS[1] = 'force':
  727. will_cost = (100 - will_enforced - addictive_trait_lvl * 10 + will_calc)/10
  728. else
  729. if addictive_trait_lvl > 0:
  730. will_cost = (addictive_trait_lvl * 30 + will_calc)/10
  731. else
  732. will_cost = (10 + will_calc)/10
  733. end
  734. end
  735. gs 'willpower', 'difficulty', '<<$ARGS[2]>>'
  736. end
  737. if $ARGS[0] = 'crime':
  738. gs 'willpower', 'calc'
  739. if $ARGS[0] = 'force':
  740. will_cost = (80 - will_enforced + will_calc)/10
  741. else
  742. will_cost = (60 + will_calc)/10
  743. end
  744. gs 'willpower', 'difficulty', '<<$ARGS[2]>>'
  745. end
  746. if $ARGS[0] = 'exhib':
  747. gs 'willpower', 'calc'
  748. if $ARGS[1] = 'self':
  749. will_cost = (100 - Exhibitionist_lvl * 20 - pcs_inhib/5 + will_calc)/10
  750. elseif $ARGS[1] = 'force':
  751. will_cost = (100 - will_enforced - Exhibitionist_lvl * 10 + will_calc)/10
  752. else
  753. will_cost = (Exhibitionist_lvl * 25 + pcs_inhib/4 + will_calc)/10
  754. end
  755. gs 'willpower', 'difficulty', '<<$ARGS[2]>>'
  756. end
  757. !!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
  758. if $ARGS[0] = 'sleep':
  759. gs 'willpower', 'calc'
  760. will_cost = 0
  761. if pcs_sleep <= 5: will_cost = will_calc/10
  762. !! Not sure if this one belongs. It doesn''t look like it''s used anywhere.
  763. gs 'willpower', 'difficulty', '<<$ARGS[2]>>'
  764. end
  765. !!Choose this if nothing else fits
  766. if $ARGS[0] = 'misc':
  767. gs 'willpower', 'calc'
  768. if $ARGS[1] = 'force':
  769. if $ARGS[2] = 'easy':
  770. will_cost = (60 - will_enforced + will_calc)/10
  771. elseif $ARGS[2] = 'hard':
  772. will_cost = (90 - will_enforced + will_calc)/10
  773. else
  774. will_cost = (70 - will_enforced + will_calc)/10
  775. end
  776. else
  777. if $ARGS[2] = 'easy':
  778. will_cost = (10 + will_calc)/10
  779. elseif $ARGS[2] = 'hard':
  780. will_cost = (40 + will_calc)/10
  781. else
  782. will_cost = (20 + will_calc)/10
  783. end
  784. end
  785. gs 'willpower', 'difficulty', '<<$ARGS[2]>>'
  786. end
  787. !!modifiers for drink an drugs
  788. if $ARGS[0] = 'dnd':
  789. will_dnd = 0
  790. if alko > 10:
  791. will_dnd += 160
  792. elseif alko > 6:
  793. will_dnd += 80
  794. elseif alko > 3:
  795. will_dnd += 30
  796. end
  797. !!cigarettes
  798. if smokerNeed > 10: will_dnd += 10
  799. !!weed
  800. if jointhigh > 0: will_dnd -= 10
  801. !!amphetamines
  802. if amphWithdrawl > 2:
  803. will_dnd += 40
  804. elseif amphHigh > 0:
  805. will_dnd += 80
  806. end
  807. !!heroine
  808. if SLomka > 0:
  809. will_dnd += 100
  810. elseif StrongNarkota > 0:
  811. will_dnd += 60
  812. end
  813. !!cocaine
  814. if narkoman = 1:
  815. will_dnd += 60
  816. elseif nark < 0:
  817. will_dnd -= 20
  818. end
  819. end
  820. if $ARGS[0] = 'difficulty':
  821. !!Multiplier to make willpower cost more. Use if all total costs need adjusting.
  822. will_cost = will_cost * 3 / 2
  823. if $ARGS[1] = 'easy':
  824. will_cost = will_cost * 2/3
  825. if will_cost < 5: will_cost = 5
  826. elseif $ARGS[1] = 'hard':
  827. will_cost = will_cost * 3/2
  828. if will_cost < 7: will_cost = 7
  829. else
  830. if will_cost < 6: will_cost = 6
  831. end
  832. if cheatWillpower = 1: will_cost = 0
  833. end
  834. if $ARGS[0] = 'pay':
  835. if will_cost < 1 and cheatWillpower = 0: will_cost = 1
  836. pcs_willpwr -= will_cost
  837. if $ARGS[1] = 'force':
  838. will_counter += 1
  839. if will_counter >= 2: will_counter = 0 & willpowermax += 1
  840. if will_enforced < 20: will_enforced += 1
  841. end
  842. end
  843. --- willpower ---------------------------------