Просмотр исходного кода

Merge branch 'master' of http://175.178.199.62:3000/tanlongfei/tanqiu

181404010226 4 месяцев назад
Родитель
Сommit
bff064129c
51 измененных файлов с 4841 добавлено и 59 удалено
  1. 102 0
      assets/resources/data/backups/levels/Level1_20250828_185712.json
  2. 11 0
      assets/resources/data/backups/levels/Level1_20250828_185712.json.meta
  3. 149 0
      assets/resources/data/backups/levels/Level2_20250828_185712.json
  4. 11 0
      assets/resources/data/backups/levels/Level2_20250828_185712.json.meta
  5. 92 0
      assets/resources/data/backups/levels/Level3_20250828_185712.json
  6. 11 0
      assets/resources/data/backups/levels/Level3_20250828_185712.json.meta
  7. 96 0
      assets/resources/data/backups/levels/Level4_20250828_185712.json
  8. 11 0
      assets/resources/data/backups/levels/Level4_20250828_185712.json.meta
  9. 96 0
      assets/resources/data/backups/levels/Level5_20250828_185712.json
  10. 11 0
      assets/resources/data/backups/levels/Level5_20250828_185712.json.meta
  11. 96 0
      assets/resources/data/backups/levels/Level6_20250828_185712.json
  12. 11 0
      assets/resources/data/backups/levels/Level6_20250828_185712.json.meta
  13. 108 0
      assets/resources/data/backups/levels/Level7_20250828_185712.json
  14. 11 0
      assets/resources/data/backups/levels/Level7_20250828_185712.json.meta
  15. 129 0
      assets/resources/data/backups/levels/Level8_20250828_185712.json
  16. 11 0
      assets/resources/data/backups/levels/Level8_20250828_185712.json.meta
  17. 149 0
      assets/resources/data/backups/levels/Level9_20250828_185712.json
  18. 11 0
      assets/resources/data/backups/levels/Level9_20250828_185712.json.meta
  19. 34 34
      assets/resources/data/enemies.json
  20. 1066 0
      assets/resources/data/enemies_backup_20250828_185624.json
  21. 11 0
      assets/resources/data/enemies_backup_20250828_185624.json.meta
  22. 1066 0
      assets/resources/data/enemies_backup_20250828_191627.json
  23. 11 0
      assets/resources/data/enemies_backup_20250828_191627.json.meta
  24. BIN
      assets/resources/data/excel/__pycache__/ball_controller_config_manager.cpython-312.pyc
  25. 12 0
      assets/resources/data/excel/__pycache__/ball_controller_config_manager.cpython-312.pyc.meta
  26. BIN
      assets/resources/data/excel/__pycache__/enemy_config_manager.cpython-312.pyc
  27. 12 0
      assets/resources/data/excel/__pycache__/enemy_config_manager.cpython-312.pyc.meta
  28. BIN
      assets/resources/data/excel/__pycache__/game_skill_config_manager.cpython-312.pyc
  29. 12 0
      assets/resources/data/excel/__pycache__/game_skill_config_manager.cpython-312.pyc.meta
  30. BIN
      assets/resources/data/excel/__pycache__/level_config_manager.cpython-312.pyc
  31. 12 0
      assets/resources/data/excel/__pycache__/level_config_manager.cpython-312.pyc.meta
  32. BIN
      assets/resources/data/excel/__pycache__/skill_config_manager.cpython-312.pyc
  33. 12 0
      assets/resources/data/excel/__pycache__/skill_config_manager.cpython-312.pyc.meta
  34. BIN
      assets/resources/data/excel/__pycache__/weapon_config_manager.cpython-312.pyc
  35. 12 0
      assets/resources/data/excel/__pycache__/weapon_config_manager.cpython-312.pyc.meta
  36. BIN
      assets/resources/data/excel/关卡配置/关卡配置表.xlsx
  37. BIN
      assets/resources/data/excel/敌人配置表.xlsx
  38. BIN
      assets/resources/data/excel/方块武器配置/方块武器配置表.xlsx
  39. 60 13
      assets/resources/data/levels/Level1.json
  40. 2 2
      assets/resources/data/levels/Level2.json
  41. 1 1
      assets/resources/data/levels/Level3.json
  42. 1 1
      assets/resources/data/levels/Level4.json
  43. 1 1
      assets/resources/data/levels/Level5.json
  44. 1 1
      assets/resources/data/levels/Level6.json
  45. 1 1
      assets/resources/data/levels/Level7.json
  46. 1 1
      assets/resources/data/levels/Level8.json
  47. 1 1
      assets/resources/data/levels/Level9.json
  48. 1 1
      assets/resources/data/weapons.json
  49. 1382 0
      assets/resources/data/weapons_backup_20250828_191651.json
  50. 11 0
      assets/resources/data/weapons_backup_20250828_191651.json.meta
  51. 2 2
      settings/v2/packages/information.json

+ 102 - 0
assets/resources/data/backups/levels/Level1_20250828_185712.json

@@ -0,0 +1,102 @@
+{
+  "levelId": "Level1",
+  "name": "新手关卡(草地平原)",
+  "scene": "grassland",
+  "description": "新手引导关卡,学习基础塔防玩法",
+  "backgroundImage": "images/LevelBackground/BG1",
+  "availableWeapons": [
+    "毛豆射手",
+    "尖胡萝卜",
+    "锯齿草",
+    "西瓜炸弹"
+  ],
+  "coinReward": 300,
+  "diamondReward": 20,
+  "initialCoins": 45,
+  "timeLimit": 300,
+  "difficulty": "normal",
+  "healthMultiplier": 1.0,
+  "waves": [
+    {
+      "waveId": 1,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 10,
+          "spawnInterval": 2.0,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        }
+      ]
+    },
+    {
+      "waveId": 2,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 15,
+          "spawnInterval": 1.5,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        }
+      ]
+    },
+    {
+      "waveId": 3,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 20,
+          "spawnInterval": 1.0,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "roadblock_zombie",
+          "count": 5,
+          "spawnInterval": 3.0,
+          "spawnDelay": 5.0,
+          "characteristics": "高生命, 慢速移动"
+        }
+      ]
+    },
+    {
+      "waveId": 4,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 30,
+          "spawnInterval": 1.0,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "roadblock_zombie",
+          "count": 10,
+          "spawnInterval": 2.0,
+          "spawnDelay": 0.0,
+          "characteristics": "高生命, 慢速移动"
+        }
+      ]
+    },
+    {
+      "waveId": 5,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 30,
+          "spawnInterval": 1.0,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "roadblock_zombie",
+          "count": 30,
+          "spawnInterval": 1.0,
+          "spawnDelay": 0.0,
+          "characteristics": "高生命, 慢速移动"
+        }
+      ]
+    }
+  ]
+}

+ 11 - 0
assets/resources/data/backups/levels/Level1_20250828_185712.json.meta

@@ -0,0 +1,11 @@
+{
+  "ver": "2.0.1",
+  "importer": "json",
+  "imported": true,
+  "uuid": "b8f5d870-9b20-4324-b066-a5a4374b7a6e",
+  "files": [
+    ".json"
+  ],
+  "subMetas": {},
+  "userData": {}
+}

+ 149 - 0
assets/resources/data/backups/levels/Level2_20250828_185712.json

@@ -0,0 +1,149 @@
+{
+  "levelId": "Level2",
+  "name": "丛林冒险(森林场景)",
+  "scene": "forest",
+  "description": "森林场景的塔防挑战,引入新的敌人类型和武器组合",
+  "backgroundImage": "images/LevelBackground/BG2",
+  "availableWeapons": [
+    "毛豆射手",
+    "尖胡萝卜",
+    "锯齿草",
+    "西瓜炸弹"
+  ],
+  "coinReward": 500,
+  "diamondReward": 30,
+  "initialCoins": 60,
+  "timeLimit": 300,
+  "difficulty": "normal",
+  "healthMultiplier": 1.2,
+  "waves": [
+    {
+      "waveId": 1,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 10,
+          "spawnInterval": 2.0,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "roadblock_zombie",
+          "count": 5,
+          "spawnInterval": 2.0,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        }
+      ]
+    },
+    {
+      "waveId": 2,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 20,
+          "spawnInterval": 1.0,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "roadblock_zombie",
+          "count": 8,
+          "spawnInterval": 2.0,
+          "spawnDelay": 0.0,
+          "characteristics": "高生命, 慢速移动"
+        }
+      ]
+    },
+    {
+      "waveId": 3,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 30,
+          "spawnInterval": 1.0,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "roadblock_zombie",
+          "count": 20,
+          "spawnInterval": 1.5,
+          "spawnDelay": 0.0,
+          "characteristics": "高生命, 慢速移动"
+        }
+      ]
+    },
+    {
+      "waveId": 4,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 40,
+          "spawnInterval": 1.0,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "roadblock_zombie",
+          "count": 30,
+          "spawnInterval": 1.0,
+          "spawnDelay": 10.0,
+          "characteristics": "中速移动, 无技能"
+        }
+      ]
+    },
+    {
+      "waveId": 5,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 60,
+          "spawnInterval": 0.5,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "mage_zombie",
+          "count": 10,
+          "spawnInterval": 3.0,
+          "spawnDelay": 0.0,
+          "characteristics": "远程魔法攻击, 中等生命"
+        },
+        {
+          "enemyType": "roadblock_zombie",
+          "count": 40,
+          "spawnInterval": 0.8,
+          "spawnDelay": 0.0,
+          "characteristics": "高生命, 慢速移动"
+        }
+      ]
+    },
+    {
+      "waveId": 6,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 60,
+          "spawnInterval": 0.5,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "roadblock_zombie",
+          "count": 60,
+          "spawnInterval": 0.5,
+          "spawnDelay": 0.0,
+          "characteristics": "高生命, 慢速移动"
+        },
+        {
+          "enemyType": "boss1_gatekeeper",
+          "count": 1,
+          "spawnInterval": 1.0,
+          "spawnDelay": 20.0,
+          "characteristics": "超高生命, 多种攻击方式, 召唤小怪"
+        }
+      ]
+    }
+  ]
+}

+ 11 - 0
assets/resources/data/backups/levels/Level2_20250828_185712.json.meta

@@ -0,0 +1,11 @@
+{
+  "ver": "2.0.1",
+  "importer": "json",
+  "imported": true,
+  "uuid": "c43f99e5-44b9-4785-890a-9349b8c19ef6",
+  "files": [
+    ".json"
+  ],
+  "subMetas": {},
+  "userData": {}
+}

+ 92 - 0
assets/resources/data/backups/levels/Level3_20250828_185712.json

@@ -0,0 +1,92 @@
+{
+  "levelId": "Level3",
+  "name": "魔法废墟(魔幻场景)",
+  "scene": "magic_ruins",
+  "description": "魔幻场景的塔防挑战,引入远程攻击敌人和隐身机制",
+  "backgroundImage": "images/LevelBackground/BG3",
+  "availableWeapons": [
+    "毛豆射手",
+    "尖胡萝卜",
+    "锯齿草",
+    "西瓜炸弹"
+  ],
+  "coinReward": 800,
+  "diamondReward": 50,
+  "initialCoins": 70,
+  "timeLimit": 300,
+  "difficulty": "normal",
+  "healthMultiplier": 1.4,
+  "waves": [
+    {
+      "waveId": 1,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 12,
+          "spawnInterval": 2.5,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "mage_zombie",
+          "count": 3,
+          "spawnInterval": 8.0,
+          "spawnDelay": 15.0,
+          "characteristics": "远程魔法攻击, 中等生命"
+        }
+      ]
+    },
+    {
+      "waveId": 2,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 10,
+          "spawnInterval": 2.0,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "roadblock_zombie",
+          "count": 4,
+          "spawnInterval": 6.0,
+          "spawnDelay": 8.0,
+          "characteristics": "高生命, 慢速移动"
+        },
+        {
+          "enemyType": "mage_zombie",
+          "count": 4,
+          "spawnInterval": 7.0,
+          "spawnDelay": 20.0,
+          "characteristics": "远程魔法攻击, 中等生命"
+        }
+      ]
+    },
+    {
+      "waveId": 3,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 8,
+          "spawnInterval": 1.8,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "roadblock_zombie",
+          "count": 6,
+          "spawnInterval": 5.0,
+          "spawnDelay": 10.0,
+          "characteristics": "高生命, 慢速移动"
+        },
+        {
+          "enemyType": "mage_zombie",
+          "count": 5,
+          "spawnInterval": 6.0,
+          "spawnDelay": 25.0,
+          "characteristics": "远程魔法攻击, 中等生命"
+        }
+      ]
+    }
+  ]
+}

+ 11 - 0
assets/resources/data/backups/levels/Level3_20250828_185712.json.meta

