npcgeneratec.qsrc 36 KB

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