Skip to content

Commit b62c136

Browse files
authored
MultiServer.py: Another Hint Priority + Item Links bug oh boy (#4874)
Basically, hints for itemlink worlds' locations get stored in ctx.hints under 1. the location's player 2. **every individual player** that is participating in the itemlink. Right now, the updatehint code tries to replace and resend the hint under the itemlinked player, which doesn't work.
1 parent b591627 commit b62c136

File tree

1 file changed

+6
-4
lines changed

1 file changed

+6
-4
lines changed

MultiServer.py

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1983,11 +1983,13 @@ async def process_client_cmd(ctx: Context, client: Client, args: dict):
19831983
new_hint = new_hint.re_prioritize(ctx, status)
19841984
if hint == new_hint:
19851985
return
1986-
ctx.replace_hint(client.team, hint.finding_player, hint, new_hint)
1987-
ctx.replace_hint(client.team, hint.receiving_player, hint, new_hint)
1986+
1987+
concerning_slots = ctx.slot_set(hint.receiving_player) | {hint.finding_player}
1988+
for slot in concerning_slots:
1989+
ctx.replace_hint(client.team, slot, hint, new_hint)
19881990
ctx.save()
1989-
ctx.on_changed_hints(client.team, hint.finding_player)
1990-
ctx.on_changed_hints(client.team, hint.receiving_player)
1991+
for slot in concerning_slots:
1992+
ctx.on_changed_hints(client.team, slot)
19911993

19921994
elif cmd == 'StatusUpdate':
19931995
update_client_status(ctx, client, args["status"])

0 commit comments

Comments
 (0)