@@ -0,0 +1,11 @@
+{
+  "ver": "2.0.1",
+  "importer": "json",
+  "imported": true,
+  "uuid": "3a8042f1-9de8-42d4-a8e1-1178ec266e30",
+  "files": [
+    ".json"
+  ],
+  "subMetas": {},
+  "userData": {}
+}

+ 96 - 0
assets/resources/data/backups/levels/Level4_20250828_185712.json

@@ -0,0 +1,96 @@
+{
+  "levelId": "Level4",
+  "name": "钢铁堡垒(工业场景)",
+  "scene": "industrial",
+  "description": "工业场景的高难度挑战,引入BOSS战和超高防御敌人",
+  "backgroundImage": "images/LevelBackground/BG1",
+  "availableWeapons": [
+    "毛豆射手",
+    "尖胡萝卜",
+    "锯齿草",
+    "西瓜炸弹",
+    "回旋镖盆栽",
+    "炙热辣椒",
+    "仙人散弹",
+    "秋葵导弹"
+  ],
+  "coinReward": 1000,
+  "diamondReward": 80,
+  "initialCoins": 80,
+  "timeLimit": 300,
+  "difficulty": "normal",
+  "healthMultiplier": 1.6,
+  "waves": [
+    {
+      "waveId": 1,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 15,
+          "spawnInterval": 2.0,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "bucket_zombie",
+          "count": 3,
+          "spawnInterval": 10.0,
+          "spawnDelay": 20.0,
+          "characteristics": "超高生命, 极慢速移动"
+        }
+      ]
+    },
+    {
+      "waveId": 2,
+      "enemies": [
+        {
+          "enemyType": "roadblock_zombie",
+          "count": 8,
+          "spawnInterval": 4.0,
+          "spawnDelay": 0.0,
+          "characteristics": "高生命, 慢速移动"
+        },
+        {
+          "enemyType": "mage_zombie",
+          "count": 5,
+          "spawnInterval": 6.0,
+          "spawnDelay": 15.0,
+          "characteristics": "远程魔法攻击, 中等生命"
+        },
+        {
+          "enemyType": "bucket_zombie",
+          "count": 4,
+          "spawnInterval": 8.0,
+          "spawnDelay": 25.0,
+          "characteristics": "超高生命, 极慢速移动"
+        }
+      ]
+    },
+    {
+      "waveId": 3,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 10,
+          "spawnInterval": 1.5,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "roadblock_zombie",
+          "count": 6,
+          "spawnInterval": 3.5,
+          "spawnDelay": 8.0,
+          "characteristics": "高生命, 慢速移动"
+        },
+        {
+          "enemyType": "bucket_zombie",
+          "count": 5,
+          "spawnInterval": 7.0,
+          "spawnDelay": 20.0,
+          "characteristics": "超高生命, 极慢速移动"
+        }
+      ]
+    }
+  ]
+}

+ 11 - 0
assets/resources/data/backups/levels/Level4_20250828_185712.json.meta

@@ -0,0 +1,11 @@
+{
+  "ver": "2.0.1",
+  "importer": "json",
+  "imported": true,
+  "uuid": "d3f4f434-d388-420f-bf53-240c6a2f95f6",
+  "files": [
+    ".json"
+  ],
+  "subMetas": {},
+  "userData": {}
+}

+ 96 - 0
assets/resources/data/backups/levels/Level5_20250828_185712.json

@@ -0,0 +1,96 @@
+{
+  "levelId": "Level5",
+  "name": "终极挑战(赛博都市)",
+  "scene": "cyberpunk",
+  "description": "终极挑战关卡,包含多个BOSS和复杂的敌人组合",
+  "backgroundImage": "images/LevelBackground/BG1",
+  "availableWeapons": [
+    "毛豆射手",
+    "尖胡萝卜",
+    "锯齿草",
+    "西瓜炸弹",
+    "回旋镖盆栽",
+    "炙热辣椒",
+    "仙人散弹",
+    "秋葵导弹"
+  ],
+  "coinReward": 1300,
+  "diamondReward": 100,
+  "initialCoins": 90,
+  "timeLimit": 300,
+  "difficulty": "normal",
+  "healthMultiplier": 1.8,
+  "waves": [
+    {
+      "waveId": 1,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 20,
+          "spawnInterval": 1.5,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "roadblock_zombie",
+          "count": 8,
+          "spawnInterval": 3.0,
+          "spawnDelay": 10.0,
+          "characteristics": "高生命, 慢速移动"
+        }
+      ]
+    },
+    {
+      "waveId": 2,
+      "enemies": [
+        {
+          "enemyType": "mage_zombie",
+          "count": 8,
+          "spawnInterval": 4.0,
+          "spawnDelay": 0.0,
+          "characteristics": "远程魔法攻击, 中等生命"
+        },
+        {
+          "enemyType": "bucket_zombie",
+          "count": 6,
+          "spawnInterval": 6.0,
+          "spawnDelay": 15.0,
+          "characteristics": "超高生命, 极慢速移动"
+        }
+      ]
+    },
+    {
+      "waveId": 3,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 15,
+          "spawnInterval": 1.2,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "roadblock_zombie",
+          "count": 10,
+          "spawnInterval": 2.5,
+          "spawnDelay": 8.0,
+          "characteristics": "高生命, 慢速移动"
+        },
+        {
+          "enemyType": "mage_zombie",
+          "count": 8,
+          "spawnInterval": 3.5,
+          "spawnDelay": 20.0,
+          "characteristics": "远程魔法攻击, 中等生命"
+        },
+        {
+          "enemyType": "bucket_zombie",
+          "count": 6,
+          "spawnInterval": 5.0,
+          "spawnDelay": 30.0,
+          "characteristics": "超高生命, 极慢速移动"
+        }
+      ]
+    }
+  ]
+}

+ 11 - 0
assets/resources/data/backups/levels/Level5_20250828_185712.json.meta

@@ -0,0 +1,11 @@
+{
+  "ver": "2.0.1",
+  "importer": "json",
+  "imported": true,
+  "uuid": "ec053fc7-2681-415c-a1e1-e04416073d97",
+  "files": [
+    ".json"
+  ],
+  "subMetas": {},
+  "userData": {}
+}

+ 96 - 0
assets/resources/data/backups/levels/Level6_20250828_185712.json

@@ -0,0 +1,96 @@
+{
+  "levelId": "Level6",
+  "name": "沙漠绿洲(沙漠场景)",
+  "scene": "desert",
+  "description": "沙漠场景的挑战,炎热环境下的生存战斗",
+  "backgroundImage": "images/LevelBackground/BG1",
+  "availableWeapons": [
+    "毛豆射手",
+    "尖胡萝卜",
+    "锯齿草",
+    "西瓜炸弹",
+    "回旋镖盆栽",
+    "炙热辣椒",
+    "仙人散弹",
+    "秋葵导弹"
+  ],
+  "coinReward": 1800,
+  "diamondReward": 120,
+  "initialCoins": 100,
+  "timeLimit": 300,
+  "difficulty": "normal",
+  "healthMultiplier": 2.0,
+  "waves": [
+    {
+      "waveId": 1,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 18,
+          "spawnInterval": 1.8,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "bucket_zombie",
+          "count": 4,
+          "spawnInterval": 6.0,
+          "spawnDelay": 12.0,
+          "characteristics": "超高生命, 极慢速移动"
+        }
+      ]
+    },
+    {
+      "waveId": 2,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 15,
+          "spawnInterval": 1.5,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "mage_zombie",
+          "count": 5,
+          "spawnInterval": 5.0,
+          "spawnDelay": 8.0,
+          "characteristics": "远程魔法子弹攻击防御塔"
+        },
+        {
+          "enemyType": "archer_zombie",
+          "count": 3,
+          "spawnInterval": 8.0,
+          "spawnDelay": 15.0,
+          "characteristics": "远程弓箭攻击"
+        }
+      ]
+    },
+    {
+      "waveId": 3,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 20,
+          "spawnInterval": 1.2,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "stealth_zombie",
+          "count": 4,
+          "spawnInterval": 10.0,
+          "spawnDelay": 20.0,
+          "characteristics": "隐身能力, 快速移动"
+        },
+        {
+          "enemyType": "bucket_zombie",
+          "count": 6,
+          "spawnInterval": 4.0,
+          "spawnDelay": 25.0,
+          "characteristics": "超高生命, 极慢速移动"
+        }
+      ]
+    }
+  ]
+}

+ 11 - 0
assets/resources/data/backups/levels/Level6_20250828_185712.json.meta

@@ -0,0 +1,11 @@
+{
+  "ver": "2.0.1",
+  "importer": "json",
+  "imported": true,
+  "uuid": "36133a97-e8e3-47b5-918c-3e876f70922f",
+  "files": [
+    ".json"
+  ],
+  "subMetas": {},
+  "userData": {}
+}

+ 108 - 0
assets/resources/data/backups/levels/Level7_20250828_185712.json

@@ -0,0 +1,108 @@
+{
+  "levelId": "Level7",
+  "name": "冰雪王国(冰雪场景)",
+  "scene": "ice",
+  "description": "冰雪场景的极地挑战,寒冷环境下的防御战",
+  "backgroundImage": "images/LevelBackground/BG1",
+  "availableWeapons": [
+    "毛豆射手",
+    "尖胡萝卜",
+    "锯齿草",
+    "西瓜炸弹",
+    "回旋镖盆栽",
+    "炙热辣椒",
+    "仙人散弹",
+    "秋葵导弹"
+  ],
+  "coinReward": 2200,
+  "diamondReward": 150,
+  "initialCoins": 110,
+  "timeLimit": 300,
+  "difficulty": "normal",
+  "healthMultiplier": 2.2,
+  "waves": [
+    {
+      "waveId": 1,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 22,
+          "spawnInterval": 1.6,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "roadblock_zombie",
+          "count": 8,
+          "spawnInterval": 4.0,
+          "spawnDelay": 10.0,
+          "characteristics": "高生命, 慢速移动"
+        }
+      ]
+    },
+    {
+      "waveId": 2,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 18,
+          "spawnInterval": 1.4,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "archer_zombie",
+          "count": 6,
+          "spawnInterval": 6.0,
+          "spawnDelay": 12.0,
+          "characteristics": "远程弓箭攻击"
+        },
+        {
+          "enemyType": "barrel_zombie",
+          "count": 3,
+          "spawnInterval": 12.0,
+          "spawnDelay": 20.0,
+          "characteristics": "爆炸伤害, 自爆攻击"
+        }
+      ]
+    },
+    {
+      "waveId": 3,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 25,
+          "spawnInterval": 1.0,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "bucket_zombie",
+          "count": 8,
+          "spawnInterval": 3.0,
+          "spawnDelay": 15.0,
+          "characteristics": "超高生命, 极慢速移动"
+        },
+        {
+          "enemyType": "stealth_zombie",
+          "count": 5,
+          "spawnInterval": 8.0,
+          "spawnDelay": 25.0,
+          "characteristics": "隐身能力, 快速移动"
+        }
+      ]
+    },
+    {
+      "waveId": 4,
+      "enemies": [
+        {
+          "enemyType": "boss1_gatekeeper",
+          "count": 1,
+          "spawnInterval": 0.0,
+          "spawnDelay": 30.0,
+          "characteristics": "超高生命, 多种攻击方式, 召唤小怪"
+        }
+      ]
+    }
+  ]
+}

+ 11 - 0
assets/resources/data/backups/levels/Level7_20250828_185712.json.meta

@@ -0,0 +1,11 @@
+{
+  "ver": "2.0.1",
+  "importer": "json",
+  "imported": true,
+  "uuid": "9ef55766-744c-4c6d-9013-e3e51d019e83",
+  "files": [
+    ".json"
+  ],
+  "subMetas": {},
+  "userData": {}
+}

+ 129 - 0
assets/resources/data/backups/levels/Level8_20250828_185712.json

