1
0

spellList.qsrc 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715
  1. # spellList
  2. ! Information pertaining to PC for each spell
  3. ! spellKnown['spellname'] = 1 if the spell is known by the player
  4. ! spellLearn['spellname'] = 0-100, percentage of study that has occured to learn this spell. 100+ will learn it.
  5. ! spellListAvail['spellListArrayName'] = Number of spells that teacher will teach in the list
  6. !
  7. ! MetaData for Each Spell
  8. ! spellMana['spellname'] = Mana cost to cast this spell
  9. ! spellTime['spellname'] = How much time will pass in the casting of the spell
  10. ! spellDiff['spellname'] = Difficulty to learn and cast this spell
  11. ! $spellName['spellname'] = Pretty name for the spell
  12. ! $spellDesc['spellname'] = Description of what the spell does.
  13. ! $spellTarget['spellname'] = Intended Target of Spell (e.g.: 'self', 'team', 'enemy').
  14. ! $spellReq['spellname'] = Prerequisite Spell needed to learn this spell
  15. ! $spellOptDesc['spellname'] = name of an array of Option Descriptions for this spell
  16. ! $spellOptVal['spellname'] = name of an array of values to pass for Spell Options
  17. !
  18. ! There are also defined lists of spells grouped together
  19. ! $combatSpells = Spells that can be used in Combat
  20. ! $nonComSpells = Non-Combat Spells, ones that can be executed in any location.
  21. ! ---
  22. ! $basicSpells = basic spells that are taught by Tatiana
  23. ! $healSpells = Healing Spells
  24. ! $beautySpells = Beauty Spells
  25. ! $librarySpells = Spells Researchable in the Library
  26. ! $fireSpells = Fire-based spells
  27. ! $electSpells = Electricity based spells
  28. ! $earthSpells = Earth magic spells
  29. ! $airSpells = Air based spells
  30. ! $waterSpells = Water based spells
  31. !
  32. ! To create a new spell...
  33. ! 1) fill out the meta-data as listed above, this describes stats abotu the spell, cost, difficulty, desc, etc.
  34. ! 2) Typically, a spell will be in one of $combatSpells or $nonComSpells (this picks how the spell is executed
  35. ! by the user), andcalso in one other of the lists ($basicSpells, $fireSpells, etc.), which picks where you
  36. ! learn the spells.
  37. ! 3) Then create a matching section in the "spell" location for it. This function in "spell" describes what the
  38. ! spell actually does in game mechanics
  39. !teleport
  40. spellMana['teleport'] = 1000
  41. spellTime['teleport'] = 20
  42. spellDiff['teleport'] = 20
  43. $spellName['teleport'] = 'Teleport'
  44. $spellDesc['teleport'] = 'You can move from one Fairy Circle to another.'
  45. $spellTarget['teleport'] = 'self'
  46. $spellOptDesc['teleport'] = '$treeCircName'
  47. $spellOptVal['teleport'] = '$tpLocations'
  48. !regenerate
  49. spellMana['regenerate'] = 500
  50. spellTime['regenerate'] = 1
  51. spellDiff['regenerate'] = 5
  52. $spellName['regenerate'] = 'Regenerate'
  53. $spellDesc['regenerate'] = 'Slowly regain health over time.'
  54. $spellTarget['regenerate'] = 'self'
  55. !curedisease
  56. spellMana['curedisease'] = 1000
  57. spellTime['curedisease'] = 30
  58. spellDiff['curedisease'] = 25
  59. $spellName['curedisease'] = 'Cure Disease'
  60. $spellDesc['curedisease'] = 'Your body will burn itself free of any diseases you may have.'
  61. $spellTarget['teleport'] = 'self'
  62. !curewounds
  63. spellMana['curewounds'] = 1000
  64. spellTime['curewounds'] = 30
  65. spellDiff['curewounds'] = 25
  66. $spellName['curewounds'] = 'Cure Wounds'
  67. $spellDesc['curewounds'] = 'You feel your body''s wounds begin to heal.'
  68. $spellTarget['curewounds'] = 'team'
  69. !curewounds2
  70. spellMana['curewounds2'] = 10000
  71. spellTime['curewounds2'] = 60
  72. spellDiff['curewounds2'] = 75
  73. $spellName['curewounds2'] = 'Greater Cure Wounds'
  74. $spellDesc['curewounds2'] = 'You feel your body heal to perfection.'
  75. $spellReq['curewounds2'] = 'curewounds'
  76. $spellTarget['curewounds2'] = 'team'
  77. !painblock
  78. spellMana['painblock'] = 1000
  79. spellTime['painblock'] = 1
  80. spellDiff['painblock'] = 8
  81. $spellName['painblock'] = 'Pain Block'
  82. $spellDesc['painblock'] = 'Block your pain for some time.'
  83. $spellTarget['painblock'] = 'self'
  84. !berserk
  85. spellMana['berserk'] = 5000
  86. spellTime['berserk'] = 1
  87. spellDiff['berserk'] = 30
  88. $spellName['berserk'] = 'Berserker Rage'
  89. $spellDesc['berserk'] = 'Enrage yourself with supernatural strength, speed, and endurance.'
  90. $spellTarget['berserk'] = 'self'
  91. !shower
  92. spellMana['shower'] = 500
  93. spellTime['shower'] = 1
  94. spellDiff['shower'] = 1
  95. $spellName['shower'] = 'Shower'
  96. $spellDesc['shower'] = 'Clean and refresh yourself as if you have taken a shower.'
  97. $spellTarget['shower'] = 'self'
  98. !makeup
  99. spellMana['makeup'] = 100
  100. spellTime['makeup'] = 5
  101. spellDiff['makeup'] = 15
  102. $spellName['makeup'] = 'Makeup'
  103. $spellDesc['makeup'] = 'Apply Makeup to yourself magically.'
  104. $spellTarget['makeup'] = 'self'
  105. $spellOptDesc['makeup'] = '$MakeupSet'
  106. $spellOptVal['makeup'] = '$MakeupSetVal'
  107. if $makeup['routine_1'] + $makeup['routine_2'] + $makeup['routine_3'] + $makeup['routine_4'] = '':
  108. killvar '$MakeupSet'
  109. killvar '$MakeupSetVal'
  110. $MakeupSet[0] = 'No Makeup'
  111. $MakeupSetVal[0] = '000'
  112. $MakeupSet[1] = 'Light Makeup'
  113. $makeupSetVal[1] = '110'
  114. $MakeupSet[2] = 'Vibrant Makeup'
  115. $makeupSetVal[2] = '210'
  116. $MakeupSet[3] = 'Heavy Makeup'
  117. $makeupSetVal[3] = '310'
  118. $MakeupSet[4] = 'Bimbo Makeup'
  119. $makeupSetVal[4] = '510'
  120. else
  121. killvar '$MakeupSet'
  122. killvar '$MakeupSetVal'
  123. $MakeupSet[0] = 'No Makeup'
  124. $MakeupSetVal[0] = '000'
  125. i=1
  126. if $makeup['routine_1'] ! '':
  127. $MakeupSet[i] = $makeup['routine_1_name']
  128. $MakeupSetVal[i] = $makeup['routine_1']
  129. i += 1
  130. end
  131. if $makeup['routine_2'] ! '':
  132. $MakeupSet[i] = $makeup['routine_2_name']
  133. $MakeupSetVal[i] = $makeup['routine_2']
  134. i += 1
  135. end
  136. if $makeup['routine_3'] ! '':
  137. $MakeupSet[i] = $makeup['routine_3_name']
  138. $MakeupSetVal[i] = $makeup['routine_3']
  139. i += 1
  140. end
  141. if $makeup['routine_4'] ! '':
  142. $MakeupSet[i] = $makeup['routine_4_name']
  143. $MakeupSetVal[i] = $makeup['routine_4']
  144. i += 1
  145. end
  146. killvar 'i'
  147. end
  148. !cosmetica
  149. spellMana['cosmetica'] = 1000
  150. spellTime['cosmetica'] = 5
  151. spellDiff['cosmetica'] = 50
  152. $spellName['cosmetica'] = 'Cosmetica'
  153. $spellDesc['cosmetica'] = 'Clean and tidy yourself, completely beautifying yourself; hair, makeup, grooming of all kinds.'
  154. $spellTarget['cosmetica'] = 'self'
  155. $spellReq['cosmetica'] = 'makeup'
  156. !glamour
  157. spellMana['glamour'] = 500
  158. spellTime['glamour'] = 1
  159. spellDiff['glamour'] = 30
  160. $spellName['glamour'] = 'Glamour'
  161. $spellTarget['glamour'] = 'self'
  162. $spellDesc['glamour'] = 'Become undefinably beautiful. Your eyes sparkle just so. Your hair has a perfect luster. Your curves are undefinably perfect.'
  163. !glamour
  164. spellMana['alterself'] = 500
  165. spellTime['alterself'] = 1
  166. spellDiff['alterself'] = 30
  167. $spellName['alterself'] = 'Alter Self'
  168. $spellTarget['alterself'] = 'self'
  169. $spellDesc['alterself'] = 'Change your appearance to that of some other person.'
  170. !bodymod
  171. spellMana['bodymod'] = 40
  172. spellTime['bodymod'] = 30
  173. spellDiff['bodymod'] = 0
  174. $spellName['bodymod'] = 'Body Modification'
  175. $spellDesc['bodymod'] = 'Change your appearance.'
  176. $spellTarget['bodymod'] = 'self'
  177. !fog
  178. spellMana['fog'] = 10
  179. spellTime['fog'] = 0
  180. spellDiff['fog'] = 1
  181. $spellName['fog'] = 'Fog'
  182. $spellDesc['fog'] = 'Create a fog on the battlefield, obscuring the view of the enemy.'
  183. $spellTarget['fog'] = 'self'
  184. !clone
  185. spellMana['clone'] = 15
  186. spellTime['clone'] = 0
  187. spellDiff['clone'] = 1
  188. $spellName['clone'] = 'Create Clone'
  189. $spellDesc['clone'] = 'You can create an exact clone of yourself and slip out of sight of the enemy.'
  190. $spellTarget['clone'] = 'self'
  191. !stun
  192. spellMana['stun'] = 200
  193. spellTime['stun'] = 0
  194. spellDiff['stun'] = 50
  195. $spellName['stun'] = 'Stun'
  196. $spellDesc['stun'] = 'Paralyze the enemy with a touch.'
  197. $spellTarget['stun'] = 'enemy'
  198. !weapon
  199. spellMana['weapon'] = 20
  200. spellTime['weapon'] = 0
  201. spellDiff['weapon'] = 0
  202. $spellName['weapon'] = 'Empower Weapon'
  203. $spellDesc['weapon'] = 'Magically empower a weapon, causing it to deal greater damage.'
  204. $spellTarget['weapon'] = 'self'
  205. !wind
  206. spellMana['wind'] = 40
  207. spellTime['wind'] = 0
  208. spellDiff['wind'] = 2
  209. $spellName['wind'] = 'Gust of Wind'
  210. $spellDesc['wind'] = 'Summon a gust of wind that will clear away fog.'
  211. $spellTarget['wind'] = 'enemy'
  212. !multiclone
  213. spellMana['multiclone'] = 45
  214. spellTime['multiclone'] = 0
  215. spellDiff['multiclone'] = 2
  216. $spellName['multiclone'] = 'Multi-Clone'
  217. $spellDesc['multiclone'] = 'Summon three clones of yourself and slip out of the enemy''s sight.'
  218. $spellReq['multiclone'] = 'clone'
  219. $spellTarget['multiclone'] = 'self'
  220. !energo
  221. spellMana['energo'] = 50
  222. spellTime['energo'] = 0
  223. spellDiff['energo'] = 3
  224. $spellName['energo'] = 'Energy Shield'
  225. $spellDesc['energo'] = 'Create an energy shield to absorb incoming damage. You gain 100 defense.'
  226. $spellTarget['energo'] = 'self'
  227. !haste
  228. spellMana['haste'] = 60
  229. spellTime['haste'] = 0
  230. spellDiff['haste'] = 3
  231. $spellName['haste'] = 'Haste'
  232. $spellDesc['haste'] = 'Hasten your passage through time to gain reaction speed to seize the initiative.'
  233. $spellTarget['haste'] = 'self'
  234. !heal
  235. spellMana['heal'] = 400
  236. spellTime['heal'] = 0
  237. spellDiff['heal'] = 4
  238. $spellName['heal'] = 'Heal'
  239. $spellDesc['heal'] = 'Exchange mana for health, healing your wounds and fortifying your body.'
  240. $spellTarget['heal'] = 'team'
  241. !hand
  242. spellMana['hand'] = 100
  243. spellTime['hand'] = 0
  244. spellDiff['hand'] = 0
  245. $spellName['hand'] = 'Quivering Palm'
  246. $spellDesc['hand'] = 'Add energy from your mana to your hand for a devastating strike.'
  247. $spellTarget['wind'] = 'enemy'
  248. !scaldingtouch
  249. spellMana['scaldingtouch'] = 10
  250. spellTime['scaldingtouch'] = 0
  251. spellDiff['scaldingtouch'] = 6
  252. $spellName['scaldingtouch'] = 'Scalding Touch'
  253. $spellDesc['scaldingtouch'] = 'Flames spring from your hands.'
  254. $spellTarget['scaldingtouch'] = 'enemy'
  255. !burninghands
  256. spellMana['burninghands'] = 100
  257. spellTime['burninghands'] = 0
  258. spellDiff['burninghands'] = 7
  259. $spellName['burninghands'] = 'Burning Hands'
  260. $spellDesc['burninghands'] = 'A torrent of flames jets from your hands.'
  261. $spellReq['burninghands'] = 'scaldingtouch'
  262. $spellTarget['burninghands'] = 'enemy'
  263. !firebarrier
  264. spellMana['firebarrier'] = 150
  265. spellTime['firebarrier'] = 0
  266. spellDiff['firebarrier'] = 8
  267. $spellName['firebarrier'] = 'Fire Barrier'
  268. $spellDesc['firebarrier'] = 'You are shielded by a wall of flames. Adds 750 defense.'
  269. $spellTarget['firebarrier'] = 'self'
  270. !firestorm
  271. spellMana['firestorm'] = 250
  272. spellTime['firestorm'] = 0
  273. spellDiff['firestorm'] = 9
  274. $spellName['firestorm'] = 'Fire Storm'
  275. $spellDesc['firestorm'] = 'Superheated embers rain down upon your enemies.'
  276. $spellTarget['firestorm'] = 'enemy'
  277. !flameshield
  278. spellMana['flameshield'] = 500
  279. spellTime['flameshield'] = 0
  280. spellDiff['flameshield'] = 10
  281. $spellName['flameshield'] = 'Flame Shield'
  282. $spellDesc['flameshield'] = 'A Shield made of flames interposes itself between you and your enemy, absorbing 2500 damage to defend you.'
  283. $spellTarget['flameshield'] = 'self'
  284. !shock
  285. spellMana['shock'] = 10
  286. spellTime['shock'] = 0
  287. spellDiff['shock'] = 6
  288. $spellName['shock'] = 'Electric Shock'
  289. $spellDesc['shock'] = 'An electric spark shoots from your hand.'
  290. $spellTarget['shock'] = 'enemy'
  291. !lightning
  292. spellMana['lightning'] = 100
  293. spellTime['lightning'] = 0
  294. spellDiff['lightning'] = 7
  295. $spellName['lightning'] = 'Lightning'
  296. $spellDesc['lightning'] = 'A lightning bolt shoots from your hand.'
  297. $spellTarget['lightning'] = 'enemy'
  298. !electricbarrier
  299. spellMana['electricbarrier'] = 150
  300. spellTime['electricbarrier'] = 0
  301. spellDiff['electricbarrier'] = 8
  302. $spellName['electricbarrier'] = 'Electric Barrier'
  303. $spellDesc['electricbarrier'] = 'A static electric field blocks incoming attacks from reaching you.'
  304. $spellTarget['electricbarrier'] = 'self'
  305. !1000birds
  306. spellMana['1000birds'] = 250
  307. spellTime['1000birds'] = 0
  308. spellDiff['1000birds'] = 9
  309. $spellName['1000birds'] = 'Dance of a Thousand Birds'
  310. $spellDesc['1000birds'] = 'The air is filled with small lightning bolts leaping through the air with shrieks.'
  311. $spellReq['1000birds'] = 'lightning'
  312. $spellTarget['1000birds'] = 'enemy'
  313. !dancingsphere
  314. spellMana['dancingsphere'] = 500
  315. spellTime['dancingsphere'] = 0
  316. spellDiff['dancingsphere'] = 10
  317. $spellName['dancingsphere'] = 'Dancing Sphere'
  318. $spellDesc['dancingsphere'] = 'Lightning dances around you, blocking attacks coming toward you.'
  319. $spellTarget['dancingsphere'] = 'self'
  320. !quicksand
  321. spellMana['quicksand'] = 10
  322. spellTime['quicksand'] = 0
  323. spellDiff['quicksand'] = 6
  324. $spellName['quicksand'] = 'Quicksand'
  325. $spellDesc['quicksand'] = 'Your opponent is caught in a quicksand trap.'
  326. $spellTarget['quicksand'] = 'enemy'
  327. !earthshield
  328. spellMana['earthshield'] = 100
  329. spellTime['earthshield'] = 0
  330. spellDiff['earthshield'] = 7
  331. $spellName['earthshield'] = 'Earth Shield'
  332. $spellDesc['earthshield'] = 'Tendrils of earth reach up to defend you. Some of the damage it absorbs is captured as mana and given to you.'
  333. $spellTarget['earthshield'] = 'self'
  334. !abyss
  335. spellMana['abyss'] = 150
  336. spellTime['abyss'] = 0
  337. spellDiff['abyss'] = 8
  338. $spellName['abyss'] = 'Abyss'
  339. $spellDesc['abyss'] = 'The Earth opens up beneath your opponent''s feet, slamming shut damaging him and depriving him of the ability to move.'
  340. $spellTarget['abyss'] = 'enemy'
  341. !earthguardian
  342. spellMana['earthguardian'] = 250
  343. spellTime['earthguardian'] = 0
  344. spellDiff['earthguardian'] = 9
  345. $spellName['earthguardian'] = 'Earth Guardian'
  346. $spellDesc['earthguardian'] = 'The Earth itself comes alive defending you from attacks. It draws from the power of the land to regenerate itself every round.'
  347. $spellTarget['earthguardian'] = 'self'
  348. !sando
  349. spellMana['sando'] = 500
  350. spellTime['sando'] = 0
  351. spellDiff['sando'] = 10
  352. $spellName['sando'] = 'Sando'
  353. $spellDesc['sando'] = 'Two huge plates of earth collapse together, crushing the enemy and depriving him of the ability to move.'
  354. $spellTarget['sando'] = 'enemy'
  355. !windgust
  356. spellMana['windgust'] = 10
  357. spellTime['windgust'] = 0
  358. spellDiff['windgust'] = 6
  359. $spellName['windgust'] = 'Wind Gust'
  360. $spellDesc['windgust'] = 'a huge gust of wind rips past you, killing clones and removing fog.'
  361. $spellTarget['windgust'] = 'enemy'
  362. !pressure
  363. spellMana['pressure'] = 100
  364. spellTime['pressure'] = 0
  365. spellDiff['pressure'] = 7
  366. $spellName['pressure'] = 'Horrific Pressure'
  367. $spellDesc['pressure'] = 'Enormous air pressure surrounds your enemy, causing damage as well as killing clones and removing fog.'
  368. $spellTarget['pressure'] = 'enemy'
  369. !vacuum
  370. spellMana['vacuum'] = 150
  371. spellTime['vacuum'] = 0
  372. spellDiff['vacuum'] = 8
  373. $spellName['vacuum'] = 'Vacuum Sphere'
  374. $spellDesc['vacuum'] = 'A turbulent sphere of vacuum surrounds you, blocking incoming attacks.'
  375. $spellTarget['vacuum'] = 'self'
  376. !vacuumshells
  377. spellMana['vacuumshells'] = 250
  378. spellTime['vacuumshells'] = 0
  379. spellDiff['vacuumshells'] = 9
  380. $spellName['vacuumshells'] = 'Vacuum Shells'
  381. $spellDesc['vacuumshells'] = 'Turbulent spheres of vacuum bombard your enemy, destroying clones and removing fog.'
  382. $spellTarget['vacuumshells'] = 'enemy'
  383. !devouringvacuum
  384. spellMana['devouringvacuum'] = 500
  385. spellTime['devouringvacuum'] = 0
  386. spellDiff['devouringvacuum'] = 10
  387. $spellName['devouringvacuum'] = 'Devouring Vacuum'
  388. $spellDesc['devouringvacuum'] = 'A devouring vacuum sucks away your enemy''s defensive shields.'
  389. $spellTarget['devouringvacuum'] = 'enemy'
  390. !leechmana
  391. spellMana['leechmana'] = 10
  392. spellTime['leechmana'] = 0
  393. spellDiff['leechmana'] = 6
  394. $spellName['leechmana'] = 'Leech Mana'
  395. $spellDesc['leechmana'] = 'Inflict 100 damage and absorb 100 mana from your foe.'
  396. $spellTarget['leechmana'] = 'enemy'
  397. !flood
  398. spellMana['flood'] = 100
  399. spellTime['flood'] = 0
  400. spellDiff['flood'] = 7
  401. $spellName['flood'] = 'Flood'
  402. $spellDesc['flood'] = 'Inflict 1000 damage and absorb 500 mana from your foe.'
  403. $spellTarget['flood'] = 'enemy'
  404. !blister
  405. spellMana['blister'] = 150
  406. spellTime['blister'] = 0
  407. spellDiff['blister'] = 8
  408. $spellName['blister'] = 'Blister'
  409. $spellDesc['blister'] = 'Create a protective sphere of water. Some of the damage absorbed is converted into mana for you.'
  410. $spellTarget['blister'] = 'enemy'
  411. !sharkrockets
  412. spellMana['sharkrockets'] = 250
  413. spellTime['sharkrockets'] = 0
  414. spellDiff['sharkrockets'] = 9
  415. $spellName['sharkrockets'] = 'Shark Rockets'
  416. $spellDesc['sharkrockets'] = 'Blobs of Water shaped like sharks fly towards your enemies, striking them for 1500 damage and absorbing 2500 mana for you. Clones are destroyed.'
  417. $spellTarget['sharkrockets'] = 'enemy'
  418. !greatflood
  419. spellMana['greatflood'] = 500
  420. spellTime['greatflood'] = 0
  421. spellDiff['greatflood'] = 10
  422. $spellName['greatflood'] = 'Great Flood'
  423. $spellDesc['greatflood'] = 'A huge flood of water fills the area, absorbing mana from the enemy and giving you additional protection.'
  424. $spellTarget['greatflood'] = 'enemy'
  425. !penisenvy
  426. spellMana['penisenvy'] = 1000
  427. spellTime['penisenvy'] = 1
  428. spellDiff['penisenvy'] = 50
  429. $spellName['penisenvy'] = 'Penis Envy'
  430. $spellDesc['penisenvy'] = 'Temporarily animate a strapon dildo, the casters experiences sexual sensations from the dildo, as if it was a real penis.'
  431. $spellTarget['penisenvy'] = 'self'
  432. !-------------------------------------------------------------------------------------------
  433. ! Pick Execution points for the spells
  434. ! List Combat Spells for use in fight scenerios
  435. $combatSpells[0] = 'fog'
  436. $combatSpells[1] = 'clone'
  437. $combatSpells[2] = 'stun'
  438. $combatSpells[3] = 'weapon'
  439. $combatSpells[4] = 'wind'
  440. $combatSpells[5] = 'multiclone'
  441. $combatSpells[6] = 'energo'
  442. $combatSpells[7] = 'haste'
  443. $combatSpells[8] = 'heal'
  444. $combatSpells[9] = 'hand'
  445. $combatSpells[10] = 'scaldingtouch'
  446. $combatSpells[11] = 'burninghands'
  447. $combatSpells[12] = 'firebarrier'
  448. $combatSpells[13] = 'firestorm'
  449. $combatSpells[14] = 'flameshield'
  450. $combatSpells[15] = 'shock'
  451. $combatSpells[16] = 'lightning'
  452. $combatSpells[17] = 'electricbarrier'
  453. $combatSpells[18] = '1000birds'
  454. $combatSpells[19] = 'dancingsphere'
  455. $combatSpells[20] = 'quicksand'
  456. $combatSpells[21] = 'earthshield'
  457. $combatSpells[22] = 'abyss'
  458. $combatSpells[23] = 'earthguardian'
  459. $combatSpells[24] = 'sando'
  460. $combatSpells[25] = 'windgust'
  461. $combatSpells[26] = 'pressure'
  462. $combatSpells[27] = 'vacuum'
  463. $combatSpells[28] = 'vacuumshells'
  464. $combatSpells[29] = 'devouringvacuum'
  465. $combatSpells[30] = 'leechmana'
  466. $combatSpells[31] = 'flood'
  467. $combatSpells[32] = 'blister'
  468. $combatSpells[33] = 'sharkrockets'
  469. $combatSpells[34] = 'greatflood'
  470. ! List of Non-Combat Spells for use in Menu
  471. $nonComSpells[0] = 'heal'
  472. $nonComSpells[1] = 'regenerate'
  473. $nonComSpells[2] = 'curedisease'
  474. $nonComSpells[3] = 'curewounds'
  475. $nonComSpells[4] = 'curewounds2'
  476. $nonComSpells[5] = 'painblock'
  477. $nonComSpells[6] = 'berserk'
  478. $nonComSpells[7] = 'shower'
  479. $nonComSpells[8] = 'makeup'
  480. $nonComSpells[9] = 'cosmetica'
  481. $nonComSpells[10] = 'glamour'
  482. !$nonComSpells[11] = 'alterself'
  483. !-------------------------------------------------------------------------------------
  484. ! Pick Learning Location for Spells
  485. ! Basic Spells
  486. $basicSpells[0] = 'fog'
  487. $basicSpells[1] = 'clone'
  488. $basicSpells[2] = 'stun'
  489. $basicSpells[3] = 'wind'
  490. $basicSpells[4] = 'multiclone'
  491. $basicSpells[5] = 'energo'
  492. $basicSpells[6] = 'haste'
  493. $basicSpells[7] = 'berserk'
  494. !Healing Spells
  495. $healSpells[0] = 'painblock'
  496. $healSpells[1] = 'curewounds'
  497. $healSpells[2] = 'curewounds2'
  498. $healSpells[3] = 'curedisease'
  499. $healSpells[4] = 'heal'
  500. $healSpells[5] = 'regenerate'
  501. ! Beauty Spells
  502. $beautySpells[0] = 'shower'
  503. $beautySpells[1] = 'makeup'
  504. $beautySpells[2] = 'cosmetica'
  505. ! Researchable Spells
  506. $librarySpells[0] = 'painblock'
  507. $librarySpells[1] = 'shower'
  508. $librarySpells[2] = 'makeup'
  509. $librarySpells[3] = 'cosmetica'
  510. $librarySpells[4] = 'glamour'
  511. $librarySpells[5] = 'penisenvy'
  512. !$librarySpells[6] = 'alterself'
  513. ! Elemental Spell Groups
  514. $fireSpells[0] = 'scaldingtouch'
  515. $fireSpells[1] = 'burninghands'
  516. $fireSpells[2] = 'firebarrier'
  517. $fireSpells[3] = 'firestorm'
  518. $fireSpells[4] = 'flameshield'
  519. $electSpells[0] = 'shock'
  520. $electSpells[1] = 'lightning'
  521. $electSpells[2] = 'electricbarrier'
  522. $electSpells[3] = '1000birds'
  523. $electSpells[4] = 'dancingsphere'
  524. $earthSpells[0] = 'quicksand'
  525. $earthSpells[1] = 'earthshield'
  526. $earthSpells[2] = 'abyss'
  527. $earthSpells[3] = 'earthguardian'
  528. $earthSpells[4] = 'sando'
  529. $airSpells[0] = 'windgust'
  530. $airSpells[1] = 'pressure'
  531. $airSpells[2] = 'vacuum'
  532. $airSpells[3] = 'vacuumshells'
  533. $airSpells[4] = 'devouringvacuum'
  534. $waterSpells[0] = 'leechmana'
  535. $waterSpells[1] = 'flood'
  536. $waterSpells[2] = 'blister'
  537. $waterSpells[3] = 'sharkrockets'
  538. $waterSpells[4] = 'greatflood'
  539. !! Spell Sets for Combat algorithms
  540. !Healing Spells
  541. $comHealSpells[0] = 'heal'
  542. !Shield Spells
  543. $comShldSpells[0] = 'flameshield'
  544. $comShldSpells[1] = 'firebarrier'
  545. $comShldSpells[2] = 'dancingsphere'
  546. $comShldSpells[3] = 'electricbarrier'
  547. $comShldSpells[4] = 'earthguardian'
  548. $comShldSpells[5] = 'earthshield'
  549. $comShldSpells[6] = 'vacuum'
  550. $comShldSpells[7] = 'blister'
  551. $comShldSpells[8] = 'energo'
  552. !Buff Spells
  553. $comBuffSpells[] = 'haste'
  554. $comBuffSpells[] = 'hand'
  555. !Attack Spells
  556. $comAtkSpells[0] = 'firestorm'
  557. $comAtkSpells[1] = 'burninghands'
  558. $comAtkSpells[2] = 'scaldingtouch'
  559. $comAtkSpells[3] = '1000birds'
  560. $comAtkSpells[4] = 'lightning'
  561. $comAtkSpells[5] = 'shock'
  562. $comAtkSpells[6] = 'sando'
  563. $comAtkSpells[7] = 'abyss'
  564. $comAtkSpells[8] = 'devouringvacuum'
  565. $comAtkSpells[9] = 'vacuumshells'
  566. $comAtkSpells[10] = 'quicksand'
  567. $comAtkSpells[11] = 'pressure'
  568. $comAtkSpells[12] = 'windgust'
  569. $comAtkSpells[13] = 'greatflood'
  570. $comAtkSpells[14] = 'sharkrockets'
  571. $comAtkSpells[15] = 'flood'
  572. $comAtkSpells[16] = 'leechmana'
  573. $comAtkSpells[17] = 'stun'
  574. $comAtkSpells[18] = 'weapon'
  575. !-------------------------------------------------------------------------------------------
  576. ! Helper procedure to build Action bar for Learning Spells.
  577. if $ARGS[0] = 'teacherActions':
  578. ! Make Actions for learning spells
  579. ! $ARGS[1] = the name of the array of spells
  580. ! $ARGS[2] = Exit Location
  581. ! $ARGS[3] = Arg for exit location
  582. ! Example:
  583. ! gs 'spellList', 'teacherActions', '$fireSpells', 'kakuzu', 'mansion1'
  584. $ThisArrayName = $replace($ARGS[1],'$')
  585. $ExitLocation = $ARGS[2]
  586. $ExitLocation2 = $ARGS[3]
  587. ThisArraySize = dyneval("result=arrsize('$<<$ThisArrayName>>')")
  588. MaxAvailable = spellListAvail[$ThisArrayName]
  589. i = 0
  590. :LearnSpellLoop
  591. $ThisSpellName = dyneval("$result = $<<$ThisArrayName>>[<<i>>]")
  592. spellDifficulty = Max(spellDiff[$ThisSpellName],1)
  593. if i < ThisArraySize and i < MaxAvailable:
  594. if spellKnown[$ThisSpellName] = 0 and ($spellReq[$ThisSpellName] = '' or (spellKnown[$spellReq[$ThisSpellName]] = 1)):
  595. if pcs_magik >= spellDifficulty:
  596. dynamic "act 'Practice <<$spellName[$ThisSpellName]>> (1:00) (Magic level <<pcs_magik>> / Level required <<spellDifficulty>>)': gt 'spellList', 'act learn', '<<$ThisSpellName>>','<<$ExitLocation>>','<<$ExitLocation2>>'"
  597. else
  598. act '<font color="red">Practice <<$spellName[$ThisSpellName]>> (Magic level <<pcs_magik>> / Level required <<spellDifficulty>>)</font>': '<br><font color="red">Your Magic level isn''t high enough to develop this spell.</font>'
  599. end
  600. end
  601. i += 1
  602. jump 'LearnSpellLoop'
  603. end
  604. killvar 'i'
  605. killvar 'ThisArraySize'
  606. killvar 'MaxAvailable'
  607. killvar '$ThisArrayName'
  608. end
  609. if $ARGS[0] = 'act learn':
  610. cla
  611. $ThisSpellName = $ARGS[1]
  612. $ExitLocation = $ARGS[2]
  613. $ExitLocation2 = $ARGS[3]
  614. spellDifficulty = Max(spellDiff[$ThisSpellName],1)
  615. if pcs_mana >= 1000:
  616. pcs_mana -= 1000
  617. minut += 60
  618. !Added "* (pcs_splcstng/spellDifficulty)" - if Sveta already mastered Spellcasting skill, learning new spells should be easier, and the opposite
  619. if (pcs_splcstng/spellDifficulty) > 0:
  620. spellLearn[$ThisSpellName] += rand(1, 100/spellDifficulty) * (pcs_splcstng/spellDifficulty)
  621. else
  622. spellLearn[$ThisSpellName] += rand(1, 100/spellDifficulty)
  623. end
  624. if spellLearn[$ThisSpellName] < 100:
  625. 'You diligently study the spell for an hour, but cannot grasp it.'
  626. else
  627. spellKnown[$ThisSpellName] = 1
  628. 'Finally, you are able to grasp and learn the spell.'
  629. *nl
  630. '<<$spellName[$ThisSpellName]>>: <<$spellDesc[$ThisSpellName]>>'
  631. end
  632. else
  633. *pl 'You don''t have enough mana to learn this spell.'
  634. end
  635. act 'Move away': gt $ExitLocation, $ExitLocation2
  636. end
  637. if $ARGS[0] = 'numAvailableSpells':
  638. ! Function that returns if the number of spells left to learn from this spell list
  639. ! $ARGS[1] = spelllist arrayname
  640. ! Example:
  641. ! if func('spellList','numAvailableSpells','librarySpells') > 0: !do stuff to earn next spell
  642. $ThisArrayName = $replace($ARGS[1],'$')
  643. ThisArraySize = dyneval("result=arrsize('$<<$ThisArrayName>>') - spellListAvail['<<$ThisArrayName>>']")
  644. result = ThisArraySize
  645. killvar 'ThisArraySize'
  646. killvar '$ThisArrayName'
  647. end
  648. if $ARGS[0] = 'addAvailableSpells':
  649. ! Increases Spell Available to be taught by this instructor by a given amount, default 1
  650. ! $ARGS[1] = spelllist arrayname
  651. ! ARGS[2] = number of spells to add to avaiable list for learning
  652. ! Example:
  653. ! !This adds one more spell to the list of library spells
  654. ! gs 'spellList','addAvailableSpells','librarySpells'
  655. ! !This adds 3 more spells
  656. ! gs 'spellList','addAvailableSpells','librarySpells', 3
  657. $ThisArrayName = $replace($ARGS[1],'$')
  658. ThisNumToAdd = ARGS[2]
  659. if ThisNumToAdd = 0:
  660. ThisNumToAdd = 1
  661. end
  662. ThisArraySize = dyneval("result=arrsize('$<<$ThisArrayName>>')")
  663. if ThisArraySize - ThisNumToAdd - spellListAvail[$ThisArrayName] < 0:
  664. ! This mean that we are trying to add more spells than are avaiable in the list
  665. spellListAvail[$ThisArrayName] = ThisArraySize
  666. else
  667. ! Else we just add the requested number
  668. spellListAvail[$ThisArrayName] += ThisNumToAdd
  669. end
  670. killvar 'ThisNumToAdd'
  671. killvar 'ThisArraySize'
  672. killvar '$ThisArrayName'
  673. end
  674. --- spellList ---------------------------------