This commit is contained in:
Georgiy Gorin
2026-04-23 16:27:03 +03:00
8 changed files with 246 additions and 10 deletions
+6 -6
View File
@@ -177,7 +177,8 @@ func _on_stick_destroyed() -> void:
return
if sticks_on_field + sticks_pending < STICK_LIMIT:
sticks_pending += 1
await get_tree().create_timer(10.0).timeout
await get_tree().create_timer(GameSettings.item_respawn_delay).timeout
sticks_pending -= 1
if game_active:
_spawn_single_stick()
@@ -213,7 +214,7 @@ func _on_rock_destroyed() -> void:
return
if rocks_on_field + rocks_pending < _get_rock_limit():
rocks_pending += 1
await get_tree().create_timer(10.0).timeout
await get_tree().create_timer(GameSettings.item_respawn_delay).timeout
rocks_pending -= 1
if game_active:
_spawn_single_rock()
@@ -244,7 +245,7 @@ func _start_game() -> void:
Enemy.first_iron_spawned = false
Enemy.first_essence_spawned = false
_update_labels()
spawn_timer.wait_time = 1.4
spawn_timer.wait_time = GameSettings.enemy_spawn_interval
spawn_timer.connect("timeout", _on_spawn_timer)
spawn_timer.start()
@@ -252,7 +253,7 @@ func _on_spawn_timer() -> void:
if not game_active or upgrading:
return
_spawn_enemy()
spawn_timer.wait_time = SPAWN_TIME # max(0.25, 1.4 - wave * 0.07)
spawn_timer.wait_time = GameSettings.enemy_spawn_interval
func _spawn_enemy() -> void:
var enemy := ENEMY_SCENE.instantiate() as CharacterBody3D
@@ -306,6 +307,7 @@ func _spawn_upgraded_enemy(pos: Vector3, type: String, level: int, w: int) -> Ch
enemy.kick_tier = level
enemy.toughness_tier = level
enemy.call("_update_label")
enemy.call("_apply_mesh", level)
enemy.global_position = pos
enemy.connect("died", _on_enemy_died)
enemy.connect("merged", _on_enemy_merged)
@@ -318,8 +320,6 @@ func _spawn_upgraded_enemy(pos: Vector3, type: String, level: int, w: int) -> Ch
var old_size: Vector3 = s3d.size
col_shape.shape = BoxShape3D.new()
(col_shape.shape as BoxShape3D).size = old_size * s
var color := Color(1.0, 1.0, 0.5) if level > 2 else Color(1.0, 0.9, 0.3)
tw.tween_property(enemy.mat, "albedo_color", color, 0.25)
if level >= 3 and not first_boss_spawned:
first_boss_spawned = true
_start_boss_phase()