about summary refs log tree commit diff stats
path: root/client/Archipelago/manager.gd
diff options
context:
space:
mode:
authorStar Rauchenberger <fefferburbia@gmail.com>2025-09-22 21:50:10 -0400
committerStar Rauchenberger <fefferburbia@gmail.com>2025-09-22 21:50:10 -0400
commit96d5da7ae8459509780e99e3e53fd146f6b055b1 (patch)
tree415be7d880b7d4a9a81438b35972be7d93c21ccb /client/Archipelago/manager.gd
parent6e758b70bf35063df270494932bb0fcfa8cacd14 (diff)
downloadlingo2-archipelago-96d5da7ae8459509780e99e3e53fd146f6b055b1.tar.gz
lingo2-archipelago-96d5da7ae8459509780e99e3e53fd146f6b055b1.tar.bz2
lingo2-archipelago-96d5da7ae8459509780e99e3e53fd146f6b055b1.zip
[Client] Proguseful is now rainbow
Diffstat (limited to 'client/Archipelago/manager.gd')
-rw-r--r--client/Archipelago/manager.gd31
1 files changed, 21 insertions, 10 deletions
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):
209 if client._player_name_by_slot.has(float(from)): 209 if client._player_name_by_slot.has(float(from)):
210 player_name = client._player_name_by_slot[float(from)] 210 player_name = client._player_name_by_slot[float(from)]
211 211
212 var item_color = colorForItemType(flags)
213
214 var full_item_name = item_name 212 var full_item_name = item_name
215 if prog_id != null: 213 if prog_id != null:
216 var door = gamedata.objects.get_doors()[prog_id] 214 var door = gamedata.objects.get_doors()[prog_id]
@@ -218,10 +216,10 @@ func _process_item(item, index, from, flags, amount):
218 216
219 var message 217 var message
220 if from == client._slot: 218 if from == client._slot:
221 message = "Found [color=%s]%s[/color]" % [item_color, full_item_name] 219 message = "Found %s" % wrapInItemColorTags(full_item_name, flags)
222 else: 220 else:
223 message = ( 221 message = (
224 "Received [color=%s]%s[/color] from %s" % [item_color, full_item_name, player_name] 222 "Received %s from %s" % [wrapInItemColorTags(full_item_name, flags), player_name]
225 ) 223 )
226 224
227 if gamedata.anti_trap_ids.has(item): 225 if gamedata.anti_trap_ids.has(item):
@@ -267,13 +265,20 @@ func _process_message(message):
267 if !message.has("found") || !message["found"]: 265 if !message.has("found") || !message["found"]:
268 global.get_node("Messages").showMessage( 266 global.get_node("Messages").showMessage(
269 ( 267 (
270 "Hint: [color=%s]%s[/color]%s is on %s" 268 "Hint: %s%s is on %s"
271 % [item_color, item_name, is_for, location_name] 269 % [
270 wrapInItemColorTags(item_name, message["item"]["flags"]),
271 is_for,
272 location_name
273 ]
272 ) 274 )
273 ) 275 )
274 else: 276 else:
275 if message["receiving"] != client._slot: 277 if message["receiving"] != client._slot:
276 var sentMsg = "Sent [color=%s]%s[/color] to %s" % [item_color, item_name, player_name] 278 var sentMsg = (
279 "Sent %s to %s"
280 % [wrapInItemColorTags(item_name, message["item"]["flags"]), player_name]
281 )
277 #if _hinted_locations.has(message["item"]["location"]): 282 #if _hinted_locations.has(message["item"]["location"]):
278 # sentMsg += " ([color=#fafad2]Hinted![/color])" 283 # sentMsg += " ([color=#fafad2]Hinted![/color])"
279 global.get_node("Messages").showMessage(sentMsg) 284 global.get_node("Messages").showMessage(sentMsg)
@@ -298,9 +303,7 @@ func parse_printjson_for_textclient(message):
298 if client._item_id_to_name[item_player_game].has(int(message_part["text"])): 303 if client._item_id_to_name[item_player_game].has(int(message_part["text"])):
299 item_name = client._item_id_to_name[item_player_game][int(message_part["text"])] 304 item_name = client._item_id_to_name[item_player_game][int(message_part["text"])]
300 305
301 parts.append( 306 parts.append(wrapInItemColorTags(item_name, message_part["flags"]))
302 "[color=%s]%s[/color]" % [colorForItemType(message_part["flags"]), item_name]
303 )
304 elif message_part["type"] == "location_id": 307 elif message_part["type"] == "location_id":
305 var location_name = "Unknown" 308 var location_name = "Unknown"
306 var location_player_game = client._game_by_player[message_part["player"]] 309 var location_player_game = client._game_by_player[message_part["player"]]
@@ -512,6 +515,14 @@ func colorForItemType(flags):
512 return "#14de9e" 515 return "#14de9e"
513 516
514 517
518func wrapInItemColorTags(text, flags):
519 var int_flags = int(flags)
520 if int_flags & 1 and int_flags & 2: # proguseful
521 return "[rainbow]%s[/rainbow]" % text
522 else:
523 return "[color=%s]%s[/color]" % [colorForItemType(flags), text]
524
525
515func get_letter_behavior(key, level2): 526func get_letter_behavior(key, level2):
516 if shuffle_letters == kSHUFFLE_LETTERS_UNLOCKED: 527 if shuffle_letters == kSHUFFLE_LETTERS_UNLOCKED:
517 return kLETTER_BEHAVIOR_UNLOCKED 528 return kLETTER_BEHAVIOR_UNLOCKED