copilot-swe-agent[bot]
485614608b
Apply PR feedback: bounds check, DivineAura client guard, levitate dedup
...
Co-authored-by: Valorith <76063792+Valorith@users.noreply.github.com>
2026-03-09 21:01:15 +00:00
Vayle
04a907a304
Merge pull request #70 from Valorith/copilot/sub-pr-68-again
...
Fix: restore outer SPELL_UNKNOWN branch in BuffFadeBySlot
2026-03-09 15:31:32 -04:00
copilot-swe-agent[bot]
c10eeb0c16
Fix: restore outer else-SPELL_UNKNOWN branch in BuffFadeBySlot
...
Co-authored-by: Valorith <76063792+Valorith@users.noreply.github.com>
2026-03-09 19:30:30 +00:00
copilot-swe-agent[bot]
d7290757e0
Fix misplaced comment: add proper description for ReapplyBuffEffects, restore original comment before BuffFadeBySlot
...
Co-authored-by: Valorith <76063792+Valorith@users.noreply.github.com>
2026-03-09 19:29:55 +00:00
Vayle
6b0cc98b06
Fix suppressed buff effect restoration
2026-03-09 15:13:24 -04:00
Vayle
4cf37e7d2f
Merge pull request #67 from Valorith/copilot/sub-pr-65-again
...
Add PET_BUFF_COUNT bounds guard on pet buff load
2026-03-09 13:13:38 -04:00
copilot-swe-agent[bot]
80bd422922
Add PET_BUFF_COUNT guard on pet buff load to prevent out-of-bounds write
...
Co-authored-by: Valorith <76063792+Valorith@users.noreply.github.com>
2026-03-09 17:11:24 +00:00
copilot-swe-agent[bot]
1b4cc695e0
Fix pet_buffs.reserve to use cumulative size to avoid reallocations
...
Co-authored-by: Valorith <76063792+Valorith@users.noreply.github.com>
2026-03-09 16:53:02 +00:00
Vayle
83ff1a840d
Preserve suppressed pet buffs across zoning
2026-03-09 12:32:37 -04:00
Vayle
ab39e26b52
Merge pull request #55 from Valorith/codex/enforce-suppressed-buff-persistence
...
Fix buff persistence regression when suppressed schema is missing
2026-03-08 21:53:22 -04:00
copilot-swe-agent[bot]
d8edd960f9
Address review: consistent TransactionBegin, remove DDL rollback test, revert build.yaml vcpkg steps
...
Co-authored-by: Valorith <76063792+Valorith@users.noreply.github.com>
2026-03-09 01:11:23 +00:00
Vayle
efd27c63ce
Merge pull request #63 from Valorith/copilot/sub-pr-55-again
...
Gate DDL rollback test behind --run-ddl-tests flag
2026-03-08 20:56:38 -04:00
copilot-swe-agent[bot]
cd23894b80
Gate DDL rollback test behind --run-ddl-tests flag to avoid table locks on production databases
...
Co-authored-by: Valorith <76063792+Valorith@users.noreply.github.com>
2026-03-09 00:52:49 +00:00
Vayle
2666d624eb
Update zone/cli/tests/cli_zone_state.cpp
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-03-08 20:51:07 -04:00
copilot-swe-agent[bot]
a36002dbed
Fix: skip suppressed slots in DispelMagic instead of removing them
...
Co-authored-by: Valorith <76063792+Valorith@users.noreply.github.com>
2026-03-09 00:22:35 +00:00
copilot-swe-agent[bot]
8b7fbe7f9a
Fix: truly remove suppressed buffs on permanent dispel via RemoveSuppressedBuffBySlot
...
Co-authored-by: Valorith <76063792+Valorith@users.noreply.github.com>
2026-03-09 00:16:17 +00:00
copilot-swe-agent[bot]
44ab4f0a0f
Add rollback regression test: verify pre-existing buffs survive failed SaveBuffs()
...
Co-authored-by: Valorith <76063792+Valorith@users.noreply.github.com>
2026-03-09 00:06:07 +00:00
Vayle
3f7e980cd5
Fix suppressed dispel crash in DispelMagic
2026-03-08 19:57:12 -04:00
copilot-swe-agent[bot]
d0e1c027e9
Address PR review: check transaction/delete results, fix manifest, use distinct spell IDs in test
...
Co-authored-by: Valorith <76063792+Valorith@users.noreply.github.com>
2026-03-08 23:54:04 +00:00
copilot-swe-agent[bot]
fcd03df1f8
Resolve conflicts: adopt base branch error message wording in SaveBuffs
...
Co-authored-by: Valorith <76063792+Valorith@users.noreply.github.com>
2026-03-08 18:50:43 +00:00
copilot-swe-agent[bot]
2e62fb37bf
Fix zonedb.cpp: use commit_result.Success() instead of !commit_result for MySQLRequestResult
...
Co-authored-by: Valorith <76063792+Valorith@users.noreply.github.com>
2026-03-08 17:56:47 +00:00
copilot-swe-agent[bot]
bd92f19869
Fix build error: use fully-qualified EQ::versions::ClientVersion::RoF2; use < for REPLACE row count check
...
Co-authored-by: Valorith <76063792+Valorith@users.noreply.github.com>
2026-03-08 17:25:35 +00:00
Vayle
6290ef42c6
Update zone/zonedb.cpp
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-03-08 12:22:30 -04:00
copilot-swe-agent[bot]
e359852ccf
Wrap SaveBuffs delete+replace in a transaction to prevent buff wipe on insert failure
...
Co-authored-by: Valorith <76063792+Valorith@users.noreply.github.com>
2026-03-08 15:47:13 +00:00
Vayle
ee49bf5cd9
Update zone/cli/tests/cli_zone_state.cpp
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-03-08 11:43:58 -04:00
Vayle
7da9bd74eb
Enforce suppressed buff persistence schema
2026-03-08 11:33:31 -04:00
copilot-swe-agent[bot]
2b88b51674
Fix: Move brace to next line for case statement consistency
...
Co-authored-by: Valorith <76063792+Valorith@users.noreply.github.com>
2026-02-01 00:13:21 +00:00
Vayle
3716355750
Update zone/spell_effects.cpp
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-01-31 19:11:50 -05:00
Vayle
185f2a4db3
Fix: restrict spell suppression restoration to client-owned pets; preserve cleanup via guarded restoration; restore levitate visuals for pets
...
- Limit restoration code path to IsPet() && GetOwner()->IsClient()\n- Guard restoration logic instead of early-return to keep cleanup paths\n- Restore nimbus, illusion, procs, and levitate FlyMode appropriately\n- Resolve conflicts with master in zone/spell_effects.cpp for PR #45
Co-Authored-By: Warp <agent@warp.dev>
2026-01-31 19:08:58 -05:00
Vayle
139343691a
Merge pull request #40 from Valorith/copilot/sub-pr-39
...
Add Levitate effect restoration for client pets after suppression
2026-01-31 18:13:13 -05:00
Vayle
5deb80eb08
Merge pull request #39 from Valorith/fix/buff-suppression-pet-restore
...
Fix: Add non-client effect restoration after suppression expires
2026-01-31 16:51:18 -05:00
copilot-swe-agent[bot]
6758108f35
Add comment clarifying non-client mob dispel behavior
...
Co-authored-by: Valorith <76063792+Valorith@users.noreply.github.com>
2026-01-31 21:27:02 +00:00
copilot-swe-agent[bot]
56b5e4e84e
Restrict spell suppression restoration to client pets only
...
Co-authored-by: Valorith <76063792+Valorith@users.noreply.github.com>
2026-01-31 20:33:42 +00:00
copilot-swe-agent[bot]
5e43850e8e
Restrict suppression system to clients and client pets only
...
Co-authored-by: Valorith <76063792+Valorith@users.noreply.github.com>
2026-01-31 20:33:33 +00:00
copilot-swe-agent[bot]
9a657e7d6a
Resolve merge conflict with updated base branch
...
Co-authored-by: Valorith <76063792+Valorith@users.noreply.github.com>
2026-01-31 20:31:19 +00:00
copilot-swe-agent[bot]
1607aea793
Add comment to Levitate restoration code
...
Co-authored-by: Valorith <76063792+Valorith@users.noreply.github.com>
2026-01-31 20:27:10 +00:00
Vayle
fa3bbec739
Update zone/spell_effects.cpp
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-01-31 15:12:58 -05:00
Vayle
9eb982ef15
Merge pull request #41 from Valorith/copilot/sub-pr-39-again
...
Add DivineAura effect restoration for non-client mobs after suppression expires
2026-01-31 15:05:43 -05:00
copilot-swe-agent[bot]
637d6e85c7
Add Levitate effect restoration for non-client mobs
...
Co-authored-by: Valorith <76063792+Valorith@users.noreply.github.com>
2026-01-31 14:52:18 -05:00
copilot-swe-agent[bot]
ff7dbce6f2
Fix compilation error: change return false to return in void function
...
Co-authored-by: Valorith <76063792+Valorith@users.noreply.github.com>
2026-01-31 04:24:44 +00:00
copilot-swe-agent[bot]
7129acc3b0
Fix compilation error: change return false to return in void function
...
Co-authored-by: Valorith <76063792+Valorith@users.noreply.github.com>
2026-01-31 04:23:15 +00:00
Vayle
223c5b828e
Merge pull request #37 from Valorith/fix/buff-suppression-death-fade
...
Fix: Death/mass-fade now properly clears suppressed buffs
2026-01-30 22:44:03 -05:00
Vayle
ec2c4b5909
Merge pull request #38 from Valorith/fix/buff-suppression-client-desync
...
Fix: Prevent OOB access in BuffFadeBySlot for suppressed buffs
2026-01-30 22:43:45 -05:00
Vayle
3ec73a8924
Merge pull request #36 from Valorith/fix/buff-suppression-persistence
...
Fix: Persist buff suppression state across zones
2026-01-30 22:43:28 -05:00
copilot-swe-agent[bot]
57edda7535
Add DivineAura effect restoration for non-client mobs
...
Co-authored-by: Valorith <76063792+Valorith@users.noreply.github.com>
2026-01-31 03:40:51 +00:00
Vayle
35953234c3
Update zone/spell_effects.cpp
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-01-30 22:39:42 -05:00
Vayle
43a146da6d
Update zone/spell_effects.cpp
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-01-30 22:39:11 -05:00
Vayle
dffc4610d5
Reapply visual/state effects for pets and NPCs after suppression expires
...
When buff suppression expires, only clients get ReapplyBuff() called to
restore visual and state effects (illusions, procs, silence, etc.).
Pets and NPCs had no equivalent handling, causing permanent loss of
illusions, weapon procs, and other active effects after suppression.
Add non-client effect restoration in the suppression expiry path of
BuffFadeBySlot() that handles illusions, silence, amnesia, and weapon
procs for pets, NPCs, and bots.
Fixes #32
2026-01-31 02:29:53 +00:00
Vayle
f6ab4cd377
Skip effect removal loop for SPELL_SUPPRESSED in BuffFadeBySlot
...
When BuffFadeBySlot() is called on a suppressed slot (e.g., when
suppression timer expires), the effect removal loop accesses
spells[SPELL_SUPPRESSED] (index 0xFFFD) which is out-of-bounds.
This is unnecessary since effects were already removed when the buff
was first suppressed. Skip the loop entirely for SPELL_SUPPRESSED
slots to prevent OOB memory access and let execution proceed directly
to the restoration branch.
Fixes #29
2026-01-31 02:29:11 +00:00
Vayle
5d0abdc4ac
Handle SPELL_SUPPRESSED slots in mass-fade functions
...
BuffFadeNonPersistDeath(), BuffFadeBeneficial(), BuffFadeDetrimental(),
and BuffFadeByEffect() all use IsValidSpell() which returns false for
SPELL_SUPPRESSED (0xFFFD), causing suppressed buffs to survive death
and mass-dispels. Worse, if BuffFadeBySlot() were called on a
suppressed slot, it would restore the buff instead of clearing it.
Add explicit handling for SPELL_SUPPRESSED slots in each function:
check the suppressedid against the fade criteria and clear the slot
directly (set to SPELL_UNKNOWN) rather than calling BuffFadeBySlot().
Fixes #31
2026-01-31 02:27:36 +00:00