Attack Boon Changes
This commit is contained in:
@@ -389,14 +389,18 @@ case RunLifecycle.RouteSelect:
|
||||
// boon-band StatModifier (replicates via the [GhostField] buffer; StatRecompute reverts the
|
||||
// effective stats on both worlds) and zeroes any straggler offer. Class/meta/equip bands are
|
||||
// disjoint and survive. Idempotent — safe on every Returning tick.
|
||||
foreach (var (mods, offer) in
|
||||
SystemAPI.Query<DynamicBuffer<StatModifier>, RefRW<BoonOffer>>().WithAll<PlayerTag>())
|
||||
foreach (var (mods, timed, fx, offer) in
|
||||
SystemAPI.Query<DynamicBuffer<StatModifier>, DynamicBuffer<TimedModifier>, RefRW<BoonEffects>, RefRW<BoonOffer>>().WithAll<PlayerTag>())
|
||||
{
|
||||
TimedModifierUtil.RemoveBySourceIdRange(mods, Tuning.BoonSourceIdBase,
|
||||
Tuning.BoonSourceIdBase + Tuning.BoonSourceIdSpan);
|
||||
TimedModifierUtil.RemoveBySourceIdRange(mods, Tuning.PrepSourceIdBase,
|
||||
Tuning.PrepSourceIdBase + Tuning.PrepSourceIdSpan); // DR-046: strip the run-scoped prep loadout too
|
||||
|
||||
// Phase 1.7: zero the mechanic-changer boons + strip the stale Frenzy timed row (its paired
|
||||
// StatModifier is already cleared by the boon-band range-strip above).
|
||||
fx.ValueRW = default;
|
||||
TimedModifierUtil.RemoveBySourceId(timed, Tuning.FrenzySourceId);
|
||||
offer.ValueRW = default;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user