aboutsummaryrefslogtreecommitdiff
path: root/client/player
diff options
context:
space:
mode:
authormetamuffin <metamuffin@disroot.org>2024-07-02 14:57:33 +0200
committermetamuffin <metamuffin@disroot.org>2024-07-02 14:57:33 +0200
commitaf9c45741e82241fb137842d3609073ea57536ab (patch)
tree9e10a788ba67a64aef8a6981bd7628ca2079f49e /client/player
parentf15d6305a7f70e34ba1e5484d4f185d844cc3aaa (diff)
parentf2d84a447a21bfd2776d59cddfd831535c38f7f2 (diff)
downloadhurrycurry-af9c45741e82241fb137842d3609073ea57536ab.tar
hurrycurry-af9c45741e82241fb137842d3609073ea57536ab.tar.bz2
hurrycurry-af9c45741e82241fb137842d3609073ea57536ab.tar.zst
Merge branch 'master' of https://codeberg.org/metamuffin/undercooked
Diffstat (limited to 'client/player')
-rw-r--r--client/player/controllable_player.gd4
-rw-r--r--client/player/player.gd14
2 files changed, 16 insertions, 2 deletions
diff --git a/client/player/controllable_player.gd b/client/player/controllable_player.gd
index 31378f3f..67c6db63 100644
--- a/client/player/controllable_player.gd
+++ b/client/player/controllable_player.gd
@@ -138,9 +138,9 @@ func interact():
game.marker.visible = true
game.marker_target = tile.item_base.global_position
if Input.is_action_just_pressed("interact"):
- game.mp.send_interact(target, true)
+ game.mp.send_tile_interact(target, true)
tile.interact()
elif Input.is_action_just_released("interact"):
- game.mp.send_interact(target, false)
+ game.mp.send_tile_interact(target, false)
else:
game.marker.visible = false
diff --git a/client/player/player.gd b/client/player/player.gd
index 1df80d94..301f7945 100644
--- a/client/player/player.gd
+++ b/client/player/player.gd
@@ -87,6 +87,14 @@ func remove_item() -> Item:
character.holding = false
return i
+func progress(p: float, warn: bool):
+ if hand != null:
+ hand.progress(p, warn)
+
+func finish(warn: bool):
+ if hand != null:
+ hand.finish(warn)
+
func take_item(tile: Tile):
if hand != null:
push_error("already holding an item")
@@ -99,6 +107,12 @@ func put_item(tile: Tile):
i.put()
tile.put_item(i)
+func pass_to(player: Player):
+ var i = remove_item()
+ if player.hand != null:
+ push_error("target is already holding an item")
+ player.set_item(i)
+
func _process(delta):
_anim_angle = fmod(_anim_angle + delta, TAU)
hand_base.position.y = HAND_BASE_POSITION.y + 0.05 * sin(_anim_angle * 3)