@@ -0,0 +1,129 @@
+{
+  "levelId": "Level8",
+  "name": "火山熔岩(火山场景)",
+  "scene": "volcano",
+  "description": "火山场景的极限挑战,熔岩环境下的终极考验",
+  "backgroundImage": "images/LevelBackground/BG1",
+  "availableWeapons": [
+    "毛豆射手",
+    "尖胡萝卜",
+    "锯齿草",
+    "西瓜炸弹",
+    "回旋镖盆栽",
+    "炙热辣椒",
+    "仙人散弹",
+    "秋葵导弹"
+  ],
+  "coinReward": 2500,
+  "diamondReward": 170,
+  "initialCoins": 120,
+  "timeLimit": 300,
+  "difficulty": "normal",
+  "healthMultiplier": 2.4,
+  "waves": [
+    {
+      "waveId": 1,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 30,
+          "spawnInterval": 1.2,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "roadblock_zombie",
+          "count": 10,
+          "spawnInterval": 3.0,
+          "spawnDelay": 8.0,
+          "characteristics": "高生命, 慢速移动"
+        },
+        {
+          "enemyType": "wandering_zombie",
+          "count": 6,
+          "spawnInterval": 5.0,
+          "spawnDelay": 15.0,
+          "characteristics": "左右摇摆, 近战范围大"
+        }
+      ]
+    },
+    {
+      "waveId": 2,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 25,
+          "spawnInterval": 1.0,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "mage_zombie",
+          "count": 8,
+          "spawnInterval": 4.0,
+          "spawnDelay": 10.0,
+          "characteristics": "远程魔法子弹攻击防御塔"
+        },
+        {
+          "enemyType": "archer_zombie",
+          "count": 6,
+          "spawnInterval": 6.0,
+          "spawnDelay": 18.0,
+          "characteristics": "远程弓箭攻击"
+        },
+        {
+          "enemyType": "barrel_zombie",
+          "count": 4,
+          "spawnInterval": 10.0,
+          "spawnDelay": 25.0,
+          "characteristics": "爆炸伤害, 自爆攻击"
+        }
+      ]
+    },
+    {
+      "waveId": 3,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 20,
+          "spawnInterval": 0.8,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "bucket_zombie",
+          "count": 12,
+          "spawnInterval": 2.5,
+          "spawnDelay": 12.0,
+          "characteristics": "超高生命, 极慢速移动"
+        },
+        {
+          "enemyType": "stealth_zombie",
+          "count": 8,
+          "spawnInterval": 6.0,
+          "spawnDelay": 20.0,
+          "characteristics": "隐身能力, 快速移动"
+        }
+      ]
+    },
+    {
+      "waveId": 4,
+      "enemies": [
+        {
+          "enemyType": "boss2_gravedigger",
+          "count": 1,
+          "spawnInterval": 0.0,
+          "spawnDelay": 30.0,
+          "characteristics": "超高生命, 范围攻击, 召唤增援"
+        },
+        {
+          "enemyType": "bucket_zombie",
+          "count": 6,
+          "spawnInterval": 8.0,
+          "spawnDelay": 45.0,
+          "characteristics": "超高生命, 极慢速移动"
+        }
+      ]
+    }
+  ]
+}

+ 11 - 0
assets/resources/data/backups/levels/Level8_20250828_185712.json.meta

@@ -0,0 +1,11 @@
+{
+  "ver": "2.0.1",
+  "importer": "json",
+  "imported": true,
+  "uuid": "e0541f9b-8ae9-4dd1-8987-eff181c5db81",
+  "files": [
+    ".json"
+  ],
+  "subMetas": {},
+  "userData": {}
+}

+ 149 - 0
assets/resources/data/backups/levels/Level9_20250828_185712.json

@@ -0,0 +1,149 @@
+{
+  "levelId": "Level9",
+  "name": "终极试炼(终极场景)",
+  "scene": "ultimate",
+  "description": "终极试炼关卡,解锁最后的植物武器,面对最强挑战",
+  "backgroundImage": "images/LevelBackground/BG1",
+  "availableWeapons": [
+    "毛豆射手",
+    "尖胡萝卜",
+    "锯齿草",
+    "西瓜炸弹",
+    "回旋镖盆栽",
+    "炙热辣椒",
+    "仙人散弹",
+    "秋葵导弹",
+    "狼牙棒"
+  ],
+  "coinReward": 3000,
+  "diamondReward": 200,
+  "initialCoins": 130,
+  "timeLimit": 300,
+  "difficulty": "normal",
+  "healthMultiplier": 2.6,
+  "waves": [
+    {
+      "waveId": 1,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 40,
+          "spawnInterval": 0.8,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "roadblock_zombie",
+          "count": 15,
+          "spawnInterval": 2.5,
+          "spawnDelay": 5.0,
+          "characteristics": "高生命, 慢速移动"
+        },
+        {
+          "enemyType": "wandering_zombie",
+          "count": 10,
+          "spawnInterval": 4.0,
+          "spawnDelay": 12.0,
+          "characteristics": "左右摇摆, 近战范围大"
+        }
+      ]
+    },
+    {
+      "waveId": 2,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 35,
+          "spawnInterval": 0.6,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "mage_zombie",
+          "count": 12,
+          "spawnInterval": 3.0,
+          "spawnDelay": 8.0,
+          "characteristics": "远程魔法子弹攻击防御塔"
+        },
+        {
+          "enemyType": "archer_zombie",
+          "count": 10,
+          "spawnInterval": 4.0,
+          "spawnDelay": 15.0,
+          "characteristics": "远程弓箭攻击"
+        },
+        {
+          "enemyType": "barrel_zombie",
+          "count": 6,
+          "spawnInterval": 8.0,
+          "spawnDelay": 22.0,
+          "characteristics": "爆炸伤害, 自爆攻击"
+        }
+      ]
+    },
+    {
+      "waveId": 3,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 30,
+          "spawnInterval": 0.5,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "bucket_zombie",
+          "count": 15,
+          "spawnInterval": 2.0,
+          "spawnDelay": 10.0,
+          "characteristics": "超高生命, 极慢速移动"
+        },
+        {
+          "enemyType": "stealth_zombie",
+          "count": 12,
+          "spawnInterval": 4.0,
+          "spawnDelay": 18.0,
+          "characteristics": "隐身能力, 快速移动"
+        }
+      ]
+    },
+    {
+      "waveId": 4,
+      "enemies": [
+        {
+          "enemyType": "boss1_gatekeeper",
+          "count": 1,
+          "spawnInterval": 0.0,
+          "spawnDelay": 25.0,
+          "characteristics": "超高生命, 多种攻击方式, 召唤小怪"
+        },
+        {
+          "enemyType": "boss2_gravedigger",
+          "count": 1,
+          "spawnInterval": 0.0,
+          "spawnDelay": 60.0,
+          "characteristics": "超高生命, 范围攻击, 召唤增援"
+        },
+        {
+          "enemyType": "bucket_zombie",
+          "count": 10,
+          "spawnInterval": 6.0,
+          "spawnDelay": 40.0,
+          "characteristics": "超高生命, 极慢速移动"
+        }
+      ]
+    },
+    {
+      "waveId": 5,
+      "enemies": [
+        {
+          "enemyType": "终极BOSS",
+          "count": 1,
+          "spawnInterval": 0.0,
+          "spawnDelay": 30.0,
+          "characteristics": "极高生命, 全屏攻击, 无敌阶段, 召唤军团"
+        }
+      ]
+    }
+  ]
+}

+ 11 - 0
assets/resources/data/backups/levels/Level9_20250828_185712.json.meta

@@ -0,0 +1,11 @@
+{
+  "ver": "2.0.1",
+  "importer": "json",
+  "imported": true,
+  "uuid": "f0bf031d-2d33-4d6d-876e-1c982cc2e0e3",
+  "files": [
+    ".json"
+  ],
+  "subMetas": {},
+  "userData": {}
+}

+ 34 - 34
assets/resources/data/enemies.json

