12652 Commits

Author SHA1 Message Date
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
copilot-swe-agent[bot]
28e30dfeec Fix: Change return false to return in void function BuffFadeBySlot
Co-authored-by: Valorith <76063792+Valorith@users.noreply.github.com>
2026-01-31 04:21:45 +00:00
copilot-swe-agent[bot]
55aed50cfe Initial plan 2026-01-31 04:20:29 +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
Vayle
e412a9bb99
Merge pull request #35 from Valorith/fix/buff-suppression-dobufftick
Fix: Skip DoBuffTic() for SPELL_SUPPRESSED slots (prevents OOB access)
2026-01-30 22:43:09 -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
copilot-swe-agent[bot]
8542ea0acc Initial plan 2026-01-31 03:39:31 +00: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
Vayle
0362cacf99 Skip DoBuffTic() for SPELL_SUPPRESSED buff slots
BuffProcess() calls DoBuffTic() on all valid-or-suppressed spells, but
DoBuffTic() accesses spells[buff.spellid] which for SPELL_SUPPRESSED
(0xFFFD) could read out-of-bounds memory. Add an explicit check to skip
DoBuffTic() for suppressed slots since they should only have their timer
decremented, not their effects ticked.

Fixes #30
2026-01-31 02:26:56 +00:00
Vayle
9d98f95317 Fix buff suppression state not persisting across zones
When a player zones while having suppressed buffs (via the spell
suppression system), the suppression state was not saved to the
database. On zone-in, suppressed buffs were restored as normal active
buffs, causing non-persistent illusions to be incorrectly removed.

Changes:
- Add 'suppressed' column to character_buffs table (tinyint, default 0)
- SaveBuffs(): Save suppressed flag (1 when buff is in SPELL_SUPPRESSED state)
- LoadBuffs(): Restore buffs in suppressed state when suppressed=1,
  setting spellid=SPELL_SUPPRESSED and populating suppressedid/
  suppressedticsremaining from the saved spell_id and ticsremaining
- LoadBuffs(): Skip suppressed buffs in the illusion/charm removal loop
  so they are not incorrectly stripped on zone-in

Fixes #33
2026-01-31 02:24:33 +00:00
Vayle
b3c40242f0
Merge pull request #28 from Valorith/claude/skip-redundant-builds-o0cJ1
Skip redundant builds on merge when PR already passed
2026-01-25 00:19:43 -05:00
Claude
601af238e9
Skip redundant builds on merge when PR already passed
Add skip-duplicate-actions to avoid rebuilding on push to master when
the same code already built successfully on the PR. This saves CI time
and resources by detecting when file content (tree hash) matches a
previous successful run.

