aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornokoe <nokoe@mailbox.org>2024-06-23 15:21:53 +0200
committermetamuffin <metamuffin@disroot.org>2024-06-23 19:32:56 +0200
commitf01b67030386f2d85df5d5fd6487ca5277bd7e83 (patch)
treea5fede105580fe3fe6c89c06343b5a6d75371e4b
parentd55a419ed26db4213b18424fbaae7fff182eb2ae (diff)
downloadhurrycurry-f01b67030386f2d85df5d5fd6487ca5277bd7e83.tar
hurrycurry-f01b67030386f2d85df5d5fd6487ca5277bd7e83.tar.bz2
hurrycurry-f01b67030386f2d85df5d5fd6487ca5277bd7e83.tar.zst
stop when interacting, error
-rw-r--r--client/scripts/controllable_player.gd9
-rw-r--r--client/scripts/multiplayer.gd7
-rw-r--r--client/scripts/tiles/floor.gd4
3 files changed, 14 insertions, 6 deletions
diff --git a/client/scripts/controllable_player.gd b/client/scripts/controllable_player.gd
index fa22ba02..12925f60 100644
--- a/client/scripts/controllable_player.gd
+++ b/client/scripts/controllable_player.gd
@@ -20,11 +20,13 @@ func _ready():
func _process(delta):
var input = Vector2(Input.get_axis("left", "right"), Input.get_axis("forward", "backwards")).normalized()
input = input.rotated(-game.camera.angle_target)
- update(delta, input)
position_anim = position_
rotation_anim = rotation_
if not Input.is_action_pressed("interact")||Input.is_action_just_pressed("interact"):
interact()
+ else:
+ input *= 0
+ update(delta, input)
super(delta)
func update(dt: float, input: Vector2):
@@ -66,8 +68,9 @@ func collide(dt: float):
func aabb_point_distance(mi: Vector2, ma: Vector2, p: Vector2) -> float:
return (p - p.clamp(mi, ma)).length()
-func update_position(_new_position: Vector2, _new_rotation: float):
- pass
+func update_position(new_position: Vector2, _new_rotation: float):
+ if (new_position - position_).length() > 3.:
+ position_ = new_position
func interact():
var target = Vector2i(
diff --git a/client/scripts/multiplayer.gd b/client/scripts/multiplayer.gd
index 3d360cf8..1645ab45 100644
--- a/client/scripts/multiplayer.gd
+++ b/client/scripts/multiplayer.gd
@@ -130,6 +130,9 @@ func handle_packet(bytes: PackedByteArray):
push_error("neither text nor item provided")
else:
emit_signal("clear_message", player)
+ "error":
+ var message = decoded["message"]
+ push_warning("server error: %s" % message)
_:
push_error("Unrecognized packet type: %s" % packet_type)
@@ -175,11 +178,11 @@ func pos_to_vec2i(pos: Array) -> Vector2i:
return Vector2i(pos[0], pos[1])
func get_tile_collision(pos: Vector2i) -> bool:
- var t = tileid_by_pos[str(pos)]
+ var t = tileid_by_pos.get(str(pos))
if t == null: return false
else: return tile_collide[t]
func get_tile_interactive(pos: Vector2i) -> bool:
- var t = tileid_by_pos[str(pos)]
+ var t = tileid_by_pos.get(str(pos))
if t == null: return false
else: return tile_interact[t]
diff --git a/client/scripts/tiles/floor.gd b/client/scripts/tiles/floor.gd
index ba352bde..f7c39244 100644
--- a/client/scripts/tiles/floor.gd
+++ b/client/scripts/tiles/floor.gd
@@ -13,7 +13,9 @@ enum Facing {
}
func _init(rename: String, _neighbors: Array):
- add_child(load("res://models/prefabs/map/floor_kitchen_small.tscn").instantiate())
+ var floor_tile = load("res://models/prefabs/map/floor_kitchen_small.tscn").instantiate()
+ floor_tile.position += Vector3(0.5, 0, 0.5)
+ add_child(floor_tile)
base.name = "Base"
base.position += Vector3(0.5, 0, 0.5)
add_child(base)