Skip to content

All-features: custom multiclass/autoloot/faction/DPS systems + native client & patcher#9

Merged
Barathos merged 195 commits into
masterfrom
codex/features-all
Jun 7, 2026
Merged

All-features: custom multiclass/autoloot/faction/DPS systems + native client & patcher#9
Barathos merged 195 commits into
masterfrom
codex/features-all

Conversation

@Barathos

@Barathos Barathos commented Jun 7, 2026

Copy link
Copy Markdown
Owner

Summary

This integrates the codex/features-all branch — a large custom EverQuest server + native client feature set — into the fork's master.

Scale: 188 commits, ~2,500 files changed (+232k / −81k). This is a feature-branch → fork-master integration, not an upstream EQEmu submission.

Major feature areas

  • Multiclass trio system — per-character class trios with profiles, resonance stat bonuses, skill seeding, item/spell eligibility, pet roster, bard melody, and discipline bridges (zone/multiclass_manager.*).
  • AutoLoot — native AutoLoot window, group/shared looting modes, need/greed rolls, per-character filters, manual-loot locking (zone/autoloot_manager.*, zone/corpse.cpp).
  • Faction reputation window — native UI with search, pins, hidden rows, and per-character preferences (zone/faction_reputation_manager.*).
  • DPS parser — native encounter window with live damage / heal / incoming updates (zone/dps_parser_manager.*).
  • Achievements — native achievement window with kill / level / skill / zone tracking and rewards (zone/achievement_manager.*).
  • Native client — injected dinput8.dll (client_files/native_autoloot/eq-core-dll) providing the native windows, chat/command hooks, spell-level patching, and autofollow.
  • All-features patcher — launcher patcher source vendored under features/patcher/ (source only; build artifacts excluded).
  • Misc — autoskills in combat, tradeskill/pet/chat helpers, item rarity display, multiclass inventory stats, custom DB version + migrations.

This session — crash hardening

  • Format-string crash fix (zone/multiclass_manager.cpp): converted 48 Client::Message(type, fmt::format(...).c_str()) calls to the safe Message(type, "%s", ...) idiom, matching the DPS/faction managers. Prevents a crash when an item/spell/pet/trio name contains a % (otherwise interpreted as a printf specifier).
  • SEH guard (core_autoloot_native.h): wrapped the chat-hook transport parser in __try/__except (mirroring the pulse hook) so a torn-down native window can't cause a use-after-free; chat still passes through on fault.

Verification

  • zone.exe builds clean (MSVC Release) after the format-string sweep — multiclass_manager.cpp recompiles and links, exit 0.
  • dinput8.dll builds clean (MSVC Release|Win32) after the SEH change — eqgame.cpp (which includes the edited header) recompiles and links, exit 0.

Reviewer notes

  • Large integration PR into a personal fork's master.
  • features/patcher/ is committed as source only — ~106 MB of bin/ / obj/ build output is excluded via .gitignore.
  • The tracked native dinput8.dll binary is updated by this branch.
  • Custom database version is bumped; migrations are included.

🤖 Generated with Claude Code

regneq and others added 30 commits July 4, 2025 12:53
…EQEmu#4962)

* Add a missing Froglok starting area for Titanium Startzone.

* fix formatting.

* add a missing break.
* [Feature] Add Zone Scripting Capabilities

* Push

* Update zone.cpp

* Fix crashes

* Lua

* Add other events, finish Lua

* Add EVENT_ENTER_ZONE

* Final

* Push

* Push

* [Feature] Add Zone Scripting Capabilities

* Push

* Update zone.cpp

* Fix crashes

* Add EVENT_ENTER_ZONE

* Remove duplicates

* Update embparser.cpp
* Add group member role retrieval

* Expose group member role to Lua

* Cleanup

* Cleanup

---------

Co-authored-by: Kinglykrab <kinglykrab@gmail.com>
Co-authored-by: solar <solar@heliacal.net>
Co-authored-by: solar <solar@heliacal.net>
Co-authored-by: solar <solar@heliacal.net>
…u#4967)

Bumps [golang.org/x/oauth2](https://github.com/golang/oauth2) from 0.0.0-20180821212333-d2e6202438be to 0.27.0.
- [Commits](https://github.com/golang/oauth2/commits/v0.27.0)

---
updated-dependencies:
- dependency-name: golang.org/x/oauth2
  dependency-version: 0.27.0
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…4965)

* [Quest API] Add GetTimers() and GetPausedTimers() to Perl/Lua

* Push
* [Hotfix] Fix Quest Ownership Edge Case

* Push
* [Cleanup] Add #npcedit npc_tint_id Help Message

* Update npcedit.cpp

* Update npcedit.cpp
* [Database] Add heal_amount to character_stats_record

* Update version.h
* [Pets] Add Pet Constants and Methods

* Remove GetID

* GetPetTypeName()

* Cleanup
* [Cleanup] Cleanup #show ip_lookup Message

* Test

* Update clientlist.cpp
@Barathos Barathos merged commit b6d56b8 into master Jun 7, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.