npcgeneratec.qsrc 38 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982
  1. # npcgeneratec
  2. !! This file requires the sex, name and age for the npc to be generated
  3. !! You can also set their approx. home location
  4. !! All data produced is random so if you need a specific value you will have to overwrite it
  5. !! npcgen_lastrun is a flag to help track whether npcgeneratec or npcpreservec has been run last
  6. !! npcgeneratec is 1
  7. !! npcpreservec is 2
  8. npcgen_lastrun = 1
  9. !! sets sex, 0 male, 1 female, 2 female herm, 3 male herm
  10. npctempgsex = ARGS[0]
  11. !! Name for npc, can just be rapist or shop assistant, etc
  12. $npctempgn[0] = $ARGS[1]
  13. !! npc age
  14. npctempgage = ARGS[2]
  15. !! npc home location area
  16. !! 1 - Pavlovsk Residential Area
  17. !! 2 - Student dorms in the city
  18. !! 3 - St. Petersburg Residential Area
  19. !! 4 - St. Petersburg City Center
  20. temp_location = ARGS[3]
  21. dont_know_npc_name = ARGS[4]
  22. !! For example
  23. !! gs 'npcgeneratec', 0, 'stranger', rand(18,45), 3, 1
  24. !! Which would generate a male named stranger between ages of 18 and 45 who lives in the St. Petersburg Residential Area who will be remembered as ''stranger''
  25. if temp_location = 0:
  26. if $region = 'city':
  27. temp_location = rand(3,4)
  28. elseif $region = 'pav':
  29. temp_location = 1
  30. end
  31. end
  32. !! This sets up a newly generated index number by overwriting the first blank number
  33. !! The first check is to see if array 0 in the cleanup list is available and overwrites it if it is free
  34. if mid($cemptyarray[0],1,1) = 'C':
  35. $npclastgenerated = $cemptyarray[0]
  36. killvar '$cemptyarray', 0
  37. else
  38. :npcgencsanityloop
  39. i = 0
  40. $npclastgenerated = 'C' + '<<carraynumber>>'
  41. $npctemparrc = 'C' + '<<(carraynumber)-(1)>>'
  42. if $npc_perstype[$npctemparrc] = '' and carraynumber > 0:
  43. carraynumber -= 1
  44. i = 1
  45. elseif $npc_perstype[$npclastgenerated] = '':
  46. i = 0
  47. else
  48. carraynumber += 1
  49. i = 1
  50. end
  51. if i = 1: jump 'npcgencsanityloop'
  52. end
  53. carraynumber += 1
  54. $npc_index[$npclastgenerated] = $npclastgenerated
  55. !! Random birthday based on age given
  56. npctempc1[1] = year - npctempgage
  57. npctempc1[2] = rand(1,12)
  58. if npctempc1[2] = 4 or npctempc1[2] = 6 or npctempc1[2] = 9 or npctempc1[2] = 11:
  59. npctempc1[3] = rand(1,30)
  60. elseif npctempc1[2] = 1 or npctempc1[2] = 3 or npctempc1[2] = 5 or npctempc1[2] = 7 or npctempc1[2] = 8 or npctempc1[2] = 10 or npctempc1[2] = 12:
  61. npctempc1[3] = rand(1,31)
  62. elseif ((npctempc1[1] mod 4 = 0) and (npctempc1[1] mod 100 ! 0)) or (npctempc1[1] mod 400 = 0):
  63. npctempc1[3] = rand(1,29)
  64. else
  65. npctempc1[3] = rand(1,28)
  66. end
  67. npc_dob[$npclastgenerated] = npctempc1[1] * 10000
  68. npc_dob[$npclastgenerated] += (npctempc1[2] * 100)
  69. npc_dob[$npclastgenerated] += npctempc1[3]
  70. ! {we save the unique number of the npc, to be able to get the index of the array via arrpos}
  71. !! Sets a seed value for the stat randomization as well as calculate chance of virginity
  72. if npctempgage < 18:
  73. npctempc2[0] = 30
  74. npctempc2[1] = rand(0,20)
  75. else
  76. npctempc2[0] = 50
  77. npctempc2[1] = rand(19,24)
  78. end
  79. !! Flag for virginity
  80. if npctempc2[1] < 20:
  81. npc_sexskill[$npclastgenerated] = 0
  82. else
  83. npc_sexskill[$npclastgenerated] = rand(1,100)
  84. end
  85. !! Fill details about their sex such as cock and breast size
  86. if npctempgsex = 0:
  87. ! {Male}
  88. gs 'npcrnamefile', 'rusMale'
  89. gs 'npcgenext', 'dick'
  90. npc_gender[$npclastgenerated] = 0
  91. npc_spermpot[$npclastgenerated] = 10000
  92. $npc_thdick[$npclastgenerated] = $npctempgn[4]
  93. npc_dick[$npclastgenerated] = npctempgn[5]
  94. $npc_notes[$npclastgenerated] = 'A male.'
  95. npc_bust[$npclastgenerated] = 0
  96. elseif npctempgsex = 1:
  97. ! {Female}
  98. gs 'npcrnamefile', 'rusFemale'
  99. npc_gender[$npclastgenerated] = 1
  100. npc_spermpot[$npclastgenerated] = -1
  101. $npc_thdick[$npclastgenerated] = 'clitoris'
  102. npc_dick[$npclastgenerated] = rand(0,1)
  103. $npc_notes[$npclastgenerated] = 'A female.'
  104. !!0 - 60 curve around 22,5 (C/D cups)
  105. npc_bust[$npclastgenerated] = rand(0, 15) + rand(0, 15) + rand(0, 15)
  106. if rand(1, 10) = 1: npc_bust[$npclastgenerated] += rand(0, 15)
  107. elseif npctempgsex = 2:
  108. ! {HermFemale}
  109. gs 'npcrnamefile', 'rusFemale'
  110. gs 'npcgenext', 'dick'
  111. npc_gender[$npclastgenerated] = 1
  112. npc_spermpot[$npclastgenerated] = -1
  113. $npc_thdick[$npclastgenerated] = 'clitoris'
  114. npc_dick[$npclastgenerated] = npctempgn[5]
  115. $npc_notes[$npclastgenerated] = 'A female Hermaphrodite.'
  116. !!0 - 60 curve around 22,5 (C/D cups)
  117. npc_bust[$npclastgenerated] = rand(0,15) + rand(0,15) + rand(0,15)
  118. else
  119. ! {HermMale}
  120. gs 'npcrnamefile', 'rusMale'
  121. gs 'npcgenext', 'dick'
  122. npc_gender[$npclastgenerated] = 0
  123. npc_spermpot[$npclastgenerated] = 10000
  124. $npc_thdick[$npclastgenerated] = $npctempgn[4]
  125. npc_dick[$npclastgenerated] = npctempgn[5]
  126. $npc_notes[$npclastgenerated] = 'A male Hermaphrodite.'
  127. npc_bust[$npclastgenerated]= rand(0,10)
  128. end
  129. !! $npc_dick_desc is set here
  130. !! this variable is to set a shorthand method of checking dick size without looking for specific numbers
  131. !! it is organized by length and then ascending girth
  132. !! $npc_dick_class is a fast way of determining size by category
  133. !! short dicks
  134. if npc_dick[$npclastgenerated] < 9:
  135. $npc_dick_class[$npclastgenerated] = 'short'
  136. if $npc_thdick[$npclastgenerated] = 'skinny' or $npc_thdick[$npclastgenerated] = 'slim':
  137. $npc_dick_desc[$npclastgenerated] = 'tiny'
  138. elseif $npc_thdick[$npclastgenerated] = 'well proportioned' or $npc_thdick[$npclastgenerated] = 'thicker than average':
  139. $npc_dick_desc[$npclastgenerated] = 'short'
  140. elseif $npc_thdick[$npclastgenerated] = 'thick' or $npc_thdick[$npclastgenerated] = 'massive' or $npc_thdick[$npclastgenerated] = 'monstrous':
  141. $npc_dick_desc[$npclastgenerated] = 'chode'
  142. end
  143. !! average length dicks
  144. elseif npc_dick[$npclastgenerated] < 15:
  145. $npc_dick_class[$npclastgenerated] = 'average'
  146. if $npc_thdick[$npclastgenerated] = 'skinny' or $npc_thdick[$npclastgenerated] = 'slim':
  147. $npc_dick_desc[$npclastgenerated] = 'skinny'
  148. elseif $npc_thdick[$npclastgenerated] = 'well proportioned' or $npc_thdick[$npclastgenerated] = 'thicker than average':
  149. $npc_dick_desc[$npclastgenerated] = 'normal'
  150. elseif $npc_thdick[$npclastgenerated] = 'thick' or $npc_thdick[$npclastgenerated] = 'massive' or $npc_thdick[$npclastgenerated] = 'monstrous':
  151. $npc_dick_desc[$npclastgenerated] = 'thick'
  152. end
  153. !! long dicks
  154. elseif npc_dick[$npclastgenerated] < 20:
  155. $npc_dick_class[$npclastgenerated] = 'big'
  156. if $npc_thdick[$npclastgenerated] = 'skinny' or $npc_thdick[$npclastgenerated] = 'slim':
  157. $npc_dick_desc[$npclastgenerated] = 'long'
  158. elseif $npc_thdick[$npclastgenerated] = 'well proportioned' or $npc_thdick[$npclastgenerated] = 'thicker than average':
  159. $npc_dick_desc[$npclastgenerated] = 'huge'
  160. elseif $npc_thdick[$npclastgenerated] = 'thick' or $npc_thdick[$npclastgenerated] = 'massive' or $npc_thdick[$npclastgenerated] = 'monstrous':
  161. $npc_dick_desc[$npclastgenerated] = 'enormous'
  162. end
  163. !! extremely long dicks
  164. else
  165. $npc_dick_class[$npclastgenerated] = 'extra_big'
  166. if $npc_thdick[$npclastgenerated] = 'skinny' or $npc_thdick[$npclastgenerated] = 'slim':
  167. $npc_dick_desc[$npclastgenerated] = 'lengthy'
  168. elseif $npc_thdick[$npclastgenerated] = 'well proportioned' or $npc_thdick[$npclastgenerated] = 'thicker than average':
  169. $npc_dick_desc[$npclastgenerated] = 'gigantic'
  170. elseif $npc_thdick[$npclastgenerated] = 'thick' or $npc_thdick[$npclastgenerated] = 'massive' or $npc_thdick[$npclastgenerated] = 'monstrous':
  171. $npc_dick_desc[$npclastgenerated] = 'monster'
  172. end
  173. end
  174. !! Set the names, and the stat high ends as determined by seed set earlier
  175. gs 'npcrnamefile', 'rusSur'
  176. $npc_firstname[$npclastgenerated] = $npctempgn[1]
  177. $npc_nickname[$npclastgenerated] = $npctempgn[2]
  178. $npc_lastname[$npclastgenerated] = $npctempgn[3]
  179. if dont_know_npc_name = 0 or $npctempgn[0] = '':
  180. $npc_usedname[$npclastgenerated] = $npctempgn[1]
  181. else
  182. $npc_usedname[$npclastgenerated] = $npctempgn[0]
  183. end
  184. npc_intel[$npclastgenerated] = rand(1,npctempc2)
  185. !! set them to sober
  186. npc_drunk[$npclastgenerated] = 0
  187. !! Horniness
  188. npc_horny[$npclastgenerated] = rand(0,60)
  189. !! Attractiveness
  190. npc_apprnc[$npclastgenerated] = rand(30,60)
  191. !! Height
  192. if npc_gender[$npclastgenerated] = 0:
  193. npc_height[$npclastgenerated] = rand(160,190)
  194. else
  195. npc_height[$npclastgenerated] = rand(150,180)
  196. end
  197. !! Hair colour
  198. npc_haircol[$npclastgenerated] = rand(0, 3)
  199. !! Quest stage, relationship and love initialised
  200. npc_QW[$npclastgenerated]= 0
  201. !! hornguy6 commentary: I don''t know why relationship automatically starts at 40? I didn''t code this part so maybe someone can explain the reasoning behind it.
  202. npc_rel[$npclastgenerated] = 40
  203. npc_love[$npclastgenerated] = 0
  204. !! initialise occupation and outfit
  205. npc_occupation[$npclastgenerated] = 0
  206. npc_outfit[$npclastgenerated] = 0
  207. !! Unspecified dad and <<$npc_nickname[''A29'']>>.
  208. if npctempgsex = 1 or npctempgsex = 2:
  209. !! A female face
  210. :girldetailsloop
  211. lover_picrand[$npclastgenerated] = rand(31, 60)
  212. if lover_picrand[$npclastgenerated] = lover_picture[0] or lover_picrand[$npclastgenerated] = lover_picture[1] or lover_picrand[$npclastgenerated] = lover_picture[2]: jump 'girldetailsloop'
  213. $npc_pic[$npclastgenerated] = 'icon_bf' + lover_picrand[$npclastgenerated] + '.png'
  214. else
  215. !! A male face
  216. :boydetailsloop
  217. lover_picrand[$npclastgenerated] = rand(1, 30)
  218. if lover_picrand[$npclastgenerated] = lover_picture[0] or lover_picrand[$npclastgenerated] = lover_picture[1] or lover_picrand[$npclastgenerated] = lover_picture[2]: jump 'boydetailsloop'
  219. $npc_pic[$npclastgenerated] = 'icon_bf' + lover_picrand[$npclastgenerated] + '.png'
  220. end
  221. !! STDs set to 0. For characters with a STD, you need to gs npcgenext rstd
  222. npc_herpes[$npclastgenerated] = 0
  223. npc_syth[$npclastgenerated] = 0
  224. npc_gon[$npclastgenerated] = 0
  225. npc_thrush[$npclastgenerated] = 0
  226. !! times you have had sex with and pervert level of npc
  227. npc_sex[$npclastgenerated] = 0
  228. npc_perv[$npclastgenerated] = 0
  229. !! Personality generated
  230. gs 'npcgenext', 'pers'
  231. $npc_perstype[$npclastgenerated] = $npctempgn[6]
  232. !! hornguy6 commentary: the above code sets a Myers Briggs personality type?
  233. !! Seems overly complex. Up to others whether we keep it or just use the quirks I''ve added to this file
  234. ! {Creating the DNA of the character. If it is someone specific, like father, mother, daughter, sone, etc. then should be overwritten.}
  235. $npc_dna[$npclastgenerated] = func('DNA','create')
  236. !! Set home details
  237. !! npc_apt_type = 1: student dorm (only available in the city for obvious reasons)
  238. !! npc_apt_type = 2: studio apartment
  239. !! npc_apt_type = 3: one bedroom apartment
  240. !! npc_apt_type = 4: multi-bedroom apartment with roommates
  241. !! npc_apt_type = 5: multi-bedroom apartment living alone
  242. !! npc_apt_type = 6: high rise apartment (for rich people only)
  243. !! temp_location
  244. !! 1 - Pavlovsk Residential Area
  245. !! 2 - Student dorms in the city
  246. !! 3 - St. Petersburg Residential Area
  247. !! 4 - St. Petersburg City Center
  248. !! occupation set, list below
  249. npc_residence[$npclastgenerated] = temp_location
  250. if npc_residence[$npclastgenerated] = 1:
  251. npc_finance[$npclastgenerated] = rand(0,1)
  252. $npc_residence[$npclastgenerated] = 'pav_res'
  253. elseif npc_residence[$npclastgenerated] = 2:
  254. npc_finance[$npclastgenerated] = 0
  255. $npc_residence[$npclastgenerated] = 'student_dorms'
  256. elseif npc_residence[$npclastgenerated] = 3:
  257. npc_finance[$npclastgenerated] = rand(1,2)
  258. $npc_residence[$npclastgenerated] = 'city_res'
  259. elseif npc_residence[$npclastgenerated] = 4:
  260. npc_finance[$npclastgenerated] = 2
  261. $npc_residence[$npclastgenerated] = 'city_center'
  262. end
  263. if npc_finance[$npclastgenerated] = 0:
  264. if npc_residence[$npclastgenerated] ! 1 and npc_residence[$npclastgenerated] ! 4 and npctempgage < 22:
  265. npc_student[$npclastgenerated] = rand(0,1)
  266. npc_apt_type[$npclastgenerated] = rand(1,4)
  267. elseif npc_residence[$npclastgenerated] = 2:
  268. npc_student[$npclastgenerated] = 1
  269. npc_apt_type[$npclastgenerated] = 2
  270. else
  271. npc_apt_type[$npclastgenerated] = rand(2,4)
  272. end
  273. npc_occupation[$npclastgenerated] = rand(1,7)
  274. if rand(1,3) = 1:
  275. npc_start_free_time[$npclastgenerated] = 8
  276. npc_end_free_time[$npclastgenerated] = 12
  277. npc_work_start[$npclastgenerated] = 13
  278. npc_work_end[$npclastgenerated] = 21
  279. elseif rand(1,2) = 1:
  280. npc_start_free_time[$npclastgenerated] = 15
  281. npc_end_free_time[$npclastgenerated] = 20
  282. npc_work_start[$npclastgenerated] = 6
  283. npc_work_end[$npclastgenerated] = 14
  284. else
  285. npc_start_free_time[$npclastgenerated] = 18
  286. npc_end_free_time[$npclastgenerated] = 22
  287. npc_work_start[$npclastgenerated] = 9
  288. npc_work_end[$npclastgenerated] = 17
  289. end
  290. npc_day_off[$npclastgenerated] = rand(1,7)
  291. elseif npc_finance[$npclastgenerated] = 1:
  292. npc_apt_type[$npclastgenerated] = rand(2,5)
  293. npc_occupation[$npclastgenerated] = rand(7,15)
  294. if rand(1,2) = 1:
  295. npc_start_free_time[$npclastgenerated] = 8
  296. npc_end_free_time[$npclastgenerated] = 12
  297. npc_work_start[$npclastgenerated] = 13
  298. npc_work_end[$npclastgenerated] = 21
  299. else
  300. npc_start_free_time[$npclastgenerated] = 18
  301. npc_end_free_time[$npclastgenerated] = 22
  302. npc_work_start[$npclastgenerated] = 9
  303. npc_work_end[$npclastgenerated] = 17
  304. end
  305. if npc_car[$npclastgenerated] = 0: npc_car[$npclastgenerated] = rand(-3,1)
  306. elseif npc_finance[$npclastgenerated] = 2:
  307. if rand(1,2) = 1:
  308. npc_start_free_time[$npclastgenerated] = 8
  309. npc_end_free_time[$npclastgenerated] = 12
  310. npc_work_start[$npclastgenerated] = 13
  311. npc_work_end[$npclastgenerated] = 21
  312. else
  313. npc_start_free_time[$npclastgenerated] = 18
  314. npc_end_free_time[$npclastgenerated] = 22
  315. npc_work_start[$npclastgenerated] = 9
  316. npc_work_end[$npclastgenerated] = 17
  317. end
  318. npc_apt_type[$npclastgenerated] = 5
  319. !!npc_apt_type[$npclastgenerated] = rand(5,6)
  320. !! apt_type 6 is disabled until pictures are added
  321. npc_occupation[$npclastgenerated] = rand(14,18)
  322. npc_car[$npclastgenerated] = rand(0,1)
  323. end
  324. !! failsafe until possibility of roommates is sorted out
  325. if npc_apt_type[$npclastgenerated] = 4: npc_apt_type[$npclastgenerated] = 5
  326. npc_day_off[$npclastgenerated] = rand(1,7)
  327. !! npc_style[$npclastgenerated] determines generally how they dress and what their "persona" is
  328. !! Each style is limited by their financial status and occupation
  329. !! e.g. You can''t have someone who dresses like a businessman but works as a line cook
  330. !! 1 - "normal"
  331. !! 2 - Gopnik
  332. !! 3 - nerdy
  333. !! 4 - sporty
  334. !! 5 - fashionable
  335. !! 6 - businessman
  336. if npc_occupation[$npclastgenerated] < 15:
  337. npc_style[$npclastgenerated] = rand(1,5)
  338. else
  339. npc_style[$npclastgenerated] = (rand(2,6) mod 6) + 1
  340. end
  341. if npc_apt_type[$npclastgenerated] = 6:
  342. !! high rise
  343. !! this is to determine what their spare room is used for based on their personality type
  344. if npc_style[$npclastgenerated] = 3:
  345. npc_apt_spare[$npclastgenerated] = 1
  346. elseif npc_style[$npclastgenerated] = 2 or npc_style[$npclastgenerated] = 4:
  347. npc_apt_spare[$npclastgenerated] = 2
  348. else
  349. npc_apt_spare[$npclastgenerated] = rand(1,2)
  350. end
  351. if npc_apt_spare[$npclastgenerated] = 1:
  352. $npc_apt_spare[$npclastgenerated] = 'gaming'
  353. elseif npc_apt_spare[$npclastgenerated] = 2:
  354. $npc_apt_spare[$npclastgenerated] = 'gym'
  355. end
  356. npc_apt_number[$npclastgenerated] = rand(1,2)
  357. $npc_apt_bedroom[$npclastgenerated] = '<center><img <<$set_imgh>> src="images/shared/romance/lovers/homes/high_rise/<<npc_apt_number[$npclastgenerated]>>/bedroom.jpg"></center>'
  358. $npc_apt_kitchen[$npclastgenerated] = '<center><img <<$set_imgh>> src="images/shared/romance/lovers/homes/high_rise/<<npc_apt_number[$npclastgenerated]>>/bedroom.jpg"></center>'
  359. $npc_apt_livingroom[$npclastgenerated] = '<center><img <<$set_imgh>> src="images/shared/romance/lovers/homes/high_rise/<<npc_apt_number[$npclastgenerated]>>/bedroom.jpg"></center>'
  360. $npc_apt_bathroom[$npclastgenerated] = '<center><img <<$set_imgh>> src="images/shared/romance/lovers/homes/high_rise/<<npc_apt_number[$npclastgenerated]>>/bath.jpg"></center>'
  361. $npc_apt_hall[$npclastgenerated] = '<center><img <<$set_imgh>> src="images/shared/romance/lovers/homes/high_rise/<<npc_apt_number[$npclastgenerated]>>/bedroom.jpg"></center>'
  362. elseif npc_apt_type[$npclastgenerated] = 4 or npc_apt_type[$npclastgenerated] = 5:
  363. !! multi-bedroom
  364. !! npc_apt_type[$npclastgenerated] = 4 will one day be living with roommates but for now we''re just making it easy on ourselves. No roommates until later.
  365. !! this is to determine what their spare room is used for based on their personality type
  366. if npc_style[$npclastgenerated] = 3:
  367. npc_apt_spare[$npclastgenerated] = 1
  368. elseif npc_style[$npclastgenerated] = 2 or npc_style[$npclastgenerated] = 4:
  369. npc_apt_spare[$npclastgenerated] = 2
  370. else
  371. npc_apt_spare[$npclastgenerated] = rand(1,2)
  372. end
  373. if npc_apt_spare[$npclastgenerated] = 1:
  374. $npc_apt_spare[$npclastgenerated] = 'gaming'
  375. elseif npc_apt_spare[$npclastgenerated] = 2:
  376. $npc_apt_spare[$npclastgenerated] = 'gym'
  377. end
  378. npc_apt_number[$npclastgenerated] = rand(1,2)
  379. $npc_apt_bedroom[$npclastgenerated] = '<center><img <<$set_imgh>> src="images/shared/romance/lovers/homes/multibedroom/<<npc_apt_number[$npclastgenerated]>>/bedroom.jpg"></center>'
  380. $npc_apt_kitchen[$npclastgenerated] = '<center><img <<$set_imgh>> src="images/shared/romance/lovers/homes/multibedroom/<<npc_apt_number[$npclastgenerated]>>/kitchen.jpg"></center>'
  381. $npc_apt_livingroom[$npclastgenerated] = '<center><img <<$set_imgh>> src="images/shared/romance/lovers/homes/multibedroom/<<npc_apt_number[$npclastgenerated]>>/living.jpg"></center>'
  382. $npc_apt_bathroom[$npclastgenerated] = '<center><img <<$set_imgh>> src="images/shared/romance/lovers/homes/multibedroom/<<npc_apt_number[$npclastgenerated]>>/bath.jpg"></center>'
  383. $npc_apt_hall[$npclastgenerated] = '<center><img <<$set_imgh>> src="images/shared/romance/lovers/homes/multibedroom/<<npc_apt_number[$npclastgenerated]>>/living.jpg"></center>'
  384. $npc_apt_spare[$npclastgenerated] = '<center><img <<$set_imgh>> src="images/shared/romance/lovers/homes/multibedroom/<<npc_apt_number[$npclastgenerated]>>/<<$npc_apt_spare[$npclastgenerated]>>.jpg"></center>'
  385. elseif npc_apt_type[$npclastgenerated] = 3:
  386. !! one bedroom
  387. npc_apt_number[$npclastgenerated] = rand(1,3)
  388. $npc_apt_bedroom[$npclastgenerated] = '<center><img <<$set_imgh>> src="images/shared/romance/lovers/homes/1bedroom/<<npc_apt_number[$npclastgenerated]>>/bedroom.jpg"></center>'
  389. $npc_apt_kitchen[$npclastgenerated] = '<center><img <<$set_imgh>> src="images/shared/romance/lovers/homes/1bedroom/<<npc_apt_number[$npclastgenerated]>>/kitchen.jpg"></center>'
  390. $npc_apt_livingroom[$npclastgenerated] = '<center><img <<$set_imgh>> src="images/shared/romance/lovers/homes/1bedroom/<<npc_apt_number[$npclastgenerated]>>/living.jpg"></center>'
  391. $npc_apt_bathroom[$npclastgenerated] = '<center><img <<$set_imgh>> src="images/shared/romance/lovers/homes/1bedroom/<<npc_apt_number[$npclastgenerated]>>/bath.jpg"></center>'
  392. $npc_apt_hall[$npclastgenerated] = '<center><img <<$set_imgh>> src="images/shared/romance/lovers/homes/1bedroom/<<npc_apt_number[$npclastgenerated]>>/living.jpg"></center>'
  393. elseif npc_apt_type[$npclastgenerated] = 2:
  394. !! studio apartment
  395. npc_apt_number[$npclastgenerated] = rand(1,2)
  396. $npc_apt_bedroom[$npclastgenerated] = '<center><img <<$set_imgh>> src="images/shared/romance/lovers/homes/studio/<<npc_apt_number[$npclastgenerated]>>/bedroom.jpg"></center>'
  397. $npc_apt_kitchen[$npclastgenerated] = '<center><img <<$set_imgh>> src="images/shared/romance/lovers/homes/studio/<<npc_apt_number[$npclastgenerated]>>/bedroom.jpg"></center>'
  398. $npc_apt_livingroom[$npclastgenerated] = '<center><img <<$set_imgh>> src="images/shared/romance/lovers/homes/studio/<<npc_apt_number[$npclastgenerated]>>/bedroom.jpg"></center>'
  399. $npc_apt_bathroom[$npclastgenerated] = '<center><img <<$set_imgh>> src="images/shared/romance/lovers/homes/studio/<<npc_apt_number[$npclastgenerated]>>/bath.jpg"></center>'
  400. $npc_apt_hall[$npclastgenerated] = '<center><img <<$set_imgh>> src="images/shared/romance/lovers/homes/studio/<<npc_apt_number[$npclastgenerated]>>/bedroom.jpg"></center>'
  401. elseif npc_apt_type[$npclastgenerated] = 1:
  402. !! student dorm
  403. npc_apt_number[$npclastgenerated] = rand(1,3)
  404. $npc_apt_bedroom[$npclastgenerated] = '<center><img <<$set_imgh>> src="images/shared/romance/lovers/homes/1bedroom/<<npc_apt_number[$npclastgenerated]>>/bedroom.jpg"></center>'
  405. $npc_apt_kitchen[$npclastgenerated] = '<center><img <<$set_imgh>> src="images/shared/romance/lovers/homes/1bedroom/<<npc_apt_number[$npclastgenerated]>>/kitchen.jpg"></center>'
  406. $npc_apt_livingroom[$npclastgenerated] = '<center><img <<$set_imgh>> src="images/shared/romance/lovers/homes/1bedroom/<<npc_apt_number[$npclastgenerated]>>/living.jpg"></center>'
  407. $npc_apt_bathroom[$npclastgenerated] = '<center><img <<$set_imgh>> src="images/shared/romance/lovers/homes/1bedroom/<<npc_apt_number[$npclastgenerated]>>/bath.jpg"></center>'
  408. $npc_apt_hall[$npclastgenerated] = '<center><img <<$set_imgh>> src="images/shared/romance/lovers/homes/studio/<<npc_apt_number[$npclastgenerated]>>/living.jpg"></center>'
  409. end
  410. if npc_occupation[$npclastgenerated] = 1:
  411. $npc_occupation[$npclastgenerated] = 'cashier_supermarket'
  412. elseif npc_occupation[$npclastgenerated] = 2:
  413. $npc_occupation[$npclastgenerated] = 'cashier_liquor'
  414. elseif npc_occupation[$npclastgenerated] = 3:
  415. $npc_occupation[$npclastgenerated] = 'cashier_coffee'
  416. elseif npc_occupation[$npclastgenerated] = 4:
  417. $npc_occupation[$npclastgenerated] = 'barista'
  418. elseif npc_occupation[$npclastgenerated] = 5:
  419. $npc_occupation[$npclastgenerated] = 'fast_food'
  420. elseif npc_occupation[$npclastgenerated] = 6:
  421. $npc_occupation[$npclastgenerated] = 'taxi_driver'
  422. npc_car[$npclastgenerated] = 1
  423. elseif npc_occupation[$npclastgenerated] = 7:
  424. $npc_occupation[$npclastgenerated] = 'masseuse'
  425. elseif npc_occupation[$npclastgenerated] = 8:
  426. $npc_occupation[$npclastgenerated] = 'masseuse_sexual'
  427. elseif npc_occupation[$npclastgenerated] = 9:
  428. $npc_occupation[$npclastgenerated] = 'factory'
  429. elseif npc_occupation[$npclastgenerated] = 10:
  430. $npc_occupation[$npclastgenerated] = 'bartender'
  431. elseif npc_occupation[$npclastgenerated] = 11:
  432. $npc_occupation[$npclastgenerated] = 'mechanic'
  433. elseif npc_occupation[$npclastgenerated] = 12:
  434. $npc_occupation[$npclastgenerated] = 'line_cook'
  435. elseif npc_occupation[$npclastgenerated] = 13:
  436. $npc_occupation[$npclastgenerated] = 'waiter'
  437. elseif npc_occupation[$npclastgenerated] = 14:
  438. $npc_occupation[$npclastgenerated] = 'personal_trainer'
  439. elseif npc_occupation[$npclastgenerated] = 15:
  440. $npc_occupation[$npclastgenerated] = 'programmer'
  441. elseif npc_occupation[$npclastgenerated] = 16:
  442. npc_criminal[$npclastgenerated] = 1
  443. !! npc_criminal_open determines whether or not they will hide their criminality from the player
  444. npc_criminal_open[$npclastgenerated] = rand(0,1)
  445. if rand(1,4) = 1:
  446. $npc_occupation[$npclastgenerated] = 'pimp'
  447. elseif rand(1,3) = 1:
  448. $npc_occupation[$npclastgenerated] = 'drug_dealer'
  449. elseif rand(1,2) = 1:
  450. $npc_occupation[$npclastgenerated] = 'enforcer'
  451. else
  452. $npc_occupation[$npclastgenerated] = 'thief'
  453. end
  454. elseif npc_occupation[$npclastgenerated] = 17:
  455. $npc_occupation[$npclastgenerated] = 'businessman'
  456. elseif npc_occupation[$npclastgenerated] = 18:
  457. $npc_occupation[$npclastgenerated] = 'lawyer'
  458. elseif npc_occupation[$npclastgenerated] = 19:
  459. $npc_occupation[$npclastgenerated] = 'investment_banker'
  460. end
  461. !! ------------------------- lifestyle and personality choices ----------------------------------
  462. !! type of humour
  463. !! 1 - childish
  464. !! 2 - perverted
  465. !! 3 - intellectual/clever
  466. npc_humor[$npclastgenerated] = rand(1, 3)
  467. if npc_humor[$npclastgenerated] = 1:
  468. $npc_humor[$npclastgenerated] = 'childish'
  469. elseif npc_humor[$npclastgenerated] = 2:
  470. $npc_humor[$npclastgenerated] = 'perverted'
  471. elseif npc_humor[$npclastgenerated] = 3:
  472. $npc_humor[$npclastgenerated] = 'intellectual'
  473. end
  474. !! if npc_smoker > 0: they smoke cigarettes
  475. npc_smoker[$npclastgenerated] = rand(0,2)
  476. !! if npc_mj = 1: they smoke weed
  477. !! if npc_mj = 2: they are a stoner
  478. !! 10% chance they will smoke weed at all, 5% chance total of being either kind of weed smoker
  479. if rand(1,10) = 10:
  480. npc_mj[$npclastgenerated] = rand(1,2)
  481. end
  482. !! we will skip addit for now, have a variable just for smoking
  483. !! npc_addit[$npclastgenerated] = rand(0,1)
  484. npc_door_pref[$npclastgenerated] = rand(0,2)
  485. if npc_door_pref[$npclastgenerated] = 1:
  486. !! they like going out for things and doing things outside
  487. $npc_door_pref[$npclastgenerated] = 'outdoor'
  488. elseif npc_door_pref[$npclastgenerated] = 2:
  489. !! they like more quiet activities and staying at home
  490. $npc_door_pref[$npclastgenerated] = 'indoor'
  491. end
  492. !! npc_goal is what they want out of a relationship
  493. !! 1 = just sex
  494. !! 2 = casual relationship
  495. !! 3 = serious relationship
  496. npc_goal[$npclastgenerated] = rand(1,3)
  497. if npc_goal[$npclastgenerated] = 1:
  498. $npc_rel_goal[$npclastgenerated] = 'sex'
  499. elseif npc_goal[$npclastgenerated] = 2:
  500. $npc_rel_goal[$npclastgenerated] = 'casual'
  501. elseif npc_goal[$npclastgenerated] = 3:
  502. $npc_rel_goal[$npclastgenerated] = 'serious'
  503. end
  504. !! npc_fidelity is how they will behave in a relationship
  505. !! 1-4 = will cheat on you and others with no guilt
  506. !! 5-6 = will cheat on others with you
  507. !! 5 = has been cheating and feels guilty
  508. !! 6 = cheats on them with you for the first time
  509. !! 7 = is fine with open relationship
  510. !! 8-10 = will be faithful
  511. if npc_fidelity[$npclastgenerated] >= 8:
  512. $npc_fidelity[$npclastgenerated] = 'faithful'
  513. elseif npc_fidelity[$npclastgenerated] = 7:
  514. $npc_fidelity[$npclastgenerated] = 'open'
  515. elseif npc_fidelity[$npclastgenerated] >= 5:
  516. $npc_fidelity[$npclastgenerated] = 'seduced'
  517. elseif npc_fidelity[$npclastgenerated] >= 1:
  518. $npc_fidelity[$npclastgenerated] = 'cheater'
  519. end
  520. if npc_fidelity[$npclastgenerated] <= 5:
  521. if npctempgage >= 26 and rand(1,2) = 1 and npc_finance[$npclastgenerated] = 2:
  522. npc_wife[$npclastgenerated] = rand(0,1)
  523. else
  524. npc_girlfriend[$npclastgenerated] = rand(0,1)
  525. end
  526. end
  527. !! initialise lover length in days
  528. npc_lover_days[$npclastgenerated] = 0
  529. !! if npc_lover_keys = 1: the player has keys to their apartment and can access it whenever they want
  530. npc_lover_keys[$npclastgenerated] = 0
  531. !! quirk/trait generation
  532. if rand(0,2) > 0:
  533. if rand(0,1) = 1:
  534. npc_earlyriser[$npclastgenerated] = 1
  535. npc_latesleeper[$npclastgenerated] = 0
  536. else
  537. npc_latesleeper[$npclastgenerated] = 1
  538. npc_earlyriser[$npclastgenerated] = 0
  539. end
  540. end
  541. if rand(0,2) > 0:
  542. if rand(0,1) = 1:
  543. npc_generous[$npclastgenerated] = 1
  544. npc_selfish[$npclastgenerated] = 0
  545. else
  546. npc_selfish[$npclastgenerated] = 1
  547. npc_generous[$npclastgenerated] = 0
  548. end
  549. end
  550. !! npc_gentle = 1: npc is likely to have a soft emotional and physical touch outside of sex
  551. !! npc_rough = 1: npc is likely to have a rough/aggressive emotional and physical touch outside of sex
  552. if rand(0,2) > 0:
  553. if rand(0,1) = 1:
  554. npc_gentle[$npclastgenerated] = 1
  555. npc_rough[$npclastgenerated] = 0
  556. else
  557. npc_gentle[$npclastgenerated] = 0
  558. npc_rough[$npclastgenerated] = 1
  559. end
  560. end
  561. !! npc_diligent = 1: npc is more methodical, doesn''t like to skip steps, and usually plays it safe
  562. !! npc_risktaker = 1: npc is more likely to take risks, such as never using a condom
  563. if rand(0,2) > 0:
  564. if rand(0,1) = 1:
  565. npc_diligent[$npclastgenerated] = 0
  566. npc_risktaker[$npclastgenerated] = 1
  567. else
  568. npc_diligent[$npclastgenerated] = 1
  569. npc_risktaker[$npclastgenerated] = 0
  570. end
  571. end
  572. if rand(0,2) > 0:
  573. if rand(1,3) + npc_diligent[$npclastgenerated] > 2:
  574. npc_neat[$npclastgenerated] = 1
  575. npc_messy[$npclastgenerated] = 0
  576. else
  577. npc_messy[$npclastgenerated] = 1
  578. npc_neat[$npclastgenerated] = 0
  579. end
  580. end
  581. npc_manscaped[$npclastgenerated] = rand(0,2) - npc_neat[$npclastgenerated]
  582. if npc_manscaped[$npclastgenerated] < 1:
  583. npc_manscaped[$npclastgenerated] = 0
  584. $npc_pubes[$npclastgenerated] = 'shaved'
  585. elseif npc_manscaped[$npclastgenerated] = 1:
  586. $npc_pubes[$npclastgenerated] = 'trimmed'
  587. elseif npc_manscaped[$npclastgenerated] = 2:
  588. $npc_pubes[$npclastgenerated] = 'bush'
  589. end
  590. !! if npc_argumentative = 1: they will get into more arguments with you about things
  591. !! it is also harder to persuade them
  592. npc_argumentative[$npclastgenerated] = rand(0,2)
  593. !! if npc_assertive = 1: they will know what they want
  594. !! if npc_assertive = -1: they will often ask what the player wants
  595. !! it is also harder to persuade them
  596. npc_assertive[$npclastgenerated] = rand(-1,1)
  597. !! how easy or difficult it is to persuade them into doing something
  598. npc_willpwr[$npclastgenerated] = rand(1,50)
  599. npc_willpwr[$npclastgenerated] += npc_argumentative[$npclastgenerated] * 10
  600. !! if npc_arrogant = 1: they will act arrogantly
  601. npc_arrogant[$npclastgenerated] = rand(-1,1)
  602. !! if npc_competitive = 1: they are overly competitive in contests against you or others
  603. npc_competitive[$npclastgenerated] = rand(-1,1)
  604. !! if npc_insecure = 1: they are insecure in their masculinity and won''t respond well to teasing
  605. npc_insecure[$npclastgenerated] = rand(-1,1)
  606. !! if npc_gymrat = 1: they like working out
  607. npc_gymrat[$npclastgenerated] = rand(-1,1)
  608. !! if npc_abusive = 1: the npc will be abusive
  609. npc_abusive[$npclastgenerated] = rand(-3,1)
  610. !! if npc_caretaker = 1: they will frequently show love through acts of service
  611. !! example: making you breakfast in bed
  612. if npc_selfish[$npclastgenerated] ! 1: npc_caretaker[$npclastgenerated] = rand(-3,1)
  613. !! ------------------------- sex related preferences ----------------------------------
  614. if rand(0,1) >= 1:
  615. !! if npc_condom_conscious = 1: they will use condoms but can be talked out of it
  616. !! if npc_condom_conscious = 2: they will always insist on using condoms unless you are in a committed relationship and/or trying for a baby
  617. if npc_diligent[$npclastgenerated] = 1:
  618. npc_condom_conscious[$npclastgenerated] = rand(-1,2)
  619. else
  620. npc_condom_conscious[$npclastgenerated] = rand(-2,2)
  621. end
  622. else
  623. !! if npc_no_condoms = 1: they have a preference for skipping condoms but can be talked into using one
  624. !! if npc_no_condoms = 2: they will never use a condom no matter what
  625. if npc_risktaker[$npclastgenerated] = 1:
  626. npc_no_condoms[$npclastgenerated] = rand(-1,2)
  627. else
  628. npc_no_condoms[$npclastgenerated] = rand(-2,2)
  629. end
  630. end
  631. if npc_condom_conscious[$npclastgenerated] < 0: npc_condom_conscious[$npclastgenerated] = 0
  632. if npc_no_condoms[$npclastgenerated] < 0: npc_no_condoms[$npclastgenerated] = 0
  633. if rand(1,50) = 1:
  634. npc_latex_allergy[$npclastgenerated] = 1
  635. npc_no_condoms[$npclastgenerated] = 1
  636. npc_condom_conscious[$npclastgenerated] = 0
  637. end
  638. !! Preferred sexual position
  639. npc_fav_pos[$npclastgenerated] = rand(1,7)
  640. if npc_fav_pos[$npclastgenerated] = 1:
  641. $npc_fav_pos[$npclastgenerated] = 'miss'
  642. elseif npc_fav_pos[$npclastgenerated] = 2:
  643. $npc_fav_pos[$npclastgenerated] = 'doggy'
  644. elseif npc_fav_pos[$npclastgenerated] = 3:
  645. $npc_fav_pos[$npclastgenerated] = 'cowgirl'
  646. elseif npc_fav_pos[$npclastgenerated] = 4:
  647. $npc_fav_pos[$npclastgenerated] = 'blowjob'
  648. elseif npc_fav_pos[$npclastgenerated] = 5:
  649. $npc_fav_pos[$npclastgenerated] = 'titjob'
  650. elseif npc_fav_pos[$npclastgenerated] = 6:
  651. $npc_fav_pos[$npclastgenerated] = '69'
  652. elseif npc_fav_pos[$npclastgenerated] = 7:
  653. $npc_fav_pos[$npclastgenerated] = 'anal'
  654. end
  655. !! npc_sex_speed determines whether they like it slow, steady, or fast and will cause them to select that speed more frequently
  656. !! 1 is slow, 2 is steady, 3 is fast/rough
  657. npc_sex_speed[$npclastgenerated] = rand(1,3)
  658. npc_sex_volume[$npclastgenerated] = rand(0,3)
  659. !! npc_sex_volume refers to how much noise they make during sex
  660. !! npc_sex_volume = 0: virtually quiet during sex
  661. !! npc_sex_volume = 1: grunting noises only
  662. !! npc_sex_volume = 2: will add dirty talk
  663. !! npc_sex_volume = 3: loud "obnoxious" noises
  664. if npc_sex_speed[$npclastgenerated] = 1 and rand(1,3) = 1:
  665. !! npc has a tendency to be overly gentle and cautious
  666. npc_gentle_lover[$npclastgenerated] = 1
  667. elseif rand(1,3) = 1:
  668. !! npc prefers sex with dirty talk and perverted acts
  669. !! example: using spit instead of lube
  670. npc_dirty_lover[$npclastgenerated] = 1
  671. elseif rand(1,3) = 1:
  672. !! npc prefers romantic and sensual sex
  673. npc_sensual_lover[$npclastgenerated] = 1
  674. end
  675. !! Preferred cumming location
  676. !! 0 = no preference
  677. npc_cum_pref[$npclastgenerated] = rand(0,5)
  678. if npc_cum_pref[$npclastgenerated] = 1:
  679. $npc_cum_pref[$npclastgenerated] = 'creampie'
  680. elseif npc_cum_pref[$npclastgenerated] = 2:
  681. $npc_cum_pref[$npclastgenerated] = 'mouth'
  682. elseif npc_cum_pref[$npclastgenerated] = 3:
  683. $npc_cum_pref[$npclastgenerated] = 'facial'
  684. elseif npc_cum_pref[$npclastgenerated] = 4:
  685. $npc_cum_pref[$npclastgenerated] = 'tits'
  686. elseif npc_cum_pref[$npclastgenerated] = 5:
  687. $npc_cum_pref[$npclastgenerated] = 'pullout'
  688. end
  689. if rand(1,5) = 1:
  690. npc_bukakke_fetish[$npclastgenerated] = 1
  691. elseif rand(1,3) = 1 and npc_cum_pref[$npclastgenerated] ! 3:
  692. npc_dislikes_facials[$npclastgenerated] = 1
  693. end
  694. !! npc_tit_pref determines an npcs preference for breast size
  695. !! if npc_tit_pref = 0: they don''t care
  696. !! if npc_tit_pref = 1: they like small tits (A or smaller)
  697. !! if npc_tit_pref = 2: they like medium sized tits (B to C)
  698. !! if npc_tit_pref = 3: they like busty girls (D to E)
  699. !! if npc_tit_pref = 4: they like oversized breasts (F+)
  700. npc_tit_pref[$npclastgenerated] = rand(0,4)
  701. !! npc_bush_pref determines an npcs preference for the player''s shaving habits
  702. !! if npc_bush_pref = 0: they don''t care
  703. !! if npc_bush_pref = 1: they prefer it cleanshaven
  704. !! if npc_bush_pref = 2: they like it trimmed or cleanshaven
  705. !! if npc_bush_pref = 3: they like it bushy
  706. npc_bush_pref[$npclastgenerated] = rand(0,3)
  707. !! $npc_fav_body_part
  708. if rand(1,4) = 1:
  709. $npc_fav_body_part[$npclastgenerated] = 'pussy'
  710. elseif rand(1,3) = 1:
  711. $npc_fav_body_part[$npclastgenerated] = 'tits'
  712. elseif rand(1,2) = 2:
  713. $npc_fav_body_part[$npclastgenerated] = 'ass'
  714. else
  715. $npc_fav_body_part[$npclastgenerated] = 'thighs'
  716. end
  717. !! if npc_sexdrive determines how likely the npc will be to engage in sexual behavior and how many times they can orgasm in a single sexual encounter
  718. if rand(1,10) <= 4:
  719. npc_sexdrive[$npclastgenerated] = rand(3,5)
  720. elseif rand(1,10) <= 3:
  721. npc_sexdrive[$npclastgenerated] = rand(1,3)
  722. !! elseif rand(1,10) <= 3:
  723. !! npc_sexdrive[$npclastgenerated] = rand(1,10)
  724. !! elseif rand(1,10) <= 2:
  725. !! npc_sexdrive[$npclastgenerated] = rand(7,10)
  726. else
  727. !!failsafe
  728. npc_sexdrive[$npclastgenerated] = rand(1,10)
  729. if npc_sexdrive[$npclastgenerated] > 5: npc_energetic[$boy] = rand(0,1)
  730. end
  731. !! if npc_sex_stamina determines how long they can last in bed without cumming
  732. npc_sex_stamina[$npclastgenerated] = rand(1,10)
  733. !!{ if rand(1,10) <= 4:
  734. npc_sex_stamina[$npclastgenerated] = rand(3,5)
  735. elseif rand(1,10) <= 3:
  736. npc_sex_stamina[$npclastgenerated] = rand(1,3)
  737. !! elseif rand(1,10) <= 3:
  738. !! npc_sex_stamina[$npclastgenerated] = rand(1,10)
  739. !! elseif rand(1,10) <= 2:
  740. !! npc_sex_stamina[$npclastgenerated] = rand(7,10)
  741. else
  742. !!failsafe
  743. npc_sex_stamina[$npclastgenerated] = rand(1,10)
  744. end}
  745. !! npc_spanker determines whether or not they''re into spanking during sex
  746. if rand(1,3) = 1: npc_sex_spanker[$npclastgenerated] = 1
  747. !! npc_childfree determines that they never want to have kids and will react poorly to pregnancy related topics
  748. if rand(1,5) = 1: npc_childfree[$npclastgenerated] = 1
  749. !! if npc_pussyeater = 1: they have a fetish for eating pussy
  750. !! if npc_pussyeater = -1: they refuse to eat pussy
  751. if rand(1,3) = 1: npc_pussyeater[$npclastgenerated] = 1
  752. !! if npc_cuddler = 1: the npc likes to cuddle
  753. if rand(1,3) = 1: npc_cuddler[$npclastgenerated] = 1
  754. !! if npc_cum_cannon = 1: the npc ejaculates particularly large loads
  755. if rand(1,5) = 1: npc_cum_cannon[$npclastgenerated] = 1
  756. !! if npc_sex_filmer = 1: the npc likes to make sex videos
  757. if rand(1,5) = 1: npc_sex_filmer[$npclastgenerated] = 1
  758. !! if npc_two_pump = 1: the npc will always cum immediately in the first penetration act of sex
  759. if rand(1,6) = 1: npc_two_pump[$npclastgenerated] = 1
  760. !! ------------------------- date preferences ----------------------------------
  761. !! favorite kind of date
  762. if $npc_door_pref[$npclastgenerated] = 'indoor' and rand(1,3) < 3:
  763. if rand(1,5) = 1:
  764. $npc_fav_date[$npclastgenerated] = 'takeout_date'
  765. elseif rand(1,4) = 1:
  766. $npc_fav_date[$npclastgenerated] = 'coffee_date'
  767. elseif rand(1,3) = 1:
  768. $npc_fav_date[$npclastgenerated] = 'casual_meal'
  769. elseif rand(1,2) = 1:
  770. $npc_fav_date[$npclastgenerated] = 'netflix_chill'
  771. elseif rand(1,1) = 1:
  772. $npc_fav_date[$npclastgenerated] = 'movie_date'
  773. end
  774. elseif $npc_door_pref[$npclastgenerated] = 'outdoor' and rand(1,3) < 3:
  775. if rand(1,6) = 1:
  776. $npc_fav_date[$npclastgenerated] = 'picnic_date'
  777. elseif rand(1,5) = 1:
  778. $npc_fav_date[$npclastgenerated] = 'beach_date'
  779. elseif rand(1,4) = 1:
  780. $npc_fav_date[$npclastgenerated] = 'casual_meal'
  781. elseif rand(1,3) = 1:
  782. $npc_fav_date[$npclastgenerated] = 'fancy_meal'
  783. elseif rand(1,2) = 1:
  784. $npc_fav_date[$npclastgenerated] = 'amusement_park'
  785. elseif rand(1,1) = 1:
  786. $npc_fav_date[$npclastgenerated] = 'shopping_date'
  787. end
  788. else
  789. if rand(1,4) = 1:
  790. $npc_fav_date[$npclastgenerated] = 'picnic_date'
  791. elseif rand(1,4) = 1:
  792. $npc_fav_date[$npclastgenerated] = 'beach_date'
  793. elseif rand(1,3) = 1:
  794. $npc_fav_date[$npclastgenerated] = 'shopping_date'
  795. elseif rand(1,2) = 1:
  796. $npc_fav_date[$npclastgenerated] = 'fancy_meal'
  797. elseif rand(1,1) = 1:
  798. $npc_fav_date[$npclastgenerated] = 'amusement_park'
  799. elseif rand(1,4) = 1:
  800. $npc_fav_date[$npclastgenerated] = 'takeout_date'
  801. elseif rand(1,3) = 1:
  802. $npc_fav_date[$npclastgenerated] = 'casual_meal'
  803. elseif rand(1,2) = 1:
  804. $npc_fav_date[$npclastgenerated] = 'netflix_chill'
  805. elseif rand(1,1) = 1:
  806. $npc_fav_date[$npclastgenerated] = 'movie_date'
  807. end
  808. end
  809. !! npc_fav_genre determines what kind of media they like to consume
  810. if rand(1,10) > 7:
  811. $npc_fav_genre[$npclastgenerated] = 'action'
  812. elseif rand(1,7) > 4:
  813. $npc_fav_genre[$npclastgenerated] = 'horror'
  814. elseif rand(1,5) > 2:
  815. if rand(1,10) < npc_sexdrive[$npclastgenerated]:
  816. $npc_fav_genre[$npclastgenerated] = 'raunchy_comedy'
  817. else
  818. $npc_fav_genre[$npclastgenerated] = 'comedy'
  819. end
  820. elseif rand(1,2) = 1:
  821. $npc_fav_genre[$npclastgenerated] = 'drama'
  822. else
  823. $npc_fav_genre[$npclastgenerated] = 'romance'
  824. end
  825. !! Variable clean up
  826. killvar '$npctempgn'
  827. killvar 'npctempc1'
  828. killvar 'npctempc2'
  829. killvar 'npctempgsex'
  830. killvar '$npctempgn'
  831. killvar 'npctempgage'
  832. killvar '$npctemparrc'
  833. killvar 'temp_location'
  834. --- npcgeneratec ---------------------------------