@@ -73,8 +73,8 @@
       "weapon_prop": "props/baseball_bat"
     },
     "audio": {
-      "attack_sound": "data/弹球音效/dao2",
-      "death_sound": "data/弹球音效/normal zombie die 1",
+      "attack_sound": "data/弹球音效/dao2.mp3",
+      "death_sound": "data/弹球音效/normal zombie die 1.mp3",
       "hit_sound": "Null",
       "walk_sound": "Null",
       "block_sound": "nan",
@@ -95,8 +95,8 @@
     "name": "路障僵尸",
     "type": "armored",
     "stats": {
-      "health": 50,
-      "maxHealth": 50,
+      "health": 60,
+      "maxHealth": 60,
       "defense": 1,
       "speed": 25.0
     },
@@ -164,8 +164,8 @@
       "weapon_prop": "props/magic_staff"
     },
     "audio": {
-      "attack_sound": "data/弹球音效/bow",
-      "death_sound": "data/弹球音效/normal zombie die 2",
+      "attack_sound": "data/弹球音效/bow.mp3",
+      "death_sound": "data/弹球音效/normal zombie die 2.mp3",
       "hit_sound": "Null",
       "walk_sound": "Null",
       "block_sound": "nan",
@@ -186,8 +186,8 @@
     "name": "漫步僵尸",
     "type": "wanderer",
     "stats": {
-      "health": 42,
-      "maxHealth": 42,
+      "health": 55,
+      "maxHealth": 55,
       "defense": 0,
       "speed": 35.0
     },
@@ -255,8 +255,8 @@
       "weapon_prop": "props/bow"
     },
     "audio": {
-      "attack_sound": "data/弹球音效/MagicianAttack",
-      "death_sound": "data/弹球音效/normal zombie die 3",
+      "attack_sound": "data/弹球音效/MagicianAttack.mp3",
+      "death_sound": "data/弹球音效/normal zombie die 3.mp3",
       "hit_sound": "Null",
       "walk_sound": "Null",
       "block_sound": "nan",
@@ -277,8 +277,8 @@
     "name": "法师僵尸",
     "type": "ranged_caster",
     "stats": {
-      "health": 25,
-      "maxHealth": 25,
+      "health": 32,
+      "maxHealth": 32,
       "defense": 0,
       "speed": 15.0
     },
@@ -346,8 +346,8 @@
       "weapon_prop": "nan"
     },
     "audio": {
-      "attack_sound": "data/弹球音效/zhanshiAtk",
-      "death_sound": "data/弹球音效/normal zombie die 4",
+      "attack_sound": "data/弹球音效/zhanshiAtk.mp3",
+      "death_sound": "data/弹球音效/normal zombie die 4.mp3",
       "hit_sound": "Null",
       "walk_sound": "Null",
       "block_sound": "nan",
@@ -368,8 +368,8 @@
     "name": "弓箭僵尸",
     "type": "ranged_archer",
     "stats": {
-      "health": 25,
-      "maxHealth": 25,
+      "health": 32,
+      "maxHealth": 32,
       "defense": 0,
       "speed": 15.0
     },
@@ -437,8 +437,8 @@
       "weapon_prop": "nan"
     },
     "audio": {
-      "attack_sound": "data/弹球音效/hammer1",
-      "death_sound": "data/弹球音效/normal zombie die 5",
+      "attack_sound": "data/弹球音效/hammer1.mp3",
+      "death_sound": "data/弹球音效/normal zombie die 5.mp3",
       "hit_sound": "Null",
       "walk_sound": "Null",
       "block_sound": "nan",
@@ -528,8 +528,8 @@
       "weapon_prop": "nan"
     },
     "audio": {
-      "attack_sound": "data/弹球音效/hammer1",
-      "death_sound": "data/弹球音效/normal zombie die 6",
+      "attack_sound": "data/弹球音效/hammer1.mp4",
+      "death_sound": "data/弹球音效/normal zombie die 6.mp3",
       "hit_sound": "Null",
       "walk_sound": "Null",
       "block_sound": "nan",
@@ -550,8 +550,8 @@
     "name": "铁桶僵尸",
     "type": "heavy_armor",
     "stats": {
-      "health": 70,
-      "maxHealth": 70,
+      "health": 80,
+      "maxHealth": 80,
       "defense": 2,
       "speed": 15.0
     },
@@ -619,8 +619,8 @@
       "weapon_prop": "props/iron_gate"
     },
     "audio": {
-      "attack_sound": "data/弹球音效/hammer1",
-      "death_sound": "data/弹球音效/normal zombie die 7",
+      "attack_sound": "data/弹球音效/hammer1.mp5",
+      "death_sound": "data/弹球音效/normal zombie die 7.mp3",
       "hit_sound": "Null",
       "walk_sound": "Null",
       "block_sound": "nan",
@@ -641,8 +641,8 @@
     "name": "火药桶僵尸",
     "type": "explosive",
     "stats": {
-      "health": 35,
-      "maxHealth": 35,
+      "health": 45,
+      "maxHealth": 45,
       "defense": 0,
       "speed": 30.0
     },
@@ -710,8 +710,8 @@
       "weapon_prop": "props/tombstone"
     },
     "audio": {
-      "attack_sound": "data/弹球音效/hammer1",
-      "death_sound": "data/弹球音效/boss die",
+      "attack_sound": "data/弹球音效/hammer1.mp6",
+      "death_sound": "data/弹球音效/boss die.mp3",
       "hit_sound": "Null",
       "walk_sound": "Null",
       "block_sound": "nan",
@@ -822,8 +822,8 @@
       "weapon_prop": "props/cyber_arm"
     },
     "audio": {
-      "attack_sound": "data/弹球音效/hammer1",
-      "death_sound": "data/弹球音效/boss die",
+      "attack_sound": "data/弹球音效/hammer1.mp7",
+      "death_sound": "data/弹球音效/boss die.mp3",
       "hit_sound": "Null",
       "walk_sound": "Null",
       "block_sound": "nan",
@@ -934,8 +934,8 @@
       "weapon_prop": "nan"
     },
     "audio": {
-      "attack_sound": "data/弹球音效/hammer1",
-      "death_sound": "data/弹球音效/boss die",
+      "attack_sound": "data/弹球音效/hammer1.mp8",
+      "death_sound": "data/弹球音效/boss die.mp4",
       "hit_sound": "Null",
       "walk_sound": "Null",
       "block_sound": "nan",
@@ -1046,8 +1046,8 @@
       "weapon_prop": "nan"
     },
     "audio": {
-      "attack_sound": "data/弹球音效/hammer1",
-      "death_sound": "data/弹球音效/boss die",
+      "attack_sound": "data/弹球音效/hammer1.mp9",
+      "death_sound": "data/弹球音效/boss die.mp5",
       "hit_sound": "Null",
       "walk_sound": "Null",
       "block_sound": "nan",

+ 1066 - 0
assets/resources/data/enemies_backup_20250828_185624.json

@@ -0,0 +1,1066 @@
+[
+  {
+    "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
+    },
+    "visual": {
+      "sprite_path": "Animation/EnemyAni/001",
+      "scale": 1.0,
+      "animation_speed": 1.0,
+      "flip_horizontal": false,
+      "animations": {
+        "idle": "idle",
+        "walk": "walk",
+        "attack": "attack",
+        "death": "dead"
+      },
+      "weapon_prop": "props/baseball_bat"
+    },
+    "audio": {
+      "attack_sound": "data/弹球音效/dao2",
+      "death_sound": "data/弹球音效/normal zombie die 1",
+      "hit_sound": "Null",
+      "walk_sound": "Null",
+      "block_sound": "nan",
+      "stealth_sound": "nan",
+      "armor_break_sound": "nan",
+      "fuse_sound": "nan"
+    },
+    "boss": {
+      "is_boss": false,
+      "phases": 1,
+      "rage_threshold": 0.3,
+      "rage_damage_multiplier": 1.0,
+      "rage_speed_multiplier": 1.0
+    }
+  },
+  {
+    "id": "roadblock_zombie",
+    "name": "路障僵尸",
+    "type": "armored",
+    "stats": {
+      "health": 50,
+      "maxHealth": 50,
+      "defense": 1,
+      "speed": 25.0
+    },
+    "movement": {
+      "pattern": "direct",
+      "speed": 40.0,
+      "patrolRange": 100,
+      "chaseRange": 200,
+      "rotationSpeed": 180.0,
+      "moveType": "straight",
+      "swingAmplitude": 0.0,
+      "swingFrequency": 0.0,
+      "speedVariation": 0.1
+    },
+    "combat": {
+      "attackDamage": 1,
+      "attackRange": 30.0,
+      "attackSpeed": 0.3,
+      "canBlock": false,
+      "blockChance": 0.0,
+      "blockDamageReduction": 0.5,
+      "attackCooldown": 3.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
+    },
+    "visual": {
+      "sprite_path": "Animation/EnemyAni/002",
+      "scale": 1.0,
+      "animation_speed": 1.0,
+      "flip_horizontal": false,
+      "animations": {
+        "idle": "idle",
+        "walk": "walk",
+        "attack": "attack",
+        "death": "dead"
+      },
+      "weapon_prop": "props/magic_staff"
+    },
+    "audio": {
+      "attack_sound": "data/弹球音效/bow",
+      "death_sound": "data/弹球音效/normal zombie die 2",
+      "hit_sound": "Null",
+      "walk_sound": "Null",
+      "block_sound": "nan",
+      "stealth_sound": "nan",
+      "armor_break_sound": "nan",
+      "fuse_sound": "nan"
+    },
+    "boss": {
+      "is_boss": false,
+      "phases": 1,
+      "rage_threshold": 0.3,
+      "rage_damage_multiplier": 1.0,
+      "rage_speed_multiplier": 1.0
+    }
+  },
+  {
+    "id": "wandering_zombie",
+    "name": "漫步僵尸",
+    "type": "wanderer",
+    "stats": {
+      "health": 42,
+      "maxHealth": 42,
+      "defense": 0,
+      "speed": 35.0
+    },
+    "movement": {
+      "pattern": "direct",
+      "speed": 45.0,
+      "patrolRange": 100,
+      "chaseRange": 200,
+      "rotationSpeed": 180.0,
+      "moveType": "sway",
+      "swingAmplitude": 20.0,
+      "swingFrequency": 2.0,
+      "speedVariation": 0.2
+    },
+    "combat": {
+      "attackDamage": 1,
+      "attackRange": 30.0,
+      "attackSpeed": 0.4,
+      "canBlock": false,
+      "blockChance": 0.0,
+      "blockDamageReduction": 0.5,
+      "attackCooldown": 3.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
+    },
+    "visual": {
+      "sprite_path": "Animation/EnemyAni/003",
+      "scale": 1.0,
+      "animation_speed": 1.0,
+      "flip_horizontal": false,
+      "animations": {
+        "idle": "idle",
+        "walk": "walk",
+        "attack": "attack",
+        "death": "dead"
+      },
+      "weapon_prop": "props/bow"
+    },
+    "audio": {
+      "attack_sound": "data/弹球音效/MagicianAttack",
+      "death_sound": "data/弹球音效/normal zombie die 3",
+      "hit_sound": "Null",
+      "walk_sound": "Null",
+      "block_sound": "nan",
+      "stealth_sound": "nan",
+      "armor_break_sound": "nan",
+      "fuse_sound": "nan"
+    },
+    "boss": {
+      "is_boss": false,
+      "phases": 1,
+      "rage_threshold": 0.3,
+      "rage_damage_multiplier": 1.0,
+      "rage_speed_multiplier": 1.0
+    }
+  },
+  {
+    "id": "mage_zombie",
+    "name": "法师僵尸",
+    "type": "ranged_caster",
+    "stats": {
+      "health": 25,
+      "maxHealth": 25,
+      "defense": 0,
+      "speed": 15.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": 200.0,
+      "attackSpeed": 0.2,
+      "canBlock": false,
+      "blockChance": 0.0,
+      "blockDamageReduction": 0.5,
+      "attackCooldown": 4.0,
+      "attackType": "magic_projectile",
+      "attackDelay": 1.0,
+      "weaponType": "none",
+      "projectileType": "magic_bolt",
+      "projectileSpeed": 50.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
+    },
+    "visual": {
+      "sprite_path": "Animation/EnemyAni/004",
+      "scale": 1.0,
+      "animation_speed": 1.0,
+      "flip_horizontal": false,
+      "animations": {
+        "idle": "idle",
+        "walk": "walk",
+        "attack": "attack",
+        "death": "dead"
+      },
+      "weapon_prop": "nan"
+    },
+    "audio": {
+      "attack_sound": "data/弹球音效/zhanshiAtk",
+      "death_sound": "data/弹球音效/normal zombie die 4",
+      "hit_sound": "Null",
+      "walk_sound": "Null",
+      "block_sound": "nan",
+      "stealth_sound": "nan",
+      "armor_break_sound": "nan",
+      "fuse_sound": "nan"
+    },
+    "boss": {
+      "is_boss": false,
+      "phases": 1,
+      "rage_threshold": 0.3,
+      "rage_damage_multiplier": 1.0,
+      "rage_speed_multiplier": 1.0
+    }
+  },
+  {
+    "id": "archer_zombie",
+    "name": "弓箭僵尸",
+    "type": "ranged_archer",
+    "stats": {
+      "health": 25,
+      "maxHealth": 25,
+      "defense": 0,
+      "speed": 15.0
+    },
+    "movement": {
+      "pattern": "direct",
+      "speed": 40.0,
+      "patrolRange": 100,
+      "chaseRange": 200,
+      "rotationSpeed": 180.0,
+      "moveType": "straight",
+      "swingAmplitude": 0.0,
+      "swingFrequency": 0.0,
+      "speedVariation": 0.1
+    },
+    "combat": {
+      "attackDamage": 1,
+      "attackRange": 250.0,
+      "attackSpeed": 0.2,
+      "canBlock": false,
+      "blockChance": 0.0,
+      "blockDamageReduction": 0.5,
+      "attackCooldown": 4.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
+    },
+    "visual": {
+      "sprite_path": "Animation/EnemyAni/005",
+      "scale": 1.0,
+      "animation_speed": 1.0,
+      "flip_horizontal": false,
+      "animations": {
+        "idle": "idle",
+        "walk": "walk",
+        "attack": "attack",
+        "death": "dead"
+      },
+      "weapon_prop": "nan"
+    },
+    "audio": {
+      "attack_sound": "data/弹球音效/hammer1",
+      "death_sound": "data/弹球音效/normal zombie die 5",
+      "hit_sound": "Null",
+      "walk_sound": "Null",
+      "block_sound": "nan",
+      "stealth_sound": "nan",
+      "armor_break_sound": "nan",
+      "fuse_sound": "nan"
+    },
+    "boss": {
+      "is_boss": false,
+      "phases": 1,
+      "rage_threshold": 0.3,
+      "rage_damage_multiplier": 1.0,
+      "rage_speed_multiplier": 1.0
+    }
+  },
+  {
+    "id": "stealth_zombie",
+    "name": "隐身僵尸",
+    "type": "stealth",
+    "stats": {
+      "health": 42,
+      "maxHealth": 42,
+      "defense": 0,
+      "speed": 35.0
+    },
+    "movement": {
+      "pattern": "direct",
+      "speed": 60.0,
+      "patrolRange": 100,
+      "chaseRange": 200,
+      "rotationSpeed": 180.0,
+      "moveType": "straight",
+      "swingAmplitude": 0.0,
+      "swingFrequency": 0.0,
+      "speedVariation": 0.1
+    },
+    "combat": {
+      "attackDamage": 1,
+      "attackRange": 30.0,
+      "attackSpeed": 0.4,
+      "canBlock": false,
+      "blockChance": 0.0,
+      "blockDamageReduction": 0.5,
+      "attackCooldown": 3.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
+    },
+    "visual": {
+      "sprite_path": "Animation/EnemyAni/006",
+      "scale": 1.0,
+      "animation_speed": 1.0,
+      "flip_horizontal": false,
+      "animations": {
+        "idle": "idle",
+        "walk": "walk",
+        "attack": "attack",
+        "death": "dead"
+      },
+      "weapon_prop": "nan"
+    },
+    "audio": {
+      "attack_sound": "data/弹球音效/hammer1",
+      "death_sound": "data/弹球音效/normal zombie die 6",
+      "hit_sound": "Null",
+      "walk_sound": "Null",
+      "block_sound": "nan",
+      "stealth_sound": "Null",
+      "armor_break_sound": "nan",
+      "fuse_sound": "nan"
+    },
+    "boss": {
+      "is_boss": false,
+      "phases": 1,
+      "rage_threshold": 0.3,
+      "rage_damage_multiplier": 1.0,
+      "rage_speed_multiplier": 1.0
+    }
+  },
+  {
+    "id": "bucket_zombie",
+    "name": "铁桶僵尸",
+    "type": "heavy_armor",
+    "stats": {
+      "health": 70,
+      "maxHealth": 70,
+      "defense": 2,
+      "speed": 15.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": 30.0,
+      "attackSpeed": 0.3,
+      "canBlock": false,
+      "blockChance": 0.0,
+      "blockDamageReduction": 0.5,
+      "attackCooldown": 4.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
+    },
+    "visual": {
+      "sprite_path": "Animation/EnemyAni/007",
+      "scale": 1.0,
+      "animation_speed": 1.0,
+      "flip_horizontal": false,
+      "animations": {
+        "idle": "idle",
+        "walk": "walk",
+        "attack": "attack",
+        "death": "dead"
+      },
+      "weapon_prop": "props/iron_gate"
+    },
+    "audio": {
+      "attack_sound": "data/弹球音效/hammer1",
+      "death_sound": "data/弹球音效/normal zombie die 7",
+      "hit_sound": "Null",
+      "walk_sound": "Null",
+      "block_sound": "nan",
+      "stealth_sound": "nan",
+      "armor_break_sound": "Null",
+      "fuse_sound": "nan"
+    },
+    "boss": {
+      "is_boss": false,
+      "phases": 1,
+      "rage_threshold": 0.3,
+      "rage_damage_multiplier": 1.0,
+      "rage_speed_multiplier": 1.0
+    }
+  },
+  {
+    "id": "barrel_zombie",
+    "name": "火药桶僵尸",
+    "type": "explosive",
+    "stats": {
+      "health": 35,
+      "maxHealth": 35,
+      "defense": 0,
+      "speed": 30.0
+    },
+    "movement": {
+      "pattern": "direct",
+      "speed": 45.0,
+      "patrolRange": 100,
+      "chaseRange": 200,
+      "rotationSpeed": 180.0,
+      "moveType": "straight",
+      "swingAmplitude": 0.0,
+      "swingFrequency": 0.0,
+      "speedVariation": 0.1
+    },
+    "combat": {
+      "attackDamage": 1,
+      "attackRange": 30.0,
+      "attackSpeed": 0.3,
+      "canBlock": false,
+      "blockChance": 0.0,
+      "blockDamageReduction": 0.5,
+      "attackCooldown": 3.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
+    },
+    "visual": {
+      "sprite_path": "Animation/EnemyAni/008",
+      "scale": 1.0,
+      "animation_speed": 1.0,
+      "flip_horizontal": false,
+      "animations": {
+        "idle": "idle",
+        "walk": "walk",
+        "attack": "attack",
+        "death": "dead"
+      },
+      "weapon_prop": "props/tombstone"
+    },
+    "audio": {
+      "attack_sound": "data/弹球音效/hammer1",
+      "death_sound": "data/弹球音效/boss die",
+      "hit_sound": "Null",
+      "walk_sound": "Null",
+      "block_sound": "nan",
+      "stealth_sound": "nan",
+      "armor_break_sound": "nan",
+      "fuse_sound": "Null"
+    },
+    "boss": {
+      "is_boss": false,
+      "phases": 1,
+      "rage_threshold": 0.3,
+      "rage_damage_multiplier": 1.0,
+      "rage_speed_multiplier": 1.0
+    }
+  },
+  {
+    "id": "boss1_gatekeeper",
+    "name": "BOSS1",
+    "type": "boss",
+    "stats": {
+      "health": 500,
+      "maxHealth": 500,
+      "defense": 2,
+      "speed": 10.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": 30.0,
+      "attackSpeed": 0.2,
+      "canBlock": false,
+      "blockChance": 0.0,
+      "blockDamageReduction": 0.5,
+      "attackCooldown": 4.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
+    },
+    "visual": {
+      "sprite_path": "Animation/EnemyAni/009",
+      "scale": 1.0,
+      "animation_speed": 1.0,
+      "flip_horizontal": false,
+      "animations": {
+        "idle": "idle",
+        "walk": "walk",
+        "attack": "attack",
+        "death": "dead"
+      },
+      "weapon_prop": "props/cyber_arm"
+    },
+    "audio": {
+      "attack_sound": "data/弹球音效/hammer1",
+      "death_sound": "data/弹球音效/boss die",
+      "hit_sound": "Null",
+      "walk_sound": "Null",
+      "block_sound": "nan",
+      "stealth_sound": "nan",
+      "armor_break_sound": "nan",
+      "fuse_sound": "nan"
+    },
+    "boss": {
+      "is_boss": true,
+      "phases": 1,
+      "rage_threshold": 0.3,
+      "rage_damage_multiplier": 1.5,
+      "rage_speed_multiplier": 1.3
+    }
+  },
+  {
+    "id": "boss2_gravedigger",
+    "name": "BOSS2",
+    "type": "boss",
+    "stats": {
+      "health": 500,
+      "maxHealth": 500,
+      "defense": 3,
+      "speed": 10.0
+    },
+    "movement": {
+      "pattern": "direct",
+      "speed": 20.0,
+      "patrolRange": 100,
+      "chaseRange": 200,
+      "rotationSpeed": 180.0,
+      "moveType": "straight",
+      "swingAmplitude": 0.0,
+      "swingFrequency": 0.0,
+      "speedVariation": 0.1
+    },
+    "combat": {
+      "attackDamage": 1,
+      "attackRange": 30.0,
+      "attackSpeed": 0.2,
+      "canBlock": false,
+      "blockChance": 0.0,
+      "blockDamageReduction": 0.5,
+      "attackCooldown": 5.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
+    },
+    "visual": {
+      "sprite_path": "Animation/EnemyAni/010",
+      "scale": 1.0,
+      "animation_speed": 1.0,
+      "flip_horizontal": false,
+      "animations": {
+        "idle": "idle",
+        "walk": "walk",
+        "attack": "attack",
+        "death": "dead"
+      },
+      "weapon_prop": "nan"
+    },
+    "audio": {
+      "attack_sound": "data/弹球音效/hammer1",
+      "death_sound": "data/弹球音效/boss die",
+      "hit_sound": "Null",
+      "walk_sound": "Null",
+      "block_sound": "nan",
+      "stealth_sound": "nan",
+      "armor_break_sound": "nan",
+      "fuse_sound": "nan"
+    },
+    "boss": {
+      "is_boss": true,
+      "phases": 1,
+      "rage_threshold": 0.3,
+      "rage_damage_multiplier": 1.5,
+      "rage_speed_multiplier": 1.3
+    }
+  },
+  {
+    "id": "boss3_cyborg",
+    "name": "BOSS3",
+    "type": "boss",
+    "stats": {
+      "health": 250,
+      "maxHealth": 250,
+      "defense": 1,
+      "speed": 10.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": 80.0,
+      "attackSpeed": 0.2,
+      "canBlock": false,
+      "blockChance": 0.0,
+      "blockDamageReduction": 0.5,
+      "attackCooldown": 4.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
+    },
+    "visual": {
+      "sprite_path": "Animation/EnemyAni/011",
+      "scale": 1.0,
+      "animation_speed": 1.0,
+      "flip_horizontal": false,
+      "animations": {
+        "idle": "idle",
+        "walk": "walk",
+        "attack": "attack",
+        "death": "dead"
+      },
+      "weapon_prop": "nan"
+    },
+    "audio": {
+      "attack_sound": "data/弹球音效/hammer1",
+      "death_sound": "data/弹球音效/boss die",
+      "hit_sound": "Null",
+      "walk_sound": "Null",
+      "block_sound": "nan",
+      "stealth_sound": "nan",
+      "armor_break_sound": "nan",
+      "fuse_sound": "nan"
+    },
+    "boss": {
+      "is_boss": true,
+      "phases": 1,
+      "rage_threshold": 0.3,
+      "rage_damage_multiplier": 1.5,
+      "rage_speed_multiplier": 1.3
+    }
+  }
+]