- Add pre_job that checks for duplicate runs using fkirc/skip-duplicate-actions
- PR builds always run (never skipped) to ensure status before merge
- Push builds to master skip if identical code already built successfully
- Both linux and windows jobs depend on pre_job skip check
2026-01-25 04:40:03 +00:00
Vayle
dc36f19cf1
Merge pull request #27 from Valorith/copilot/include-dll-files-in-package
Include vcpkg shared libraries in Linux release artifact
2026-01-24 23:36:11 -05:00
copilot-swe-agent[bot]
02c0810561 Simplify vcpkg library count in packaging step
Co-authored-by: Valorith <76063792+Valorith@users.noreply.github.com>
2026-01-25 04:04:13 +00:00
copilot-swe-agent[bot]
4d97f1d303 Count vcpkg libs using null-delimited paths
Co-authored-by: Valorith <76063792+Valorith@users.noreply.github.com>
2026-01-25 04:02:44 +00:00
copilot-swe-agent[bot]
036ffbbedd Align vcpkg lib counting with existing pattern
Co-authored-by: Valorith <76063792+Valorith@users.noreply.github.com>
2026-01-25 04:01:23 +00:00
copilot-swe-agent[bot]
aeafa03ce3 Fix vcpkg lib count for packaging
Co-authored-by: Valorith <76063792+Valorith@users.noreply.github.com>
2026-01-25 03:50:01 +00:00
copilot-swe-agent[bot]
70aee1e9b5 Harden vcpkg lib counting in package step
Co-authored-by: Valorith <76063792+Valorith@users.noreply.github.com>
2026-01-25 03:49:38 +00:00
copilot-swe-agent[bot]
05fd084c5f Exclude debug vcpkg libs from packaging
Co-authored-by: Valorith <76063792+Valorith@users.noreply.github.com>
2026-01-25 03:48:49 +00:00
copilot-swe-agent[bot]
56446f7a12 Include vcpkg runtime libs in linux package
Co-authored-by: Valorith <76063792+Valorith@users.noreply.github.com>
2026-01-25 03:47:55 +00:00
copilot-swe-agent[bot]
17c428ca53 Initial plan 2026-01-25 03:24:37 +00:00
Vayle
ab1f082b53
Merge pull request #25 from Valorith/copilot/add-discord-webhook-release
Add Discord release notification embed to release workflow
2026-01-24 21:49:07 -05:00
Vayle
df43afeeab
Merge pull request #26 from Valorith/copilot/fix-bash-shell-error
Fix Linux build failure: Add shell: bash to all run steps in release workflow
2026-01-24 21:47:49 -05:00
copilot-swe-agent[bot]
e9342d3107 Add shell: bash to all run steps in build-linux job for consistency
Co-authored-by: Valorith <76063792+Valorith@users.noreply.github.com>
2026-01-25 02:14:23 +00:00
copilot-swe-agent[bot]
7b94c36c78 Fix Linux build by adding shell: bash to Package binaries step
Co-authored-by: Valorith <76063792+Valorith@users.noreply.github.com>
2026-01-25 02:05:16 +00:00
copilot-swe-agent[bot]
cb3fed2d86 Initial plan 2026-01-25 02:04:01 +00:00
copilot-swe-agent[bot]
8a1f31f15a Document ignored webhook failures
Co-authored-by: Valorith <76063792+Valorith@users.noreply.github.com>
2026-01-25 01:58:21 +00:00
copilot-swe-agent[bot]
823dce3477 Clean up webhook temp file
Co-authored-by: Valorith <76063792+Valorith@users.noreply.github.com>
2026-01-25 01:57:12 +00:00
copilot-swe-agent[bot]
1f37236f80 Harden Discord webhook payload and logging
Co-authored-by: Valorith <76063792+Valorith@users.noreply.github.com>
2026-01-25 01:56:49 +00:00
copilot-swe-agent[bot]
f7e9f726f8 Add webhook failure logging
Co-authored-by: Valorith <76063792+Valorith@users.noreply.github.com>
2026-01-25 01:54:07 +00:00
copilot-swe-agent[bot]
a0c8c8ff78 Add Discord release notification step
Co-authored-by: Valorith <76063792+Valorith@users.noreply.github.com>
2026-01-25 01:53:19 +00:00
copilot-swe-agent[bot]
3eb269187c Initial plan 2026-01-25 01:48:52 +00:00
Vayle
8c5e82c8f5
Merge pull request #24 from Valorith/copilot/modify-linux-job-for-artifacts
Containerize Linux build/test and package runtime shared libs
2026-01-24 20:36:34 -05:00
copilot-swe-agent[bot]
97a56904a5 Initialize zip content tracking
Co-authored-by: Valorith <76063792+Valorith@users.noreply.github.com>
2026-01-25 00:46:40 +00:00
copilot-swe-agent[bot]
9f27f56d2a Unify zip duplicate handling
Co-authored-by: Valorith <76063792+Valorith@users.noreply.github.com>
2026-01-25 00:45:55 +00:00
copilot-swe-agent[bot]
9b42bc0a25 Cache zip contents and verify ccache install
Co-authored-by: Valorith <76063792+Valorith@users.noreply.github.com>
2026-01-25 00:44:42 +00:00
copilot-swe-agent[bot]
324e8d6601 Harden ccache and zip handling
Co-authored-by: Valorith <76063792+Valorith@users.noreply.github.com>
2026-01-25 00:43:38 +00:00
copilot-swe-agent[bot]
9e220a05c5 Guard ccache and avoid lib name collisions
Co-authored-by: Valorith <76063792+Valorith@users.noreply.github.com>
2026-01-25 00:42:42 +00:00
copilot-swe-agent[bot]
d27e901421 Improve Linux lib packaging
Co-authored-by: Valorith <76063792+Valorith@users.noreply.github.com>
2026-01-25 00:33:16 +00:00
copilot-swe-agent[bot]
2b60bda5b7 Guard shared lib packaging
Co-authored-by: Valorith <76063792+Valorith@users.noreply.github.com>
2026-01-25 00:31:35 +00:00
copilot-swe-agent[bot]
56266f6f21 Limit shared lib search to build libs
Co-authored-by: Valorith <76063792+Valorith@users.noreply.github.com>
2026-01-25 00:30:08 +00:00
copilot-swe-agent[bot]
907ac747eb Refine Linux shared lib packaging
Co-authored-by: Valorith <76063792+Valorith@users.noreply.github.com>
2026-01-25 00:29:12 +00:00
copilot-swe-agent[bot]
c5fe0c20b8 Package Linux shared libs in release
Co-authored-by: Valorith <76063792+Valorith@users.noreply.github.com>
2026-01-25 00:28:16 +00:00
copilot-swe-agent[bot]
246138ac51 Package shared libs from build tree
Co-authored-by: Valorith <76063792+Valorith@users.noreply.github.com>
2026-01-25 00:26:54 +00:00