Toggle Loot Quality Buffs - ASA Mod
Links
- CurseForge page: Maglucen: Toggle Loot Quality Buffs
- DevLog: Building an event-driven crate buff toggle without polling
- Quick note: Adding a radial menu entry from a player buff in ASA
Overview
Toggle Loot Quality Buffs solves a very specific ARK: Survival Ascended problem.
If a player uses a spyglass-style loot preview mod, they can inspect a supply crate before opening it. But if loot-quality buffs are active, opening that crate can reroll the result and replace the item the player had just previewed.
This mod adds control over that moment.
The player can temporarily neutralize loot-quality multipliers before opening the crate, then turn normal boosted behavior back on when they want.
What It Does
- lets the player open a crate with loot-quality multipliers effectively forced to
x1 - preserves normal boosted crate behavior when the toggle is off
- avoids permanent buff removal or global crate rewrites
- keeps the radial UI hidden unless the player actually has relevant crate-boosting buffs
Why This Was Worth Doing
The interesting part of this project was not a new loot table or a balance overhaul. It was finding a clean runtime intervention point.
After reviewing the crate flow, the useful discovery was that supply crates iterate the active player buffs, look for buffs derived from Buff_CrateBoosting_Base, and multiply quality through CrateQualityMultiplier.
That made the design direction clear:
- keep the vanilla crate flow
- detect the relevant loot buffs at runtime
- temporarily override their multiplier to
1.0 - restore the original values when the temporary disable state ends
Implementation Summary
The final setup uses two buffs.
1. Persistent player control buff
Buff_Player_AddDisableBuff
This buff is the player-facing UI layer:
- it stays available on the player
- it owns the radial menu entry
- it checks whether the real disable buff is active
- it adds or removes that effect buff through the correct instance-based path
2. Stateful disable effect buff
Buff_DisableLootQualityBuffs
This buff does the real crate-side work:
- listens for relevant buff activity through buff notifications
- identifies active buffs derived from
Buff_CrateBoosting_Base - stores the original
CrateQualityMultiplier - forces that multiplier to
1.0while disable mode is active - restores original values when the effect buff is removed
The state tracking is event-driven. The mod does not depend on tick polling to keep checking whether the player has relevant loot buffs.
Bootstrap And UX
Getting the persistent control buff onto the player used the same general pattern as the Drakeling mod:
ModDataAsset -> Additional Default Buffs- plus a server singleton that gives the control buff when players join
That combination makes the system available reliably without depending on a respawn moment.
The radial entry is also intentionally contextual. The mod does not expose a useless toggle all the time. The option only appears when the player has a relevant loot crate buff, which keeps the player UI cleaner.
Screenshots
1) Project identity

2) Radial toggle only when it matters

The radial entry changes between Enable Loot Quality Buffs and Disable Loot Quality Buffs, and only appears when a relevant crate-boosting buff exists.
3) Buffs active

4) Buffs neutralized

Result
What I like about this project is that it combines:
- a concrete player-facing problem
- vanilla flow investigation instead of brute-force replacement
- event-driven runtime logic instead of tick-based polling
- a contextual UI decision that keeps the feature usable without cluttering the radial menu
It is a small mod, but it shows the kind of blueprint systems work I care about: narrow intervention, compatibility-first thinking, and a clear gameplay reason for every technical choice.