death count

This commit is contained in:
Haze Weathers 2023-06-30 13:46:39 -04:00
parent 11286539c6
commit 5748c48c71
2 changed files with 21 additions and 1 deletions

View file

@ -83,6 +83,12 @@ func change_map(map: PackedScene):
Fade.fade_out(0.4)
yield(Fade, "fade_finished")
can_pause = true
# save deaths
var save_id = LevelData.levels[current_level].save_id
var save_data: Save.LevelSaveData = Save.current_file.levels[save_id]
save_data.deaths += deaths
Save.current_file.save_to_file()
# clear
clear_collectibles()
#Loop is so no more than one level is loaded at a time
SceneManager.current_scene = map.instance()
@ -169,6 +175,7 @@ func has_collection_bonus():
# called when player dies
func _on_player_died() -> void:
deaths += 1
if lives <= 0 and use_lives:
Audio.play_sound(Audio.a_gover, Audio.ac_die)
get_tree().get_nodes_in_group("player")[0].queue_free()
@ -181,7 +188,6 @@ func _on_player_died() -> void:
else:
# count death
lives -= 1
deaths += 1
# play death sound
Audio.play_sound(Audio.a_die, Audio.ac_die)
# death score penalty

View file

@ -10,9 +10,12 @@ class LevelSaveData:
var time_any: float = INF
var time_100: float = INF
var deaths: int
var keys_collected: int = 0
var shards_collected: Array
func _init(id: String) -> void:
save_id = id
shards_collected = []
@ -28,6 +31,8 @@ class LevelSaveData:
# set times
file.set_value(save_id, "time_any", time_any)
file.set_value(save_id, "time_100", time_100)
# set deaths
file.set_value(save_id, "deaths", deaths)
# set collected keys
file.set_value(save_id, "keys", keys_collected)
# set collected shards
@ -42,6 +47,8 @@ class LevelSaveData:
# get times
time_any = file.get_value(save_id, "time_any", INF)
time_100 = file.get_value(save_id, "time_100", INF)
# get deaths
deaths = file.get_value(save_id, "deaths", 0)
# get collected keys
keys_collected = file.get_value(save_id, "keys", keys_collected)
# get collected shards
@ -80,6 +87,13 @@ class SaveFile:
total += level.keys_collected
return total
# return total number of deaths
func get_total_deaths() -> int:
var total = 0
for level in levels.values():
total += level.deaths
return total
func load_from_file() -> void:
var file = ConfigFile.new()
file.load(file_path)