Wave escalation and the Snippest boss
Escalation (EnemySpawner exports, all tunable): - Wave size grows +1 enemy per wave, capped at 20 - Enemy health +15% and damage +10% per wave, applied identically on every peer via the spawn RPC before _ready (so hitbox stats and current_health pick them up) Boss milestone every 5th wave: the Snippest - the basic lobster at 5x scale and 5x combat stats (50 HP, 25 damage, 5x knockback and reach). Movement deliberately not 5x (1.2x - it lumbers). Pays 250 gold and always drops a health orb. Wave escalation multipliers stack on top, so later bosses keep scaling. Boss scene instances basic_enemy.tscn with the BossLobster script; visual/collision children are scaled uniformly in code (not the CharacterBody3D root, not shared shape resources).
This commit is contained in:
@@ -1,7 +1,8 @@
|
||||
[gd_scene load_steps=4 format=3 uid="uid://blm8lav3xh2yw"]
|
||||
[gd_scene load_steps=5 format=3 uid="uid://blm8lav3xh2yw"]
|
||||
|
||||
[ext_resource type="Script" path="res://level/scripts/enemy_spawner.gd" id="1_spawner"]
|
||||
[ext_resource type="PackedScene" uid="uid://byknup31d2b53" path="res://level/scenes/enemies/basic_enemy.tscn" id="2_basic_enemy"]
|
||||
[ext_resource type="PackedScene" path="res://level/scenes/enemies/boss_lobster.tscn" id="3_boss"]
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_indicator"]
|
||||
albedo_color = Color(1, 0.5, 0, 0.3)
|
||||
@@ -17,6 +18,7 @@ enemies_per_wave = 10
|
||||
auto_start_next_wave = false
|
||||
wave_delay = 5.0
|
||||
enemy_scenes = Array[PackedScene]([ExtResource("2_basic_enemy")])
|
||||
boss_scene = ExtResource("3_boss")
|
||||
|
||||
[node name="SpawnRadiusIndicator" type="MeshInstance3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.1, 0)
|
||||
|
||||
Reference in New Issue
Block a user