aboutsummaryrefslogtreecommitdiff
path: root/client/multiplayer.gd
diff options
context:
space:
mode:
Diffstat (limited to 'client/multiplayer.gd')
-rw-r--r--client/multiplayer.gd18
1 files changed, 12 insertions, 6 deletions
diff --git a/client/multiplayer.gd b/client/multiplayer.gd
index 6ea36595..68c0c0f3 100644
--- a/client/multiplayer.gd
+++ b/client/multiplayer.gd
@@ -28,8 +28,9 @@ signal data(
signal set_tile(tile: Vector2i, kind: int, neighbors: Array)
signal remove_tile(tile: Vector2i)
signal clear_message(player: int)
-signal text_message(player: int, text: String)
-signal item_message(player: int, item: int)
+signal text_message(player: int, text: String, persist: bool)
+signal item_message(player: int, item: int, persist: bool)
+signal effect_message(player: int, effect: String, persist: bool)
signal add_player(player: int, name: String, pos: Vector2, character: int)
signal remove_player(player: int)
signal position(player: int, position: Vector2, rotation: float)
@@ -153,17 +154,21 @@ func handle_packet(bytes: PackedByteArray):
else:
emit_signal("remove_tile", tile)
"communicate":
- var player = decoded["player"]
+ var player: int = decoded["player"]
var message = decoded.get("message")
+ var persist: bool = decoded["persist"]
if message != null:
var item = message.get("item")
var text = message.get("text")
+ var effect = message.get("effect")
if item != null:
- emit_signal("item_message", player, item)
+ emit_signal("item_message", player, item, persist)
elif text != null:
- emit_signal("text_message", player, text)
+ emit_signal("text_message", player, text, persist)
+ elif effect != null:
+ emit_signal("effect_message", player, effect, persist)
else:
- push_error("neither text nor item provided")
+ push_error("neither text, item nor effect provided")
else:
emit_signal("clear_message", player)
"set_ingame":
@@ -204,6 +209,7 @@ func send_interact(pos: Vector2i, edge: bool):
func send_chat(message: String):
send_packet({
"type": "communicate",
+ "persist": false,
"message": {
"text": message
}