diff options
Diffstat (limited to 'client/scripts/controllable_player.gd')
-rw-r--r-- | client/scripts/controllable_player.gd | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/client/scripts/controllable_player.gd b/client/scripts/controllable_player.gd index 819e7a08..4cedbdbb 100644 --- a/client/scripts/controllable_player.gd +++ b/client/scripts/controllable_player.gd @@ -23,7 +23,8 @@ func _process(delta): update(delta, input) position_anim = position_ rotation_anim = rotation_ - interact() + if not Input.is_action_pressed("interact")||Input.is_action_just_pressed("interact"): + interact() super(delta) func update(dt: float, input: Vector2): @@ -75,14 +76,17 @@ func interact(): ) var tile_idx = str(target) var t: Floor = game.map.tile_by_pos.get(tile_idx) - if Input.is_action_just_pressed("interact"): - Multiplayer.send_interact(target, true) - if t != null: - t.interact() - elif Input.is_action_just_released("interact"): - Multiplayer.send_interact(target, false) if t != null: game.marker.visible = true game.marker_target = t.item_base.global_position + if Multiplayer.get_tile_interactive(target): + game.marker.set_interactive(true) + if Input.is_action_just_pressed("interact"): + Multiplayer.send_interact(target, true) + t.interact() + elif Input.is_action_just_released("interact"): + Multiplayer.send_interact(target, false) + else: + game.marker.set_interactive(false) else: game.marker.visible = false |