+ 11 - 0
assets/resources/data/enemies_backup_20250828_185624.json.meta

@@ -0,0 +1,11 @@
+{
+  "ver": "2.0.1",
+  "importer": "json",
+  "imported": true,
+  "uuid": "9967b386-08a1-4c82-bf48-8e7d945654b9",
+  "files": [
+    ".json"
+  ],
+  "subMetas": {},
+  "userData": {}
+}

+ 1066 - 0
assets/resources/data/enemies_backup_20250828_191627.json

@@ -0,0 +1,1066 @@
+[
+  {
+    "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
+    },
+    "visual": {
+      "sprite_path": "Animation/EnemyAni/001",
+      "scale": 1.0,
+      "animation_speed": 1.0,
+      "flip_horizontal": false,
+      "animations": {
+        "idle": "idle",
+        "walk": "walk",
+        "attack": "attack",
+        "death": "dead"
+      },
+      "weapon_prop": "props/baseball_bat"
+    },
+    "audio": {
+      "attack_sound": "data/弹球音效/dao2.mp3",
+      "death_sound": "data/弹球音效/normal zombie die 1.mp3",
+      "hit_sound": "Null",
+      "walk_sound": "Null",
+      "block_sound": "nan",
+      "stealth_sound": "nan",
+      "armor_break_sound": "nan",
+      "fuse_sound": "nan"
+    },
+    "boss": {
+      "is_boss": false,
+      "phases": 1,
+      "rage_threshold": 0.3,
+      "rage_damage_multiplier": 1.0,
+      "rage_speed_multiplier": 1.0
+    }
+  },
+  {
+    "id": "roadblock_zombie",
+    "name": "路障僵尸",
+    "type": "armored",
+    "stats": {
+      "health": 50,
+      "maxHealth": 50,
+      "defense": 1,
+      "speed": 25.0
+    },
+    "movement": {
+      "pattern": "direct",
+      "speed": 40.0,
+      "patrolRange": 100,
+      "chaseRange": 200,
+      "rotationSpeed": 180.0,
+      "moveType": "straight",
+      "swingAmplitude": 0.0,
+      "swingFrequency": 0.0,
+      "speedVariation": 0.1
+    },
+    "combat": {
+      "attackDamage": 1,
+      "attackRange": 30.0,
+      "attackSpeed": 0.3,
+      "canBlock": false,
+      "blockChance": 0.0,
+      "blockDamageReduction": 0.5,
+      "attackCooldown": 3.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
+    },
+    "visual": {
+      "sprite_path": "Animation/EnemyAni/002",
+      "scale": 1.0,
+      "animation_speed": 1.0,
+      "flip_horizontal": false,
+      "animations": {
+        "idle": "idle",
+        "walk": "walk",
+        "attack": "attack",
+        "death": "dead"
+      },
+      "weapon_prop": "props/magic_staff"
+    },
+    "audio": {
+      "attack_sound": "data/弹球音效/bow.mp3",
+      "death_sound": "data/弹球音效/normal zombie die 2.mp3",
+      "hit_sound": "Null",
+      "walk_sound": "Null",
+      "block_sound": "nan",
+      "stealth_sound": "nan",
+      "armor_break_sound": "nan",
+      "fuse_sound": "nan"
+    },
+    "boss": {
+      "is_boss": false,
+      "phases": 1,
+      "rage_threshold": 0.3,
+      "rage_damage_multiplier": 1.0,
+      "rage_speed_multiplier": 1.0
+    }
+  },
+  {
+    "id": "wandering_zombie",
+    "name": "漫步僵尸",
+    "type": "wanderer",
+    "stats": {
+      "health": 42,
+      "maxHealth": 42,
+      "defense": 0,
+      "speed": 35.0
+    },
+    "movement": {
+      "pattern": "direct",
+      "speed": 45.0,
+      "patrolRange": 100,
+      "chaseRange": 200,
+      "rotationSpeed": 180.0,
+      "moveType": "sway",
+      "swingAmplitude": 20.0,
+      "swingFrequency": 2.0,
+      "speedVariation": 0.2
+    },
+    "combat": {
+      "attackDamage": 1,
+      "attackRange": 30.0,
+      "attackSpeed": 0.4,
+      "canBlock": false,
+      "blockChance": 0.0,
+      "blockDamageReduction": 0.5,
+      "attackCooldown": 3.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
+    },
+    "visual": {
+      "sprite_path": "Animation/EnemyAni/003",
+      "scale": 1.0,
+      "animation_speed": 1.0,
+      "flip_horizontal": false,
+      "animations": {
+        "idle": "idle",
+        "walk": "walk",
+        "attack": "attack",
+        "death": "dead"
+      },
+      "weapon_prop": "props/bow"
+    },
+    "audio": {
+      "attack_sound": "data/弹球音效/MagicianAttack.mp3",
+      "death_sound": "data/弹球音效/normal zombie die 3.mp3",
+      "hit_sound": "Null",
+      "walk_sound": "Null",
+      "block_sound": "nan",
+      "stealth_sound": "nan",
+      "armor_break_sound": "nan",
+      "fuse_sound": "nan"
+    },
+    "boss": {
+      "is_boss": false,
+      "phases": 1,
+      "rage_threshold": 0.3,
+      "rage_damage_multiplier": 1.0,
+      "rage_speed_multiplier": 1.0
+    }
+  },
+  {
+    "id": "mage_zombie",
+    "name": "法师僵尸",
+    "type": "ranged_caster",
+    "stats": {
+      "health": 25,
+      "maxHealth": 25,
+      "defense": 0,
+      "speed": 15.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": 200.0,
+      "attackSpeed": 0.2,
+      "canBlock": false,
+      "blockChance": 0.0,
+      "blockDamageReduction": 0.5,
+      "attackCooldown": 4.0,
+      "attackType": "magic_projectile",
+      "attackDelay": 1.0,
+      "weaponType": "none",
+      "projectileType": "magic_bolt",
+      "projectileSpeed": 50.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
+    },
+    "visual": {
+      "sprite_path": "Animation/EnemyAni/004",
+      "scale": 1.0,
+      "animation_speed": 1.0,
+      "flip_horizontal": false,
+      "animations": {
+        "idle": "idle",
+        "walk": "walk",
+        "attack": "attack",
+        "death": "dead"
+      },
+      "weapon_prop": "nan"
+    },
+    "audio": {
+      "attack_sound": "data/弹球音效/zhanshiAtk.mp3",
+      "death_sound": "data/弹球音效/normal zombie die 4.mp3",
+      "hit_sound": "Null",
+      "walk_sound": "Null",
+      "block_sound": "nan",
+      "stealth_sound": "nan",
+      "armor_break_sound": "nan",
+      "fuse_sound": "nan"
+    },
+    "boss": {
+      "is_boss": false,
+      "phases": 1,
+      "rage_threshold": 0.3,
+      "rage_damage_multiplier": 1.0,
+      "rage_speed_multiplier": 1.0
+    }
+  },
+  {
+    "id": "archer_zombie",
+    "name": "弓箭僵尸",
+    "type": "ranged_archer",
+    "stats": {
+      "health": 25,
+      "maxHealth": 25,
+      "defense": 0,
+      "speed": 15.0
+    },
+    "movement": {
+      "pattern": "direct",
+      "speed": 40.0,
+      "patrolRange": 100,
+      "chaseRange": 200,
+      "rotationSpeed": 180.0,
+      "moveType": "straight",
+      "swingAmplitude": 0.0,
+      "swingFrequency": 0.0,
+      "speedVariation": 0.1
+    },
+    "combat": {
+      "attackDamage": 1,
+      "attackRange": 250.0,
+      "attackSpeed": 0.2,
+      "canBlock": false,
+      "blockChance": 0.0,
+      "blockDamageReduction": 0.5,
+      "attackCooldown": 4.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
+    },
+    "visual": {
+      "sprite_path": "Animation/EnemyAni/005",
+      "scale": 1.0,
+      "animation_speed": 1.0,
+      "flip_horizontal": false,
+      "animations": {
+        "idle": "idle",
+        "walk": "walk",
+        "attack": "attack",
+        "death": "dead"
+      },
+      "weapon_prop": "nan"
+    },
+    "audio": {
+      "attack_sound": "data/弹球音效/hammer1.mp3",
+      "death_sound": "data/弹球音效/normal zombie die 5.mp3",
+      "hit_sound": "Null",
+      "walk_sound": "Null",
+      "block_sound": "nan",
+      "stealth_sound": "nan",
+      "armor_break_sound": "nan",
+      "fuse_sound": "nan"
+    },
+    "boss": {
+      "is_boss": false,
+      "phases": 1,
+      "rage_threshold": 0.3,
+      "rage_damage_multiplier": 1.0,
+      "rage_speed_multiplier": 1.0
+    }
+  },
+  {
+    "id": "stealth_zombie",
+    "name": "隐身僵尸",
+    "type": "stealth",
+    "stats": {
+      "health": 42,
+      "maxHealth": 42,
+      "defense": 0,
+      "speed": 35.0
+    },
+    "movement": {
+      "pattern": "direct",
+      "speed": 60.0,
+      "patrolRange": 100,
+      "chaseRange": 200,
+      "rotationSpeed": 180.0,
+      "moveType": "straight",
+      "swingAmplitude": 0.0,
+      "swingFrequency": 0.0,
+      "speedVariation": 0.1
+    },
+    "combat": {
+      "attackDamage": 1,
+      "attackRange": 30.0,
+      "attackSpeed": 0.4,
+      "canBlock": false,
+      "blockChance": 0.0,
+      "blockDamageReduction": 0.5,
+      "attackCooldown": 3.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
+    },
+    "visual": {
+      "sprite_path": "Animation/EnemyAni/006",
+      "scale": 1.0,
+      "animation_speed": 1.0,
+      "flip_horizontal": false,
+      "animations": {
+        "idle": "idle",
+        "walk": "walk",
+        "attack": "attack",
+        "death": "dead"
+      },
+      "weapon_prop": "nan"
+    },
+    "audio": {
+      "attack_sound": "data/弹球音效/hammer1.mp4",
+      "death_sound": "data/弹球音效/normal zombie die 6.mp3",
+      "hit_sound": "Null",
+      "walk_sound": "Null",
+      "block_sound": "nan",
+      "stealth_sound": "Null",
+      "armor_break_sound": "nan",
+      "fuse_sound": "nan"
+    },
+    "boss": {
+      "is_boss": false,
+      "phases": 1,
+      "rage_threshold": 0.3,
+      "rage_damage_multiplier": 1.0,
+      "rage_speed_multiplier": 1.0
+    }
+  },
+  {
+    "id": "bucket_zombie",
+    "name": "铁桶僵尸",
+    "type": "heavy_armor",
+    "stats": {
+      "health": 70,
+      "maxHealth": 70,
+      "defense": 2,
+      "speed": 15.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": 30.0,
+      "attackSpeed": 0.3,
+      "canBlock": false,
+      "blockChance": 0.0,
+      "blockDamageReduction": 0.5,
+      "attackCooldown": 4.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
+    },
+    "visual": {
+      "sprite_path": "Animation/EnemyAni/007",
+      "scale": 1.0,
+      "animation_speed": 1.0,
+      "flip_horizontal": false,
+      "animations": {
+        "idle": "idle",
+        "walk": "walk",
+        "attack": "attack",
+        "death": "dead"
+      },
+      "weapon_prop": "props/iron_gate"
+    },
+    "audio": {
+      "attack_sound": "data/弹球音效/hammer1.mp5",
+      "death_sound": "data/弹球音效/normal zombie die 7.mp3",
+      "hit_sound": "Null",
+      "walk_sound": "Null",
+      "block_sound": "nan",
+      "stealth_sound": "nan",
+      "armor_break_sound": "Null",
+      "fuse_sound": "nan"
+    },
+    "boss": {
+      "is_boss": false,
+      "phases": 1,
+      "rage_threshold": 0.3,
+      "rage_damage_multiplier": 1.0,
+      "rage_speed_multiplier": 1.0
+    }
+  },
+  {
+    "id": "barrel_zombie",
+    "name": "火药桶僵尸",
+    "type": "explosive",
+    "stats": {
+      "health": 35,
+      "maxHealth": 35,
+      "defense": 0,
+      "speed": 30.0
+    },
+    "movement": {
+      "pattern": "direct",
+      "speed": 45.0,
+      "patrolRange": 100,
+      "chaseRange": 200,
+      "rotationSpeed": 180.0,
+      "moveType": "straight",
+      "swingAmplitude": 0.0,
+      "swingFrequency": 0.0,
+      "speedVariation": 0.1
+    },
+    "combat": {
+      "attackDamage": 1,
+      "attackRange": 30.0,
+      "attackSpeed": 0.3,
+      "canBlock": false,
+      "blockChance": 0.0,
+      "blockDamageReduction": 0.5,
+      "attackCooldown": 3.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
+    },
+    "visual": {
+      "sprite_path": "Animation/EnemyAni/008",
+      "scale": 1.0,
+      "animation_speed": 1.0,
+      "flip_horizontal": false,
+      "animations": {
+        "idle": "idle",
+        "walk": "walk",
+        "attack": "attack",
+        "death": "dead"
+      },
+      "weapon_prop": "props/tombstone"
+    },
+    "audio": {
+      "attack_sound": "data/弹球音效/hammer1.mp6",
+      "death_sound": "data/弹球音效/boss die.mp3",
+      "hit_sound": "Null",
+      "walk_sound": "Null",
+      "block_sound": "nan",
+      "stealth_sound": "nan",
+      "armor_break_sound": "nan",
+      "fuse_sound": "Null"
+    },
+    "boss": {
+      "is_boss": false,
+      "phases": 1,
+      "rage_threshold": 0.3,
+      "rage_damage_multiplier": 1.0,
+      "rage_speed_multiplier": 1.0
+    }
+  },
+  {
+    "id": "boss1_gatekeeper",
+    "name": "BOSS1",
+    "type": "boss",
+    "stats": {
+      "health": 500,
+      "maxHealth": 500,
+      "defense": 2,
+      "speed": 10.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": 30.0,
+      "attackSpeed": 0.2,
+      "canBlock": false,
+      "blockChance": 0.0,
+      "blockDamageReduction": 0.5,
+      "attackCooldown": 4.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
+    },
+    "visual": {
+      "sprite_path": "Animation/EnemyAni/009",
+      "scale": 1.0,
+      "animation_speed": 1.0,
+      "flip_horizontal": false,
+      "animations": {
+        "idle": "idle",
+        "walk": "walk",
+        "attack": "attack",
+        "death": "dead"
+      },
+      "weapon_prop": "props/cyber_arm"
+    },
+    "audio": {
+      "attack_sound": "data/弹球音效/hammer1.mp7",
+      "death_sound": "data/弹球音效/boss die.mp3",
+      "hit_sound": "Null",
+      "walk_sound": "Null",
+      "block_sound": "nan",
+      "stealth_sound": "nan",
+      "armor_break_sound": "nan",
+      "fuse_sound": "nan"
+    },
+    "boss": {
+      "is_boss": true,
+      "phases": 1,
+      "rage_threshold": 0.3,
+      "rage_damage_multiplier": 1.5,
+      "rage_speed_multiplier": 1.3
+    }
+  },
+  {
+    "id": "boss2_gravedigger",
+    "name": "BOSS2",
+    "type": "boss",
+    "stats": {
+      "health": 500,
+      "maxHealth": 500,
+      "defense": 3,
+      "speed": 10.0
+    },
+    "movement": {
+      "pattern": "direct",
+      "speed": 20.0,
+      "patrolRange": 100,
+      "chaseRange": 200,
+      "rotationSpeed": 180.0,
+      "moveType": "straight",
+      "swingAmplitude": 0.0,
+      "swingFrequency": 0.0,
+      "speedVariation": 0.1
+    },
+    "combat": {
+      "attackDamage": 1,
+      "attackRange": 30.0,
+      "attackSpeed": 0.2,
+      "canBlock": false,
+      "blockChance": 0.0,
+      "blockDamageReduction": 0.5,
+      "attackCooldown": 5.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
+    },
+    "visual": {
+      "sprite_path": "Animation/EnemyAni/010",
+      "scale": 1.0,
+      "animation_speed": 1.0,
+      "flip_horizontal": false,
+      "animations": {
+        "idle": "idle",
+        "walk": "walk",
+        "attack": "attack",
+        "death": "dead"
+      },
+      "weapon_prop": "nan"
+    },
+    "audio": {
+      "attack_sound": "data/弹球音效/hammer1.mp8",
+      "death_sound": "data/弹球音效/boss die.mp4",
+      "hit_sound": "Null",
+      "walk_sound": "Null",
+      "block_sound": "nan",
+      "stealth_sound": "nan",
+      "armor_break_sound": "nan",
+      "fuse_sound": "nan"
+    },
+    "boss": {
+      "is_boss": true,
+      "phases": 1,
+      "rage_threshold": 0.3,
+      "rage_damage_multiplier": 1.5,
+      "rage_speed_multiplier": 1.3
+    }
+  },
+  {
+    "id": "boss3_cyborg",
+    "name": "BOSS3",
+    "type": "boss",
+    "stats": {
+      "health": 250,
+      "maxHealth": 250,
+      "defense": 1,
+      "speed": 10.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": 80.0,
+      "attackSpeed": 0.2,
+      "canBlock": false,
+      "blockChance": 0.0,
+      "blockDamageReduction": 0.5,
+      "attackCooldown": 4.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
+    },
+    "visual": {
+      "sprite_path": "Animation/EnemyAni/011",
+      "scale": 1.0,
+      "animation_speed": 1.0,
+      "flip_horizontal": false,
+      "animations": {
+        "idle": "idle",
+        "walk": "walk",
+        "attack": "attack",
+        "death": "dead"
+      },
+      "weapon_prop": "nan"
+    },
+    "audio": {
+      "attack_sound": "data/弹球音效/hammer1.mp9",
+      "death_sound": "data/弹球音效/boss die.mp5",
+      "hit_sound": "Null",
+      "walk_sound": "Null",
+      "block_sound": "nan",
+      "stealth_sound": "nan",
+      "armor_break_sound": "nan",
+      "fuse_sound": "nan"
+    },
+    "boss": {
+      "is_boss": true,
+      "phases": 1,
+      "rage_threshold": 0.3,
+      "rage_damage_multiplier": 1.5,
+      "rage_speed_multiplier": 1.3
+    }
+  }
+]

