spellList.qsrc 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412
  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. !
  6. ! MetaData for Each Spell
  7. ! spellMana['spellname'] = Mana cost to cast this spell
  8. ! spellTime['spellname'] = How much time will pass in the casting of the spell
  9. ! spellDiff['spellname'] = Difficulty to learn and cast this spell
  10. ! $spellName['spellname'] = Pretty name for the spell
  11. ! $sellDesc['spellname'] = Description of what the spell does.
  12. !
  13. ! There are also defined lists of spells grouped together
  14. ! $combatSpells = Spells that can be used in Combat
  15. ! $nonComSpells = Non-Combat Spells, ones that can be executed in any location.
  16. ! $basicSpells = basic spells that are taught by Tatiana
  17. ! $fireSpells = Fire-based spells
  18. ! $electSpells = Electricity based spells
  19. ! $earthSpells = Earth magic spells
  20. ! $airSpells = Air based spells
  21. ! $waterSpells = Water based spells
  22. !
  23. ! To create a new spell, fill out the meta-data as listed above, then create a matching section in the "spell" location for it
  24. !teleport
  25. spellMana['teleport'] = 1000
  26. spellTime['teleport'] = 20
  27. spellDiff['teleport'] = 20
  28. $spellName['teleport'] = "Teleport"
  29. $spellDesc['teleport'] = "You can move from one Fairy Circle to another."
  30. !regenerate
  31. spellMana['regenerate'] = 500
  32. spellTime['regenerate'] = 1
  33. spellDiff['regenerate'] = 5
  34. $spellName['regenerate'] = "Regenerate"
  35. $spellDesc['regenerate'] = "Slowly regain health over time."
  36. !painblock
  37. spellMana['painblock'] = 1000
  38. spellTime['painblock'] = 1
  39. spellDiff['painblock'] = 8
  40. $spellName['painblock'] = "Pain Block"
  41. $spellDesc['painblock'] = "Block your pain for some time."
  42. !glamour
  43. spellMana['glamour'] = 500
  44. spellTime['glamour'] = 1
  45. spellDiff['glamour'] = 30
  46. $spellName['glamour'] = "Glamour"
  47. $spellDesc['glamour'] = "Change your appearance."
  48. !bodymod
  49. spellMana['bodymod'] = 40
  50. spellTime['bodymod'] = 30
  51. spellDiff['bodymod'] = 0
  52. $spellName['bodymod'] = "Body Modification"
  53. $spellDesc['bodymod'] = "Change your appearance."
  54. !fog
  55. spellMana['fog'] = 10
  56. spellTime['fog'] = 0
  57. spellDiff['fog'] = 1
  58. $spellName['fog'] = "Fog"
  59. $spellDesc['fog'] = "Create a fog on the battlefield, obscuring the view of the enemy."
  60. !clone
  61. spellMana['clone'] = 15
  62. spellTime['clone'] = 0
  63. spellDiff['clone'] = 1
  64. $spellName['clone'] = "Create Clone"
  65. $spellDesc['clone'] = "You can create an exact clone of yourself, and slip out of sight of the enemy."
  66. !stun
  67. spellMana['stun'] = 20
  68. spellTime['stun'] = 0
  69. spellDiff['stun'] = 2
  70. $spellName['stun'] = "Stun"
  71. $spellDesc['stun'] = "Paralyze the enemy with a touch."
  72. !weapon
  73. spellMana['weapon'] = 20
  74. spellTime['weapon'] = 0
  75. spellDiff['weapon'] = 0
  76. $spellName['weapon'] = "Empower Weapon"
  77. $spellDesc['weapon'] = "Magically power a weapon causing greater damage."
  78. !wind
  79. spellMana['wind'] = 40
  80. spellTime['wind'] = 0
  81. spellDiff['wind'] = 2
  82. $spellName['wind'] = "Gust of Wind"
  83. $spellDesc['wind'] = "Summon a gust of wind that will clear away fog."
  84. !multiclone
  85. spellMana['multiclone'] = 45
  86. spellTime['multiclone'] = 0
  87. spellDiff['multiclone'] = 2
  88. $spellName['multiclone'] = "Multi-Clone"
  89. $spellDesc['multiclone'] = "Summon three clones of yourself and slip out of the enemys sight."
  90. !energo
  91. spellMana['energo'] = 50
  92. spellTime['energo'] = 0
  93. spellDiff['energo'] = 3
  94. $spellName['energo'] = "Energy Shield"
  95. $spellDesc['energo'] = "Create an energy shield to absorb incoming damage. You gain 100 defense."
  96. !haste
  97. spellMana['haste'] = 60
  98. spellTime['haste'] = 0
  99. spellDiff['haste'] = 3
  100. $spellName['haste'] = "Haste"
  101. $spellDesc['haste'] = "Hasten your passage through time to gain reaction speed to seize the initiative."
  102. !heal
  103. spellMana['heal'] = 400
  104. spellTime['heal'] = 0
  105. spellDiff['heal'] = 4
  106. $spellName['heal'] = "Heal"
  107. $spellDesc['heal'] = "Exchange mana for health, healing your wounds and fortifying your body."
  108. !hand
  109. spellMana['hand'] = 100
  110. spellTime['hand'] = 0
  111. spellDiff['hand'] = 0
  112. $spellName['hand'] = "Quivering Palm"
  113. $spellDesc['hand'] = "Add energy from your mana to your hand for a devistating strike."
  114. !scaldingtouch
  115. spellMana['scaldingtouch'] = 10
  116. spellTime['scaldingtouch'] = 0
  117. spellDiff['scaldingtouch'] = 6
  118. $spellName['scaldingtouch'] = "Scalding Touch"
  119. $spellDesc['scaldingtouch'] = "Flames spring from your hands."
  120. !burninghands
  121. spellMana['burninghands'] = 100
  122. spellTime['burninghands'] = 0
  123. spellDiff['burninghands'] = 7
  124. $spellName['burninghands'] = "Burning Hands"
  125. $spellDesc['burninghands'] = "A torrent of flames jets from your hands."
  126. !firebarrier
  127. spellMana['firebarrier'] = 150
  128. spellTime['firebarrier'] = 0
  129. spellDiff['firebarrier'] = 8
  130. $spellName['firebarrier'] = "Fire Barrier"
  131. $spellDesc['firebarrier'] = "You are shielded by a wall of flames. Adds 750 defense."
  132. !firestorm
  133. spellMana['firestorm'] = 250
  134. spellTime['firestorm'] = 0
  135. spellDiff['firestorm'] = 9
  136. $spellName['firestorm'] = "Fire Storm"
  137. $spellDesc['firestorm'] = "Super heated embers rain down upon your enemies."
  138. !flameshield
  139. spellMana['flameshield'] = 500
  140. spellTime['flameshield'] = 0
  141. spellDiff['flameshield'] = 10
  142. $spellName['flameshield'] = "Flame Shield"
  143. $spellDesc['flameshield'] = "A Shield made of Flames interposes itself between you and your enemy, absorbing 2500 damage to defend you."
  144. !shock
  145. spellMana['shock'] = 10
  146. spellTime['shock'] = 0
  147. spellDiff['shock'] = 6
  148. $spellName['shock'] = "Electric Shock"
  149. $spellDesc['shock'] = "An electric spark shoots from your hand."
  150. !lightning
  151. spellMana['lightning'] = 100
  152. spellTime['lightning'] = 0
  153. spellDiff['lightning'] = 7
  154. $spellName['lightning'] = "Lightning"
  155. $spellDesc['lightning'] = "A lightning bolt shoots from your hand."
  156. !electricbarrier
  157. spellMana['electricbarrier'] = 150
  158. spellTime['electricbarrier'] = 0
  159. spellDiff['electricbarrier'] = 8
  160. $spellName['electricbarrier'] = "Electric Barrier"
  161. $spellDesc['electricbarrier'] = "A static electric field blocks incoming attacks from reaching you."
  162. !1000birds
  163. spellMana['1000birds'] = 250
  164. spellTime['1000birds'] = 0
  165. spellDiff['1000birds'] = 9
  166. $spellName['1000birds'] = "Dance of a Thousand Birds"
  167. $spellDesc['1000birds'] = "The air is filled with small lightning bolts leaping through the air with shrieks."
  168. !dancingsphere
  169. spellMana['dancingsphere'] = 500
  170. spellTime['dancingsphere'] = 0
  171. spellDiff['dancingsphere'] = 10
  172. $spellName['dancingsphere'] = "Dancing Sphere"
  173. $spellDesc['dancingsphere'] = "Lightning dances around you blocking attacks coming toward you."
  174. !quicksand
  175. spellMana['quicksand'] = 10
  176. spellTime['quicksand'] = 0
  177. spellDiff['quicksand'] = 6
  178. $spellName['quicksand'] = "Quicksand"
  179. $spellDesc['quicksand'] = "Opponent is caught in a quicksand trap."
  180. !earthshield
  181. spellMana['earthshield'] = 100
  182. spellTime['earthshield'] = 0
  183. spellDiff['earthshield'] = 7
  184. $spellName['earthshield'] = "Earth Shield"
  185. $spellDesc['earthshield'] = "Tendrils of earth reach up to defend you. Some of the damage it absorbs is captured as mana and given to you."
  186. !abyss
  187. spellMana['abyss'] = 150
  188. spellTime['abyss'] = 0
  189. spellDiff['abyss'] = 8
  190. $spellName['abyss'] = "Abyss"
  191. $spellDesc['abyss'] = "The Earth opens up beneath your opponents feet, slamming shut damaging him and depriving him of the ability to move."
  192. !earthguardian
  193. spellMana['earthguardian'] = 250
  194. spellTime['earthguardian'] = 0
  195. spellDiff['earthguardian'] = 9
  196. $spellName['earthguardian'] = "Earth Guardian"
  197. $spellDesc['earthguardian'] = "The Earth itself comes alive defending you from attacks. It draws from the power of the land to regenerate itself every round."
  198. !sando
  199. spellMana['sando'] = 500
  200. spellTime['sando'] = 0
  201. spellDiff['sando'] = 10
  202. $spellName['sando'] = "Sando"
  203. $spellDesc['sando'] = "Two huge plates of earth colapse together crushing the enemy and depriving him of the ability to move."
  204. !windgust
  205. spellMana['windgust'] = 10
  206. spellTime['windgust'] = 0
  207. spellDiff['windgust'] = 6
  208. $spellName['windgust'] = "Wind Gust"
  209. $spellDesc['windgust'] = "a huge gust of wind rips past you killing clones and removing fog."
  210. !pressure
  211. spellMana['pressure'] = 100
  212. spellTime['pressure'] = 0
  213. spellDiff['pressure'] = 7
  214. $spellName['pressure'] = "Horrific Pressure"
  215. $spellDesc['pressure'] = "Enormous air pressure surrounds your enemy causing damage as well as killing clones and removing fog."
  216. !vacuum
  217. spellMana['vacuum'] = 150
  218. spellTime['vacuum'] = 0
  219. spellDiff['vacuum'] = 8
  220. $spellName['vacuum'] = "Vacuum Sphere"
  221. $spellDesc['vacuum'] = "A turbulent sphere of vacuum surrounds you blocking incoming attacks."
  222. !vacuumshells
  223. spellMana['vacuumshells'] = 250
  224. spellTime['vacuumshells'] = 0
  225. spellDiff['vacuumshells'] = 9
  226. $spellName['vacuumshells'] = "Vacuum Shells"
  227. $spellDesc['vacuumshells'] = "Turbulent spheres of vacuum bombard your enemy destroying clones and removing fog."
  228. !devouringvacuum
  229. spellMana['devouringvacuum'] = 500
  230. spellTime['devouringvacuum'] = 0
  231. spellDiff['devouringvacuum'] = 10
  232. $spellName['devouringvacuum'] = "Devouring Vacuum"
  233. $spellDesc['devouringvacuum'] = "A devouring vacuum sucks away your enemys defensive shields."
  234. !leechmana
  235. spellMana['leechmana'] = 10
  236. spellTime['leechmana'] = 0
  237. spellDiff['leechmana'] = 6
  238. $spellName['leechmana'] = "Leech Mana"
  239. $spellDesc['leechmana'] = "Inflict 100 damage and absorb 100 mana from your foe."
  240. !flood
  241. spellMana['flood'] = 100
  242. spellTime['flood'] = 0
  243. spellDiff['flood'] = 7
  244. $spellName['flood'] = "Flood"
  245. $spellDesc['flood'] = "Inflict 1000 damage and absorb 500 mana from your foe."
  246. !blister
  247. spellMana['blister'] = 150
  248. spellTime['blister'] = 0
  249. spellDiff['blister'] = 8
  250. $spellName['blister'] = "Blister"
  251. $spellDesc['blister'] = "Create a protective sphere of water. Some of the damage absorbed is converted into mana for you."
  252. !sharkrockets
  253. spellMana['sharkrockets'] = 250
  254. spellTime['sharkrockets'] = 0
  255. spellDiff['sharkrockets'] = 9
  256. $spellName['sharkrockets'] = "Shark Rockets"
  257. $spellDesc['sharkrockets'] = "Blobs of Water shaped like sharks fly towards your enemy stiking them for 1500 damage and abosorbing 2500 mana for you. Clones are destroyed"
  258. !greatflood
  259. spellMana['greatflood'] = 500
  260. spellTime['greatflood'] = 0
  261. spellDiff['greatflood'] = 10
  262. $spellName['greatflood'] = "Great Flood"
  263. $spellDesc['greatflood'] = "A huge flood of water fills the area absorbing mana from the enemy and giving you additional protection."
  264. ! List Combat Spells for use in fight scenerios
  265. $combatSpells[0] = 'fog'
  266. $combatSpells[1] = 'clone'
  267. $combatSpells[2] = 'stun'
  268. $combatSpells[3] = 'weapon'
  269. $combatSpells[4] = 'wind'
  270. $combatSpells[5] = 'multiclone'
  271. $combatSpells[6] = 'energo'
  272. $combatSpells[7] = 'haste'
  273. $combatSpells[8] = 'heal'
  274. $combatSpells[9] = 'hand'
  275. $combatSpells[10] = 'scaldingtouch'
  276. $combatSpells[11] = 'burninghands'
  277. $combatSpells[12] = 'firebarrier'
  278. $combatSpells[13] = 'firestorm'
  279. $combatSpells[14] = 'flameshield'
  280. $combatSpells[15] = 'shock'
  281. $combatSpells[16] = 'lightning'
  282. $combatSpells[17] = 'electricbarrier'
  283. $combatSpells[18] = '1000birds'
  284. $combatSpells[19] = 'dancingsphere'
  285. $combatSpells[20] = 'quicksand'
  286. $combatSpells[21] = 'earthshield'
  287. $combatSpells[22] = 'abyss'
  288. $combatSpells[23] = 'earthguardian'
  289. $combatSpells[24] = 'sando'
  290. $combatSpells[25] = 'windgust'
  291. $combatSpells[26] = 'pressure'
  292. $combatSpells[27] = 'vacuum'
  293. $combatSpells[28] = 'vacuumshells'
  294. $combatSpells[29] = 'devouringvacuum'
  295. $combatSpells[30] = 'leechmana'
  296. $combatSpells[31] = 'flood'
  297. $combatSpells[32] = 'blister'
  298. $combatSpells[33] = 'sharkrockets'
  299. $combatSpells[34] = 'greatflood'
  300. ! List of Non-Combat Spells for use in Menu
  301. $nonComSpells[0] = 'heal'
  302. $nonComSpells[1] = 'regenerate'
  303. $nonComSpells[2] = 'painblock'
  304. ! Basic Spells
  305. $basicSpells[0] = 'fog'
  306. $basicSpells[1] = 'clone'
  307. $basicSpells[2] = 'stun'
  308. $basicSpells[3] = 'wind'
  309. $basicSpells[4] = 'multiclone'
  310. $basicSpells[5] = 'energo'
  311. $basicSpells[6] = 'haste'
  312. $basicSpells[7] = 'regenerate'
  313. $basicSpells[8] = 'painblock'
  314. ! Elemental Spell Groups
  315. $fireSpells[0] = 'scaldingtouch'
  316. $fireSpells[1] = 'burninghands'
  317. $fireSpells[2] = 'firebarrier'
  318. $fireSpells[3] = 'firestorm'
  319. $fireSpells[4] = 'flameshield'
  320. $electSpells[0] = 'shock'
  321. $electSpells[1] = 'lightning'
  322. $electSpells[2] = 'electricbarrier'
  323. $electSpells[3] = '1000birds'
  324. $electSpells[4] = 'dancingsphere'
  325. $earthSpells[0] = 'quicksand'
  326. $earthSpells[1] = 'earthshield'
  327. $earthSpells[2] = 'abyss'
  328. $earthSpells[3] = 'earthguardian'
  329. $earthSpells[4] = 'sando'
  330. $airSpells[0] = 'windgust'
  331. $airSpells[1] = 'pressure'
  332. $airSpells[2] = 'vacuum'
  333. $airSpells[3] = 'vacuumshells'
  334. $airSpells[4] = 'devouringvacuum'
  335. $waterSpells[0] = 'leechmana'
  336. $waterSpells[1] = 'flood'
  337. $waterSpells[2] = 'blister'
  338. $waterSpells[3] = 'sharkrockets'
  339. $waterSpells[4] = 'greatflood'
  340. if $ARGS[0] = 'teacherActions':
  341. ! Make Actions for learning spells
  342. ! $ARGS[1] = the name of the array of spells
  343. ! $ARGS[2] = Exit Location
  344. ! $ARGS[3] = Arg for exit location
  345. ! Example:
  346. ! gs 'spellList', 'teacherActions', '$fireSpells', 'kakuzu', 'mansion1'
  347. $ThisArrayName = $ARGS[1]
  348. $ExitLocation = $ARGS[2]
  349. $ExitLocation2 = $ARGS[3]
  350. ThisArraySize = dyneval("result=arrsize('<<$ThisArrayName>>')")
  351. i = 0
  352. :LearnSpellLoop
  353. $ThisSpellName = dyneval("$result = <<$ThisArrayName>>[<<i>>]")
  354. spellDifficulty = $spellDiff[$ThisSpellName]
  355. if spellDifficulty = 0: spellDifficulty = 1
  356. if i < ThisArraySize:
  357. if pcs_magik >= spellDifficulty and spellKnown[$ThisSpellName] = 0:
  358. dynamic "act 'Learn <<$spellName[$ThisSpellName]>> (1:00)':
  359. cla
  360. if pcs_mana >= 1000:
  361. pcs_mana -= 1000
  362. minut += 60
  363. spellLearn['<<$ThisSpellName>>'] += rand(1, 100/<<spellDifficulty>>)
  364. if spellLearn['<<$ThisSpellName>>'] < 100:
  365. 'You diligently study the spell for an hour, but could not grasp it.'
  366. else
  367. spellKnown['<<$ThisSpellName>>'] = 1
  368. 'Finally you are able to grasp and learn the spell.'
  369. *nl
  370. '<<$spellName[$ThisSpellName]>>: <<$spellDesc[$ThisSpellName]>>'
  371. end
  372. else
  373. *pl ""You don't have enough mana to learn this spell.""
  374. end
  375. act 'Move away':gt '<<$ExitLocation>>', '<<$ExitLocation2>>'
  376. end"
  377. end
  378. i += 1
  379. jump 'LearnSpellLoop'
  380. end
  381. killvar 'i'
  382. killvar '$ThisSpellName'
  383. killvar 'ThisArraySize'
  384. killvar '$ThisArrayName'
  385. killvar '$ExitLocation'
  386. killvar '$ExitLocation2'
  387. killvar 'spellDifficulty'
  388. end
  389. --- spellList ---------------------------------