|
|
@@ -0,0 +1,1127 @@
|
|
|
+[
|
|
|
+ {
|
|
|
+ "id": "normal_zombie",
|
|
|
+ "name": "普通僵尸",
|
|
|
+ "type": "basic",
|
|
|
+ "stats": {
|
|
|
+ "health": 45,
|
|
|
+ "maxHealth": 45,
|
|
|
+ "defense": 0,
|
|
|
+ "speed": 30.0,
|
|
|
+ "dropEnergy": 1
|
|
|
+ },
|
|
|
+ "movement": {
|
|
|
+ "pattern": "direct",
|
|
|
+ "speed": 50.0,
|
|
|
+ "patrolRange": 100,
|
|
|
+ "chaseRange": 200,
|
|
|
+ "rotationSpeed": 180.0,
|
|
|
+ "moveType": "straight",
|
|
|
+ "swingAmplitude": 0.0,
|
|
|
+ "swingFrequency": 0.0,
|
|
|
+ "speedVariation": 0.1
|
|
|
+ },
|
|
|
+ "combat": {
|
|
|
+ "attackDamage": 2,
|
|
|
+ "attackRange": 30.0,
|
|
|
+ "attackSpeed": 0.4,
|
|
|
+ "canBlock": false,
|
|
|
+ "blockChance": 0.0,
|
|
|
+ "blockDamageReduction": 0.5,
|
|
|
+ "attackCooldown": 3.0,
|
|
|
+ "attackType": "melee",
|
|
|
+ "attackDelay": 1.0,
|
|
|
+ "weaponType": "none",
|
|
|
+ "projectileType": "none",
|
|
|
+ "projectileSpeed": 50.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
|
|
|
+ },
|
|
|
+ "special_abilities": []
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "id": "roadblock_zombie",
|
|
|
+ "name": "路障僵尸",
|
|
|
+ "type": "armored",
|
|
|
+ "stats": {
|
|
|
+ "health": 45,
|
|
|
+ "maxHealth": 45,
|
|
|
+ "defense": 1,
|
|
|
+ "speed": 8.0,
|
|
|
+ "dropEnergy": 1
|
|
|
+ },
|
|
|
+ "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": 2,
|
|
|
+ "attackRange": 30.0,
|
|
|
+ "attackSpeed": 3.0,
|
|
|
+ "canBlock": false,
|
|
|
+ "blockChance": 0.0,
|
|
|
+ "blockDamageReduction": 0.5,
|
|
|
+ "attackCooldown": 2.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
|
|
|
+ },
|
|
|
+ "special_abilities": []
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "id": "wandering_zombie",
|
|
|
+ "name": "漫步僵尸",
|
|
|
+ "type": "wanderer",
|
|
|
+ "stats": {
|
|
|
+ "health": 35,
|
|
|
+ "maxHealth": 35,
|
|
|
+ "defense": 0,
|
|
|
+ "speed": 12.0,
|
|
|
+ "dropEnergy": 1
|
|
|
+ },
|
|
|
+ "movement": {
|
|
|
+ "pattern": "direct",
|
|
|
+ "speed": 30.0,
|
|
|
+ "patrolRange": 100,
|
|
|
+ "chaseRange": 200,
|
|
|
+ "rotationSpeed": 180.0,
|
|
|
+ "moveType": "sway",
|
|
|
+ "swingAmplitude": 20.0,
|
|
|
+ "swingFrequency": 2.0,
|
|
|
+ "speedVariation": 0.2
|
|
|
+ },
|
|
|
+ "combat": {
|
|
|
+ "attackDamage": 2,
|
|
|
+ "attackRange": 30.0,
|
|
|
+ "attackSpeed": 3.0,
|
|
|
+ "canBlock": false,
|
|
|
+ "blockChance": 0.0,
|
|
|
+ "blockDamageReduction": 0.5,
|
|
|
+ "attackCooldown": 2.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
|
|
|
+ },
|
|
|
+ "special_abilities": []
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "id": "mage_zombie",
|
|
|
+ "name": "法师僵尸",
|
|
|
+ "type": "ranged_caster",
|
|
|
+ "stats": {
|
|
|
+ "health": 25,
|
|
|
+ "maxHealth": 25,
|
|
|
+ "defense": 0,
|
|
|
+ "speed": 6.0,
|
|
|
+ "dropEnergy": 1
|
|
|
+ },
|
|
|
+ "movement": {
|
|
|
+ "pattern": "direct",
|
|
|
+ "speed": 15.0,
|
|
|
+ "patrolRange": 100,
|
|
|
+ "chaseRange": 200,
|
|
|
+ "rotationSpeed": 180.0,
|
|
|
+ "moveType": "straight",
|
|
|
+ "swingAmplitude": 0.0,
|
|
|
+ "swingFrequency": 0.0,
|
|
|
+ "speedVariation": 0.1
|
|
|
+ },
|
|
|
+ "combat": {
|
|
|
+ "attackDamage": 2,
|
|
|
+ "attackRange": 250.0,
|
|
|
+ "attackSpeed": 3.0,
|
|
|
+ "canBlock": false,
|
|
|
+ "blockChance": 0.0,
|
|
|
+ "blockDamageReduction": 0.5,
|
|
|
+ "attackCooldown": 2.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
|
|
|
+ },
|
|
|
+ "special_abilities": []
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "id": "archer_zombie",
|
|
|
+ "name": "弓箭僵尸",
|
|
|
+ "type": "ranged_archer",
|
|
|
+ "stats": {
|
|
|
+ "health": 25,
|
|
|
+ "maxHealth": 25,
|
|
|
+ "defense": 0,
|
|
|
+ "speed": 6.0,
|
|
|
+ "dropEnergy": 1
|
|
|
+ },
|
|
|
+ "movement": {
|
|
|
+ "pattern": "direct",
|
|
|
+ "speed": 15.0,
|
|
|
+ "patrolRange": 100,
|
|
|
+ "chaseRange": 200,
|
|
|
+ "rotationSpeed": 180.0,
|
|
|
+ "moveType": "straight",
|
|
|
+ "swingAmplitude": 0.0,
|
|
|
+ "swingFrequency": 0.0,
|
|
|
+ "speedVariation": 0.1
|
|
|
+ },
|
|
|
+ "combat": {
|
|
|
+ "attackDamage": 1,
|
|
|
+ "attackRange": 400.0,
|
|
|
+ "attackSpeed": 3.0,
|
|
|
+ "canBlock": false,
|
|
|
+ "blockChance": 0.0,
|
|
|
+ "blockDamageReduction": 0.5,
|
|
|
+ "attackCooldown": 2.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
|
|
|
+ },
|
|
|
+ "special_abilities": []
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "id": "stealth_zombie",
|
|
|
+ "name": "隐身僵尸",
|
|
|
+ "type": "stealth",
|
|
|
+ "stats": {
|
|
|
+ "health": 28,
|
|
|
+ "maxHealth": 28,
|
|
|
+ "defense": 0,
|
|
|
+ "speed": 9.0,
|
|
|
+ "dropEnergy": 1
|
|
|
+ },
|
|
|
+ "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": 3.0,
|
|
|
+ "canBlock": false,
|
|
|
+ "blockChance": 0.0,
|
|
|
+ "blockDamageReduction": 0.5,
|
|
|
+ "attackCooldown": 2.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.mp3",
|
|
|
+ "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
|
|
|
+ },
|
|
|
+ "special_abilities": []
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "id": "bucket_zombie",
|
|
|
+ "name": "铁桶僵尸",
|
|
|
+ "type": "heavy_armor",
|
|
|
+ "stats": {
|
|
|
+ "health": 60,
|
|
|
+ "maxHealth": 60,
|
|
|
+ "defense": 2,
|
|
|
+ "speed": 6.0,
|
|
|
+ "dropEnergy": 1
|
|
|
+ },
|
|
|
+ "movement": {
|
|
|
+ "pattern": "direct",
|
|
|
+ "speed": 15.0,
|
|
|
+ "patrolRange": 100,
|
|
|
+ "chaseRange": 200,
|
|
|
+ "rotationSpeed": 180.0,
|
|
|
+ "moveType": "straight",
|
|
|
+ "swingAmplitude": 0.0,
|
|
|
+ "swingFrequency": 0.0,
|
|
|
+ "speedVariation": 0.1
|
|
|
+ },
|
|
|
+ "combat": {
|
|
|
+ "attackDamage": 2,
|
|
|
+ "attackRange": 30.0,
|
|
|
+ "attackSpeed": 3.0,
|
|
|
+ "canBlock": false,
|
|
|
+ "blockChance": 0.0,
|
|
|
+ "blockDamageReduction": 0.5,
|
|
|
+ "attackCooldown": 2.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
|
|
|
+ },
|
|
|
+ "special_abilities": []
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "id": "barrel_zombie",
|
|
|
+ "name": "火药桶僵尸",
|
|
|
+ "type": "explosive",
|
|
|
+ "stats": {
|
|
|
+ "health": 30,
|
|
|
+ "maxHealth": 30,
|
|
|
+ "defense": 0,
|
|
|
+ "speed": 10.0,
|
|
|
+ "dropEnergy": 1
|
|
|
+ },
|
|
|
+ "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": 2,
|
|
|
+ "attackRange": 30.0,
|
|
|
+ "attackSpeed": 3.0,
|
|
|
+ "canBlock": false,
|
|
|
+ "blockChance": 0.0,
|
|
|
+ "blockDamageReduction": 0.5,
|
|
|
+ "attackCooldown": 2.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.mp3",
|
|
|
+ "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
|
|
|
+ },
|
|
|
+ "special_abilities": []
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "id": "boss1_gatekeeper",
|
|
|
+ "name": "BOSS1",
|
|
|
+ "type": "boss",
|
|
|
+ "stats": {
|
|
|
+ "health": 1500,
|
|
|
+ "maxHealth": 1500,
|
|
|
+ "defense": 2,
|
|
|
+ "speed": 4.0,
|
|
|
+ "dropEnergy": 1
|
|
|
+ },
|
|
|
+ "movement": {
|
|
|
+ "pattern": "direct",
|
|
|
+ "speed": 10.0,
|
|
|
+ "patrolRange": 100,
|
|
|
+ "chaseRange": 200,
|
|
|
+ "rotationSpeed": 180.0,
|
|
|
+ "moveType": "straight",
|
|
|
+ "swingAmplitude": 0.0,
|
|
|
+ "swingFrequency": 0.0,
|
|
|
+ "speedVariation": 0.1
|
|
|
+ },
|
|
|
+ "combat": {
|
|
|
+ "attackDamage": 3,
|
|
|
+ "attackRange": 30.0,
|
|
|
+ "attackSpeed": 4.0,
|
|
|
+ "canBlock": false,
|
|
|
+ "blockChance": 0.0,
|
|
|
+ "blockDamageReduction": 0.5,
|
|
|
+ "attackCooldown": 3.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.mp3",
|
|
|
+ "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
|
|
|
+ },
|
|
|
+ "special_abilities": [
|
|
|
+ {
|
|
|
+ "type": "charge_attack",
|
|
|
+ "damage": 1,
|
|
|
+ "range": 150,
|
|
|
+ "cooldown": 8
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "type": "area_attack",
|
|
|
+ "damage": 2,
|
|
|
+ "range": 100,
|
|
|
+ "cooldown": 12
|
|
|
+ }
|
|
|
+ ]
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "id": "boss2_gravedigger",
|
|
|
+ "name": "BOSS2",
|
|
|
+ "type": "boss",
|
|
|
+ "stats": {
|
|
|
+ "health": 1500,
|
|
|
+ "maxHealth": 1500,
|
|
|
+ "defense": 3,
|
|
|
+ "speed": 4.0,
|
|
|
+ "dropEnergy": 1
|
|
|
+ },
|
|
|
+ "movement": {
|
|
|
+ "pattern": "direct",
|
|
|
+ "speed": 10.0,
|
|
|
+ "patrolRange": 100,
|
|
|
+ "chaseRange": 200,
|
|
|
+ "rotationSpeed": 180.0,
|
|
|
+ "moveType": "straight",
|
|
|
+ "swingAmplitude": 0.0,
|
|
|
+ "swingFrequency": 0.0,
|
|
|
+ "speedVariation": 0.1
|
|
|
+ },
|
|
|
+ "combat": {
|
|
|
+ "attackDamage": 3,
|
|
|
+ "attackRange": 30.0,
|
|
|
+ "attackSpeed": 4.0,
|
|
|
+ "canBlock": false,
|
|
|
+ "blockChance": 0.0,
|
|
|
+ "blockDamageReduction": 0.5,
|
|
|
+ "attackCooldown": 3.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.mp3",
|
|
|
+ "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
|
|
|
+ },
|
|
|
+ "special_abilities": [
|
|
|
+ {
|
|
|
+ "type": "charge_attack",
|
|
|
+ "damage": 1,
|
|
|
+ "range": 150,
|
|
|
+ "cooldown": 8
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "type": "area_attack",
|
|
|
+ "damage": 2,
|
|
|
+ "range": 100,
|
|
|
+ "cooldown": 12
|
|
|
+ }
|
|
|
+ ]
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "id": "boss3_cyborg",
|
|
|
+ "name": "BOSS3",
|
|
|
+ "type": "boss",
|
|
|
+ "stats": {
|
|
|
+ "health": 1000,
|
|
|
+ "maxHealth": 1000,
|
|
|
+ "defense": 1,
|
|
|
+ "speed": 5.0,
|
|
|
+ "dropEnergy": 1
|
|
|
+ },
|
|
|
+ "movement": {
|
|
|
+ "pattern": "direct",
|
|
|
+ "speed": 10.0,
|
|
|
+ "patrolRange": 100,
|
|
|
+ "chaseRange": 200,
|
|
|
+ "rotationSpeed": 180.0,
|
|
|
+ "moveType": "straight",
|
|
|
+ "swingAmplitude": 0.0,
|
|
|
+ "swingFrequency": 0.0,
|
|
|
+ "speedVariation": 0.1
|
|
|
+ },
|
|
|
+ "combat": {
|
|
|
+ "attackDamage": 3,
|
|
|
+ "attackRange": 80.0,
|
|
|
+ "attackSpeed": 4.0,
|
|
|
+ "canBlock": false,
|
|
|
+ "blockChance": 0.0,
|
|
|
+ "blockDamageReduction": 0.5,
|
|
|
+ "attackCooldown": 3.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.mp3",
|
|
|
+ "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
|
|
|
+ },
|
|
|
+ "special_abilities": [
|
|
|
+ {
|
|
|
+ "type": "charge_attack",
|
|
|
+ "damage": 1,
|
|
|
+ "range": 150,
|
|
|
+ "cooldown": 8
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "type": "area_attack",
|
|
|
+ "damage": 2,
|
|
|
+ "range": 100,
|
|
|
+ "cooldown": 12
|
|
|
+ }
|
|
|
+ ]
|
|
|
+ }
|
|
|
+]
|