{ "weapons": [ { "id": "pea_shooter", "name": "毛豆射手", "type": "single_shot", "rarity": "common", "weight": 30, "stats": { "damage": 10, "fireRate": 1.0, "range": 300, "bulletSpeed": 30 }, "bulletConfig": { "count": { "type": "single", "amount": 1, "spreadAngle": 0, "burstCount": 1, "burstDelay": 0 }, "trajectory": { "type": "straight", "speed": 200, "gravity": 0, "arcHeight": 0, "homingStrength": 0, "homingDelay": 0 }, "hitEffects": [ { "type": "normal_damage", "priority": 1, "params": { "damage": 10 } } ], "lifecycle": { "type": "hit_destroy", "maxLifetime": 5.0, "penetration": 1, "ricochetCount": 0, "returnToOrigin": false }, "visual": { "bulletPrefab": "bullets/Pea_ShooterBullet", "hitEffect": "Animation/WeaponTx/tx0002/tx0002", "trailEffect": "True", "muzzleFlash": "Animation/WeaponTx/tx0002/tx0002" } }, "visualConfig": { "weaponSprites": { "I": "images/PlantsSprite/001-1", "H-I": "images/PlantsSprite/001-1", "L": "images/PlantsSprite/001-1", "S": "images/PlantsSprite/001-1", "D-T": "images/PlantsSprite/001-1" }, "fireSound": "audio/pea_shooter_shot", "trailEffect": "True" }, "upgradeConfig": { "maxLevel": 10, "levels": { "1": { "cost": 100, "damage": 10 }, "2": { "cost": 150, "damage": 11 }, "3": { "cost": 200, "damage": 12 }, "4": { "cost": 250, "damage": 13 }, "5": { "cost": 300, "damage": 14 }, "6": { "cost": 350, "damage": 15 }, "7": { "cost": 400, "damage": 16 }, "8": { "cost": 450, "damage": 17 }, "9": { "cost": 500, "damage": 18 }, "10": { "cost": 550, "damage": 19 } } }, "inGameCostConfig": { "baseCost": 5, "shapeCosts": { "I": 10, "H-I": 10, "L": 15, "S": 20, "D-T": 20 } } }, { "id": "sharp_carrot", "name": "尖胡萝卜", "type": "piercing", "rarity": "common", "weight": 25, "stats": { "damage": 8, "fireRate": 0.8, "range": 400, "bulletSpeed": 20 }, "bulletConfig": { "count": { "type": "single", "amount": 1, "spreadAngle": 0, "burstCount": 1, "burstDelay": 0 }, "trajectory": { "type": "straight", "speed": 200, "gravity": 0, "arcHeight": 0, "homingStrength": 0, "homingDelay": 0 }, "hitEffects": [ { "type": "pierce_damage", "priority": 1, "params": { "damage": 8, "pierceCount": 999 } } ], "lifecycle": { "type": "range_limit", "maxLifetime": 5.0, "penetration": 999, "ricochetCount": 0, "returnToOrigin": false, "maxRange": 800 }, "visual": { "bulletPrefab": "bullets/Sharp_CarrotBullet", "hitEffect": "Animation/WeaponTx/tx0002/tx0002", "trailEffect": "Animation/WeaponTx/tx0001/tx0001", "muzzleFlash": "Animation/WeaponTx/tx0002/tx0002" } }, "visualConfig": { "weaponSprites": { "I": "images/PlantsSprite/002", "H-I": "images/PlantsSprite/002", "L": "images/PlantsSprite/002", "S": "images/PlantsSprite/002", "D-T": "images/PlantsSprite/002" }, "fireSound": "audio/sharp_carrot_shot", "trailEffect": "Animation/WeaponTx/tx0001/tx0001" }, "upgradeConfig": { "maxLevel": 10, "levels": { "1": { "cost": 120, "damage": 8 }, "2": { "cost": 180, "damage": 9 }, "3": { "cost": 240, "damage": 10 }, "4": { "cost": 300, "damage": 11 }, "5": { "cost": 360, "damage": 12 }, "6": { "cost": 420, "damage": 13 }, "7": { "cost": 480, "damage": 14 }, "8": { "cost": 540, "damage": 15 }, "9": { "cost": 600, "damage": 16 }, "10": { "cost": 660, "damage": 17 } } }, "inGameCostConfig": { "baseCost": 6, "shapeCosts": { "I": 12, "H-I": 12, "L": 18, "S": 24, "D-T": 24 } } }, { "id": "saw_grass", "name": "锯齿草", "type": "ricochet_piercing", "rarity": "uncommon", "weight": 20, "stats": { "damage": 8, "fireRate": 0.6, "range": 350, "bulletSpeed": 30 }, "bulletConfig": { "count": { "type": "single", "amount": 1, "spreadAngle": 0, "burstCount": 1, "burstDelay": 0 }, "trajectory": { "type": "straight", "speed": 200, "gravity": 0, "arcHeight": 0, "homingStrength": 0, "homingDelay": 0 }, "hitEffects": [ { "type": "ricochet_damage", "priority": 1, "params": { "damage": 8, "ricochetCount": 2, "ricochetAngle": 45 } }, { "type": "pierce_damage", "priority": 2, "params": { "damage": 8, "pierceCount": 3 } } ], "lifecycle": { "type": "ricochet_counter", "maxLifetime": 8.0, "penetration": 3, "ricochetCount": 3, "returnToOrigin": false }, "visual": { "bulletPrefab": "bullets/Saw_GrassBullet", "hitEffect": "Animation/WeaponTx/tx0002/tx0002", "trailEffect": "True", "muzzleFlash": "Animation/WeaponTx/tx0002/tx0002" } }, "visualConfig": { "weaponSprites": { "I": "images/PlantsSprite/003", "H-I": "images/PlantsSprite/003", "L": "images/PlantsSprite/003", "S": "images/PlantsSprite/003", "D-T": "images/PlantsSprite/003" }, "fireSound": "audio/saw_grass_shot", "trailEffect": "True" }, "upgradeConfig": { "maxLevel": 10, "levels": { "1": { "cost": 120, "damage": 8 }, "2": { "cost": 180, "damage": 9 }, "3": { "cost": 240, "damage": 10 }, "4": { "cost": 300, "damage": 11 }, "5": { "cost": 360, "damage": 12 }, "6": { "cost": 420, "damage": 13 }, "7": { "cost": 480, "damage": 14 }, "8": { "cost": 540, "damage": 15 }, "9": { "cost": 600, "damage": 16 }, "10": { "cost": 660, "damage": 17 } } }, "inGameCostConfig": { "baseCost": 6, "shapeCosts": { "I": 12, "H-I": 12, "L": 18, "S": 24, "D-T": 24 } } }, { "id": "watermelon_bomb", "name": "西瓜炸弹", "type": "explosive", "rarity": "rare", "weight": 15, "stats": { "damage": 15, "fireRate": 0.4, "range": 250, "bulletSpeed": 20 }, "bulletConfig": { "count": { "type": "single", "amount": 1, "spreadAngle": 0, "burstCount": 1, "burstDelay": 0 }, "trajectory": { "type": "arc", "speed": 200, "gravity": 0, "arcHeight": 0, "homingStrength": 0, "homingDelay": 0 }, "hitEffects": [ { "type": "explosion", "priority": 1, "params": { "damage": 35, "radius": 100, "delay": 0.1 } } ], "lifecycle": { "type": "ground_impact", "maxLifetime": 5.0, "penetration": 1, "ricochetCount": 0, "returnToOrigin": false }, "visual": { "bulletPrefab": "bullets/Watermelon_BombBullet", "hitEffect": "Animation/WeaponTx/tx0007/tx0007", "trailEffect": "True", "muzzleFlash": "Animation/WeaponTx/tx0002/tx0002" } }, "visualConfig": { "weaponSprites": { "I": "images/PlantsSprite/007", "H-I": "images/PlantsSprite/007", "L": "images/PlantsSprite/007", "S": "images/PlantsSprite/007", "D-T": "images/PlantsSprite/007" }, "fireSound": "audio/watermelon_bomb_shot", "trailEffect": "True" }, "upgradeConfig": { "maxLevel": 10, "levels": { "1": { "cost": 150, "damage": 15 }, "2": { "cost": 225, "damage": 17 }, "3": { "cost": 300, "damage": 19 }, "4": { "cost": 375, "damage": 21 }, "5": { "cost": 450, "damage": 23 }, "6": { "cost": 525, "damage": 25 }, "7": { "cost": 600, "damage": 27 }, "8": { "cost": 675, "damage": 29 }, "9": { "cost": 750, "damage": 31 }, "10": { "cost": 825, "damage": 33 } } }, "inGameCostConfig": { "baseCost": 10, "shapeCosts": { "I": 20, "H-I": 20, "L": 30, "S": 40, "D-T": 40 } } }, { "id": "boomerang_plant", "name": "回旋镖盆栽", "type": "boomerang", "rarity": "uncommon", "weight": 18, "stats": { "damage": 10, "fireRate": 0.5, "range": 300, "bulletSpeed": 20 }, "bulletConfig": { "count": { "type": "single", "amount": 1, "spreadAngle": 0, "burstCount": 1, "burstDelay": 0 }, "trajectory": { "type": "homing", "speed": 15, "gravity": 0, "homingStrength": 0.5, "homingDelay": 0.3 }, "hitEffects": [ { "type": "pierce_damage", "priority": 1, "params": { "damage": 10, "pierceCount": 999 } } ], "lifecycle": { "type": "return_trip", "maxLifetime": 10.0, "penetration": 999, "ricochetCount": 0, "returnToOrigin": true, "returnDelay": 1.0 }, "visual": { "bulletPrefab": "bullets/Boomerang_PlantBullet", "hitEffect": "Animation/WeaponTx/tx0002/tx0002", "trailEffect": "True", "muzzleFlash": "Animation/WeaponTx/tx0002/tx0002" } }, "visualConfig": { "weaponSprites": { "I": "images/PlantsSprite/004", "H-I": "images/PlantsSprite/004", "L": "images/PlantsSprite/004", "S": "images/PlantsSprite/004", "D-T": "images/PlantsSprite/004" }, "fireSound": "audio/boomerang_plant_shot", "trailEffect": "True" }, "upgradeConfig": { "maxLevel": 10, "levels": { "1": { "cost": 120, "damage": 10 }, "2": { "cost": 180, "damage": 11 }, "3": { "cost": 240, "damage": 12 }, "4": { "cost": 300, "damage": 13 }, "5": { "cost": 360, "damage": 14 }, "6": { "cost": 420, "damage": 15 }, "7": { "cost": 480, "damage": 16 }, "8": { "cost": 540, "damage": 17 }, "9": { "cost": 600, "damage": 18 }, "10": { "cost": 660, "damage": 19 } } }, "inGameCostConfig": { "baseCost": 6, "shapeCosts": { "I": 12, "H-I": 12, "L": 18, "S": 24, "D-T": 24 } } }, { "id": "hot_pepper", "name": "炙热辣椒", "type": "area_burn", "rarity": "rare", "weight": 12, "stats": { "damage": 15, "fireRate": 0.3, "range": 280, "bulletSpeed": 20 }, "bulletConfig": { "count": { "type": "single", "amount": 1, "spreadAngle": 0, "burstCount": 1, "burstDelay": 0 }, "trajectory": { "type": "straight", "speed": 200, "gravity": 0, "arcHeight": 0, "homingStrength": 0, "homingDelay": 0 }, "hitEffects": [ { "type": "normal_damage", "priority": 1, "params": { "damage": 15 } } ], "lifecycle": { "type": "hit_destroy", "maxLifetime": 5.0, "penetration": 1, "ricochetCount": 0, "returnToOrigin": false }, "visual": { "bulletPrefab": "bullets/Hot_PepperBullet", "hitEffect": "Animation/WeaponTx/tx0002/tx0002", "trailEffect": "True", "muzzleFlash": "Animation/WeaponTx/tx0002/tx0002" } }, "visualConfig": { "weaponSprites": { "I": "images/PlantsSprite/005", "H-I": "images/PlantsSprite/005", "L": "images/PlantsSprite/005", "S": "images/PlantsSprite/005", "D-T": "images/PlantsSprite/005" }, "fireSound": "audio/hot_pepper_shot", "trailEffect": "True" }, "upgradeConfig": { "maxLevel": 10, "levels": { "1": { "cost": 150, "damage": 10 }, "2": { "cost": 225, "damage": 11 }, "3": { "cost": 300, "damage": 12 }, "4": { "cost": 375, "damage": 13 }, "5": { "cost": 450, "damage": 14 }, "6": { "cost": 525, "damage": 15 }, "7": { "cost": 600, "damage": 16 }, "8": { "cost": 675, "damage": 17 }, "9": { "cost": 750, "damage": 18 }, "10": { "cost": 825, "damage": 19 } } }, "inGameCostConfig": { "baseCost": 10, "shapeCosts": { "I": 20, "H-I": 20, "L": 30, "S": 40, "D-T": 40 } } }, { "id": "cactus_shotgun", "name": "仙人散弹", "type": "shotgun", "rarity": "uncommon", "weight": 22, "stats": { "damage": 6, "fireRate": 0.7, "range": 200, "bulletSpeed": 30 }, "bulletConfig": { "count": { "type": "spread", "amount": 5, "spreadAngle": 30, "burstCount": 1, "burstDelay": 0 }, "trajectory": { "type": "straight", "speed": 200, "gravity": 0, "arcHeight": 0, "homingStrength": 0, "homingDelay": 0 }, "hitEffects": [ { "type": "normal_damage", "priority": 1, "params": { "damage": 6 } } ], "lifecycle": { "type": "range_limit", "maxLifetime": 5.0, "penetration": 1, "ricochetCount": 0, "returnToOrigin": false, "maxRange": 400 }, "visual": { "bulletPrefab": "bullets/Cactus_ShotgunBullet", "hitEffect": "Animation/WeaponTx/tx0002/tx0002", "trailEffect": "True", "muzzleFlash": "Animation/WeaponTx/tx0002/tx0002" } }, "visualConfig": { "weaponSprites": { "I": "images/PlantsSprite/008", "H-I": "images/PlantsSprite/008", "L": "images/PlantsSprite/008", "S": "images/PlantsSprite/008", "D-T": "images/PlantsSprite/008" }, "fireSound": "audio/cactus_shotgun_shot", "trailEffect": "True" }, "upgradeConfig": { "maxLevel": 10, "levels": { "1": { "cost": 150, "damage": 5 }, "2": { "cost": 225, "damage": 6 }, "3": { "cost": 300, "damage": 7 }, "4": { "cost": 375, "damage": 8 }, "5": { "cost": 450, "damage": 9 }, "6": { "cost": 525, "damage": 10 }, "7": { "cost": 600, "damage": 11 }, "8": { "cost": 675, "damage": 12 }, "9": { "cost": 750, "damage": 13 }, "10": { "cost": 825, "damage": 14 } } }, "inGameCostConfig": { "baseCost": 10, "shapeCosts": { "I": 20, "H-I": 20, "L": 30, "S": 40, "D-T": 40 } } }, { "id": "okra_missile", "name": "秋葵导弹", "type": "homing_missile", "rarity": "epic", "weight": 8, "stats": { "damage": 20, "fireRate": 0.25, "range": 500, "bulletSpeed": 15 }, "bulletConfig": { "count": { "type": "single", "amount": 1, "spreadAngle": 0, "burstCount": 1, "burstDelay": 0 }, "trajectory": { "type": "homing", "speed": 20, "gravity": 0.2, "arcHeight": 100, "homingStrength": 0.8, "homingDelay": 0.3 }, "hitEffects": [ { "type": "explosion", "priority": 1, "params": { "damage": 20, "radius": 150, "delay": 0 } } ], "lifecycle": { "type": "target_impact", "maxLifetime": 5.0, "penetration": 1, "ricochetCount": 0, "returnToOrigin": false }, "visual": { "bulletPrefab": "bullets/Okra_MissileBullet", "hitEffect": "Animation/WeaponTx/tx0002/tx0002", "trailEffect": "True", "muzzleFlash": "Animation/WeaponTx/tx0002/tx0002" } }, "visualConfig": { "weaponSprites": { "I": "images/PlantsSprite/006", "H-I": "images/PlantsSprite/006", "L": "images/PlantsSprite/006", "S": "images/PlantsSprite/006", "D-T": "images/PlantsSprite/006" }, "fireSound": "audio/okra_missile_shot", "trailEffect": "True" }, "upgradeConfig": { "maxLevel": 10, "levels": { "1": { "cost": 200, "damage": 20 }, "2": { "cost": 300, "damage": 22 }, "3": { "cost": 400, "damage": 24 }, "4": { "cost": 500, "damage": 26 }, "5": { "cost": 600, "damage": 28 }, "6": { "cost": 700, "damage": 30 }, "7": { "cost": 800, "damage": 32 }, "8": { "cost": 900, "damage": 34 }, "9": { "cost": 1000, "damage": 36 }, "10": { "cost": 1100, "damage": 38 } } }, "inGameCostConfig": { "baseCost": 15, "shapeCosts": { "I": 30, "H-I": 30, "L": 45, "S": 60, "D-T": 60 } } } ], "blockSizes": [ { "id": "I", "name": "I形", "shape": [ [ 1, 0, 0, 0 ], [ 1, 0, 0, 0 ], [ 0, 0, 0, 0 ], [ 0, 0, 0, 0 ] ], "gridCount": 2, "costMultiplier": 2, "description": "最简单的直线形状" }, { "id": "H-I", "name": "横I形", "shape": [ [ 0, 0, 0, 0 ], [ 1, 1, 0, 0 ], [ 0, 0, 0, 0 ], [ 0, 0, 0, 0 ] ], "gridCount": 2, "costMultiplier": 2, "description": "水平直线形状" }, { "id": "L", "name": "L形", "shape": [ [ 1, 1, 0, 0 ], [ 1, 0, 0, 0 ], [ 0, 0, 0, 0 ], [ 0, 0, 0, 0 ] ], "gridCount": 3, "costMultiplier": 3, "description": "L型转角形状" }, { "id": "S", "name": "S形", "shape": [ [ 0, 1, 1, 0 ], [ 1, 1, 0, 0 ], [ 0, 0, 0, 0 ], [ 0, 0, 0, 0 ] ], "gridCount": 4, "costMultiplier": 4, "description": "S型曲线形状" }, { "id": "D-T", "name": "T形", "shape": [ [ 0, 1, 0, 0 ], [ 1, 1, 1, 0 ], [ 0, 0, 0, 0 ], [ 0, 0, 0, 0 ] ], "gridCount": 4, "costMultiplier": 4, "description": "T型十字形状" } ], "enemies": [ { "id": "normal_zombie", "name": "普通僵尸", "type": "basic", "rarity": "common", "stats": { "health": 10, "maxHealth": 10, "attack": 20, "defense": 0, "speed": 50.0, "goldReward": 10 }, "movement": { "pattern": "direct", "speed": 50.0, "patrolRange": 100, "chaseRange": 200, "rotationSpeed": 180 }, "combat": { "attackDamage": 20, "attackRange": 100, "attackSpeed": 1.0, "canBlock": false, "blockChance": 0.0, "blockDamageReduction": 0.5, "attackCooldown": 1.0 }, "visualConfig": { "spritePath": "enemies/normal_zombie", "scale": 1.0, "animationSpeed": 1.0, "flipX": false, "tint": "#FFFFFF" }, "audioConfig": { "attackSound": "enemy_attack", "deathSound": "enemy_death", "hitSound": "enemy_hit", "volume": 1.0 } }, { "id": "roadblock_zombie", "name": "路障僵尸", "type": "armored", "rarity": "common", "stats": { "health": 18, "maxHealth": 18, "attack": 25, "defense": 5, "speed": 40.0, "goldReward": 10 }, "movement": { "pattern": "direct", "speed": 40.0, "patrolRange": 100, "chaseRange": 200, "rotationSpeed": 180 }, "combat": { "attackDamage": 25, "attackRange": 100, "attackSpeed": 0.8, "canBlock": false, "blockChance": 0.0, "blockDamageReduction": 0.5, "attackCooldown": 1.25 }, "visualConfig": { "spritePath": "enemies/roadblock_zombie", "scale": 1.0, "animationSpeed": 1.0, "flipX": false, "tint": "#FFFFFF" }, "audioConfig": { "attackSound": "enemy_attack", "deathSound": "enemy_death", "hitSound": "enemy_hit", "volume": 1.0 } }, { "id": "wandering_zombie", "name": "漫步僵尸", "type": "wanderer", "rarity": "uncommon", "stats": { "health": 12, "maxHealth": 12, "attack": 30, "defense": 2, "speed": 45.0, "goldReward": 10 }, "movement": { "pattern": "direct", "speed": 45.0, "patrolRange": 100, "chaseRange": 200, "rotationSpeed": 180 }, "combat": { "attackDamage": 30, "attackRange": 100, "attackSpeed": 1.2, "canBlock": false, "blockChance": 0.0, "blockDamageReduction": 0.5, "attackCooldown": 0.8333333333333334 }, "visualConfig": { "spritePath": "enemies/wandering_zombie", "scale": 1.0, "animationSpeed": 1.0, "flipX": false, "tint": "#FFFFFF" }, "audioConfig": { "attackSound": "enemy_attack", "deathSound": "enemy_death", "hitSound": "enemy_hit", "volume": 1.0 } }, { "id": "mage_zombie", "name": "法师僵尸", "type": "ranged_caster", "rarity": "uncommon", "stats": { "health": 8, "maxHealth": 8, "attack": 35, "defense": 0, "speed": 35.0, "goldReward": 10 }, "movement": { "pattern": "direct", "speed": 35.0, "patrolRange": 100, "chaseRange": 200, "rotationSpeed": 180 }, "combat": { "attackDamage": 35, "attackRange": 100, "attackSpeed": 0.6, "canBlock": false, "blockChance": 0.0, "blockDamageReduction": 0.5, "attackCooldown": 1.6666666666666667 }, "visualConfig": { "spritePath": "enemies/mage_zombie", "scale": 1.0, "animationSpeed": 1.0, "flipX": false, "tint": "#FFFFFF" }, "audioConfig": { "attackSound": "enemy_attack", "deathSound": "enemy_death", "hitSound": "enemy_hit", "volume": 1.0 } }, { "id": "archer_zombie", "name": "弓箭僵尸", "type": "ranged_archer", "rarity": "uncommon", "stats": { "health": 9, "maxHealth": 9, "attack": 40, "defense": 1, "speed": 40.0, "goldReward": 10 }, "movement": { "pattern": "direct", "speed": 40.0, "patrolRange": 100, "chaseRange": 200, "rotationSpeed": 180 }, "combat": { "attackDamage": 40, "attackRange": 100, "attackSpeed": 0.7, "canBlock": false, "blockChance": 0.0, "blockDamageReduction": 0.5, "attackCooldown": 1.4285714285714286 }, "visualConfig": { "spritePath": "enemies/archer_zombie", "scale": 1.0, "animationSpeed": 1.0, "flipX": false, "tint": "#FFFFFF" }, "audioConfig": { "attackSound": "enemy_attack", "deathSound": "enemy_death", "hitSound": "enemy_hit", "volume": 1.0 } }, { "id": "stealth_zombie", "name": "隐身僵尸", "type": "stealth", "rarity": "rare", "stats": { "health": 7, "maxHealth": 7, "attack": 45, "defense": 0, "speed": 60.0, "goldReward": 10 }, "movement": { "pattern": "direct", "speed": 60.0, "patrolRange": 100, "chaseRange": 200, "rotationSpeed": 180 }, "combat": { "attackDamage": 45, "attackRange": 100, "attackSpeed": 1.5, "canBlock": false, "blockChance": 0.0, "blockDamageReduction": 0.5, "attackCooldown": 0.6666666666666666 }, "visualConfig": { "spritePath": "enemies/stealth_zombie", "scale": 1.0, "animationSpeed": 1.0, "flipX": false, "tint": "#FFFFFF" }, "audioConfig": { "attackSound": "enemy_attack", "deathSound": "enemy_death", "hitSound": "enemy_hit", "volume": 1.0 } }, { "id": "bucket_zombie", "name": "铁桶僵尸", "type": "heavy_armor", "rarity": "uncommon", "stats": { "health": 30, "maxHealth": 30, "attack": 35, "defense": 10, "speed": 30.0, "goldReward": 10 }, "movement": { "pattern": "direct", "speed": 30.0, "patrolRange": 100, "chaseRange": 200, "rotationSpeed": 180 }, "combat": { "attackDamage": 35, "attackRange": 100, "attackSpeed": 0.6, "canBlock": false, "blockChance": 0.0, "blockDamageReduction": 0.5, "attackCooldown": 1.6666666666666667 }, "visualConfig": { "spritePath": "enemies/bucket_zombie", "scale": 1.0, "animationSpeed": 1.0, "flipX": false, "tint": "#FFFFFF" }, "audioConfig": { "attackSound": "enemy_attack", "deathSound": "enemy_death", "hitSound": "enemy_hit", "volume": 1.0 } }, { "id": "barrel_zombie", "name": "火药桶僵尸", "type": "explosive", "rarity": "rare", "stats": { "health": 6, "maxHealth": 6, "attack": 25, "defense": 0, "speed": 45.0, "goldReward": 10 }, "movement": { "pattern": "direct", "speed": 45.0, "patrolRange": 100, "chaseRange": 200, "rotationSpeed": 180 }, "combat": { "attackDamage": 25, "attackRange": 100, "attackSpeed": 1.0, "canBlock": false, "blockChance": 0.0, "blockDamageReduction": 0.5, "attackCooldown": 1.0 }, "visualConfig": { "spritePath": "enemies/barrel_zombie", "scale": 1.0, "animationSpeed": 1.0, "flipX": false, "tint": "#FFFFFF" }, "audioConfig": { "attackSound": "enemy_attack", "deathSound": "enemy_death", "hitSound": "enemy_hit", "volume": 1.0 } }, { "id": "boss1_gatekeeper", "name": "BOSS1", "type": "boss", "rarity": "boss", "stats": { "health": 80, "maxHealth": 80, "attack": 80, "defense": 15, "speed": 25.0, "goldReward": 10 }, "movement": { "pattern": "direct", "speed": 25.0, "patrolRange": 100, "chaseRange": 200, "rotationSpeed": 180 }, "combat": { "attackDamage": 80, "attackRange": 100, "attackSpeed": 0.4, "canBlock": false, "blockChance": 0.0, "blockDamageReduction": 0.5, "attackCooldown": 2.5 }, "visualConfig": { "spritePath": "enemies/boss1_gatekeeper", "scale": 1.0, "animationSpeed": 1.0, "flipX": false, "tint": "#FFFFFF" }, "audioConfig": { "attackSound": "enemy_attack", "deathSound": "enemy_death", "hitSound": "enemy_hit", "volume": 1.0 }, "bossConfig": { "isBoss": true, "phases": 1, "enrageThreshold": 0.3, "enrageDamageMultiplier": 1.5, "enrageSpeedMultiplier": 1.3 }, "specialAbilities": [ { "type": "charge_attack", "damage": 160, "range": 150, "cooldown": 8.0 }, { "type": "area_attack", "damage": 120.0, "radius": 100, "cooldown": 12.0 } ] }, { "id": "boss2_gravedigger", "name": "BOSS2", "type": "boss", "rarity": "boss", "stats": { "health": 100, "maxHealth": 100, "attack": 100, "defense": 20, "speed": 20.0, "goldReward": 10 }, "movement": { "pattern": "direct", "speed": 20.0, "patrolRange": 100, "chaseRange": 200, "rotationSpeed": 180 }, "combat": { "attackDamage": 100, "attackRange": 100, "attackSpeed": 0.3, "canBlock": false, "blockChance": 0.0, "blockDamageReduction": 0.5, "attackCooldown": 3.3333333333333335 }, "visualConfig": { "spritePath": "enemies/boss2_gravedigger", "scale": 1.0, "animationSpeed": 1.0, "flipX": false, "tint": "#FFFFFF" }, "audioConfig": { "attackSound": "enemy_attack", "deathSound": "enemy_death", "hitSound": "enemy_hit", "volume": 1.0 }, "bossConfig": { "isBoss": true, "phases": 1, "enrageThreshold": 0.3, "enrageDamageMultiplier": 1.5, "enrageSpeedMultiplier": 1.3 }, "specialAbilities": [ { "type": "charge_attack", "damage": 200, "range": 150, "cooldown": 8.0 }, { "type": "area_attack", "damage": 150.0, "radius": 100, "cooldown": 12.0 } ] }, { "id": "boss3_cyborg", "name": "BOSS3", "type": "boss", "rarity": "boss", "stats": { "health": 120, "maxHealth": 120, "attack": 120, "defense": 25, "speed": 35.0, "goldReward": 10 }, "movement": { "pattern": "direct", "speed": 35.0, "patrolRange": 100, "chaseRange": 200, "rotationSpeed": 180 }, "combat": { "attackDamage": 120, "attackRange": 100, "attackSpeed": 0.5, "canBlock": false, "blockChance": 0.0, "blockDamageReduction": 0.5, "attackCooldown": 2.0 }, "visualConfig": { "spritePath": "enemies/boss3_cyborg", "scale": 1.0, "animationSpeed": 1.0, "flipX": false, "tint": "#FFFFFF" }, "audioConfig": { "attackSound": "enemy_attack", "deathSound": "enemy_death", "hitSound": "enemy_hit", "volume": 1.0 }, "bossConfig": { "isBoss": true, "phases": 1, "enrageThreshold": 0.3, "enrageDamageMultiplier": 1.5, "enrageSpeedMultiplier": 1.3 }, "specialAbilities": [ { "type": "charge_attack", "damage": 240, "range": 150, "cooldown": 8.0 }, { "type": "area_attack", "damage": 180.0, "radius": 100, "cooldown": 12.0 } ] } ], "敌人配置表": [ { "id": "normal_zombie", "name": "普通僵尸", "type": "basic", "stats": { "health": 35, "maxHealth": 35, "defense": 0, "speed": 30.0 }, "movement": { "pattern": "direct", "speed": 30.0, "patrolRange": 100, "chaseRange": 200, "rotationSpeed": 180.0, "moveType": "straight", "swingAmplitude": 0.0, "swingFrequency": 0.0, "speedVariation": 0.1 }, "combat": { "attackDamage": 1, "attackRange": 1.0, "attackSpeed": 1.0, "canBlock": false, "blockChance": 0.0, "blockDamageReduction": 0.5, "attackCooldown": 1.0, "attackType": "melee", "attackDelay": 1.0, "weaponType": "none", "projectileType": "none", "projectileSpeed": 100.0 }, "visualConfig": { "spritePath": "Animation/EnemyAni/001", "scale": 1.0, "animationSpeed": 1.0, "flipX": false, "tint": "#FFFFFF", "animations": { "idle": "idle", "walk": "walk", "attack": "attack", "death": "dead" }, "weaponProp": "props/baseball_bat" }, "audioConfig": { "attackSound": "enemy_attack", "deathSound": "enemy_death", "hitSound": "enemy_hit", "walkSound": "audio/zombie_walk", "blockSound": "", "stealthSound": "", "armorBreakSound": "", "fuseSound": "", "volume": 1.0 } }, { "id": "roadblock_zombie", "name": "路障僵尸", "type": "armored", "stats": { "health": 50, "maxHealth": 50, "defense": 1, "speed": 25.0 }, "movement": { "pattern": "direct", "speed": 25.0, "patrolRange": 100, "chaseRange": 200, "rotationSpeed": 180.0, "moveType": "straight", "swingAmplitude": 0.0, "swingFrequency": 0.0, "speedVariation": 0.1 }, "combat": { "attackDamage": 1, "attackRange": 1.0, "attackSpeed": 1.0, "canBlock": false, "blockChance": 0.0, "blockDamageReduction": 0.5, "attackCooldown": 1.0, "attackType": "melee", "attackDelay": 1.0, "weaponType": "none", "projectileType": "none", "projectileSpeed": 100.0 }, "visualConfig": { "spritePath": "Animation/EnemyAni/002", "scale": 1.0, "animationSpeed": 1.0, "flipX": false, "tint": "#FFFFFF", "animations": { "idle": "idle", "walk": "walk", "attack": "attack", "death": "dead" }, "weaponProp": "props/magic_staff" }, "audioConfig": { "attackSound": "enemy_attack", "deathSound": "enemy_death", "hitSound": "enemy_hit", "walkSound": "audio/roadblock_walk", "blockSound": "", "stealthSound": "", "armorBreakSound": "", "fuseSound": "", "volume": 1.0 } }, { "id": "wandering_zombie", "name": "漫步僵尸", "type": "wanderer", "stats": { "health": 42, "maxHealth": 42, "defense": 0, "speed": 35.0 }, "movement": { "pattern": "direct", "speed": 35.0, "patrolRange": 100, "chaseRange": 200, "rotationSpeed": 180.0, "moveType": "sway", "swingAmplitude": 20.0, "swingFrequency": 2.0, "speedVariation": 0.2 }, "combat": { "attackDamage": 1, "attackRange": 1.0, "attackSpeed": 1.0, "canBlock": false, "blockChance": 0.0, "blockDamageReduction": 0.5, "attackCooldown": 1.0, "attackType": "melee_weapon", "attackDelay": 1.0, "weaponType": "baseball_bat", "projectileType": "none", "projectileSpeed": 100.0 }, "visualConfig": { "spritePath": "Animation/EnemyAni/003", "scale": 1.0, "animationSpeed": 1.0, "flipX": false, "tint": "#FFFFFF", "animations": { "idle": "idle", "walk": "walk", "attack": "attack", "death": "dead" }, "weaponProp": "props/bow" }, "audioConfig": { "attackSound": "enemy_attack", "deathSound": "enemy_death", "hitSound": "enemy_hit", "walkSound": "audio/wandering_walk", "blockSound": "", "stealthSound": "", "armorBreakSound": "", "fuseSound": "", "volume": 1.0 } }, { "id": "mage_zombie", "name": "法师僵尸", "type": "ranged_caster", "stats": { "health": 25, "maxHealth": 25, "defense": 0, "speed": 15.0 }, "movement": { "pattern": "direct", "speed": 15.0, "patrolRange": 100, "chaseRange": 200, "rotationSpeed": 180.0, "moveType": "straight", "swingAmplitude": 0.0, "swingFrequency": 0.0, "speedVariation": 0.1 }, "combat": { "attackDamage": 1, "attackRange": 1.0, "attackSpeed": 1.0, "canBlock": false, "blockChance": 0.0, "blockDamageReduction": 0.5, "attackCooldown": 1.0, "attackType": "magic_projectile", "attackDelay": 1.0, "weaponType": "none", "projectileType": "magic_bolt", "projectileSpeed": 150.0 }, "visualConfig": { "spritePath": "Animation/EnemyAni/004", "scale": 1.0, "animationSpeed": 1.0, "flipX": false, "tint": "#FFFFFF", "animations": { "idle": "idle", "walk": "walk", "attack": "attack", "death": "dead" }, "weaponProp": "" }, "audioConfig": { "attackSound": "enemy_attack", "deathSound": "enemy_death", "hitSound": "enemy_hit", "walkSound": "audio/mage_walk", "blockSound": "", "stealthSound": "", "armorBreakSound": "", "fuseSound": "", "volume": 1.0 } }, { "id": "archer_zombie", "name": "弓箭僵尸", "type": "ranged_archer", "stats": { "health": 25, "maxHealth": 25, "defense": 0, "speed": 15.0 }, "movement": { "pattern": "direct", "speed": 15.0, "patrolRange": 100, "chaseRange": 200, "rotationSpeed": 180.0, "moveType": "straight", "swingAmplitude": 0.0, "swingFrequency": 0.0, "speedVariation": 0.1 }, "combat": { "attackDamage": 1, "attackRange": 1.0, "attackSpeed": 1.0, "canBlock": false, "blockChance": 0.0, "blockDamageReduction": 0.5, "attackCooldown": 1.0, "attackType": "arrow_projectile", "attackDelay": 1.0, "weaponType": "none", "projectileType": "arrow", "projectileSpeed": 100.0 }, "visualConfig": { "spritePath": "Animation/EnemyAni/005", "scale": 1.0, "animationSpeed": 1.0, "flipX": false, "tint": "#FFFFFF", "animations": { "idle": "idle", "walk": "walk", "attack": "attack", "death": "dead" }, "weaponProp": "" }, "audioConfig": { "attackSound": "enemy_attack", "deathSound": "enemy_death", "hitSound": "enemy_hit", "walkSound": "audio/archer_walk", "blockSound": "", "stealthSound": "", "armorBreakSound": "", "fuseSound": "", "volume": 1.0 } }, { "id": "stealth_zombie", "name": "隐身僵尸", "type": "stealth", "stats": { "health": 42, "maxHealth": 42, "defense": 0, "speed": 35.0 }, "movement": { "pattern": "direct", "speed": 35.0, "patrolRange": 100, "chaseRange": 200, "rotationSpeed": 180.0, "moveType": "straight", "swingAmplitude": 0.0, "swingFrequency": 0.0, "speedVariation": 0.1 }, "combat": { "attackDamage": 1, "attackRange": 1.0, "attackSpeed": 1.0, "canBlock": false, "blockChance": 0.0, "blockDamageReduction": 0.5, "attackCooldown": 1.0, "attackType": "stealth_strike", "attackDelay": 1.0, "weaponType": "none", "projectileType": "none", "projectileSpeed": 100.0 }, "visualConfig": { "spritePath": "Animation/EnemyAni/006", "scale": 1.0, "animationSpeed": 1.0, "flipX": false, "tint": "#FFFFFF", "animations": { "idle": "idle", "walk": "walk", "attack": "attack", "death": "dead" }, "weaponProp": "" }, "audioConfig": { "attackSound": "enemy_attack", "deathSound": "enemy_death", "hitSound": "enemy_hit", "walkSound": "audio/stealth_walk", "blockSound": "", "stealthSound": "audio/stealth_activate", "armorBreakSound": "", "fuseSound": "", "volume": 1.0 } }, { "id": "bucket_zombie", "name": "铁桶僵尸", "type": "heavy_armor", "stats": { "health": 70, "maxHealth": 70, "defense": 2, "speed": 15.0 }, "movement": { "pattern": "direct", "speed": 15.0, "patrolRange": 100, "chaseRange": 200, "rotationSpeed": 180.0, "moveType": "straight", "swingAmplitude": 0.0, "swingFrequency": 0.0, "speedVariation": 0.1 }, "combat": { "attackDamage": 1, "attackRange": 1.0, "attackSpeed": 1.0, "canBlock": false, "blockChance": 0.0, "blockDamageReduction": 0.5, "attackCooldown": 1.0, "attackType": "heavy_melee", "attackDelay": 1.0, "weaponType": "none", "projectileType": "none", "projectileSpeed": 100.0 }, "visualConfig": { "spritePath": "Animation/EnemyAni/007", "scale": 1.0, "animationSpeed": 1.0, "flipX": false, "tint": "#FFFFFF", "animations": { "idle": "idle", "walk": "walk", "attack": "attack", "death": "dead" }, "weaponProp": "props/iron_gate" }, "audioConfig": { "attackSound": "enemy_attack", "deathSound": "enemy_death", "hitSound": "enemy_hit", "walkSound": "audio/bucket_walk", "blockSound": "", "stealthSound": "", "armorBreakSound": "audio/armor_break", "fuseSound": "", "volume": 1.0 } }, { "id": "barrel_zombie", "name": "火药桶僵尸", "type": "explosive", "stats": { "health": 35, "maxHealth": 35, "defense": 0, "speed": 30.0 }, "movement": { "pattern": "direct", "speed": 30.0, "patrolRange": 100, "chaseRange": 200, "rotationSpeed": 180.0, "moveType": "straight", "swingAmplitude": 0.0, "swingFrequency": 0.0, "speedVariation": 0.1 }, "combat": { "attackDamage": 1, "attackRange": 1.0, "attackSpeed": 1.0, "canBlock": false, "blockChance": 0.0, "blockDamageReduction": 0.5, "attackCooldown": 1.0, "attackType": "melee", "attackDelay": 1.0, "weaponType": "none", "projectileType": "none", "projectileSpeed": 100.0 }, "visualConfig": { "spritePath": "Animation/EnemyAni/008", "scale": 1.0, "animationSpeed": 1.0, "flipX": false, "tint": "#FFFFFF", "animations": { "idle": "idle", "walk": "walk", "attack": "attack", "death": "dead" }, "weaponProp": "props/tombstone" }, "audioConfig": { "attackSound": "enemy_attack", "deathSound": "enemy_death", "hitSound": "enemy_hit", "walkSound": "audio/barrel_walk", "blockSound": "", "stealthSound": "", "armorBreakSound": "", "fuseSound": "audio/barrel_fuse", "volume": 1.0 } }, { "id": "boss1_gatekeeper", "name": "BOSS1", "type": "boss", "stats": { "health": 500, "maxHealth": 500, "defense": 2, "speed": 10.0 }, "movement": { "pattern": "direct", "speed": 10.0, "patrolRange": 100, "chaseRange": 200, "rotationSpeed": 180.0, "moveType": "straight", "swingAmplitude": 0.0, "swingFrequency": 0.0, "speedVariation": 0.1 }, "combat": { "attackDamage": 1, "attackRange": 1.0, "attackSpeed": 1.0, "canBlock": false, "blockChance": 0.0, "blockDamageReduction": 0.5, "attackCooldown": 1.0, "attackType": "gate_slam", "attackDelay": 1.0, "weaponType": "none", "projectileType": "none", "projectileSpeed": 100.0 }, "visualConfig": { "spritePath": "Animation/EnemyAni/009", "scale": 1.0, "animationSpeed": 1.0, "flipX": false, "tint": "#FFFFFF", "animations": { "idle": "idle", "walk": "walk", "attack": "attack", "death": "dead" }, "weaponProp": "props/cyber_arm" }, "audioConfig": { "attackSound": "enemy_attack", "deathSound": "enemy_death", "hitSound": "enemy_hit", "walkSound": "audio/boss1_walk", "blockSound": "", "stealthSound": "", "armorBreakSound": "", "fuseSound": "", "volume": 1.0 }, "specialAbilities": [ { "type": "charge_attack", "damage": 1, "range": 150.0, "cooldown": 8.0 }, { "type": "area_attack", "damage": 2, "range": 100.0, "cooldown": 12.0 } ], "bossConfig": { "isBoss": true, "phases": 1, "enrageThreshold": 0.3, "enrageDamageMultiplier": 1.5, "enrageSpeedMultiplier": 1.3 } }, { "id": "boss2_gravedigger", "name": "BOSS2", "type": "boss", "stats": { "health": 500, "maxHealth": 500, "defense": 3, "speed": 10.0 }, "movement": { "pattern": "direct", "speed": 10.0, "patrolRange": 100, "chaseRange": 200, "rotationSpeed": 180.0, "moveType": "straight", "swingAmplitude": 0.0, "swingFrequency": 0.0, "speedVariation": 0.1 }, "combat": { "attackDamage": 1, "attackRange": 1.0, "attackSpeed": 1.0, "canBlock": false, "blockChance": 0.0, "blockDamageReduction": 0.5, "attackCooldown": 1.0, "attackType": "tombstone_smash", "attackDelay": 1.0, "weaponType": "none", "projectileType": "none", "projectileSpeed": 100.0 }, "visualConfig": { "spritePath": "Animation/EnemyAni/010", "scale": 1.0, "animationSpeed": 1.0, "flipX": false, "tint": "#FFFFFF", "animations": { "idle": "idle", "walk": "walk", "attack": "attack", "death": "dead" }, "weaponProp": "" }, "audioConfig": { "attackSound": "enemy_attack", "deathSound": "enemy_death", "hitSound": "enemy_hit", "walkSound": "audio/boss2_walk", "blockSound": "", "stealthSound": "", "armorBreakSound": "", "fuseSound": "", "volume": 1.0 }, "specialAbilities": [ { "type": "charge_attack", "damage": 1, "range": 150.0, "cooldown": 8.0 }, { "type": "area_attack", "damage": 2, "range": 100.0, "cooldown": 12.0 } ], "bossConfig": { "isBoss": true, "phases": 1, "enrageThreshold": 0.3, "enrageDamageMultiplier": 1.5, "enrageSpeedMultiplier": 1.3 } }, { "id": "boss3_cyborg", "name": "BOSS3", "type": "boss", "stats": { "health": 250, "maxHealth": 250, "defense": 1, "speed": 10.0 }, "movement": { "pattern": "direct", "speed": 10.0, "patrolRange": 100, "chaseRange": 200, "rotationSpeed": 180.0, "moveType": "straight", "swingAmplitude": 0.0, "swingFrequency": 0.0, "speedVariation": 0.1 }, "combat": { "attackDamage": 1, "attackRange": 1.0, "attackSpeed": 1.0, "canBlock": false, "blockChance": 0.0, "blockDamageReduction": 0.5, "attackCooldown": 1.0, "attackType": "cyber_arm_combo", "attackDelay": 1.0, "weaponType": "none", "projectileType": "none", "projectileSpeed": 100.0 }, "visualConfig": { "spritePath": "Animation/EnemyAni/011", "scale": 1.0, "animationSpeed": 1.0, "flipX": false, "tint": "#FFFFFF", "animations": { "idle": "idle", "walk": "walk", "attack": "attack", "death": "dead" }, "weaponProp": "" }, "audioConfig": { "attackSound": "enemy_attack", "deathSound": "enemy_death", "hitSound": "enemy_hit", "walkSound": "audio/boss3_walk", "blockSound": "", "stealthSound": "", "armorBreakSound": "", "fuseSound": "", "volume": 1.0 }, "specialAbilities": [ { "type": "charge_attack", "damage": 1, "range": 150.0, "cooldown": 8.0 }, { "type": "area_attack", "damage": 2, "range": 100.0, "cooldown": 12.0 } ], "bossConfig": { "isBoss": true, "phases": 1, "enrageThreshold": 0.3, "enrageDamageMultiplier": 1.5, "enrageSpeedMultiplier": 1.3 } } ] }