From 96d5da7ae8459509780e99e3e53fd146f6b055b1 Mon Sep 17 00:00:00 2001 From: Star Rauchenberger Date: Mon, 22 Sep 2025 21:50:10 -0400 Subject: [Client] Proguseful is now rainbow --- client/Archipelago/manager.gd | 31 +++++++++++++++++++++---------- 1 file changed, 21 insertions(+), 10 deletions(-) (limited to 'client/Archipelago/manager.gd') diff --git a/client/Archipelago/manager.gd b/client/Archipelago/manager.gd index c804109..608a106 100644 --- a/client/Archipelago/manager.gd +++ b/client/Archipelago/manager.gd @@ -209,8 +209,6 @@ func _process_item(item, index, from, flags, amount): if client._player_name_by_slot.has(float(from)): player_name = client._player_name_by_slot[float(from)] - var item_color = colorForItemType(flags) - var full_item_name = item_name if prog_id != null: var door = gamedata.objects.get_doors()[prog_id] @@ -218,10 +216,10 @@ func _process_item(item, index, from, flags, amount): var message if from == client._slot: - message = "Found [color=%s]%s[/color]" % [item_color, full_item_name] + message = "Found %s" % wrapInItemColorTags(full_item_name, flags) else: message = ( - "Received [color=%s]%s[/color] from %s" % [item_color, full_item_name, player_name] + "Received %s from %s" % [wrapInItemColorTags(full_item_name, flags), player_name] ) if gamedata.anti_trap_ids.has(item): @@ -267,13 +265,20 @@ func _process_message(message): if !message.has("found") || !message["found"]: global.get_node("Messages").showMessage( ( - "Hint: [color=%s]%s[/color]%s is on %s" - % [item_color, item_name, is_for, location_name] + "Hint: %s%s is on %s" + % [ + wrapInItemColorTags(item_name, message["item"]["flags"]), + is_for, + location_name + ] ) ) else: if message["receiving"] != client._slot: - var sentMsg = "Sent [color=%s]%s[/color] to %s" % [item_color, item_name, player_name] + var sentMsg = ( + "Sent %s to %s" + % [wrapInItemColorTags(item_name, message["item"]["flags"]), player_name] + ) #if _hinted_locations.has(message["item"]["location"]): # sentMsg += " ([color=#fafad2]Hinted![/color])" global.get_node("Messages").showMessage(sentMsg) @@ -298,9 +303,7 @@ func parse_printjson_for_textclient(message): if client._item_id_to_name[item_player_game].has(int(message_part["text"])): item_name = client._item_id_to_name[item_player_game][int(message_part["text"])] - parts.append( - "[color=%s]%s[/color]" % [colorForItemType(message_part["flags"]), item_name] - ) + parts.append(wrapInItemColorTags(item_name, message_part["flags"])) elif message_part["type"] == "location_id": var location_name = "Unknown" var location_player_game = client._game_by_player[message_part["player"]] @@ -512,6 +515,14 @@ func colorForItemType(flags): return "#14de9e" +func wrapInItemColorTags(text, flags): + var int_flags = int(flags) + if int_flags & 1 and int_flags & 2: # proguseful + return "[rainbow]%s[/rainbow]" % text + else: + return "[color=%s]%s[/color]" % [colorForItemType(flags), text] + + func get_letter_behavior(key, level2): if shuffle_letters == kSHUFFLE_LETTERS_UNLOCKED: return kLETTER_BEHAVIOR_UNLOCKED -- cgit 1.4.1