diff options
Diffstat (limited to 'client/game.gd')
| -rw-r--r-- | client/game.gd | 15 | 
1 files changed, 14 insertions, 1 deletions
| diff --git a/client/game.gd b/client/game.gd index e769f01c..621a05af 100644 --- a/client/game.gd +++ b/client/game.gd @@ -277,7 +277,13 @@ func handle_packet(p):  					menu.submenu("res://menu/rating/rating.tscn", [p.data.stars, p.data.score])  		"server_message":  			var message = p["message"] -			popup_message.display_server_msg(message) +			var message_str := get_message_str(message)			 +			if error: +				# TODO: Custom popup message style for errors +				popup_message.display_server_msg(message_str) +				push_error("Server error: %s" % message_str) +			else: +				popup_message.display_server_msg(message_str)  		"environment":  			$Environment.update(p["effects"])  		"replay_start": @@ -299,6 +305,13 @@ func _process(delta):  	if is_replay and mp != null:  		mp.send_replay_tick(delta) +func get_message_str(m: Dictionary) -> String: +	if "text" in m: return m.text +	if "translation" in m: return tr(m.translation.id) % m.translation.params.map(get_message_str) +	if "tile" in m: return tile_names[m.tile] +	if "item" in m: return item_names[m.item] +	return "[unknown message type]" +  func get_tile_collision(pos: Vector2i) -> bool:  	var t = map.get_tile_name(pos)  	if t == null: return true | 
