tower.json 7.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428
  1. {
  2. "gremlin" :
  3. {
  4. "index": 28,
  5. "level": 1,
  6. "extraNames": [ "apprenticeGremlin" ],
  7. "faction": "tower",
  8. "upgrades": ["masterGremlin"],
  9. "hasDoubleWeek": true,
  10. "graphics" :
  11. {
  12. "animation": "CGREMA.DEF"
  13. },
  14. "sound" :
  15. {
  16. "attack": "AGRMATTK.wav",
  17. "defend": "AGRMDFND.wav",
  18. "killed": "AGRMKILL.wav",
  19. "move": "AGRMMOVE.wav",
  20. "shoot": "AGRMSHOT.wav",
  21. "wince": "AGRMWNCE.wav"
  22. }
  23. },
  24. "masterGremlin" :
  25. {
  26. "index": 29,
  27. "level": 1,
  28. "faction": "tower",
  29. "graphics" :
  30. {
  31. "animation": "CGREMM.DEF",
  32. "missile" :
  33. {
  34. "projectile": "CPRGRE.DEF"
  35. }
  36. },
  37. "sound" :
  38. {
  39. "attack": "MGRMATTK.wav",
  40. "defend": "MGRMDFND.wav",
  41. "killed": "MGRMKILL.wav",
  42. "move": "MGRMMOVE.wav",
  43. "shoot": "MGRMSHOT.wav",
  44. "wince": "MGRMWNCE.wav"
  45. }
  46. },
  47. "stoneGargoyle" :
  48. {
  49. "index": 30,
  50. "level": 2,
  51. "faction": "tower",
  52. "abilities":
  53. {
  54. "gargoyle" :
  55. {
  56. "type" : "GARGOYLE"
  57. }
  58. },
  59. "upgrades": ["obsidianGargoyle"],
  60. "graphics" :
  61. {
  62. "animation": "CGARGO.DEF"
  63. },
  64. "sound" :
  65. {
  66. "attack": "SGRGATTK.wav",
  67. "defend": "SGRGDFND.wav",
  68. "killed": "SGRGKILL.wav",
  69. "move": "SGRGMOVE.wav",
  70. "wince": "SGRGWNCE.wav"
  71. }
  72. },
  73. "obsidianGargoyle" :
  74. {
  75. "index": 31,
  76. "level": 2,
  77. "faction": "tower",
  78. "abilities":
  79. {
  80. "gargoyle" :
  81. {
  82. "type" : "GARGOYLE"
  83. }
  84. },
  85. "graphics" :
  86. {
  87. "animation": "COGARG.DEF"
  88. },
  89. "sound" :
  90. {
  91. "attack": "OGRGATTK.wav",
  92. "defend": "OGRGDFND.wav",
  93. "killed": "OGRGKILL.wav",
  94. "move": "OGRGMOVE.wav",
  95. "wince": "OGRGWNCE.wav"
  96. }
  97. },
  98. "ironGolem" : //FIXME correct ID is stoneGolem, unchangeable due to HOTRAITS.TXT
  99. {
  100. "index": 32,
  101. "level": 3,
  102. "faction": "tower",
  103. "abilities":
  104. {
  105. "magicResistance" :
  106. {
  107. "type" : "SPELL_DAMAGE_REDUCTION",
  108. "subtype" : -1,
  109. "val" : 50
  110. },
  111. "nonliving" :
  112. {
  113. "type" : "NON_LIVING"
  114. }
  115. },
  116. "upgrades": ["stoneGolem"],
  117. "graphics" :
  118. {
  119. "animation": "CSGOLE.DEF"
  120. },
  121. "sound" :
  122. {
  123. "attack": "SGLMATTK.wav",
  124. "defend": "SGLMDFND.wav",
  125. "killed": "SGLMKILL.wav",
  126. "move": "SGLMMOVE.wav",
  127. "wince": "SGLMWNCE.wav"
  128. }
  129. },
  130. "stoneGolem" : //FIXME correct ID is ironGolem, unchangeable due to HOTRAITS.TXT
  131. {
  132. "index": 33,
  133. "level": 3,
  134. "faction": "tower",
  135. "abilities" :
  136. {
  137. "magicResistance" :
  138. {
  139. "type" : "SPELL_DAMAGE_REDUCTION",
  140. "subtype" : -1,
  141. "val" : 75
  142. },
  143. "nonliving" :
  144. {
  145. "type" : "NON_LIVING"
  146. }
  147. },
  148. "graphics" :
  149. {
  150. "animation": "CIGOLE.DEF"
  151. },
  152. "sound" :
  153. {
  154. "attack": "IGLMATTK.wav",
  155. "defend": "IGLMDFND.wav",
  156. "killed": "IGLMKILL.wav",
  157. "move": "IGLMMOVE.wav",
  158. "wince": "IGLMWNCE.wav"
  159. }
  160. },
  161. "mage" :
  162. {
  163. "index": 34,
  164. "level": 4,
  165. "faction": "tower",
  166. "abilities":
  167. {
  168. "reduceSpellCost" :
  169. {
  170. "type" : "CHANGES_SPELL_COST_FOR_ALLY",
  171. "val" : 2
  172. }
  173. },
  174. "upgrades": ["archMage"],
  175. "graphics" :
  176. {
  177. "animation": "CMAGE.DEF",
  178. "missile" :
  179. {
  180. "projectile": "PMAGEX.DEF"
  181. }
  182. },
  183. "sound" :
  184. {
  185. "attack": "MAGEATTK.wav",
  186. "defend": "MAGEDFND.wav",
  187. "killed": "MAGEKILL.wav",
  188. "move": "MAGEMOVE.wav",
  189. "shoot": "MAGESHOT.wav",
  190. "wince": "MAGEWNCE.wav"
  191. }
  192. },
  193. "archMage" :
  194. {
  195. "index": 35,
  196. "level": 4,
  197. "faction": "tower",
  198. "abilities":
  199. {
  200. "reduceSpellCost" :
  201. {
  202. "type" : "CHANGES_SPELL_COST_FOR_ALLY",
  203. "val" : 2
  204. }
  205. },
  206. "graphics" :
  207. {
  208. "animation": "CAMAGE.DEF",
  209. "missile" :
  210. {
  211. "attackClimaxFrame" : 8,
  212. "ray" :
  213. [
  214. { "start" : [ 160, 192, 0, 255 ], "end" : [ 160, 192, 0, 64 ] },
  215. { "start" : [ 128, 224, 128, 255 ], "end" : [ 128, 224, 128, 128 ] },
  216. { "start" : [ 32, 176, 32, 255 ], "end" : [ 32, 176, 32, 255 ] },
  217. { "start" : [ 128, 224, 128, 255 ], "end" : [ 128, 224, 128, 128 ] },
  218. { "start" : [ 160, 192, 0, 255 ], "end" : [ 160, 192, 0, 64 ] }
  219. ]
  220. }
  221. },
  222. "sound" :
  223. {
  224. "attack": "AMAGATTK.wav",
  225. "defend": "AMAGDFND.wav",
  226. "killed": "AMAGKILL.wav",
  227. "move": "AMAGMOVE.wav",
  228. "shoot": "AMAGSHOT.wav",
  229. "wince": "AMAGWNCE.wav"
  230. }
  231. },
  232. "genie" :
  233. {
  234. "index": 36,
  235. "level": 5,
  236. "faction": "tower",
  237. "abilities":
  238. {
  239. "hateAngels" :
  240. {
  241. "type" : "HATE",
  242. "subtype" : "creature.efreet",
  243. "val" : 50
  244. },
  245. "hateArchAngels" :
  246. {
  247. "type" : "HATE",
  248. "subtype" : "creature.efreetSultan",
  249. "val" : 50
  250. }
  251. },
  252. "upgrades": ["masterGenie"],
  253. "graphics" :
  254. {
  255. "animation": "CGENIE.DEF"
  256. },
  257. "sound" :
  258. {
  259. "attack": "GENIATTK.wav",
  260. "defend": "GENIDFND.wav",
  261. "killed": "GENIKILL.wav",
  262. "move": "GENIMOVE.wav",
  263. "wince": "GENIWNCE.wav"
  264. }
  265. },
  266. "masterGenie" :
  267. {
  268. "index": 37,
  269. "level": 5,
  270. "faction": "tower",
  271. "abilities":
  272. {
  273. "hateAngels" :
  274. {
  275. "type" : "HATE",
  276. "subtype" : "creature.efreet",
  277. "val" : 50
  278. },
  279. "hateArchAngels" :
  280. {
  281. "type" : "HATE",
  282. "subtype" : "creature.efreetSultan",
  283. "val" : 50
  284. },
  285. "spellsLength" :
  286. {
  287. "type" : "CREATURE_ENCHANT_POWER",
  288. "val" : 5
  289. },
  290. "randomSpellcaster" :
  291. {
  292. "type" : "RANDOM_SPELLCASTER",
  293. "val" : 2
  294. },
  295. "casts" :
  296. {
  297. "type" : "CASTS",
  298. "val" : 3
  299. }
  300. },
  301. "graphics" :
  302. {
  303. "animation": "CSULTA.DEF"
  304. },
  305. "sound" :
  306. {
  307. "attack": "CALFATTK.wav",
  308. "defend": "CALFDFND.wav",
  309. "killed": "CALFKILL.wav",
  310. "move": "CALFMOVE.wav",
  311. "shoot": "CALFSHOT.wav",
  312. "wince": "CALFWNCE.wav"
  313. }
  314. },
  315. "naga" :
  316. {
  317. "index": 38,
  318. "level": 6,
  319. "faction": "tower",
  320. "abilities" :
  321. {
  322. "noRetaliation" :
  323. {
  324. "type" : "BLOCKS_RETALIATION"
  325. }
  326. },
  327. "upgrades": ["nagaQueen"],
  328. "graphics" :
  329. {
  330. "animation": "CNAGA.DEF"
  331. },
  332. "sound" :
  333. {
  334. "attack": "NSENATTK.wav",
  335. "defend": "NSENDFND.wav",
  336. "killed": "NSENKILL.wav",
  337. "move": "NSENMOVE.wav",
  338. "wince": "NSENWNCE.wav"
  339. }
  340. },
  341. "nagaQueen" :
  342. {
  343. "index": 39,
  344. "level": 6,
  345. "faction": "tower",
  346. "abilities" :
  347. {
  348. "noRetaliation" :
  349. {
  350. "type" : "BLOCKS_RETALIATION"
  351. }
  352. },
  353. "graphics" :
  354. {
  355. "animation": "CNAGAG.DEF"
  356. },
  357. "sound" :
  358. {
  359. "attack": "NGRDATTK.wav",
  360. "defend": "NGRDDFND.wav",
  361. "killed": "NGRDKILL.wav",
  362. "move": "NGRDMOVE.wav",
  363. "wince": "NGRDWNCE.wav"
  364. }
  365. },
  366. "giant" :
  367. {
  368. "index": 40,
  369. "level": 7,
  370. "faction": "tower",
  371. "abilities" :
  372. {
  373. "immuneToMind" :
  374. {
  375. "type" : "MIND_IMMUNITY"
  376. }
  377. },
  378. "upgrades": ["titan"],
  379. "graphics" :
  380. {
  381. "animation": "CLTITA.DEF"
  382. },
  383. "sound" :
  384. {
  385. "attack": "LTITATTK.wav",
  386. "defend": "LTITDFND.wav",
  387. "killed": "LTITKILL.wav",
  388. "move": "LTITMOVE.wav",
  389. "wince": "LTITWNCE.wav"
  390. }
  391. },
  392. "titan" :
  393. {
  394. "index": 41,
  395. "level": 7,
  396. "faction": "tower",
  397. "abilities" :
  398. {
  399. "immuneToMind" :
  400. {
  401. "type" : "MIND_IMMUNITY"
  402. },
  403. "hateArchAngels" :
  404. {
  405. "type" : "HATE",
  406. "subtype" : "creature.blackDragon",
  407. "val" : 50
  408. }
  409. },
  410. "graphics" :
  411. {
  412. "animation": "CGTITA.DEF",
  413. "missile" :
  414. {
  415. "projectile": "CPRGTIX.DEF"
  416. }
  417. },
  418. "sound" :
  419. {
  420. "attack": "GTITATTK.wav",
  421. "defend": "GTITDFND.wav",
  422. "killed": "GTITKILL.wav",
  423. "move": "GTITMOVE.wav",
  424. "shoot": "GTITSHOT.wav",
  425. "wince": "GTITWNCE.wav"
  426. }
  427. }
  428. }