4080 Commits

Author SHA1 Message Date
Vayle
2add472199 Implement bazaar item identity and offline trading rework 2026-03-19 22:18:32 -04:00
Vayle
ea309597a6 Fix task delivery hand-ins on quest NPCs 2026-03-18 20:52:27 -04:00
Vayle
83ff1a840d Preserve suppressed pet buffs across zoning 2026-03-09 12:32:37 -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
Vayle
7da9bd74eb Enforce suppressed buff persistence schema 2026-03-08 11:33:31 -04: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
Claude
385b9922aa
Merge upstream/master to incorporate EQEmu fixes
Resolve CMake style conflict in common/CMakeLists.txt by adopting
the lowercase CMake command style used consistently throughout
the upstream codebase.
2026-01-24 05:02:16 +00:00
copilot-swe-agent[bot]
e02da5ba4a Harden inspect message handling
Co-authored-by: Valorith <76063792+Valorith@users.noreply.github.com>
2026-01-24 03:23:51 +00:00
Claude
96a49e2bf6
Fix inventory overflow bug overwriting equipment slot 0
FindFirstFreeSlotThatFitsItem was returning 0 instead of INVALID_INDEX
when no free slot was found. This caused items to be placed in slot 0
(charm equipment slot) when inventory was full, overwriting equipped items.

Changes:
- Fix FindFirstFreeSlotThatFitsItem to return INVALID_INDEX when no slot found
- Add defensive check in PutItemInInventoryWithStacking to protect equipment
  slots 0-22 from being targeted for item placement
2026-01-23 21:38:43 +00:00
Knightly
be493435cb Fix Shared Memory in Windows
Some checks failed
Build / Linux (push) Has been cancelled
Build / Windows (push) Has been cancelled
- Windows does not allow paths as mutexes
- Remove the config directory from the mutex name
- This fix has the potential for collision of concerns on Windows when running multiple instances, but it is an unlikely scenario given port requirements
2025-12-26 21:28:43 -08:00
brainiac
af6c3ec97d Fix undefined behavior in log aliases
making an inline global variable doesn't work around the fact that this
variable still has to be initialized at some point.

Unfortunately, logging may be called upon during static init because we
use rules inside of static initializers, and rules can log.

