| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545 |
- {
- "weapons": [
- {
- "id": "pea_shooter",
- "name": "毛豆射手",
- "type": "single_shot",
- "rarity": "common",
- "weight": 30,
- "stats": {
- "damage": 20,
- "fireRate": 1.0,
- "range": 300,
- "bulletSpeed": 30,
- "accuracy": 0.95
- },
- "bulletConfig": {
- "count": {
- "type": "single",
- "amount": 1,
- "spreadAngle": 0,
- "burstCount": 1,
- "burstDelay": 0
- },
- "trajectory": {
- "type": "straight",
- "speed": 200,
- "gravity": 0,
- "arcHeight": 0,
- "homingStrength": 0,
- "homingDelay": 0
- },
- "hitEffects": [
- {
- "type": "normal_damage",
- "priority": 1,
- "params": {
- "damage": 20
- }
- }
- ],
- "lifecycle": {
- "type": "hit_destroy",
- "maxLifetime": 5.0,
- "penetration": 1,
- "ricochetCount": 0,
- "returnToOrigin": false
- },
- "visual": {
- "bulletPrefab": "bullets/PeaBullet",
- "hitEffect": "Animation/WeaponTx/tx0002/tx0002",
- "trailEffect": null,
- "muzzleFlash": "Animation/WeaponTx/tx0002/tx0002"
- }
- },
- "visualConfig": {
- "weaponSprites": {
- "1x1": "images/PlantsSprite/001-1",
- "1x2": "images/PlantsSprite/001-1",
- "2x1": "images/PlantsSprite/001-1",
- "2x2": "images/PlantsSprite/001-1"
- },
- "fireSound": "audio/pea_shot"
- }
- },
- {
- "id": "sharp_carrot",
- "name": "尖胡萝卜",
- "type": "piercing",
- "rarity": "common",
- "weight": 25,
- "stats": {
- "damage": 15,
- "fireRate": 0.8,
- "range": 400,
- "bulletSpeed": 30,
- "accuracy": 0.9
- },
- "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": "pierce_damage",
- "priority": 1,
- "params": {
- "damage": 15,
- "pierceCount": 999
- }
- }
- ],
- "lifecycle": {
- "type": "range_limit",
- "maxLifetime": 5.0,
- "penetration": 999,
- "ricochetCount": 0,
- "returnToOrigin": false,
- "maxRange": 1000
- },
- "visual": {
- "bulletPrefab": "bullets/CarrotBullet",
- "hitEffect": "",
- "trailEffect": "Animation/WeaponTx/tx0001/tx0001",
- "muzzleFlash": "Animation/WeaponTx/tx0001/tx0001"
- }
- },
- "visualConfig": {
- "weaponSprites": {
- "1x1": "images/PlantsSprite/002",
- "1x2": "images/PlantsSprite/002",
- "2x1": "images/PlantsSprite/002",
- "2x2": "images/PlantsSprite/002"
- },
- "fireSound": "audio/carrot_shot"
- }
- },
- {
- "id": "saw_grass",
- "name": "锯齿草",
- "type": "ricochet_piercing",
- "rarity": "uncommon",
- "weight": 20,
- "stats": {
- "damage": 25,
- "fireRate": 0.6,
- "range": 350,
- "bulletSpeed": 30,
- "accuracy": 0.85
- },
- "bulletConfig": {
- "count": {
- "type": "single",
- "amount": 1,
- "spreadAngle": 0,
- "burstCount": 1,
- "burstDelay": 0
- },
- "trajectory": {
- "type": "straight",
- "speed": 180,
- "gravity": 0,
- "arcHeight": 0,
- "homingStrength": 0,
- "homingDelay": 0
- },
- "hitEffects": [
- {
- "type": "ricochet_damage",
- "priority": 1,
- "params": {
- "damage": 25,
- "ricochetCount": 2,
- "ricochetAngle": 45
- }
- },
- {
- "type": "pierce_damage",
- "priority": 2,
- "params": {
- "damage": 25,
- "pierceCount": 3
- }
- }
- ],
- "lifecycle": {
- "type": "ricochet_counter",
- "maxLifetime": 8.0,
- "penetration": 3,
- "ricochetCount": 3,
- "returnToOrigin": false
- },
- "visual": {
- "bulletPrefab": "bullets/SawBullet",
- "hitEffect": "Animation/WeaponTx/tx0002/tx0002",
- "trailEffect": null,
- "muzzleFlash": "Animation/WeaponTx/tx0002/tx0002"
- }
- },
- "visualConfig": {
- "weaponSprites": {
- "1x1": "images/PlantsSprite/003",
- "1x2": "images/PlantsSprite/003",
- "2x1": "images/PlantsSprite/003",
- "2x2": "images/PlantsSprite/003"
- },
- "fireSound": "audio/saw_shot"
- }
- },
- {
- "id": "watermelon_bomb",
- "name": "西瓜炸弹",
- "type": "explosive",
- "rarity": "rare",
- "weight": 15,
- "stats": {
- "damage": 50,
- "fireRate": 0.4,
- "range": 250,
- "bulletSpeed": 30,
- "accuracy": 0.8
- },
- "bulletConfig": {
- "count": {
- "type": "single",
- "amount": 1,
- "spreadAngle": 0,
- "burstCount": 1,
- "burstDelay": 0
- },
- "trajectory": {
- "type": "arc",
- "speed": 20,
- "gravity": 0,
- "rotateSpeed": 0.5,
- "homingStrength": 0,
- "homingDelay": 0
- },
- "hitEffects": [
- {
- "type": "explosion",
- "priority": 1,
- "params": {
- "damage": 80,
- "radius": 100,
- "delay": 0.1
- }
- }
- ],
- "lifecycle": {
- "type": "ground_impact",
- "maxLifetime": 5.0,
- "penetration": 1,
- "ricochetCount": 0,
- "returnToOrigin": false
- },
- "visual": {
- "bulletPrefab": "bullets/WatermelonBomb",
- "hitEffect": "Animation/WeaponTx/tx0007/tx0007",
- "trailEffect": null,
- "muzzleFlash": "Animation/WeaponTx/tx0007/tx0007"
- }
- },
- "visualConfig": {
- "weaponSprites": {
- "1x1": "images/PlantsSprite/007",
- "1x2": "images/PlantsSprite/007",
- "2x1": "images/PlantsSprite/007",
- "2x2": "images/PlantsSprite/007"
- },
- "fireSound": "audio/bomb_launch"
- }
- },
- {
- "id": "boomerang_plant",
- "name": "回旋镖盆栽",
- "type": "boomerang",
- "rarity": "uncommon",
- "weight": 18,
- "stats": {
- "damage": 30,
- "fireRate": 0.5,
- "range": 300,
- "bulletSpeed": 30,
- "accuracy": 0.9
- },
- "bulletConfig": {
- "count": {
- "type": "single",
- "amount": 1,
- "spreadAngle": 0,
- "burstCount": 1,
- "burstDelay": 0
- },
- "trajectory": {
- "type": "homing",
- "speed": 15,
- "gravity": 0,
- "homingStrength": 0.5,
- "homingDelay": 0.3
- },
- "hitEffects": [
- {
- "type": "pierce_damage",
- "priority": 1,
- "params": {
- "damage": 30,
- "pierceCount": 999
- }
- }
- ],
- "lifecycle": {
- "type": "return_trip",
- "maxLifetime": 10.0,
- "penetration": 999,
- "ricochetCount": 0,
- "returnToOrigin": true,
- "returnDelay": 1.0
- },
- "visual": {
- "bulletPrefab": "bullets/BoomerangBullet",
- "hitEffect": "Animation/WeaponTx/tx0003/tx0003",
- "trailEffect": null,
- "muzzleFlash": "Animation/WeaponTx/tx0003/tx0003"
- }
- },
- "visualConfig": {
- "weaponSprites": {
- "1x1": "images/PlantsSprite/004",
- "1x2": "images/PlantsSprite/004",
- "2x1": "images/PlantsSprite/004",
- "2x2": "images/PlantsSprite/004"
- },
- "fireSound": "audio/boomerang_throw"
- }
- },
- {
- "id": "hot_pepper",
- "name": "炙热辣椒",
- "type": "area_burn",
- "rarity": "rare",
- "weight": 12,
- "stats": {
- "damage": 40,
- "fireRate": 0.3,
- "range": 280,
- "bulletSpeed": 30,
- "accuracy": 0.75
- },
- "bulletConfig": {
- "count": {
- "type": "single",
- "amount": 1,
- "spreadAngle": 0,
- "burstCount": 1,
- "burstDelay": 0
- },
- "trajectory": {
- "type": "straight",
- "speed": 100,
- "gravity": 0,
- "arcHeight": 0,
- "homingStrength": 0,
- "homingDelay": 0
- },
- "hitEffects": [
- {
- "type": "explosion",
- "priority": 1,
- "params": {
- "damage": 40,
- "radius": 120,
- "delay": 0.2
- }
- },
- {
- "type": "ground_burn",
- "priority": 2,
- "params": {
- "damage": 10,
- "duration": 5.0,
- "radius": 120,
- "tickInterval": 0.5
- }
- }
- ],
- "lifecycle": {
- "type": "ground_impact_with_effect",
- "maxLifetime": 5.0,
- "penetration": 1,
- "ricochetCount": 0,
- "returnToOrigin": false,
- "effectDuration": 5.0
- },
- "visual": {
- "bulletPrefab": "bullets/PepperBomb",
- "hitEffect": "Animation/WeaponTx/tx0005/tx0005",
- "trailEffect": null,
- "burnEffect": "Animation/WeaponTx/tx0005/tx0005",
- "muzzleFlash": "Animation/WeaponTx/tx0005/tx0005"
- }
- },
- "visualConfig": {
- "weaponSprites": {
- "1x1": "images/PlantsSprite/005",
- "1x2": "images/PlantsSprite/005",
- "2x1": "images/PlantsSprite/005",
- "2x2": "images/PlantsSprite/005"
- },
- "fireSound": "audio/pepper_launch"
- }
- },
- {
- "id": "cactus_shotgun",
- "name": "仙人散弹",
- "type": "shotgun",
- "rarity": "uncommon",
- "weight": 22,
- "stats": {
- "damage": 12,
- "fireRate": 0.7,
- "range": 200,
- "bulletSpeed": 30,
- "accuracy": 0.7
- },
- "bulletConfig": {
- "count": {
- "type": "spread",
- "amount": 5,
- "spreadAngle": 30,
- "burstCount": 1,
- "burstDelay": 0
- },
- "trajectory": {
- "type": "straight",
- "speed": 180,
- "gravity": 0,
- "arcHeight": 0,
- "homingStrength": 0,
- "homingDelay": 0
- },
- "hitEffects": [
- {
- "type": "normal_damage",
- "priority": 1,
- "params": {
- "damage": 12
- }
- }
- ],
- "lifecycle": {
- "type": "range_limit",
- "maxLifetime": 3.0,
- "penetration": 1,
- "ricochetCount": 0,
- "returnToOrigin": false,
- "maxRange": 2000
- },
- "visual": {
- "bulletPrefab": "bullets/CactusBullet",
- "hitEffect": "Animation/WeaponTx/tx0005/tx0005",
- "trailEffect": null,
- "muzzleFlash": "Animation/WeaponTx/tx0005/tx0005"
- }
- },
- "visualConfig": {
- "weaponSprites": {
- "1x1": "images/PlantsSprite/008",
- "1x2": "images/PlantsSprite/008",
- "2x1": "images/PlantsSprite/008",
- "2x2": "images/PlantsSprite/008"
- },
- "fireSound": "audio/cactus_shot"
- }
- },
- {
- "id": "okra_missile",
- "name": "秋葵导弹",
- "type": "homing_missile",
- "rarity": "epic",
- "weight": 8,
- "stats": {
- "damage": 70,
- "fireRate": 0.25,
- "range": 500,
- "bulletSpeed": 30,
- "accuracy": 1.0
- },
- "bulletConfig": {
- "count": {
- "type": "single",
- "amount": 1,
- "spreadAngle": 0,
- "burstCount": 1,
- "burstDelay": 0
- },
- "trajectory": {
- "type": "homing",
- "speed": 20,
- "gravity": 0.2,
- "arcHeight": 100,
- "homingStrength": 0.8,
- "homingDelay": 0.3
- },
- "hitEffects": [
- {
- "type": "explosion",
- "priority": 1,
- "params": {
- "damage": 70,
- "radius": 150,
- "delay": 0
- }
- }
- ],
- "lifecycle": {
- "type": "target_impact",
- "maxLifetime": 8.0,
- "penetration": 1,
- "ricochetCount": 0,
- "returnToOrigin": false
- },
- "visual": {
- "bulletPrefab": "bullets/OkraMissile",
- "hitEffect": "Animation/WeaponTx/tx0006/tx0006",
- "trailEffect": null,
- "muzzleFlash": "Animation/WeaponTx/tx0006/tx0006"
- }
- },
- "visualConfig": {
- "weaponSprites": {
- "1x1": "images/PlantsSprite/006",
- "1x2": "images/PlantsSprite/006",
- "2x1": "images/PlantsSprite/006",
- "2x2": "images/PlantsSprite/006"
- },
- "fireSound": "audio/missile_launch"
- }
- }
- ],
- "rarityWeights": {
- "common": 60,
- "uncommon": 25,
- "rare": 12,
- "epic": 3
- },
- "blockSizes": ["1x1", "1x2", "2x1", "2x2"],
- "bulletEffectTypes": {
- "count": ["single", "spread", "burst"],
- "trajectory": ["straight", "arc", "homing_arc"],
- "hitEffects": ["normal_damage", "pierce_damage", "explosion", "ground_burn", "ricochet_damage"],
- "lifecycle": ["hit_destroy", "range_limit", "ricochet_counter", "ground_impact", "return_trip", "ground_impact_with_effect", "target_impact"]
- }
- }
|