spellList.qsrc 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696
  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 $routine1+$routine2+$routine3+$routine4 = '':
  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. else
  119. killvar '$MakeupSet'
  120. killvar '$MakeupSetVal'
  121. $MakeupSet[0] = 'No Makeup'
  122. $MakeupSetVal[0] = '000'
  123. i=1
  124. if $routine1 ! '':
  125. $MakeupSet[i] = $routine1custname
  126. $MakeupSetVal[i] = $routine1
  127. i += 1
  128. end
  129. if $routine2 ! '':
  130. $MakeupSet[i] = $routine2custname
  131. $MakeupSetVal[i] = $routine2
  132. i += 1
  133. end
  134. if $routine3 ! '':
  135. $MakeupSet[i] = $routine3custname
  136. $MakeupSetVal[i] = $routine3
  137. i += 1
  138. end
  139. if $routine4 ! '':
  140. $MakeupSet[i] = $routine4custname
  141. $MakeupSetVal[i] = $routine4
  142. i += 1
  143. end
  144. killvar 'i'
  145. end
  146. !cosmetica
  147. spellMana['cosmetica'] = 1000
  148. spellTime['cosmetica'] = 5
  149. spellDiff['cosmetica'] = 50
  150. $spellName['cosmetica'] = 'Cosmetica'
  151. $spellDesc['cosmetica'] = 'Clean and tidy yourself, completely beautifying yourself; hair, makeup, grooming of all kinds.'
  152. $spellTarget['cosmetica'] = 'self'
  153. $spellReq['cosmetica'] = 'makeup'
  154. !glamour
  155. spellMana['glamour'] = 500
  156. spellTime['glamour'] = 1
  157. spellDiff['glamour'] = 30
  158. $spellName['glamour'] = 'Glamour'
  159. $spellTarget['glamour'] = 'self'
  160. $spellDesc['glamour'] = 'Become undefinably beautiful. Your eyes sparkle just so. Your hair has a perfect luster. Your curves are undefinably perfect.'
  161. !glamour
  162. spellMana['alterself'] = 500
  163. spellTime['alterself'] = 1
  164. spellDiff['alterself'] = 30
  165. $spellName['alterself'] = 'Alter Self'
  166. $spellTarget['alterself'] = 'self'
  167. $spellDesc['alterself'] = 'Change your appearance to that of some other person.'
  168. !bodymod
  169. spellMana['bodymod'] = 40
  170. spellTime['bodymod'] = 30
  171. spellDiff['bodymod'] = 0
  172. $spellName['bodymod'] = 'Body Modification'
  173. $spellDesc['bodymod'] = 'Change your appearance.'
  174. $spellTarget['bodymod'] = 'self'
  175. !fog
  176. spellMana['fog'] = 10
  177. spellTime['fog'] = 0
  178. spellDiff['fog'] = 1
  179. $spellName['fog'] = 'Fog'
  180. $spellDesc['fog'] = 'Create a fog on the battlefield, obscuring the view of the enemy.'
  181. $spellTarget['fog'] = 'self'
  182. !clone
  183. spellMana['clone'] = 15
  184. spellTime['clone'] = 0
  185. spellDiff['clone'] = 1
  186. $spellName['clone'] = 'Create Clone'
  187. $spellDesc['clone'] = 'You can create an exact clone of yourself and slip out of sight of the enemy.'
  188. $spellTarget['clone'] = 'self'
  189. !stun
  190. spellMana['stun'] = 20
  191. spellTime['stun'] = 0
  192. spellDiff['stun'] = 2
  193. $spellName['stun'] = 'Stun'
  194. $spellDesc['stun'] = 'Paralyze the enemy with a touch.'
  195. $spellTarget['stun'] = 'enemy'
  196. !weapon
  197. spellMana['weapon'] = 20
  198. spellTime['weapon'] = 0
  199. spellDiff['weapon'] = 0
  200. $spellName['weapon'] = 'Empower Weapon'
  201. $spellDesc['weapon'] = 'Magically empower a weapon, causing it to deal greater damage.'
  202. $spellTarget['weapon'] = 'self'
  203. !wind
  204. spellMana['wind'] = 40
  205. spellTime['wind'] = 0
  206. spellDiff['wind'] = 2
  207. $spellName['wind'] = 'Gust of Wind'
  208. $spellDesc['wind'] = 'Summon a gust of wind that will clear away fog.'
  209. $spellTarget['wind'] = 'enemy'
  210. !multiclone
  211. spellMana['multiclone'] = 45
  212. spellTime['multiclone'] = 0
  213. spellDiff['multiclone'] = 2
  214. $spellName['multiclone'] = 'Multi-Clone'
  215. $spellDesc['multiclone'] = 'Summon three clones of yourself and slip out of the enemy''s sight.'
  216. $spellReq['multiclone'] = 'clone'
  217. $spellTarget['multiclone'] = 'self'
  218. !energo
  219. spellMana['energo'] = 50
  220. spellTime['energo'] = 0
  221. spellDiff['energo'] = 3
  222. $spellName['energo'] = 'Energy Shield'
  223. $spellDesc['energo'] = 'Create an energy shield to absorb incoming damage. You gain 100 defense.'
  224. $spellTarget['energo'] = 'self'
  225. !haste
  226. spellMana['haste'] = 60
  227. spellTime['haste'] = 0
  228. spellDiff['haste'] = 3
  229. $spellName['haste'] = 'Haste'
  230. $spellDesc['haste'] = 'Hasten your passage through time to gain reaction speed to seize the initiative.'
  231. $spellTarget['haste'] = 'self'
  232. !heal
  233. spellMana['heal'] = 400
  234. spellTime['heal'] = 0
  235. spellDiff['heal'] = 4
  236. $spellName['heal'] = 'Heal'
  237. $spellDesc['heal'] = 'Exchange mana for health, healing your wounds and fortifying your body.'
  238. $spellTarget['heal'] = 'team'
  239. !hand
  240. spellMana['hand'] = 100
  241. spellTime['hand'] = 0
  242. spellDiff['hand'] = 0
  243. $spellName['hand'] = 'Quivering Palm'
  244. $spellDesc['hand'] = 'Add energy from your mana to your hand for a devastating strike.'
  245. $spellTarget['wind'] = 'enemy'
  246. !scaldingtouch
  247. spellMana['scaldingtouch'] = 10
  248. spellTime['scaldingtouch'] = 0
  249. spellDiff['scaldingtouch'] = 6
  250. $spellName['scaldingtouch'] = 'Scalding Touch'
  251. $spellDesc['scaldingtouch'] = 'Flames spring from your hands.'
  252. $spellTarget['scaldingtouch'] = 'enemy'
  253. !burninghands
  254. spellMana['burninghands'] = 100
  255. spellTime['burninghands'] = 0
  256. spellDiff['burninghands'] = 7
  257. $spellName['burninghands'] = 'Burning Hands'
  258. $spellDesc['burninghands'] = 'A torrent of flames jets from your hands.'
  259. $spellReq['burninghands'] = 'scaldingtouch'
  260. $spellTarget['burninghands'] = 'enemy'
  261. !firebarrier
  262. spellMana['firebarrier'] = 150
  263. spellTime['firebarrier'] = 0
  264. spellDiff['firebarrier'] = 8
  265. $spellName['firebarrier'] = 'Fire Barrier'
  266. $spellDesc['firebarrier'] = 'You are shielded by a wall of flames. Adds 750 defense.'
  267. $spellTarget['firebarrier'] = 'self'
  268. !firestorm
  269. spellMana['firestorm'] = 250
  270. spellTime['firestorm'] = 0
  271. spellDiff['firestorm'] = 9
  272. $spellName['firestorm'] = 'Fire Storm'
  273. $spellDesc['firestorm'] = 'Superheated embers rain down upon your enemies.'
  274. $spellTarget['firestorm'] = 'enemy'
  275. !flameshield
  276. spellMana['flameshield'] = 500
  277. spellTime['flameshield'] = 0
  278. spellDiff['flameshield'] = 10
  279. $spellName['flameshield'] = 'Flame Shield'
  280. $spellDesc['flameshield'] = 'A Shield made of flames interposes itself between you and your enemy, absorbing 2500 damage to defend you.'
  281. $spellTarget['flameshield'] = 'self'
  282. !shock
  283. spellMana['shock'] = 10
  284. spellTime['shock'] = 0
  285. spellDiff['shock'] = 6
  286. $spellName['shock'] = 'Electric Shock'
  287. $spellDesc['shock'] = 'An electric spark shoots from your hand.'
  288. $spellTarget['shock'] = 'enemy'
  289. !lightning
  290. spellMana['lightning'] = 100
  291. spellTime['lightning'] = 0
  292. spellDiff['lightning'] = 7
  293. $spellName['lightning'] = 'Lightning'
  294. $spellDesc['lightning'] = 'A lightning bolt shoots from your hand.'
  295. $spellTarget['lightning'] = 'enemy'
  296. !electricbarrier
  297. spellMana['electricbarrier'] = 150
  298. spellTime['electricbarrier'] = 0
  299. spellDiff['electricbarrier'] = 8
  300. $spellName['electricbarrier'] = 'Electric Barrier'
  301. $spellDesc['electricbarrier'] = 'A static electric field blocks incoming attacks from reaching you.'
  302. $spellTarget['electricbarrier'] = 'self'
  303. !1000birds
  304. spellMana['1000birds'] = 250
  305. spellTime['1000birds'] = 0
  306. spellDiff['1000birds'] = 9
  307. $spellName['1000birds'] = 'Dance of a Thousand Birds'
  308. $spellDesc['1000birds'] = 'The air is filled with small lightning bolts leaping through the air with shrieks.'
  309. $spellReq['1000birds'] = 'lightning'
  310. $spellTarget['1000birds'] = 'enemy'
  311. !dancingsphere
  312. spellMana['dancingsphere'] = 500
  313. spellTime['dancingsphere'] = 0
  314. spellDiff['dancingsphere'] = 10
  315. $spellName['dancingsphere'] = 'Dancing Sphere'
  316. $spellDesc['dancingsphere'] = 'Lightning dances around you, blocking attacks coming toward you.'
  317. $spellTarget['dancingsphere'] = 'self'
  318. !quicksand
  319. spellMana['quicksand'] = 10
  320. spellTime['quicksand'] = 0
  321. spellDiff['quicksand'] = 6
  322. $spellName['quicksand'] = 'Quicksand'
  323. $spellDesc['quicksand'] = 'Your opponent is caught in a quicksand trap.'
  324. $spellTarget['quicksand'] = 'enemy'
  325. !earthshield
  326. spellMana['earthshield'] = 100
  327. spellTime['earthshield'] = 0
  328. spellDiff['earthshield'] = 7
  329. $spellName['earthshield'] = 'Earth Shield'
  330. $spellDesc['earthshield'] = 'Tendrils of earth reach up to defend you. Some of the damage it absorbs is captured as mana and given to you.'
  331. $spellTarget['earthshield'] = 'self'
  332. !abyss
  333. spellMana['abyss'] = 150
  334. spellTime['abyss'] = 0
  335. spellDiff['abyss'] = 8
  336. $spellName['abyss'] = 'Abyss'
  337. $spellDesc['abyss'] = 'The Earth opens up beneath your opponent''s feet, slamming shut damaging him and depriving him of the ability to move.'
  338. $spellTarget['abyss'] = 'enemy'
  339. !earthguardian
  340. spellMana['earthguardian'] = 250
  341. spellTime['earthguardian'] = 0
  342. spellDiff['earthguardian'] = 9
  343. $spellName['earthguardian'] = 'Earth Guardian'
  344. $spellDesc['earthguardian'] = 'The Earth itself comes alive defending you from attacks. It draws from the power of the land to regenerate itself every round.'
  345. $spellTarget['earthguardian'] = 'self'
  346. !sando
  347. spellMana['sando'] = 500
  348. spellTime['sando'] = 0
  349. spellDiff['sando'] = 10
  350. $spellName['sando'] = 'Sando'
  351. $spellDesc['sando'] = 'Two huge plates of earth collapse together, crushing the enemy and depriving him of the ability to move.'
  352. $spellTarget['sando'] = 'enemy'
  353. !windgust
  354. spellMana['windgust'] = 10
  355. spellTime['windgust'] = 0
  356. spellDiff['windgust'] = 6
  357. $spellName['windgust'] = 'Wind Gust'
  358. $spellDesc['windgust'] = 'a huge gust of wind rips past you, killing clones and removing fog.'
  359. $spellTarget['windgust'] = 'enemy'
  360. !pressure
  361. spellMana['pressure'] = 100
  362. spellTime['pressure'] = 0
  363. spellDiff['pressure'] = 7
  364. $spellName['pressure'] = 'Horrific Pressure'
  365. $spellDesc['pressure'] = 'Enormous air pressure surrounds your enemy, causing damage as well as killing clones and removing fog.'
  366. $spellTarget['pressure'] = 'enemy'
  367. !vacuum
  368. spellMana['vacuum'] = 150
  369. spellTime['vacuum'] = 0
  370. spellDiff['vacuum'] = 8
  371. $spellName['vacuum'] = 'Vacuum Sphere'
  372. $spellDesc['vacuum'] = 'A turbulent sphere of vacuum surrounds you, blocking incoming attacks.'
  373. $spellTarget['vacuum'] = 'self'
  374. !vacuumshells
  375. spellMana['vacuumshells'] = 250
  376. spellTime['vacuumshells'] = 0
  377. spellDiff['vacuumshells'] = 9
  378. $spellName['vacuumshells'] = 'Vacuum Shells'
  379. $spellDesc['vacuumshells'] = 'Turbulent spheres of vacuum bombard your enemy, destroying clones and removing fog.'
  380. $spellTarget['vacuumshells'] = 'enemy'
  381. !devouringvacuum
  382. spellMana['devouringvacuum'] = 500
  383. spellTime['devouringvacuum'] = 0
  384. spellDiff['devouringvacuum'] = 10
  385. $spellName['devouringvacuum'] = 'Devouring Vacuum'
  386. $spellDesc['devouringvacuum'] = 'A devouring vacuum sucks away your enemy''s defensive shields.'
  387. $spellTarget['devouringvacuum'] = 'enemy'
  388. !leechmana
  389. spellMana['leechmana'] = 10
  390. spellTime['leechmana'] = 0
  391. spellDiff['leechmana'] = 6
  392. $spellName['leechmana'] = 'Leech Mana'
  393. $spellDesc['leechmana'] = 'Inflict 100 damage and absorb 100 mana from your foe.'
  394. $spellTarget['leechmana'] = 'enemy'
  395. !flood
  396. spellMana['flood'] = 100
  397. spellTime['flood'] = 0
  398. spellDiff['flood'] = 7
  399. $spellName['flood'] = 'Flood'
  400. $spellDesc['flood'] = 'Inflict 1000 damage and absorb 500 mana from your foe.'
  401. $spellTarget['flood'] = 'enemy'
  402. !blister
  403. spellMana['blister'] = 150
  404. spellTime['blister'] = 0
  405. spellDiff['blister'] = 8
  406. $spellName['blister'] = 'Blister'
  407. $spellDesc['blister'] = 'Create a protective sphere of water. Some of the damage absorbed is converted into mana for you.'
  408. $spellTarget['blister'] = 'enemy'
  409. !sharkrockets
  410. spellMana['sharkrockets'] = 250
  411. spellTime['sharkrockets'] = 0
  412. spellDiff['sharkrockets'] = 9
  413. $spellName['sharkrockets'] = 'Shark Rockets'
  414. $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.'
  415. $spellTarget['sharkrockets'] = 'enemy'
  416. !greatflood
  417. spellMana['greatflood'] = 500
  418. spellTime['greatflood'] = 0
  419. spellDiff['greatflood'] = 10
  420. $spellName['greatflood'] = 'Great Flood'
  421. $spellDesc['greatflood'] = 'A huge flood of water fills the area, absorbing mana from the enemy and giving you additional protection.'
  422. $spellTarget['greatflood'] = 'enemy'
  423. !-------------------------------------------------------------------------------------------
  424. ! Pick Execution points for the spells
  425. ! List Combat Spells for use in fight scenerios
  426. $combatSpells[0] = 'fog'
  427. $combatSpells[1] = 'clone'
  428. $combatSpells[2] = 'stun'
  429. $combatSpells[3] = 'weapon'
  430. $combatSpells[4] = 'wind'
  431. $combatSpells[5] = 'multiclone'
  432. $combatSpells[6] = 'energo'
  433. $combatSpells[7] = 'haste'
  434. $combatSpells[8] = 'heal'
  435. $combatSpells[9] = 'hand'
  436. $combatSpells[10] = 'scaldingtouch'
  437. $combatSpells[11] = 'burninghands'
  438. $combatSpells[12] = 'firebarrier'
  439. $combatSpells[13] = 'firestorm'
  440. $combatSpells[14] = 'flameshield'
  441. $combatSpells[15] = 'shock'
  442. $combatSpells[16] = 'lightning'
  443. $combatSpells[17] = 'electricbarrier'
  444. $combatSpells[18] = '1000birds'
  445. $combatSpells[19] = 'dancingsphere'
  446. $combatSpells[20] = 'quicksand'
  447. $combatSpells[21] = 'earthshield'
  448. $combatSpells[22] = 'abyss'
  449. $combatSpells[23] = 'earthguardian'
  450. $combatSpells[24] = 'sando'
  451. $combatSpells[25] = 'windgust'
  452. $combatSpells[26] = 'pressure'
  453. $combatSpells[27] = 'vacuum'
  454. $combatSpells[28] = 'vacuumshells'
  455. $combatSpells[29] = 'devouringvacuum'
  456. $combatSpells[30] = 'leechmana'
  457. $combatSpells[31] = 'flood'
  458. $combatSpells[32] = 'blister'
  459. $combatSpells[33] = 'sharkrockets'
  460. $combatSpells[34] = 'greatflood'
  461. ! List of Non-Combat Spells for use in Menu
  462. $nonComSpells[0] = 'heal'
  463. $nonComSpells[1] = 'regenerate'
  464. $nonComSpells[2] = 'curedisease'
  465. $nonComSpells[3] = 'curewounds'
  466. $nonComSpells[4] = 'curewounds2'
  467. $nonComSpells[5] = 'painblock'
  468. $nonComSpells[6] = 'berserk'
  469. $nonComSpells[7] = 'shower'
  470. $nonComSpells[8] = 'makeup'
  471. $nonComSpells[9] = 'cosmetica'
  472. $nonComSpells[10] = 'glamour'
  473. !$nonComSpells[11] = 'alterself'
  474. !-------------------------------------------------------------------------------------
  475. ! Pick Learning Location for Spells
  476. ! Basic Spells
  477. $basicSpells[0] = 'fog'
  478. $basicSpells[1] = 'clone'
  479. $basicSpells[2] = 'stun'
  480. $basicSpells[3] = 'wind'
  481. $basicSpells[4] = 'multiclone'
  482. $basicSpells[5] = 'energo'
  483. $basicSpells[6] = 'haste'
  484. $basicSpells[7] = 'berserk'
  485. !Healing Spells
  486. $healSpells[0] = 'painblock'
  487. $healSpells[1] = 'curewounds'
  488. $healSpells[2] = 'curewounds2'
  489. $healSpells[3] = 'curedisease'
  490. $healSpells[4] = 'heal'
  491. $healSpells[5] = 'regenerate'
  492. ! Beauty Spells
  493. $beautySpells[0] = 'shower'
  494. $beautySpells[1] = 'makeup'
  495. $beautySpells[2] = 'cosmetica'
  496. ! Researchable Spells
  497. $librarySpells[0] = 'painblock'
  498. $librarySpells[1] = 'shower'
  499. $librarySpells[2] = 'makeup'
  500. $librarySpells[3] = 'cosmetica'
  501. $librarySpells[4] = 'glamour'
  502. !$librarySpells[5] = 'alterself'
  503. ! Elemental Spell Groups
  504. $fireSpells[0] = 'scaldingtouch'
  505. $fireSpells[1] = 'burninghands'
  506. $fireSpells[2] = 'firebarrier'
  507. $fireSpells[3] = 'firestorm'
  508. $fireSpells[4] = 'flameshield'
  509. $electSpells[0] = 'shock'
  510. $electSpells[1] = 'lightning'
  511. $electSpells[2] = 'electricbarrier'
  512. $electSpells[3] = '1000birds'
  513. $electSpells[4] = 'dancingsphere'
  514. $earthSpells[0] = 'quicksand'
  515. $earthSpells[1] = 'earthshield'
  516. $earthSpells[2] = 'abyss'
  517. $earthSpells[3] = 'earthguardian'
  518. $earthSpells[4] = 'sando'
  519. $airSpells[0] = 'windgust'
  520. $airSpells[1] = 'pressure'
  521. $airSpells[2] = 'vacuum'
  522. $airSpells[3] = 'vacuumshells'
  523. $airSpells[4] = 'devouringvacuum'
  524. $waterSpells[0] = 'leechmana'
  525. $waterSpells[1] = 'flood'
  526. $waterSpells[2] = 'blister'
  527. $waterSpells[3] = 'sharkrockets'
  528. $waterSpells[4] = 'greatflood'
  529. !! Spell Sets for Combat algorithms
  530. !Healing Spells
  531. $comHealSpells[0] = 'heal'
  532. !Shield Spells
  533. $comShldSpells[0] = 'flameshield'
  534. $comShldSpells[1] = 'firebarrier'
  535. $comShldSpells[2] = 'dancingsphere'
  536. $comShldSpells[3] = 'electricbarrier'
  537. $comShldSpells[4] = 'earthguardian'
  538. $comShldSpells[5] = 'earthshield'
  539. $comShldSpells[6] = 'vacuum'
  540. $comShldSpells[7] = 'blister'
  541. $comShldSpells[8] = 'energo'
  542. !Buff Spells
  543. $comBuffSpells[] = 'haste'
  544. $comBuffSpells[] = 'hand'
  545. !Attack Spells
  546. $comAtkSpells[0] = 'firestorm'
  547. $comAtkSpells[1] = 'burninghands'
  548. $comAtkSpells[2] = 'scaldingtouch'
  549. $comAtkSpells[3] = '1000birds'
  550. $comAtkSpells[4] = 'lightning'
  551. $comAtkSpells[5] = 'shock'
  552. $comAtkSpells[6] = 'sando'
  553. $comAtkSpells[7] = 'abyss'
  554. $comAtkSpells[8] = 'devouringvacuum'
  555. $comAtkSpells[9] = 'vacuumshells'
  556. $comAtkSpells[10] = 'quicksand'
  557. $comAtkSpells[11] = 'pressure'
  558. $comAtkSpells[12] = 'windgust'
  559. $comAtkSpells[13] = 'greatflood'
  560. $comAtkSpells[14] = 'sharkrockets'
  561. $comAtkSpells[15] = 'flood'
  562. $comAtkSpells[16] = 'leechmana'
  563. $comAtkSpells[17] = 'stun'
  564. $comAtkSpells[18] = 'weapon'
  565. !-------------------------------------------------------------------------------------------
  566. ! Helper procedure to build Action bar for Learning Spells.
  567. if $ARGS[0] = 'teacherActions':
  568. ! Make Actions for learning spells
  569. ! $ARGS[1] = the name of the array of spells
  570. ! $ARGS[2] = Exit Location
  571. ! $ARGS[3] = Arg for exit location
  572. ! Example:
  573. ! gs 'spellList', 'teacherActions', '$fireSpells', 'kakuzu', 'mansion1'
  574. $ThisArrayName = $replace($ARGS[1],'$')
  575. $ExitLocation = $ARGS[2]
  576. $ExitLocation2 = $ARGS[3]
  577. ThisArraySize = dyneval("result=arrsize('$<<$ThisArrayName>>')")
  578. MaxAvailable = spellListAvail[$ThisArrayName]
  579. i = 0
  580. :LearnSpellLoop
  581. $ThisSpellName = dyneval("$result = $<<$ThisArrayName>>[<<i>>]")
  582. spellDifficulty = Max(spellDiff[$ThisSpellName],1)
  583. if i < ThisArraySize and i < MaxAvailable:
  584. if pcs_magik >= spellDifficulty and spellKnown[$ThisSpellName] = 0 and ($spellReq[$ThisSpellName] = '' or (spellKnown[$spellReq[$ThisSpellName]] = 1)):
  585. dynamic "act 'Learn <<$spellName[$ThisSpellName]>> (1:00)': gt 'spellList', 'act learn', '<<$ThisSpellName>>','<<$ExitLocation>>','<<$ExitLocation2>>'"
  586. end
  587. i += 1
  588. jump 'LearnSpellLoop'
  589. end
  590. killvar 'i'
  591. killvar 'ThisArraySize'
  592. killvar 'MaxAvailable'
  593. killvar '$ThisArrayName'
  594. end
  595. if $ARGS[0] = 'act learn':
  596. cla
  597. $ThisSpellName = $ARGS[1]
  598. $ExitLocation = $ARGS[2]
  599. $ExitLocation2 = $ARGS[3]
  600. spellDifficulty = Max(spellDiff[$ThisSpellName],1)
  601. if pcs_mana >= 1000:
  602. pcs_mana -= 1000
  603. minut += 60
  604. spellLearn[$ThisSpellName] += rand(1, 100/spellDifficulty)
  605. if spellLearn[$ThisSpellName] < 100:
  606. 'You diligently study the spell for an hour, but cannot grasp it.'
  607. else
  608. spellKnown[$ThisSpellName] = 1
  609. 'Finally, you are able to grasp and learn the spell.'
  610. *nl
  611. '<<$spellName[$ThisSpellName]>>: <<$spellDesc[$ThisSpellName]>>'
  612. end
  613. else
  614. *pl 'You don''t have enough mana to learn this spell.'
  615. end
  616. act 'Move away': gt $ExitLocation, $ExitLocation2
  617. end
  618. if $ARGS[0] = 'numAvailableSpells':
  619. ! Function that returns if the number of spells left to learn from this spell list
  620. ! $ARGS[1] = spelllist arrayname
  621. ! Example:
  622. ! if func('spellList','numAvailableSpells','librarySpells') > 0: !do stuff to earn next spell
  623. $ThisArrayName = $replace($ARGS[1],'$')
  624. ThisArraySize = dyneval("result=arrsize('$<<$ThisArrayName>>') - spellListAvail['<<$ThisArrayName>>']")
  625. result = ThisArraySize
  626. killvar 'ThisArraySize'
  627. killvar '$ThisArrayName'
  628. end
  629. if $ARGS[0] = 'addAvailableSpells':
  630. ! Increases Spell Available to be taught by this instructor by a given amount, default 1
  631. ! $ARGS[1] = spelllist arrayname
  632. ! ARGS[2] = number of spells to add to avaiable list for learning
  633. ! Example:
  634. ! !This adds one more spell to the list of library spells
  635. ! gs 'spellList','addAvailableSpells','librarySpells'
  636. ! !This adds 3 more spells
  637. ! gs 'spellList','addAvailableSpells','librarySpells', 3
  638. $ThisArrayName = $replace($ARGS[1],'$')
  639. ThisNumToAdd = ARGS[2]
  640. if ThisNumToAdd = 0:
  641. ThisNumToAdd = 1
  642. end
  643. ThisArraySize = dyneval("result=arrsize('$<<$ThisArrayName>>')")
  644. if ThisArraySize - ThisNumToAdd - spellListAvail[$ThisArrayName] < 0:
  645. ! This mean that we are trying to add more spells than are avaiable in the list
  646. spellListAvail[$ThisArrayName] = ThisArraySize
  647. else
  648. ! Else we just add the requested number
  649. spellListAvail[$ThisArrayName] += ThisNumToAdd
  650. end
  651. killvar 'ThisNumToAdd'
  652. killvar 'ThisArraySize'
  653. killvar '$ThisArrayName'
  654. end
  655. --- spellList ---------------------------------