Skip to content

Remove halloween masks and loot box from default scav loadouts#790

Open
sgtlaggy wants to merge 1 commit into
sp-tarkov:4.1.x-devfrom
sgtlaggy:remove-scav-halloween-loot
Open

Remove halloween masks and loot box from default scav loadouts#790
sgtlaggy wants to merge 1 commit into
sp-tarkov:4.1.x-devfrom
sgtlaggy:remove-scav-halloween-loot

Conversation

@sgtlaggy

@sgtlaggy sgtlaggy commented Jul 7, 2026

Copy link
Copy Markdown

4.1 scav data appears to have been gathered during the time it was live so halloween loot is included in scav data. This patch removes the masks and pumpkin helmet, which are already present in the seasonal event gear list, as well as the pumpkin loot container, which was not present in event loot but has been added similar to Christmas ornaments.

@acidphantasm

acidphantasm commented Jul 7, 2026

Copy link
Copy Markdown
Contributor

I would suggest maybe go the other way and handle the removal via the seasonal event service like Christmas items. My 2c

public void RemoveChristmasItemsFromBotInventory(BotTypeInventory botInventory, string botRole)

The whole add/remove part of the service probably needs tuned up a bit tbh

@sgtlaggy

sgtlaggy commented Jul 7, 2026

Copy link
Copy Markdown
Author

Took a look at that, it would work but I'm not sure even that one is appropriate. Its purpose is to remove Christmas items from all bots except gifter but only when the Christmas event isn't active. The April Fools event explicitly adds Christmas gear and loot, effectively a null action because that method will later remove it.

IMO removing that method and cleaning event items from the base data is a better option.
Or if we'd like the keep the json as true to the original data as possible, clean up the gear/loot data once at startup instead of on each generated bot? Maybe this could be done in UpdateGlobalEvents where it resets the event active bools, this could also help facilitate disabling events in long-running Fika servers.

@acidphantasm

acidphantasm commented Jul 7, 2026

Copy link
Copy Markdown
Contributor

Took a look at that, it would work but I'm not sure even that one is appropriate. Its purpose is to remove Christmas items from all bots except gifter but only when the Christmas event isn't active. The April Fools event explicitly adds Christmas gear and loot, effectively a null action because that method will later remove it.

IMO removing that method and cleaning event items from the base data is a better option. Or if we'd like the keep the json as true to the original data as possible, clean up the gear/loot data once at startup instead of on each generated bot? Maybe this could be done in UpdateGlobalEvents where it resets the event active bools, this could also help facilitate disabling events in long-running Fika servers.

I only recommend removing it like the Xmas removal, because cleaning the data manually now.. then getting more data means you just have to clean it again. Removals should happen in code so it always happens on startup IMO

I believe that's why the Christmas removal method exists, so you don't have keep cleaning dumped data but I could be wrong

@refringe

refringe commented Jul 7, 2026

Copy link
Copy Markdown
Contributor

@acidphantasm is correct here. We tend to not play around with this JSON data directly as it's generated automatically via loot and bot dumps. We either adjust the generation, or adjust how the generated data is used, but never the actual generated data (manually).

@sgtlaggy

sgtlaggy commented Jul 7, 2026

Copy link
Copy Markdown
Author

Understood. If I force-push a commit with that RemoveHalloweenItems... method, should I keep the seasonal event config change where I added the pumpkin container?

@sgtlaggy sgtlaggy force-pushed the remove-scav-halloween-loot branch from 826f2d9 to a2e55a7 Compare July 7, 2026 02:46
@refringe

refringe commented Jul 7, 2026

Copy link
Copy Markdown
Contributor

I'm not well versed in how that config file works... If that config file simply adds those items into the pool when each event is active, I don't think it would be necessary (in this case) as the item is already in the pool. You would just need to make sure that your code is removing them from the pool when the event is not active.

Frankly, I don't love that these seasonal items are in the base generated loot, but I can't see us regenerating the loot to remove them at this point for 4.1. So I think we're safe to move forward with the assumption that they'll remain there.

@sgtlaggy

sgtlaggy commented Jul 7, 2026

Copy link
Copy Markdown
Author

That can be added later if necessary. Force-pushed the new commit on its own, copying the use and implementation of RemoveChristmasItemsFromBotInventory.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants