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")
|
@warning_ignore("unsafe_cast")
|
||||||
inventory.assign(data["inventory"] as Dictionary)
|
inventory.assign(state["inventory"] as Dictionary)
|
||||||
#endregion
|
#endregion
|
||||||
|
@ -76,15 +76,15 @@ func on_alert_raised(new_level: int) -> void:
|
|||||||
|
|
||||||
|
|
||||||
func on_alert_cleared() -> void:
|
func on_alert_cleared() -> void:
|
||||||
# Destroy all but one grunk beasts
|
# Destroy all grunk beasts
|
||||||
var beasts := World.instance.get_tree().get_nodes_in_group(BEAST_GROUP)
|
for b: Node in World.instance.get_tree().get_nodes_in_group(BEAST_GROUP):
|
||||||
if not beasts:
|
b.queue_free()
|
||||||
return
|
|
||||||
|
|
||||||
@warning_ignore("unsafe_cast")
|
# And spawn one back in, if needed
|
||||||
var survivor := beasts.pick_random() as GrunkBeast
|
if World.instance.manager.alert_level >= 2:
|
||||||
for beast: Node in beasts:
|
spawn_beast()
|
||||||
if beast != survivor:
|
|
||||||
beast.queue_free()
|
|
||||||
|
|
||||||
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:
|
if save:
|
||||||
save.load_to_world(self)
|
save.load_to_world(self)
|
||||||
print("Done!")
|
print("Done!")
|
||||||
|
spook_manager.after_level_init()
|
||||||
|
|
||||||
|
|
||||||
func on_player_death() -> void:
|
func on_player_death() -> void:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user