From c5a54977acebee6da8d66e29077e0f9370169fb4 Mon Sep 17 00:00:00 2001 From: Felipe M Date: Sat, 22 May 2021 18:43:03 +0200 Subject: [PATCH] fixes --- metroidvania/Levels/Level.gd | 1 - metroidvania/Scenes/Objects/SaveStation.gd | 2 +- metroidvania/Scenes/Player/MissilesPowerup.gd | 1 + metroidvania/Scenes/Player/Player.gd | 12 +++++++++++- metroidvania/Scenes/Player/PlayerStats.gd | 2 +- metroidvania/Scenes/World/Camera.gd | 2 +- metroidvania/Scenes/World/Trigger.gd | 2 +- 7 files changed, 16 insertions(+), 6 deletions(-) diff --git a/metroidvania/Levels/Level.gd b/metroidvania/Levels/Level.gd index 936b00a..d82984b 100644 --- a/metroidvania/Levels/Level.gd +++ b/metroidvania/Levels/Level.gd @@ -7,7 +7,6 @@ func _ready(): if parent is WORLD: parent.currentLevel = self - func save(): var data = { "filename": get_filename(), diff --git a/metroidvania/Scenes/Objects/SaveStation.gd b/metroidvania/Scenes/Objects/SaveStation.gd index abeb4c6..feec054 100644 --- a/metroidvania/Scenes/Objects/SaveStation.gd +++ b/metroidvania/Scenes/Objects/SaveStation.gd @@ -2,6 +2,6 @@ extends StaticBody2D onready var animation = $Animation -func _on_SaveArea_body_entered(body): +func _on_SaveArea_body_entered(_body): animation.play("Save") SaverLoader.save_game() diff --git a/metroidvania/Scenes/Player/MissilesPowerup.gd b/metroidvania/Scenes/Player/MissilesPowerup.gd index fc1a483..c363505 100644 --- a/metroidvania/Scenes/Player/MissilesPowerup.gd +++ b/metroidvania/Scenes/Player/MissilesPowerup.gd @@ -2,4 +2,5 @@ extends Powerup func _pickup(): PlayerStats.missiles_unlocked = true + PlayerStats.missiles += 1 queue_free() diff --git a/metroidvania/Scenes/Player/Player.gd b/metroidvania/Scenes/Player/Player.gd index 6b710f1..124bd20 100644 --- a/metroidvania/Scenes/Player/Player.gd +++ b/metroidvania/Scenes/Player/Player.gd @@ -57,7 +57,17 @@ func assign_world_camera(): cameraFollow.remote_path = MainInstances.WorldCamera.get_path() func _exit_tree(): - MainInstances.Player = null + # We need to check if the player in maininstances is this player instance, + # it could be a loaded player and this call is made after the new player + # is instanced and set in the MainInstances, so the new player is there and + # we set it to null, breaking the game. + if MainInstances.Player == self: + MainInstances.Player = null + +# This is another solution to the above problem +# func queue_free(): +# MainInstances.Player = null +# .queue_free() func _physics_process(delta): just_jumped = false diff --git a/metroidvania/Scenes/Player/PlayerStats.gd b/metroidvania/Scenes/Player/PlayerStats.gd index 47d9685..f217254 100644 --- a/metroidvania/Scenes/Player/PlayerStats.gd +++ b/metroidvania/Scenes/Player/PlayerStats.gd @@ -5,7 +5,7 @@ var max_health = 4 var health = max_health setget set_health var missiles_unlocked = false setget set_missiles_unlocked var max_missiles = 3 -var missiles = max_missiles setget set_missiles +var missiles = 0 setget set_missiles signal player_health_changed(value) signal player_missiles_unlocked(value) diff --git a/metroidvania/Scenes/World/Camera.gd b/metroidvania/Scenes/World/Camera.gd index a716934..ed3b359 100644 --- a/metroidvania/Scenes/World/Camera.gd +++ b/metroidvania/Scenes/World/Camera.gd @@ -13,7 +13,7 @@ func _ready(): func _exit_tree(): MainInstances.WorldCamera = null -func _process(delta): +func _process(_delta): offset_h = rand_range(-shake, shake) offset_v = rand_range(-shake, shake) diff --git a/metroidvania/Scenes/World/Trigger.gd b/metroidvania/Scenes/World/Trigger.gd index f1b0e82..d72ef57 100644 --- a/metroidvania/Scenes/World/Trigger.gd +++ b/metroidvania/Scenes/World/Trigger.gd @@ -5,7 +5,7 @@ signal triggered var enabled = true -func _on_Trigger_body_entered(body): +func _on_Trigger_body_entered(_body): if enabled: emit_signal("triggered") enabled = false