diff --git a/data/bosses.json b/data/bosses.json new file mode 100644 index 0000000..da05832 --- /dev/null +++ b/data/bosses.json @@ -0,0 +1,67 @@ +{ + "4": { + "move_speed": 120.0, + "phases": [ + { + "hp_threshold": 1.0, + "move_speed_mult": 1.0, + "summon_adds": 0, + "attack_patterns": [ + { "kind": "spread", "count": 5, "half_angle": 35.0, "speed": 220.0, "bullet_damage": 8.0, "bullet_radius": 8.0, "lifetime": 4.0, "cooldown": 2.4 }, + { "kind": "ring", "count": 14, "speed": 180.0, "bullet_damage": 7.0, "bullet_radius": 8.0, "lifetime": 4.0, "cooldown": 2.8 } + ] + }, + { + "hp_threshold": 0.66, + "move_speed_mult": 1.2, + "summon_adds": 6, + "attack_patterns": [ + { "kind": "dash", "windup": 0.8, "dash_speed": 620.0, "dash_time": 0.5, "contact_radius": 44.0, "contact_damage": 15.0, "contact_hit_cd": 0.4, "recover": 0.7, "telegraph_vfx": "hit_spark", "cooldown": 2.2 }, + { "kind": "spiral", "count": 6, "angle_step": 18.0, "speed": 200.0, "bullet_damage": 7.0, "bullet_radius": 8.0, "lifetime": 4.0, "cooldown": 2.0 } + ] + }, + { + "hp_threshold": 0.33, + "move_speed_mult": 1.5, + "summon_adds": 8, + "attack_patterns": [ + { "kind": "charge_up", "windup": 1.0, "release_kind": "ring", "count": 24, "speed": 220.0, "bullet_damage": 9.0, "bullet_radius": 9.0, "lifetime": 5.0, "recover": 0.8, "telegraph_vfx": "hit_spark", "cooldown": 2.6 }, + { "kind": "melee", "windup": 0.6, "melee_radius": 100.0, "melee_damage": 20.0, "recover": 0.5, "telegraph_vfx": "hit_spark", "cooldown": 2.0 } + ] + } + ] + }, + "5": { + "move_speed": 80.0, + "phases": [ + { + "hp_threshold": 1.0, + "move_speed_mult": 1.0, + "summon_adds": 0, + "attack_patterns": [ + { "kind": "spiral", "count": 8, "angle_step": 12.0, "speed": 190.0, "bullet_damage": 8.0, "bullet_radius": 8.0, "lifetime": 5.0, "cooldown": 1.8 }, + { "kind": "ring", "count": 20, "speed": 170.0, "bullet_damage": 8.0, "bullet_radius": 8.0, "lifetime": 5.0, "cooldown": 2.4 } + ] + }, + { + "hp_threshold": 0.66, + "move_speed_mult": 1.1, + "summon_adds": 6, + "attack_patterns": [ + { "kind": "dash", "windup": 0.7, "dash_speed": 680.0, "dash_time": 0.55, "contact_radius": 48.0, "contact_damage": 18.0, "contact_hit_cd": 0.4, "recover": 0.7, "telegraph_vfx": "hit_spark", "cooldown": 2.0 }, + { "kind": "spread", "count": 7, "half_angle": 45.0, "speed": 210.0, "bullet_damage": 8.0, "bullet_radius": 8.0, "lifetime": 5.0, "cooldown": 2.2 } + ] + }, + { + "hp_threshold": 0.33, + "move_speed_mult": 1.3, + "summon_adds": 10, + "attack_patterns": [ + { "kind": "charge_up", "windup": 1.1, "release_kind": "ring", "count": 32, "speed": 230.0, "bullet_damage": 10.0, "bullet_radius": 9.0, "lifetime": 6.0, "recover": 0.9, "telegraph_vfx": "hit_spark", "cooldown": 2.8 }, + { "kind": "melee", "windup": 0.6, "melee_radius": 120.0, "melee_damage": 25.0, "recover": 0.5, "telegraph_vfx": "hit_spark", "cooldown": 1.8 }, + { "kind": "spiral", "count": 10, "angle_step": 20.0, "speed": 200.0, "bullet_damage": 9.0, "bullet_radius": 8.0, "lifetime": 6.0, "cooldown": 1.6 } + ] + } + ] + } +}