+ 11 - 0
assets/resources/data/enemies_backup_20250828_191627.json.meta

@@ -0,0 +1,11 @@
+{
+  "ver": "2.0.1",
+  "importer": "json",
+  "imported": true,
+  "uuid": "98fafd80-24fb-423e-8cdf-1168ff5b1f51",
+  "files": [
+    ".json"
+  ],
+  "subMetas": {},
+  "userData": {}
+}

BIN
assets/resources/data/excel/__pycache__/ball_controller_config_manager.cpython-312.pyc


+ 12 - 0
assets/resources/data/excel/__pycache__/ball_controller_config_manager.cpython-312.pyc.meta

@@ -0,0 +1,12 @@
+{
+  "ver": "1.0.0",
+  "importer": "*",
+  "imported": true,
+  "uuid": "004f638b-adaf-41a9-bbe3-04e9c3e804eb",
+  "files": [
+    ".json",
+    ".pyc"
+  ],
+  "subMetas": {},
+  "userData": {}
+}

BIN
assets/resources/data/excel/__pycache__/enemy_config_manager.cpython-312.pyc


+ 12 - 0
assets/resources/data/excel/__pycache__/enemy_config_manager.cpython-312.pyc.meta

@@ -0,0 +1,12 @@
+{
+  "ver": "1.0.0",
+  "importer": "*",
+  "imported": true,
+  "uuid": "6591a996-4b81-42a1-bef7-415937ab1a98",
+  "files": [
+    ".json",
+    ".pyc"
+  ],
+  "subMetas": {},
+  "userData": {}
+}

