tower.json 9.2 KB

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