MultiServer: don't mark a slot as having Activity if a location check was done through Collect
This commit is contained in:
parent
55f21e077a
commit
061de66397
|
@ -639,7 +639,7 @@ def collect_player(ctx: Context, team: int, slot: int):
|
||||||
|
|
||||||
ctx.notify_all("%s (Team #%d) has collected" % (ctx.player_names[(team, slot)], team + 1))
|
ctx.notify_all("%s (Team #%d) has collected" % (ctx.player_names[(team, slot)], team + 1))
|
||||||
for source_player, location_ids in all_locations.items():
|
for source_player, location_ids in all_locations.items():
|
||||||
register_location_checks(ctx, team, source_player, location_ids)
|
register_location_checks(ctx, team, source_player, location_ids, count_activity=False)
|
||||||
update_checked_locations(ctx, team, source_player)
|
update_checked_locations(ctx, team, source_player)
|
||||||
|
|
||||||
|
|
||||||
|
@ -651,11 +651,13 @@ def get_remaining(ctx: Context, team: int, slot: int) -> typing.List[int]:
|
||||||
return sorted(items)
|
return sorted(items)
|
||||||
|
|
||||||
|
|
||||||
def register_location_checks(ctx: Context, team: int, slot: int, locations: typing.Iterable[int]):
|
def register_location_checks(ctx: Context, team: int, slot: int, locations: typing.Iterable[int],
|
||||||
|
count_activity: bool = True):
|
||||||
new_locations = set(locations) - ctx.location_checks[team, slot]
|
new_locations = set(locations) - ctx.location_checks[team, slot]
|
||||||
new_locations.intersection_update(ctx.locations[slot]) # ignore location IDs unknown to this multidata
|
new_locations.intersection_update(ctx.locations[slot]) # ignore location IDs unknown to this multidata
|
||||||
if new_locations:
|
if new_locations:
|
||||||
ctx.client_activity_timers[team, slot] = datetime.datetime.now(datetime.timezone.utc)
|
if count_activity:
|
||||||
|
ctx.client_activity_timers[team, slot] = datetime.datetime.now(datetime.timezone.utc)
|
||||||
for location in new_locations:
|
for location in new_locations:
|
||||||
item_id, target_player = ctx.locations[slot][location]
|
item_id, target_player = ctx.locations[slot][location]
|
||||||
new_item = NetworkItem(item_id, location, slot)
|
new_item = NetworkItem(item_id, location, slot)
|
||||||
|
|
Loading…
Reference in New Issue