BIN
assets/resources/data/excel/__pycache__/game_skill_config_manager.cpython-312.pyc


+ 12 - 0
assets/resources/data/excel/__pycache__/game_skill_config_manager.cpython-312.pyc.meta

@@ -0,0 +1,12 @@
+{
+  "ver": "1.0.0",
+  "importer": "*",
+  "imported": true,
+  "uuid": "ddf264fe-d373-4d08-b3e7-88f72ee172f0",
+  "files": [
+    ".json",
+    ".pyc"
+  ],
+  "subMetas": {},
+  "userData": {}
+}

BIN
assets/resources/data/excel/__pycache__/level_config_manager.cpython-312.pyc


+ 12 - 0
assets/resources/data/excel/__pycache__/level_config_manager.cpython-312.pyc.meta

@@ -0,0 +1,12 @@
+{
+  "ver": "1.0.0",
+  "importer": "*",
+  "imported": true,
+  "uuid": "2a6ebf20-a801-46fd-8d3e-de6a50324c5f",
+  "files": [
+    ".json",
+    ".pyc"
+  ],
+  "subMetas": {},
+  "userData": {}
+}

BIN
assets/resources/data/excel/__pycache__/skill_config_manager.cpython-312.pyc


+ 12 - 0
assets/resources/data/excel/__pycache__/skill_config_manager.cpython-312.pyc.meta

@@ -0,0 +1,12 @@
+{
+  "ver": "1.0.0",
+  "importer": "*",
+  "imported": true,
+  "uuid": "8c2a3438-09f5-4fc2-a4df-bfa9a8995399",
+  "files": [
+    ".json",
+    ".pyc"
+  ],
+  "subMetas": {},
+  "userData": {}
+}

BIN
assets/resources/data/excel/__pycache__/weapon_config_manager.cpython-312.pyc


+ 12 - 0
assets/resources/data/excel/__pycache__/weapon_config_manager.cpython-312.pyc.meta

@@ -0,0 +1,12 @@
+{
+  "ver": "1.0.0",
+  "importer": "*",
+  "imported": true,
+  "uuid": "1e92a20a-29a4-4d53-95c1-453afb7689cc",
+  "files": [
+    ".json",
+    ".pyc"
+  ],
+  "subMetas": {},
+  "userData": {}
+}

BIN
assets/resources/data/excel/关卡配置/关卡配置表.xlsx


BIN
assets/resources/data/excel/敌人配置表.xlsx


BIN
assets/resources/data/excel/方块武器配置/方块武器配置表.xlsx


+ 60 - 13
assets/resources/data/levels/Level1.json

@@ -26,6 +26,13 @@
           "spawnInterval": 2.0,
           "spawnDelay": 0.0,
           "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "roadblock_zombie",
+          "count": 5,
+          "spawnInterval": 2.0,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
         }
       ]
     },
@@ -34,10 +41,17 @@
       "enemies": [
         {
           "enemyType": "normal_zombie",
-          "count": 15,
-          "spawnInterval": 1.5,
+          "count": 20,
+          "spawnInterval": 1.0,
           "spawnDelay": 0.0,
           "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "roadblock_zombie",
+          "count": 8,
+          "spawnInterval": 2.0,
+          "spawnDelay": 0.0,
+          "characteristics": "高生命, 慢速移动"
         }
       ]
     },
@@ -46,16 +60,16 @@
       "enemies": [
         {
           "enemyType": "normal_zombie",
-          "count": 20,
+          "count": 30,
           "spawnInterval": 1.0,
           "spawnDelay": 0.0,
           "characteristics": "中速移动, 无技能"
         },
         {
           "enemyType": "roadblock_zombie",
-          "count": 5,
-          "spawnInterval": 3.0,
-          "spawnDelay": 5.0,
+          "count": 20,
+          "spawnInterval": 1.5,
+          "spawnDelay": 0.0,
           "characteristics": "高生命, 慢速移动"
         }
       ]
@@ -65,36 +79,69 @@
       "enemies": [
         {
           "enemyType": "normal_zombie",
-          "count": 30,
+          "count": 40,
           "spawnInterval": 1.0,
           "spawnDelay": 0.0,
           "characteristics": "中速移动, 无技能"
         },
         {
           "enemyType": "roadblock_zombie",
+          "count": 30,
+          "spawnInterval": 1.0,
+          "spawnDelay": 10.0,
+          "characteristics": "中速移动, 无技能"
+        }
+      ]
+    },
+    {
+      "waveId": 5,
+      "enemies": [
+        {
+          "enemyType": "normal_zombie",
+          "count": 60,
+          "spawnInterval": 0.5,
+          "spawnDelay": 0.0,
+          "characteristics": "中速移动, 无技能"
+        },
+        {
+          "enemyType": "mage_zombie",
           "count": 10,
-          "spawnInterval": 2.0,
+          "spawnInterval": 3.0,
+          "spawnDelay": 0.0,
+          "characteristics": "远程魔法攻击, 中等生命"
+        },
+        {
+          "enemyType": "roadblock_zombie",
+          "count": 40,
+          "spawnInterval": 0.8,
           "spawnDelay": 0.0,
           "characteristics": "高生命, 慢速移动"
         }
       ]
     },
     {
-      "waveId": 5,
+      "waveId": 6,
       "enemies": [
         {
           "enemyType": "normal_zombie",
-          "count": 30,
-          "spawnInterval": 1.0,
+          "count": 60,
+          "spawnInterval": 0.5,
           "spawnDelay": 0.0,
           "characteristics": "中速移动, 无技能"
         },
         {
           "enemyType": "roadblock_zombie",
-          "count": 30,
-          "spawnInterval": 1.0,
+          "count": 60,
+          "spawnInterval": 0.5,
           "spawnDelay": 0.0,
           "characteristics": "高生命, 慢速移动"
+        },
+        {
+          "enemyType": "boss1_gatekeeper",
+          "count": 1,
+          "spawnInterval": 1.5,
+          "spawnDelay": 20.0,
+          "characteristics": "超高生命, 多种攻击方式, 召唤小怪"
         }
       ]
     }

+ 2 - 2
assets/resources/data/levels/Level2.json

@@ -12,7 +12,7 @@
   ],
   "coinReward": 500,
   "diamondReward": 30,
-  "initialCoins": 60,
+  "initialCoins": 45,
   "timeLimit": 300,
   "difficulty": "normal",
   "healthMultiplier": 1.2,
@@ -139,7 +139,7 @@
         {
           "enemyType": "boss1_gatekeeper",
           "count": 1,
-          "spawnInterval": 1.0,
+          "spawnInterval": 1.5,
           "spawnDelay": 20.0,
           "characteristics": "超高生命, 多种攻击方式, 召唤小怪"
         }

+ 1 - 1
assets/resources/data/levels/Level3.json

@@ -12,7 +12,7 @@
   ],
   "coinReward": 800,
   "diamondReward": 50,
-  "initialCoins": 70,
+  "initialCoins": 45,
   "timeLimit": 300,
   "difficulty": "normal",
   "healthMultiplier": 1.4,

+ 1 - 1
assets/resources/data/levels/Level4.json

@@ -16,7 +16,7 @@
   ],
   "coinReward": 1000,
   "diamondReward": 80,
-  "initialCoins": 80,
+  "initialCoins": 45,
   "timeLimit": 300,
   "difficulty": "normal",
   "healthMultiplier": 1.6,

+ 1 - 1
assets/resources/data/levels/Level5.json

@@ -16,7 +16,7 @@
   ],
   "coinReward": 1300,
   "diamondReward": 100,
-  "initialCoins": 90,
+  "initialCoins": 45,
   "timeLimit": 300,
   "difficulty": "normal",
   "healthMultiplier": 1.8,

+ 1 - 1
assets/resources/data/levels/Level6.json

@@ -16,7 +16,7 @@
   ],
   "coinReward": 1800,
   "diamondReward": 120,
-  "initialCoins": 100,
+  "initialCoins": 45,
   "timeLimit": 300,
   "difficulty": "normal",
   "healthMultiplier": 2.0,

+ 1 - 1
assets/resources/data/levels/Level7.json

@@ -16,7 +16,7 @@
   ],
   "coinReward": 2200,
   "diamondReward": 150,
-  "initialCoins": 110,
+  "initialCoins": 45,
   "timeLimit": 300,
   "difficulty": "normal",
   "healthMultiplier": 2.2,

+ 1 - 1
assets/resources/data/levels/Level8.json

@@ -16,7 +16,7 @@
   ],
   "coinReward": 2500,
   "diamondReward": 170,
-  "initialCoins": 120,
+  "initialCoins": 45,
   "timeLimit": 300,
   "difficulty": "normal",
   "healthMultiplier": 2.4,

+ 1 - 1
assets/resources/data/levels/Level9.json

@@ -17,7 +17,7 @@
   ],
   "coinReward": 3000,
   "diamondReward": 200,
-  "initialCoins": 130,
+  "initialCoins": 45,
   "timeLimit": 300,
   "difficulty": "normal",
   "healthMultiplier": 2.6,

+ 1 - 1
assets/resources/data/weapons.json

