generated from krampus/template-godot4
Monster respawns when loading save
This commit is contained in:
parent
f560b88de8
commit
656e1d26bb
@ -275,7 +275,7 @@ func serialize() -> Dictionary:
|
||||
}
|
||||
|
||||
|
||||
func deserialize(data: Dictionary) -> void:
|
||||
func deserialize(state: Dictionary) -> void:
|
||||
@warning_ignore("unsafe_cast")
|
||||
inventory.assign(data["inventory"] as Dictionary)
|
||||
inventory.assign(state["inventory"] as Dictionary)
|
||||
#endregion
|
||||
|
@ -76,15 +76,15 @@ func on_alert_raised(new_level: int) -> void:
|
||||
|
||||
|
||||
func on_alert_cleared() -> void:
|
||||
# Destroy all but one grunk beasts
|
||||
var beasts := World.instance.get_tree().get_nodes_in_group(BEAST_GROUP)
|
||||
if not beasts:
|
||||
return
|
||||
# Destroy all grunk beasts
|
||||
for b: Node in World.instance.get_tree().get_nodes_in_group(BEAST_GROUP):
|
||||
b.queue_free()
|
||||
|
||||
@warning_ignore("unsafe_cast")
|
||||
var survivor := beasts.pick_random() as GrunkBeast
|
||||
for beast: Node in beasts:
|
||||
if beast != survivor:
|
||||
beast.queue_free()
|
||||
# And spawn one back in, if needed
|
||||
if World.instance.manager.alert_level >= 2:
|
||||
spawn_beast()
|
||||
|
||||
survivor.clear_aggro()
|
||||
|
||||
## Set the state of spooky effects after a level is initialized & any save state is loaded.
|
||||
func after_level_init() -> void:
|
||||
on_alert_cleared()
|
||||
|
@ -58,6 +58,7 @@ func load_level(level: PackedScene, save: SaveState = null) -> void:
|
||||
if save:
|
||||
save.load_to_world(self)
|
||||
print("Done!")
|
||||
spook_manager.after_level_init()
|
||||
|
||||
|
||||
func on_player_death() -> void:
|
||||
|
Loading…
x
Reference in New Issue
Block a user