So we must always retrieve the logger when we want to log something. it
should be fairly cheap anyways.
2025-12-26 20:58:07 -08:00
brainiac
3d7101876f normalize includes: common 2025-12-26 20:58:07 -08:00
brainiac
c191ec02d4 remove global_define.h and adjust platform header includes
- Remove unused MRMutex
- Remove unused generate_key
2025-12-26 20:58:07 -08:00
brainiac
360e01d824 add new platform headers to simplify including windows/posix headers 2025-12-26 20:58:07 -08:00
brainiac
ab1edbf537 Remove unused and unmaintained sources 2025-12-26 20:58:07 -08:00
brainiac
260042a429 normalize includes: common 2025-12-26 20:58:07 -08:00
brainiac
d306e139e8 normalize includes: common/repositories 2025-12-26 20:58:07 -08:00
brainiac
451eb0806a normalize includes: common 2025-12-26 20:58:07 -08:00
brainiac
a8551f20c9 cmake: add project folders
- Add static libraries to "libraries" folder
- Add servers to "executables/servers" folder
- Add tools to "executables/tools" folder
- Add tests to "executables/tests" folder
- Add contrib projects to "contrib" folder
2025-12-26 20:58:07 -08:00
Alex
c84df0d5ba
Build Improvements (#5033)
Some checks are pending
Build / Linux (push) Waiting to run
Build / Windows (push) Waiting to run
* Start rewrite, add vcpkg

* Simple vcpkg manifest, will almost certainly need tweaking

* Remove cmake ext we wont be using anymore

* Update vcpkg to no longer be from 2022, update cmake lists (wip)

* Add finds to the toplevel cmakelists

* WIP, luabind and perlbind build.  Common only partially builds.

* Fix common build.

* shared_memory compiles

* client files compile

* Tests and more cmake version updates

* World, had to swap out zlib-ng for now because it wasn't playing nicely along side the zlib install.  May revisit.

* UCS compiles now too!

* queryserv and eqlaunch

* loginserver works

* Zone works but is messy, tomorrow futher cleanup!

* Cleanup main file

* remove old zlibng, remove perlwrap, remove hc

* More cleanup

* vcpkg baseline set for CI

* Remove pkg-config, it's the suggested way to use luajit with vcpkg but it causes issues with CI and might be a pain point for windows users

* Actually add file

* Set perlbind include dir

* Perl link got lost

* PERL_SET_INTERP causes an issue on newer versions of perl on windows because a symbol is not properly exported in their API, change the lines so it's basically what it used to be

* Remove static unix linking, we dont do automated released anymore and this was tightly coupled to that.  Can explore this again if we decide to change that.

* Remove unused submodules, set cmake policy for boost

* Fix some cereal includes

* Improve some boilerplate, I'd still like to do better about getting linker stuff set.

* Going through and cleaning up the build.

* Fix world, separate out data_buckets.

* add fixes for other servers

* fix zone

* Fix client files, loginserver and tests

* Newer versions of libmariadb default to tls forced on, return to the default of not forcing that.
auto_login were breaking on linux builds
loginserver wasn't setting proper openssl compile flag

* Move set out of a giant cpp file include.

* Convert show

* convert find

* Add uuid to unix builds

* Remove some cpp includes.

* Restructure to remove more things.

* change db update manifest to header
change build yml

* Move world CLI include cpps to cmake.

* Move zone cli out of source and into cmake

* Sidecar stuff wont directly include cpp files now too.

* Fix uuid-dev missing on linux runner

* Reorg common cmake file

* Some cleanup

* Fix libsodium support (oops). Fix perl support (more oops)

* Change doc

---------

Co-authored-by: KimLS <KimLS@peqtgc.com>
2025-12-13 19:56:37 -08:00
zimp-wow
dd6cfcddca [Feature] Rule to replace dispel spell effects with suppression effect. 2025-11-20 15:22:49 -05:00
Vayle
f74efcaa5f
[Bug Fix] Enhance SummonItemIntoInventory() to support stacking of items (#5022)
* Initial plan

* Initial plan

* Enhance SummonItemIntoInventory to support stacking

Co-authored-by: Valorith <76063792+Valorith@users.noreply.github.com>

* Update .gitignore

* Revert "Update .gitignore"

This reverts commit 16159398d8a69c53a719a1d54d068bbe0fa5284c.

* Disable PCH for patch sources compiled with -O0

Disables precompiled headers for specific patch source files that are compiled with -O0 on UNIX. This avoids Clang errors caused by __OPTIMIZE__ macro state mismatches between the PCH and translation units.

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
2025-10-22 22:50:00 -07:00
Exonintrendo
ecc0d4b5c0
updated crash report url to new hosted spire location (#5024) 2025-10-16 10:22:49 -07:00
Vayle
30004716bb
Merge pull request #8 from Valorith/fix/evolving-saylink-5017
[Bug Fix] Evolving Items SayLink
2025-10-05 20:01:46 -04:00
Mitch Freeman
a9d3e1bfe1 Updates
Tested ok
2025-10-05 12:50:18 -04:00
Vayle
4600b05bea
Merge pull request #5 from Valorith/copilot/fix-ff2b6de1-c436-4d71-b9f4-dfeb78b9fa7f
Enhance SummonItemIntoInventory to support stacking of items
2025-10-04 14:45:33 -04:00
Vayle
e32d57dd90 Disable PCH for patch sources compiled with -O0
Disables precompiled headers for specific patch source files that are compiled with -O0 on UNIX. This avoids Clang errors caused by __OPTIMIZE__ macro state mismatches between the PCH and translation units.
2025-10-02 23:02:10 -04:00
Mitch Freeman
28d0e75a5e Fix after rebase 2025-09-21 19:36:21 -03:00
Mitch Freeman
c30ae140b0 Fix after rebase 2025-09-21 19:16:20 -03:00
Mitch Freeman
a012e01730 Fix for db manifest typo 2025-09-21 19:14:16 -03:00
Mitch Freeman
a2310b6d5e Updated inventory_snapshots to correct a test case. Working as intended now.
Added sharedbank conversion to create unique item ids on world load.
2025-09-21 19:14:16 -03:00
Mitch Freeman
345d452a7e Remove FindTraderItemSerialNumber and FIndTraderItemBySerialNumber as they are no longer used.
Updated sharedbank to store unique_item_id instead of guid.
2025-09-21 19:14:16 -03:00
Mitch Freeman
4ded4d6b58 Updates based on comments. 2025-09-21 19:14:15 -03:00
Mitch Freeman
efda9975de Rebase updates 2025-09-21 19:14:15 -03:00
Mitch Freeman
a0f701686b Comment_Review
Updates based on comment review.
2025-09-21 19:14:15 -03:00
Mitch Freeman
3676f16dc3 Test db migration 2025-09-21 19:14:15 -03:00
Mitch Freeman
609beec23a Fix error messages in zone tests 2025-09-21 19:14:14 -03:00
Mitch Freeman
2a76c60f63 Fix error messages in zone tests 2025-09-21 19:14:14 -03:00
Mitch Freeman
cb79d805c4 Fix db mainifest 2025-09-21 19:14:14 -03:00
Mitch Freeman
b38d30e8ff Fix Merge issues 2025-09-21 19:14:13 -03:00
Mitch Freeman
cf3b9638c9 Phase 1 Offline Trading
Cleanup and testing
Zone updated builds ok
World updated builds ok

Update guild_base.h
2025-09-21 19:14:12 -03:00
neckkola
a81ec11ea3 WIP for world item unique id for CharSelect Screen 2025-09-21 19:14:12 -03:00
Mitch Freeman
8c6a99dc18 Testing 2025-09-21 19:14:11 -03:00
Mitch Freeman
2174f41505 Update database.cpp 2025-09-21 19:14:11 -03:00
Mitch Freeman
3c4cc74a54 Move conversion to world 2025-09-21 19:14:11 -03:00
neckkola
898a26d4e5 WIP 2025-09-21 19:14:11 -03:00
Mitch Freeman
93c38f5e24 wip 2025-09-21 19:14:10 -03:00
Mitch Freeman
125457afe6 WIP 2025-09-21 19:14:10 -03:00
Mitch Freeman
a0450ac39e WIP 2025-09-21 19:14:10 -03:00
neckkola
b06ca47d46 WIP 2025-09-21 19:14:10 -03:00