Commit Graph

28 Commits

Author SHA1 Message Date
Alex King d7ea290b6b [Skill Caps] Remove from shared memory and simplify (#4069)
* [Skill Caps] Remove from shared memory and simplify

- Removes Skill Caps loading from shared memory and puts it into zone.
- Adds `id` column to `skill_caps`.
- Remove primary keys and use `id` as primary key.
- Add unique index using `skill_id`, `class_id`, `level`, and `cap`.
- Renames `class` to `class_id` in `skill_caps` table.
- Renames `skillID` to `skill_id` in `skill_caps` table.
- Regenerates Skill Caps repository.
- Adds `#reload skill_caps` to reload skill caps in real time.

* Update groups.cpp

* Update groups.cpp
2024-03-23 18:52:40 -05:00
Alex King 8edf7a07e3 [Base Data] Remove from shared memory and simplify (#4045)
* [Base Data] Remove from shared memory and simplify

- Removes Base Data loading from shared memory and puts it into zone.
- Changes type of `level` and `class` to `uint8_t` from `uint32_t` for consistency since we're renaming fields here anyway.
- Renames `unk1` to `hp_regen` in `base_data` table.
- Renames `unk2` to `end_regen` in `base_data` table.
- These changed fields were already mapped, we just hadn't renamed them for whatever reason.
- Regenerates Base Data repository.
- Adds `#reload base_data` to reload base data in real time.

* Cleanup

* Update shareddb.h

* Cleanup.

* Update shareddb.cpp

* Update main.cpp
2024-02-05 17:11:20 -06:00
Chris Miles c654c1d674 [Loot] Remove from shared memory, simplification (#3988)
* First pass of pulling loot out of shared memory, functional

* More code cleanup

* More cleanup

* More cleanup

* More cleanup

* Add loot reload type

* Reload, logging

* Update npc.h

* Cleanup

* Logging, don't load attempt to load loottable id 0

* Update worldserver.cpp

* Update client.cpp

* Update zone_loot.cpp

* PR feedback

* Update zone.cpp

* Memory leak suggestion

* Update CMakeLists.txt

* Post rebase issues
2024-02-05 15:17:53 -06:00
Alex King 297e358c02 [Factions] Remove from shared memory and simplify (#3999)
* [Factions] Remove from shared memory and simplify

- Removes factions from shared memory and moves to zone based storage of repositories and changes the NPC `faction_list` to also use repositories.
- This affects NPC Factions and Faction Associations.

* Bug fixes.

* Update client.cpp

* Update client.cpp

* Update client.cpp

* Cleanup

* Update client.cpp

* Update client.cpp

* Update client.cpp

* Final push

* Update CMakeLists.txt

* Consolidate reloading.

* [Cleanup] PR # 3999 (#4039)

* [Fixes for PR # 3999

* [Reload actual in game factions, not just the umbrella data.

* syntax

* Fix typo

* Foix bug where primary_faction not filled in when no hits

* Fix typos

* Fix splash factions for kills.

* Fix typo

* Fix more variable names to be accurate

* Fix Loads to load new ones as they come in.

* Load npc_factions without primary (tasks) and support old task faction

* Rename to make way for new LoadFactionAssocition (by faction_id)

* Fix some review comments

* Add code to load factions for splash tasks and quests.

* Fix issue with sign and RewardFaction, fix Log Message

---------

Co-authored-by: Paul Coene <noudess@gmail.com>
2024-02-04 10:38:38 -05:00
Chris Miles c236c57a2c [C++20] Enable C++20 + Fixes + FMT 9.1 (#2664)
* [CPP] Enable and build compliance with cpp20

* Windows build fix

* bump fmt version

* Updated fmt to 9.1, updated cmake minimum and verified preprocessor stuff works.

* Missing :

* Fix warning: top-level comma expression in array subscript is deprecated

* Fix warning: top-level comma expression in array subscript is deprecated

Co-authored-by: KimLS <KimLS@peqtgc.com>
2022-12-20 21:52:36 -06:00
Michael Cook (mackal) 2b4e555eae [Feature] Faction Association (#2408)
* Add faction logging category

Probably should use this for more things

* Add FactionAssociation struct

This is simply just a struct that contains an array of faction ids and
multiplier. This can hold a maximum of 10 entries (Seru hit is 8, so 2
extra) this can be raised if need be.

* Add database changes and other data point changes

This is all the database changes and loading changes

Included is an optional SQL that will be used as a starting point, there
is likely errors or typos, but we will fix those as they are discovered.

* Add Client::RewardFaction function

This just takes the faction ID and the magnitude of the primary faction
hit and calculates the rest.

The minimum change will be either 1 or -1. We stop processing after we
see an ID of 0 and assume there will be no later entries.

The primary faction ID will always receive a hit even if there is no
faction association entries

* Add users of RewardFaction to NPC death, tasks, and QuestRewards

This will only use the new system if the magnitude is set, otherwise we
will just use the old system still

* Add quest system calls and lua QuestReward support

* Add #factionassociation command

This just calls RewardFaction, mostly useful for debugging
2022-09-03 10:57:55 -04:00
Alex 058a722569 Revert "Revert "Build System Updated"" 2019-10-13 18:49:16 -07:00
Alex b9f57f1f28 Revert "Build System Updated" 2019-10-12 21:07:06 -07:00
KimLS 72a922f2ba Changes to building 2019-08-25 14:45:54 -07:00
KimLS 1d1df3bf7a Servertalk implementation wip, added optional support for pub-key authenticated encryption (via libsodium), not backwards compatible. 2016-10-23 17:55:19 -07:00
KimLS 5cad3f62d0 EQStream abstraction layer 2016-09-25 15:10:34 -07:00
KimLS b7e36feeeb Removed more socket server stuff, changed some of the build stuff. 2014-07-14 15:44:28 -07:00
Corysia Taware f6046477b4 Changes for intel Mac OSX build 2014-04-03 14:10:03 -07:00
KimLS cdcda943be Base data for hp/mana/end calcs, mostly but not completely correct 2013-10-18 00:09:00 -07:00
Dmitry Marakasov 7ee417ab05 Simplify conditional linking with libdl 2013-10-09 19:27:52 +04:00
j883376 0578f45490 Revert "Revert "Merge pull request #77 from j883376/cleanups""
This reverts commit d25205d9d3.
2013-06-28 04:25:44 -04:00
KimLS d25205d9d3 Revert "Merge pull request #77 from j883376/cleanups"
This reverts commit 4ff2efea43, reversing
changes made to e811e3975b.
2013-06-27 12:50:20 -07:00
j883376 536e31d771 Change binary output path to use CMake variable
Tools that use CMake's EXECUTABLE_OUTPUT_PATH variable to
determine which binary to launch for debugging may be confused
by a relative path, so use CMake variable PROJECT_BINARY_DIR
instead.
2013-06-21 23:21:57 -04:00
j883376 f51f6e00c4 Add install paths to CMakeLists 2013-05-15 17:04:08 -04:00
KimLS 9e13a2271c Merge conflicts 2013-05-15 13:22:46 -07:00
Michael Cook 73a4e87379 FreeBSD support and clean up of unnecessary ifdef FREEBSD 2013-05-11 14:32:14 -04:00
j883376 4bdd8b2502 Change space indentation to tabs 2013-05-09 11:37:51 -04:00
SecretsOTheP cabf8631d4 Fixed mercenary memleaks in AI_Start and Unsuspend. 2013-03-20 04:00:08 -04:00
KimLS c31b2b65c1 NPC Faction lists to new shared memory scheme 2013-02-23 13:45:19 -08:00
KimLS 6f13d0cfbc Partial work on loot tables (non-compiling) 2013-02-21 22:13:33 -08:00
KimLS 3e9c2a06a3 Items in shared memory 2013-02-20 22:36:30 -08:00
KimLS 8eb7d0aaa8 Skill caps load with new smem scheme 2013-02-20 13:54:26 -08:00
KimLS 0d16361a40 Working on shared memory stuff - removed some stuff dealing with older code and loading spells from the non-database 2013-02-18 19:00:07 -08:00