enemies.json 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598
  1. {
  2. "enemies": [
  3. {
  4. "id": "normal_zombie",
  5. "name": "普通僵尸",
  6. "type": "basic",
  7. "rarity": "common",
  8. "weight": 35,
  9. "stats": {
  10. "health": 100,
  11. "speed": 50,
  12. "damage": 20,
  13. "attackRange": 30,
  14. "attackSpeed": 1.0,
  15. "defense": 0,
  16. "coinReward": 10
  17. },
  18. "movement": {
  19. "type": "straight",
  20. "pattern": "walk_forward",
  21. "speedVariation": 0.1
  22. },
  23. "combat": {
  24. "attackType": "melee",
  25. "attackDelay": 0.5,
  26. "attackCooldown": 1.0,
  27. "canBlock": false,
  28. "blockChance": 0
  29. },
  30. "visualConfig": {
  31. "spritePrefab": "enemies/NormalZombie",
  32. "animations": {
  33. "idle": "zombie_idle",
  34. "walk": "zombie_walk",
  35. "attack": "zombie_attack",
  36. "death": "zombie_death"
  37. },
  38. "scale": 1.0,
  39. "flipX": false
  40. },
  41. "audioConfig": {
  42. "walkSound": "audio/zombie_walk",
  43. "attackSound": "audio/zombie_attack",
  44. "deathSound": "audio/zombie_death",
  45. "hurtSound": "audio/zombie_hurt"
  46. },
  47. "specialAbilities": []
  48. },
  49. {
  50. "id": "roadblock_zombie",
  51. "name": "路障僵尸",
  52. "type": "armored",
  53. "rarity": "common",
  54. "weight": 25,
  55. "stats": {
  56. "health": 180,
  57. "speed": 40,
  58. "damage": 25,
  59. "attackRange": 30,
  60. "attackSpeed": 0.8,
  61. "defense": 5,
  62. "coinReward": 15
  63. },
  64. "movement": {
  65. "type": "straight",
  66. "pattern": "walk_forward",
  67. "speedVariation": 0.1
  68. },
  69. "combat": {
  70. "attackType": "melee",
  71. "attackDelay": 0.6,
  72. "attackCooldown": 1.2,
  73. "canBlock": true,
  74. "blockChance": 0.2
  75. },
  76. "visualConfig": {
  77. "spritePrefab": "enemies/RoadblockZombie",
  78. "animations": {
  79. "idle": "roadblock_idle",
  80. "walk": "roadblock_walk",
  81. "attack": "roadblock_attack",
  82. "death": "roadblock_death",
  83. "block": "roadblock_block"
  84. },
  85. "scale": 1.1,
  86. "flipX": false
  87. },
  88. "audioConfig": {
  89. "walkSound": "audio/roadblock_walk",
  90. "attackSound": "audio/roadblock_attack",
  91. "deathSound": "audio/roadblock_death",
  92. "blockSound": "audio/roadblock_block"
  93. },
  94. "specialAbilities": ["armor_break"]
  95. },
  96. {
  97. "id": "wandering_zombie",
  98. "name": "漫步僵尸",
  99. "type": "wanderer",
  100. "rarity": "uncommon",
  101. "weight": 20,
  102. "stats": {
  103. "health": 120,
  104. "speed": 45,
  105. "damage": 30,
  106. "attackRange": 40,
  107. "attackSpeed": 1.2,
  108. "defense": 2,
  109. "coinReward": 18
  110. },
  111. "movement": {
  112. "type": "sway",
  113. "pattern": "zigzag_forward",
  114. "speedVariation": 0.2,
  115. "swayAmplitude": 20,
  116. "swayFrequency": 2.0
  117. },
  118. "combat": {
  119. "attackType": "melee_weapon",
  120. "attackDelay": 0.4,
  121. "attackCooldown": 0.8,
  122. "weaponType": "baseball_bat",
  123. "canBlock": false,
  124. "blockChance": 0
  125. },
  126. "visualConfig": {
  127. "spritePrefab": "enemies/WanderingZombie",
  128. "animations": {
  129. "idle": "wandering_idle",
  130. "walk": "wandering_walk",
  131. "attack": "wandering_attack",
  132. "death": "wandering_death"
  133. },
  134. "scale": 1.0,
  135. "flipX": false,
  136. "weapon": "props/baseball_bat"
  137. },
  138. "audioConfig": {
  139. "walkSound": "audio/wandering_walk",
  140. "attackSound": "audio/bat_swing",
  141. "deathSound": "audio/wandering_death"
  142. },
  143. "specialAbilities": ["unpredictable_movement"]
  144. },
  145. {
  146. "id": "mage_zombie",
  147. "name": "法师僵尸",
  148. "type": "ranged_caster",
  149. "rarity": "uncommon",
  150. "weight": 18,
  151. "stats": {
  152. "health": 80,
  153. "speed": 35,
  154. "damage": 35,
  155. "attackRange": 200,
  156. "attackSpeed": 0.6,
  157. "defense": 0,
  158. "coinReward": 25
  159. },
  160. "movement": {
  161. "type": "straight",
  162. "pattern": "walk_forward",
  163. "speedVariation": 0.1
  164. },
  165. "combat": {
  166. "attackType": "magic_projectile",
  167. "attackDelay": 0.8,
  168. "attackCooldown": 2.0,
  169. "projectileType": "magic_bolt",
  170. "projectileSpeed": 150,
  171. "canBlock": false,
  172. "blockChance": 0
  173. },
  174. "visualConfig": {
  175. "spritePrefab": "enemies/MageZombie",
  176. "animations": {
  177. "idle": "mage_idle",
  178. "walk": "mage_walk",
  179. "attack": "mage_cast",
  180. "death": "mage_death"
  181. },
  182. "scale": 1.0,
  183. "flipX": false,
  184. "weapon": "props/magic_staff"
  185. },
  186. "audioConfig": {
  187. "walkSound": "audio/mage_walk",
  188. "attackSound": "audio/magic_cast",
  189. "deathSound": "audio/mage_death"
  190. },
  191. "projectileConfig": {
  192. "bulletPrefab": "bullets/MagicBolt",
  193. "hitEffect": "effects/MagicHit",
  194. "trailEffect": "effects/MagicTrail"
  195. },
  196. "specialAbilities": ["ranged_attack", "magic_resistance"]
  197. },
  198. {
  199. "id": "archer_zombie",
  200. "name": "弓箭僵尸",
  201. "type": "ranged_archer",
  202. "rarity": "uncommon",
  203. "weight": 16,
  204. "stats": {
  205. "health": 90,
  206. "speed": 40,
  207. "damage": 40,
  208. "attackRange": 250,
  209. "attackSpeed": 0.7,
  210. "defense": 1,
  211. "coinReward": 22
  212. },
  213. "movement": {
  214. "type": "straight",
  215. "pattern": "walk_forward",
  216. "speedVariation": 0.1
  217. },
  218. "combat": {
  219. "attackType": "arrow_projectile",
  220. "attackDelay": 0.6,
  221. "attackCooldown": 1.8,
  222. "projectileType": "arrow",
  223. "projectileSpeed": 200,
  224. "canBlock": false,
  225. "blockChance": 0
  226. },
  227. "visualConfig": {
  228. "spritePrefab": "enemies/ArcherZombie",
  229. "animations": {
  230. "idle": "archer_idle",
  231. "walk": "archer_walk",
  232. "attack": "archer_shoot",
  233. "death": "archer_death"
  234. },
  235. "scale": 1.0,
  236. "flipX": false,
  237. "weapon": "props/bow"
  238. },
  239. "audioConfig": {
  240. "walkSound": "audio/archer_walk",
  241. "attackSound": "audio/bow_shoot",
  242. "deathSound": "audio/archer_death"
  243. },
  244. "projectileConfig": {
  245. "bulletPrefab": "bullets/Arrow",
  246. "hitEffect": "effects/ArrowHit",
  247. "trailEffect": null
  248. },
  249. "specialAbilities": ["ranged_attack", "piercing_shot"]
  250. },
  251. {
  252. "id": "stealth_zombie",
  253. "name": "隐身僵尸",
  254. "type": "stealth",
  255. "rarity": "rare",
  256. "weight": 12,
  257. "stats": {
  258. "health": 70,
  259. "speed": 60,
  260. "damage": 45,
  261. "attackRange": 25,
  262. "attackSpeed": 1.5,
  263. "defense": 0,
  264. "coinReward": 35
  265. },
  266. "movement": {
  267. "type": "straight",
  268. "pattern": "walk_forward",
  269. "speedVariation": 0.15
  270. },
  271. "combat": {
  272. "attackType": "stealth_strike",
  273. "attackDelay": 0.3,
  274. "attackCooldown": 0.6,
  275. "canBlock": false,
  276. "blockChance": 0
  277. },
  278. "visualConfig": {
  279. "spritePrefab": "enemies/StealthZombie",
  280. "animations": {
  281. "idle": "stealth_idle",
  282. "walk": "stealth_walk",
  283. "attack": "stealth_attack",
  284. "death": "stealth_death",
  285. "invisible": "stealth_invisible"
  286. },
  287. "scale": 1.0,
  288. "flipX": false
  289. },
  290. "audioConfig": {
  291. "walkSound": "audio/stealth_walk",
  292. "attackSound": "audio/stealth_attack",
  293. "deathSound": "audio/stealth_death",
  294. "stealthSound": "audio/stealth_activate"
  295. },
  296. "specialAbilities": ["invisibility", "stealth_attack", "speed_boost"],
  297. "stealthConfig": {
  298. "stealthDuration": 3.0,
  299. "stealthCooldown": 8.0,
  300. "revealOnAttack": true,
  301. "visibilityAlpha": 0.3
  302. }
  303. },
  304. {
  305. "id": "bucket_zombie",
  306. "name": "铁桶僵尸",
  307. "type": "heavy_armor",
  308. "rarity": "uncommon",
  309. "weight": 15,
  310. "stats": {
  311. "health": 300,
  312. "speed": 30,
  313. "damage": 35,
  314. "attackRange": 30,
  315. "attackSpeed": 0.6,
  316. "defense": 10,
  317. "coinReward": 30
  318. },
  319. "movement": {
  320. "type": "straight",
  321. "pattern": "walk_forward",
  322. "speedVariation": 0.05
  323. },
  324. "combat": {
  325. "attackType": "heavy_melee",
  326. "attackDelay": 0.8,
  327. "attackCooldown": 1.5,
  328. "canBlock": true,
  329. "blockChance": 0.4
  330. },
  331. "visualConfig": {
  332. "spritePrefab": "enemies/BucketZombie",
  333. "animations": {
  334. "idle": "bucket_idle",
  335. "walk": "bucket_walk",
  336. "attack": "bucket_attack",
  337. "death": "bucket_death",
  338. "armor_break": "bucket_armor_break"
  339. },
  340. "scale": 1.2,
  341. "flipX": false,
  342. "armor": "props/iron_bucket"
  343. },
  344. "audioConfig": {
  345. "walkSound": "audio/bucket_walk",
  346. "attackSound": "audio/bucket_attack",
  347. "deathSound": "audio/bucket_death",
  348. "armorBreakSound": "audio/armor_break"
  349. },
  350. "specialAbilities": ["heavy_armor", "armor_break_threshold"],
  351. "armorConfig": {
  352. "armorHealth": 150,
  353. "armorReduction": 0.5,
  354. "breakThreshold": 50
  355. }
  356. },
  357. {
  358. "id": "barrel_zombie",
  359. "name": "火药桶僵尸",
  360. "type": "explosive",
  361. "rarity": "rare",
  362. "weight": 10,
  363. "stats": {
  364. "health": 60,
  365. "speed": 45,
  366. "damage": 25,
  367. "attackRange": 30,
  368. "attackSpeed": 1.0,
  369. "defense": 0,
  370. "coinReward": 40,
  371. "explosionDamage": 120,
  372. "explosionRadius": 100
  373. },
  374. "movement": {
  375. "type": "straight",
  376. "pattern": "walk_forward",
  377. "speedVariation": 0.1
  378. },
  379. "combat": {
  380. "attackType": "melee",
  381. "attackDelay": 0.5,
  382. "attackCooldown": 1.0,
  383. "canBlock": false,
  384. "blockChance": 0
  385. },
  386. "visualConfig": {
  387. "spritePrefab": "enemies/BarrelZombie",
  388. "animations": {
  389. "idle": "barrel_idle",
  390. "walk": "barrel_walk",
  391. "attack": "barrel_attack",
  392. "death": "barrel_death",
  393. "explode": "barrel_explode"
  394. },
  395. "scale": 1.0,
  396. "flipX": false,
  397. "prop": "props/gunpowder_barrel"
  398. },
  399. "audioConfig": {
  400. "walkSound": "audio/barrel_walk",
  401. "attackSound": "audio/barrel_attack",
  402. "deathSound": "audio/barrel_explode",
  403. "fuseSound": "audio/barrel_fuse"
  404. },
  405. "specialAbilities": ["death_explosion", "area_damage"],
  406. "explosionConfig": {
  407. "explosionDelay": 0.5,
  408. "explosionEffect": "effects/BarrelExplosion",
  409. "damageRadius": 100,
  410. "knockbackForce": 200
  411. }
  412. },
  413. {
  414. "id": "boss1_gatekeeper",
  415. "name": "BOSS1",
  416. "type": "boss",
  417. "rarity": "boss",
  418. "weight": 1,
  419. "stats": {
  420. "health": 800,
  421. "speed": 25,
  422. "damage": 80,
  423. "attackRange": 50,
  424. "attackSpeed": 0.4,
  425. "defense": 15,
  426. "coinReward": 200
  427. },
  428. "movement": {
  429. "type": "straight",
  430. "pattern": "walk_forward",
  431. "speedVariation": 0.05
  432. },
  433. "combat": {
  434. "attackType": "gate_slam",
  435. "attackDelay": 1.0,
  436. "attackCooldown": 2.5,
  437. "canBlock": true,
  438. "blockChance": 0.6
  439. },
  440. "visualConfig": {
  441. "spritePrefab": "enemies/Boss1Gatekeeper",
  442. "animations": {
  443. "idle": "boss1_idle",
  444. "walk": "boss1_walk",
  445. "attack": "boss1_slam",
  446. "death": "boss1_death",
  447. "block": "boss1_block"
  448. },
  449. "scale": 2.0,
  450. "flipX": false,
  451. "weapon": "props/iron_gate"
  452. },
  453. "audioConfig": {
  454. "walkSound": "audio/boss1_walk",
  455. "attackSound": "audio/gate_slam",
  456. "deathSound": "audio/boss1_death",
  457. "blockSound": "audio/gate_block"
  458. },
  459. "specialAbilities": ["boss_immunity", "gate_shield", "area_slam"],
  460. "bossConfig": {
  461. "phases": 2,
  462. "phaseHealthThreshold": 0.5,
  463. "enrageBonus": {
  464. "speed": 1.5,
  465. "damage": 1.3,
  466. "attackSpeed": 1.2
  467. }
  468. }
  469. },
  470. {
  471. "id": "boss2_gravedigger",
  472. "name": "BOSS2",
  473. "type": "boss",
  474. "rarity": "boss",
  475. "weight": 1,
  476. "stats": {
  477. "health": 1000,
  478. "speed": 20,
  479. "damage": 100,
  480. "attackRange": 60,
  481. "attackSpeed": 0.3,
  482. "defense": 20,
  483. "coinReward": 250
  484. },
  485. "movement": {
  486. "type": "straight",
  487. "pattern": "walk_forward",
  488. "speedVariation": 0.05
  489. },
  490. "combat": {
  491. "attackType": "tombstone_smash",
  492. "attackDelay": 1.2,
  493. "attackCooldown": 3.0,
  494. "canBlock": true,
  495. "blockChance": 0.7
  496. },
  497. "visualConfig": {
  498. "spritePrefab": "enemies/Boss2Gravedigger",
  499. "animations": {
  500. "idle": "boss2_idle",
  501. "walk": "boss2_walk",
  502. "attack": "boss2_smash",
  503. "death": "boss2_death",
  504. "summon": "boss2_summon"
  505. },
  506. "scale": 2.2,
  507. "flipX": false,
  508. "weapon": "props/tombstone"
  509. },
  510. "audioConfig": {
  511. "walkSound": "audio/boss2_walk",
  512. "attackSound": "audio/tombstone_smash",
  513. "deathSound": "audio/boss2_death",
  514. "summonSound": "audio/boss2_summon"
  515. },
  516. "specialAbilities": ["boss_immunity", "minion_summon", "ground_slam"],
  517. "bossConfig": {
  518. "phases": 3,
  519. "phaseHealthThreshold": 0.66,
  520. "summonAbility": {
  521. "minionType": "normal_zombie",
  522. "summonCount": 2,
  523. "summonCooldown": 10.0
  524. }
  525. }
  526. },
  527. {
  528. "id": "boss3_cyborg",
  529. "name": "BOSS3",
  530. "type": "boss",
  531. "rarity": "boss",
  532. "weight": 1,
  533. "stats": {
  534. "health": 1200,
  535. "speed": 35,
  536. "damage": 120,
  537. "attackRange": 80,
  538. "attackSpeed": 0.5,
  539. "defense": 25,
  540. "coinReward": 300
  541. },
  542. "movement": {
  543. "type": "straight",
  544. "pattern": "walk_forward",
  545. "speedVariation": 0.1
  546. },
  547. "combat": {
  548. "attackType": "cyber_arm_combo",
  549. "attackDelay": 0.8,
  550. "attackCooldown": 2.0,
  551. "canBlock": true,
  552. "blockChance": 0.5
  553. },
  554. "visualConfig": {
  555. "spritePrefab": "enemies/Boss3Cyborg",
  556. "animations": {
  557. "idle": "boss3_idle",
  558. "walk": "boss3_walk",
  559. "attack": "boss3_combo",
  560. "death": "boss3_death",
  561. "laser": "boss3_laser"
  562. },
  563. "scale": 2.5,
  564. "flipX": false,
  565. "weapon": "props/cyber_arm"
  566. },
  567. "audioConfig": {
  568. "walkSound": "audio/boss3_walk",
  569. "attackSound": "audio/cyber_attack",
  570. "deathSound": "audio/boss3_death",
  571. "laserSound": "audio/laser_beam"
  572. },
  573. "specialAbilities": ["boss_immunity", "laser_beam", "cyber_enhancement"],
  574. "bossConfig": {
  575. "phases": 3,
  576. "phaseHealthThreshold": 0.5,
  577. "laserAbility": {
  578. "damage": 150,
  579. "range": 400,
  580. "chargeTime": 2.0,
  581. "cooldown": 8.0
  582. }
  583. }
  584. }
  585. ],
  586. "spawnWeights": {
  587. "common": 70,
  588. "uncommon": 20,
  589. "rare": 8,
  590. "boss": 2
  591. },
  592. "waveProgression": {
  593. "earlyWaves": ["normal_zombie", "roadblock_zombie"],
  594. "midWaves": ["wandering_zombie", "mage_zombie", "archer_zombie"],
  595. "lateWaves": ["stealth_zombie", "bucket_zombie", "barrel_zombie"],
  596. "bossWaves": ["boss1_gatekeeper", "boss2_gravedigger", "boss3_cyborg"]
  597. }
  598. }