aboutsummaryrefslogtreecommitdiff
path: root/client/player
diff options
context:
space:
mode:
authormetamuffin <metamuffin@disroot.org>2025-09-30 02:08:54 +0200
committermetamuffin <metamuffin@disroot.org>2025-09-30 02:08:54 +0200
commitd2c793ec7632a5da8065fd52436cfd676cc96a7b (patch)
tree3868f0f858bc9766925723b6479315bacde4b040 /client/player
parent5033c326094edc1ff4234b994e95d987cb937fc4 (diff)
downloadhurrycurry-d2c793ec7632a5da8065fd52436cfd676cc96a7b.tar
hurrycurry-d2c793ec7632a5da8065fd52436cfd676cc96a7b.tar.bz2
hurrycurry-d2c793ec7632a5da8065fd52436cfd676cc96a7b.tar.zst
Tile placeable items client side and interactable empty special case
Diffstat (limited to 'client/player')
-rw-r--r--client/player/controllable_player.gd6
-rw-r--r--client/player/player.gd4
2 files changed, 6 insertions, 4 deletions
diff --git a/client/player/controllable_player.gd b/client/player/controllable_player.gd
index deb1f089..ec547c81 100644
--- a/client/player/controllable_player.gd
+++ b/client/player/controllable_player.gd
@@ -263,7 +263,7 @@ func update_interact_target_dir():
)
var tile = game.map.get_tile_instance(target_tile)
if tile != null:
- found_interact_target = game.get_tile_interactive(target_tile)
+ found_interact_target = game.get_tile_interactive(target_tile, hand)
target_visual = tile.item_base.global_position
else:
found_interact_target = false
@@ -276,7 +276,7 @@ func update_interact_target_fps():
)
var tile = game.map.get_tile_instance(target_tile)
if tile != null:
- found_interact_target = game.get_tile_interactive(target_tile)
+ found_interact_target = game.get_tile_interactive(target_tile, hand)
target_visual = tile.item_base.global_position
else:
found_interact_target = false
@@ -307,7 +307,7 @@ func update_interact_target_dirsnap():
var offset_cursor := interact_target_i + Vector2(offset_x, offset_y)
var tile_center := Vector2(offset_cursor) + Vector2(0.5, 0.5)
- if game.get_tile_interactive(offset_cursor):
+ if game.get_tile_interactive(offset_cursor, hand):
var cursor_tile_distance := interact_target.distance_to(tile_center)
var player_tile_distance := Vector2(
movement_base.position.x - tile_center.x,
diff --git a/client/player/player.gd b/client/player/player.gd
index 0ca08742..828a4495 100644
--- a/client/player/player.gd
+++ b/client/player/player.gd
@@ -46,7 +46,7 @@ var clear_effect_timer: Timer = Timer.new()
var is_despawning: bool = false
-var hand = [null, null]
+var hand = []
var hand_base
var character_style: Dictionary
var player_class: String
@@ -69,6 +69,8 @@ func _init(_id: int, name_: String, pos: Vector2, character_style_: Dictionary,
name = name_
username = name_
+ for _x in range(Global.hand_count): hand.append(null)
+
add_child(movement_base)
movement_base.add_child(character)
position_ = pos