@@ -930,7 +930,7 @@
       "stats": {
         "damage": 25,
         "fireRate": 8.0,
-        "range": 200,
+        "range": 400,
         "bulletSpeed": 35
       },
       "bulletConfig": {

+ 1382 - 0
assets/resources/data/weapons_backup_20250828_191651.json

@@ -0,0 +1,1382 @@
+{
+  "weapons": [
+    {
+      "id": "pea_shooter",
+      "name": "毛豆射手",
+      "type": "single_shot",
+      "weight": 30,
+      "stats": {
+        "damage": 10,
+        "fireRate": 10.0,
+        "range": 450,
+        "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,
+            "damage": 10
+          }
+        ],
+        "lifecycle": {
+          "type": "hit_destroy",
+          "maxLifetime": 5.0,
+          "penetration": 1,
+          "ricochetCount": 0,
+          "returnToOrigin": false
+        },
+        "visual": {
+          "bulletImages": "images/PlantsSprite/010",
+          "hitEffect": "Animation/WeaponTx/tx0002/tx0002",
+          "trailEffect": true
+        }
+      },
+      "visualConfig": {
+        "weaponSprites": "images/PlantsSprite/001-1",
+        "attackSound": "data/弹球音效/bean atk"
+      },
+      "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,
+          "L2": 25,
+          "L3": 25,
+          "L4": 25,
+          "F-S": 25,
+          "T": 25
+        }
+      }
+    },
+    {
+      "id": "sharp_carrot",
+      "name": "尖胡萝卜",
+      "type": "piercing",
+      "weight": 25,
+      "stats": {
+        "damage": 8,
+        "fireRate": 10.0,
+        "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,
+            "damage": 8,
+            "pierceCount": 999
+          }
+        ],
+        "lifecycle": {
+          "type": "range_limit",
+          "maxLifetime": 5.0,
+          "penetration": 999,
+          "ricochetCount": 0,
+          "returnToOrigin": false,
+          "maxRange": 800
+        },
+        "visual": {
+          "bulletImages": "images/PlantsSprite/002",
+          "hitEffect": "Animation/WeaponTx/tx0002/tx0002",
+          "trailEffect": "Animation/WeaponTx/tx0001/tx0001"
+        }
+      },
+      "visualConfig": {
+        "weaponSprites": "images/PlantsSprite/002",
+        "attackSound": "data/弹球音效/cawl"
+      },
+      "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,
+          "L2": 26,
+          "L3": 26,
+          "L4": 26,
+          "F-S": 26,
+          "T": 26
+        }
+      }
+    },
+    {
+      "id": "saw_grass",
+      "name": "锯齿草",
+      "type": "ricochet_piercing",
+      "weight": 20,
+      "stats": {
+        "damage": 8,
+        "fireRate": 10.0,
+        "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,
+            "damage": 8,
+            "ricochetCount": 2,
+            "ricochetAngle": 45
+          },
+          {
+            "type": "pierce_damage",
+            "priority": 2,
+            "damage": 8,
+            "pierceCount": 3
+          }
+        ],
+        "lifecycle": {
+          "type": "ricochet_counter",
+          "maxLifetime": 8.0,
+          "penetration": 3,
+          "ricochetCount": 3,
+          "returnToOrigin": false
+        },
+        "visual": {
+          "bulletImages": "images/PlantsSprite/003",
+          "hitEffect": "Animation/WeaponTx/tx0002/tx0002",
+          "trailEffect": true
+        }
+      },
+      "visualConfig": {
+        "weaponSprites": "images/PlantsSprite/003",
+        "attackSound": "data/弹球音效/juchi atk"
+      },
+      "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,
+          "L2": 27,
+          "L3": 27,
+          "L4": 27,
+          "F-S": 27,
+          "T": 27
+        }
+      }
+    },
+    {
+      "id": "watermelon_bomb",
+      "name": "西瓜炸弹",
+      "type": "explosive",
+      "weight": 15,
+      "stats": {
+        "damage": 15,
+        "fireRate": 10.0,
+        "range": 500,
+        "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,
+            "damage": 35,
+            "radius": 100,
+            "delay": 0.1
+          }
+        ],
+        "lifecycle": {
+          "type": "ground_impact",
+          "maxLifetime": 5.0,
+          "penetration": 1,
+          "ricochetCount": 0,
+          "returnToOrigin": false
+        },
+        "visual": {
+          "bulletImages": "images/PlantsSprite/007",
+          "hitEffect": "Animation/WeaponTx/tx0007/tx0007",
+          "trailEffect": true,
+          "explosionEffect": "Animation/WeaponTx/tx0007/tx0007"
+        }
+      },
+      "visualConfig": {
+        "weaponSprites": "images/PlantsSprite/007",
+        "attackSound": "data/弹球音效/bomb"
+      },
+      "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,
+          "L2": 28,
+          "L3": 28,
+          "L4": 28,
+          "F-S": 28,
+          "T": 28
+        }
+      }
+    },
+    {
+      "id": "boomerang_plant",
+      "name": "回旋镖盆栽",
+      "type": "boomerang",
+      "weight": 18,
+      "stats": {
+        "damage": 10,
+        "fireRate": 10.0,
+        "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,
+            "damage": 10,
+            "pierceCount": 999
+          }
+        ],
+        "lifecycle": {
+          "type": "return_trip",
+          "maxLifetime": 10.0,
+          "penetration": 999,
+          "ricochetCount": 0,
+          "returnToOrigin": true,
+          "returnDelay": 2.0
+        },
+        "visual": {
+          "bulletImages": "images/PlantsSprite/004",
+          "hitEffect": "Animation/WeaponTx/tx0002/tx0002",
+          "trailEffect": true
+        }
+      },
+      "visualConfig": {
+        "weaponSprites": "images/PlantsSprite/004",
+        "attackSound": "data/弹球音效/huixuanbiao atk"
+      },
+      "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,
+          "L2": 29,
+          "L3": 29,
+          "L4": 29,
+          "F-S": 29,
+          "T": 29
+        }
+      }
+    },
+    {
+      "id": "hot_pepper",
+      "name": "炙热辣椒",
+      "type": "area_burn",
+      "weight": 12,
+      "stats": {
+        "damage": 15,
+        "fireRate": 10.0,
+        "range": 500,
+        "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,
+            "damage": 15
+          },
+          {
+            "type": "ground_burn",
+            "priority": 2,
+            "damage": 5,
+            "duration": 3.0,
+            "tickInterval": 0.5
+          }
+        ],
+        "lifecycle": {
+          "type": "hit_destroy",
+          "maxLifetime": 5.0,
+          "penetration": 1,
+          "ricochetCount": 0,
+          "returnToOrigin": false
+        },
+        "visual": {
+          "bulletImages": "images/PlantsSprite/005",
+          "hitEffect": "Animation/WeaponTx/tx0002/tx0002",
+          "trailEffect": true,
+          "burnEffect": "Animation/WeaponTx/tx0006/tx0006"
+        }
+      },
+      "visualConfig": {
+        "weaponSprites": "images/PlantsSprite/005",
+        "attackSound": "data/弹球音效/fire"
+      },
+      "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,
+          "L2": 30,
+          "L3": 30,
+          "L4": 30,
+          "F-S": 30,
+          "T": 30
+        }
+      }
+    },
+    {
+      "id": "cactus_shotgun",
+      "name": "仙人散弹",
+      "type": "shotgun",
+      "weight": 22,
+      "stats": {
+        "damage": 6,
+        "fireRate": 10.0,
+        "range": 500,
+        "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,
+            "damage": 6
+          }
+        ],
+        "lifecycle": {
+          "type": "range_limit",
+          "maxLifetime": 5.0,
+          "penetration": 1,
+          "ricochetCount": 0,
+          "returnToOrigin": false,
+          "maxRange": 1000
+        },
+        "visual": {
+          "bulletImages": "images/PlantsSprite/008",
+          "hitEffect": "Animation/WeaponTx/tx0002/tx0002",
+          "trailEffect": true
+        }
+      },
+      "visualConfig": {
+        "weaponSprites": "images/PlantsSprite/008",
+        "attackSound": "data/弹球音效/xianrenzhang hit"
+      },
+      "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,
+          "L2": 31,
+          "L3": 31,
+          "L4": 31,
+          "F-S": 31,
+          "T": 31
+        }
+      }
+    },
+    {
+      "id": "okra_missile",
+      "name": "秋葵导弹",
+      "type": "homing_missile",
+      "weight": 8,
+      "stats": {
+        "damage": 20,
+        "fireRate": 10.0,
+        "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,
+            "damage": 20,
+            "radius": 150,
+            "delay": 0
+          }
+        ],
+        "lifecycle": {
+          "type": "target_impact",
+          "maxLifetime": 5.0,
+          "penetration": 1,
+          "ricochetCount": 0,
+          "returnToOrigin": false
+        },
+        "visual": {
+          "bulletImages": "images/PlantsSprite/006",
+          "hitEffect": "Animation/WeaponTx/tx0002/tx0002",
+          "trailEffect": true,
+          "explosionEffect": "Animation/WeaponTx/tx0007/tx0007"
+        }
+      },
+      "visualConfig": {
+        "weaponSprites": "images/PlantsSprite/006",
+        "attackSound": "data/弹球音效/qiukui hit"
+      },
+      "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,
+          "L2": 32,
+          "L3": 32,
+          "L4": 32,
+          "F-S": 32,
+          "T": 32
+        }
+      }
+    },
+    {
+      "id": "mace_club",
+      "name": "狼牙棒",
+      "type": "melee",
+      "weight": 20,
+      "stats": {
+        "damage": 25,
+        "fireRate": 8.0,
+        "range": 200,
+        "bulletSpeed": 35
+      },
+      "bulletConfig": {
+        "count": {
+          "type": "single",
+          "amount": 1,
+          "spreadAngle": 0,
+          "burstCount": 1,
+          "burstDelay": 0
+        },
+        "trajectory": {
+          "type": "straight",
+          "speed": 250,
+          "gravity": 0,
+          "arcHeight": 0,
+          "homingStrength": 0,
+          "homingDelay": 0
+        },
+        "hitEffects": [
+          {
+            "type": "normal_damage",
+            "priority": 1,
+            "damage": 25
+          },
+          {
+            "type": "knockback",
+            "priority": 2,
+            "force": 150
+          }
+        ],
+        "lifecycle": {
+          "type": "range_limit",
+          "maxLifetime": 3.0,
+          "penetration": 2,
+          "ricochetCount": 0,
+          "returnToOrigin": false,
+          "maxRange": 200
+        },
+        "visual": {
+          "bulletImages": "images/PlantsSprite/009",
+          "hitEffect": "Animation/WeaponTx/tx0002/tx0002",
+          "trailEffect": true
+        }
+      },
+      "visualConfig": {
+        "weaponSprites": "images/PlantsSprite/009",
+        "attackSound": "data/弹球音效/mace_club_hit"
+      },
+      "upgradeConfig": {
+        "maxLevel": 10,
+        "levels": {
+          "1": {
+            "cost": 140,
+            "damage": 25
+          },
+          "2": {
+            "cost": 210,
+            "damage": 28
+          },
+          "3": {
+            "cost": 280,
+            "damage": 31
+          },
+          "4": {
+            "cost": 350,
+            "damage": 34
+          },
+          "5": {
+            "cost": 420,
+            "damage": 37
+          },
+          "6": {
+            "cost": 490,
+            "damage": 40
+          },
+          "7": {
+            "cost": 560,
+            "damage": 43
+          },
+          "8": {
+            "cost": 630,
+            "damage": 46
+          },
+          "9": {
+            "cost": 700,
+            "damage": 49
+          },
+          "10": {
+            "cost": 770,
+            "damage": 52
+          }
+        }
+      },
+      "inGameCostConfig": {
+        "baseCost": 8,
+        "shapeCosts": {
+          "I": 16,
+          "H-I": 16,
+          "L": 24,
+          "S": 32,
+          "D-T": 32,
+          "L2": 33,
+          "L3": 33,
+          "L4": 33,
+          "F-S": 33,
+          "T": 33
+        }
+      }
+    }
+  ],
+  "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,
+          0,
+          0,
+          0
+        ],
+        [
+          1,
+          1,
+          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型形状"
+    },
+    {
+      "id": "L2",
+      "name": "L2形",
+      "shape": [
+        [
+          1,
+          1,
+          0,
+          0
+        ],
+        [
+          0,
+          1,
+          0,
+          0
+        ],
+        [
+          0,
+          0,
+          0,
+          0
+        ],
+        [
+          0,
+          0,
+          0,
+          0
+        ]
+      ],
+      "gridCount": 3,
+      "costMultiplier": 3,
+      "description": "L2型右上转角形状"
+    },
+    {
+      "id": "L3",
+      "name": "L3形",
+      "shape": [
+        [
+          1,
+          0,
+          0,
+          0
+        ],
+        [
+          1,
+          1,
+          0,
+          0
+        ],
+        [
+          0,
+          0,
+          0,
+          0
+        ],
+        [
+          0,
+          0,
+          0,
+          0
+        ]
+      ],
+      "gridCount": 3,
+      "costMultiplier": 3,
+      "description": "L3型左下转角形状"
+    },
+    {
+      "id": "L4",
+      "name": "L4形",
+      "shape": [
+        [
+          0,
+          1,
+          0,
+          0
+        ],
+        [
+          1,
+          1,
+          0,
+          0
+        ],
+        [
+          0,
+          0,
+          0,
+          0
+        ],
+        [
+          0,
+          0,
+          0,
+          0
+        ]
+      ],
+      "gridCount": 3,
+      "costMultiplier": 3,
+      "description": "L4型右下转角形状"
+    },
+    {
+      "id": "S-F",
+      "name": "S-F形",
+      "shape": [
+        [
+          1,
+          1,
+          0,
+          0
+        ],
+        [
+          0,
+          1,
+          1,
+          0
+        ],
+        [
+          0,
+          0,
+          0,
+          0
+        ],
+        [
+          0,
+          0,
+          0,
+          0
+        ]
+      ],
+      "gridCount": 4,
+      "costMultiplier": 4,
+      "description": "S型旋转镜像形状"
+    },
+    {
+      "id": "T",
+      "name": "T形",
+      "shape": [
+        [
+          1,
+          1,
+          1,
+          0
+        ],
+        [
+          0,
+          1,
+          0,
+          0
+        ],
+        [
+          0,
+          0,
+          0,
+          0
+        ],
+        [
+          0,
+          0,
+          0,
+          0
+        ]
+      ],
+      "gridCount": 4,
+      "costMultiplier": 4,
+      "description": "T型形状"
+    }
+  ],
+  "rarityWeights": {
+    "common": 60,
+    "uncommon": 25,
+    "rare": 12,
+    "epic": 3
+  }
+}

+ 11 - 0
assets/resources/data/weapons_backup_20250828_191651.json.meta

@@ -0,0 +1,11 @@
+{
+  "ver": "2.0.1",
+  "importer": "json",
+  "imported": true,
+  "uuid": "55238745-b23f-4ce5-88b8-5a97aa305d75",
+  "files": [
+    ".json"
+  ],
+  "subMetas": {},
+  "userData": {}
+}

+ 2 - 2
settings/v2/packages/information.json

@@ -7,7 +7,7 @@
       "enable": true,
       "customSplash": {
         "complete": false,
-        "form": "https://creator-api.cocos.com/api/form/show?sid=f0e6e03f0114f158584a56be2a8c8e47"
+        "form": "https://creator-api.cocos.com/api/form/show?sid=eab532bed4bde2477c3fac47c379d78d"
       }
     },
     "removeSplash": {
@@ -16,7 +16,7 @@
       "enable": true,
       "removeSplash": {
         "complete": false,
-        "form": "https://creator-api.cocos.com/api/form/show?sid=f0e6e03f0114f158584a56be2a8c8e47"
+        "form": "https://creator-api.cocos.com/api/form/show?sid=eab532bed4bde2477c3fac47c379d78d"
       }
     }
   }