Commit Graph

4085 Commits

Author SHA1 Message Date
Vayle 5af371ac60 Merge pull request #87 from Valorith/copilot/sub-pr-80-78df83ab-fc86-4eda-900e-3a2f3889ead1
Fix unlimited charges sentinel round-trip in inventory load
2026-03-19 22:42:54 -04:00
copilot-swe-agent[bot] 1e4691e44c Fix unlimited charges sentinel: use >= instead of > for int16::max() check
Co-authored-by: Valorith <76063792+Valorith@users.noreply.github.com>
2026-03-20 02:41:11 +00:00
Vayle 1bb872e900 Merge pull request #88 from Valorith/copilot/sub-pr-80-3de2c56e-01eb-4dbe-99cb-1a3d8f9ae362
Pass Strings::Implode unordered_set parameter by const reference
2026-03-19 22:40:49 -04:00
copilot-swe-agent[bot] 882a2627ab Pass unordered_set by const ref in Strings::Implode to avoid unnecessary copy
Co-authored-by: Valorith <76063792+Valorith@users.noreply.github.com>
2026-03-20 02:39:19 +00:00
copilot-swe-agent[bot] c652a07c05 Fix non-const lvalue reference binding in inventory_snapshots_repository.h
Co-authored-by: Valorith <76063792+Valorith@users.noreply.github.com>
2026-03-20 02:35:15 +00:00
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
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)
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 16159398d8.

* 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