godot-shooter / commit
Fixed issue where teleported bombs were creating explosions in their original location.
items/PowerUp.gd | 4 ++-- scenes/World.gd | 12 ++++++------ 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/items/PowerUp.gd b/items/PowerUp.gd index 3d23ef8..8e0d75e 100644 --- a/items/PowerUp.gd +++ b/items/PowerUp.gd @@ -4,7 +4,7 @@ class_name PowerUp export var label = "+SP" export var color = Color.gold var data -signal consumed +signal consumed(power_up) const Utils = preload("res://utils/Utils.gd") func _ready() -> void: @@ -17,4 +17,4 @@ func _on_Area2D_body_entered(body: Node) -> void: var player = players[0] if body == player: $AnimationPlayer.play("fade_out") - emit_signal("consumed", data) + emit_signal("consumed", self) diff --git a/scenes/World.gd b/scenes/World.gd index 5173e13..9a7513a 100644 --- a/scenes/World.gd +++ b/scenes/World.gd @@ -26,24 +26,25 @@ var is_dragging = false func enemy_killed(_position: Vector2): player.score += 5 -func health_consumed(_data): +func health_consumed(_power_up): player.heal(20) player.score += 1 -func gold_consumed(_data): +func gold_consumed(_power_up): completed_objectives += 1 var points = 5 * (completed_objectives+1) player.score += points player.show_message("+%d points" % points) player.health = player.max_health -func weapon_consumed(data): +func weapon_consumed(power_up): + var data = power_up.data var weapon: Weapon = data var is_same_weapon = player.weapon.name == weapon.name if is_same_weapon && weapon.ammo != INF: player.weapon.ammo += player.weapon.reload_size else: player.weapon = weapon -func bomb_consumed(data): - var pos: Vector2 = data +func bomb_consumed(power_up): + var pos: Vector2 = power_up.global_position var bomb = Bomb.instance() environment_node.call_deferred("add_child",bomb) bomb.position = pos @@ -67,7 +68,6 @@ func create_bomb() -> PowerUp: bomb.connect("consumed", self, "bomb_consumed") bomb.label = "BOMB" bomb.color = Color.purple - bomb.data = pos return bomb func create_gold(pos: Vector2 = get_new_environment_position(1 + randf())) -> PowerUp: var gold = PowerUp.instance()