Commit Graph

1343 Commits

Author SHA1 Message Date
Peter Keresztes Schmidt 53b28572bf Scripts/Commands: Convert argument parsing of cast commands to new system (#25309)
(cherry picked from commit cefac75a7d)
2022-02-04 00:27:12 +01:00
Peter Keresztes Schmidt 582b8458ea Scripts/Commands: Fix two unreachable code issues found by PVS-studio (#25311)
(cherry picked from commit 3262ef447a)
2022-02-04 00:27:12 +01:00
Peter Keresztes Schmidt 5675d62159 Scripts/Commands: Convert argument parsing of message commands to new system (#25305)
(cherry picked from commit f17b9b20f1)
2022-02-04 00:27:11 +01:00
Peter Keresztes Schmidt e9209c3131 Scripts/Commands: Convert argument parsing of most list commands to new system (#25303)
(cherry picked from commit 522a4cb1a6)
2022-02-04 00:27:11 +01:00
Peter Keresztes Schmidt 86bfde389a Scripts/Commands: Convert argument parsing of event commands to new system (PR #25275)
(cherry picked from commit 7bfeb03c13)
2022-02-03 00:19:14 +01:00
Peter Keresztes Schmidt 3c82863c52 Core/ChatCommands: Check whether a passed numeric enum value is valid (#25285)
(cherry picked from commit 4286e7aa02)
2022-02-03 00:18:48 +01:00
Peter Keresztes Schmidt 3ba767c438 Scripts/Commands: Convert argument parsing of gm commands to new system (#25279)
(cherry picked from commit 9c9e8c7d58)
2022-02-03 00:10:31 +01:00
Peter Keresztes Schmidt 888d217c16 Scripts/Commands: Convert argument parsing of remaining go command to new system (#25284)
(cherry picked from commit 1aadf6c6d1)
2022-02-03 00:08:21 +01:00
Carbenium a773039211 Scripts/Commands: Convert argument parsing of honor commands to new system
(cherry picked from commit 515a34f64f)
2022-02-02 23:02:41 +01:00
Treeston eaa3c7e5a0 Core/Warden: Add .debug warden force, allowing you to force specific warden checks to be sent
(cherry picked from commit f04f4e91ff)
2022-02-02 22:47:55 +01:00
Peter Keresztes Schmidt dc5f7ee5fc Scripts/Commands: Convert argument parsing of deserter commands to new system (PR #25276)
(cherry picked from commit c952cb7f71)
2022-02-02 22:32:46 +01:00
Peter Keresztes Schmidt 4aa1c74232 Scripts/Commands: Convert argument parsing of cheat commands to new system (PR #25277)
(cherry picked from commit 4707e05938)
2022-02-02 22:21:51 +01:00
Peter Keresztes Schmidt ec26736e30 Scripts/Commands: Convert argument parsing of most debug commands to new system (PR #25260)
(cherry picked from commit 76f309b4e8)
2022-02-02 22:13:50 +01:00
Treeston e0ddc676d6 Scripts/Commands: Move .debug asan command bodies inside #ifdef ASAN
(cherry picked from commit e18f7aaa4d)
(cherry picked from commit 0b13fc1926)
(cherry picked from commit 5ecbe93f7d)
2022-02-02 21:27:52 +01:00
Peter Keresztes Schmidt 37777ac6e8 Scripts/Commands: Convert argument parsing of ahbot commands (PR #25264)
(cherry picked from commit 426513ec8e)
2022-02-02 21:17:51 +01:00
Carbenium c8b0d4e6d8 Scripts/Commands: Convert argument parsing of bf commands to new system
(cherry picked from commit fa6a8e8f64)
2022-02-02 20:50:49 +01:00
Treeston 673521bc87 Core/ChatCommands: Move Trinity::ChatCommands::Variant from boost::variant to std::variant (for real this time)
(cherry picked from commit ffc3e355fe)
2022-02-02 20:49:42 +01:00
Shauren ca92686b44 Core/Pets: Pet management refactoring (#25191)
* Core/Pets: Pet management refactoring

* Preload basic pet data on character login with async query
* Load additional pet data (declined names/auras/spells/cooldowns) using async query after we are sure pet loading will succeed
* Remove all select queries related to pet stable/unstable
* Remove all silent pet deletions except explicit UI-triggered abandons
* Fixed displaying stable master content when current pet is not summoned
* Allow to stable/swap unsummoned current pet

Closes #3610
Closes #21266

(cherry picked from commit 5c1fc5e387)
2022-01-31 00:17:21 +01:00
Shauren 7044204130 Core/Objects: Cleanup SmoothPhasing code - move to separate files and better integrate it with visibility system 2022-01-29 20:35:25 +01:00
Peter Keresztes Schmidt ec44c8296d Scripts/Commands: Use enum type arg for HandleDebugAnimCommand (PR #25256)
* Core/Shared: Make Emote enum smart
* Scripts/Commands: Use enum type arg for HandleDebugAnimCommand

(cherry picked from commit 86dc58974a)
2022-01-26 22:16:05 +01:00
Peter Keresztes Schmidt 3923650aeb Core/ChatCommands: Add support for enum type arguments (PR #25242)
(cherry picked from commit 5e40eb20e2)
2022-01-26 22:13:06 +01:00
Peter Keresztes Schmidt 2e3c612c80 Core/Unit: Make HandleEmoteCommand typesafe (#25249)
* Scripts/ScarletMonastery: Fix wrong emote during Headless Horseman encounter

* Scripts/HoR: Fix wrong emote during escape event

* Core/Unit: Make improve type safety of HandleEmoteCommand

Change argument type to the expected enum type Emote

* Scripts/CoS: Use SetUInt32Value to set UNIT_NPC_EMOTESTATE

UNIT_NPC_EMOTESTATE is no flag field

(cherry picked from commit 6c7837f947)
2022-01-26 21:46:51 +01:00
Treeston 319ddd9bcd Core/Warden: Warden refactors (PR #25235)
(cherry picked from commit 6116e5b385)
2022-01-26 19:42:11 +01:00
jackpoz 26894508ef Core/Misc: Code cleanup
(cherry picked from commit dd28cecda3)
2022-01-26 19:18:46 +01:00
jackpoz b3f0d92b81 Scripts/Command: Fix .mmap loc always printing command usage
(cherry picked from commit 0eb49a3cc9)
2022-01-26 19:16:55 +01:00
Giacomo Pozzoni ffd85f9139 Scripts/Comamnds: Improve ".debug objectcount" command (#25208)
* Scripts/Comamnds: Improve ".debug objectcount" command

Include the top 5 most common creatures in the map

* Use C++ features to copy data

* Fix build warnings

* Update src/server/scripts/Commands/cs_debug.cpp

Co-authored-by: Shauren <shauren.trinity@gmail.com>

* Update src/server/scripts/Commands/cs_debug.cpp

Co-authored-by: Shauren <shauren.trinity@gmail.com>

* Update src/server/scripts/Commands/cs_debug.cpp

Co-authored-by: Shauren <shauren.trinity@gmail.com>

* Move CreatureCountWorker out of function and use template for unhandled cases

* Code cleanup

Co-authored-by: Shauren <shauren.trinity@gmail.com>
(cherry picked from commit bd5e832a64)
2022-01-26 16:22:00 +01:00
Giacomo Pozzoni 864d775280 Core/Misc: Fix static analysis issues (#25194)
(cherry picked from commit 07fd84b679)
2022-01-26 14:06:40 +01:00
Giacomo Pozzoni 61bf51874d Core/Misc: Fix static analysis issues (#25178)
(cherry picked from commit 7cf122fc2a)
2022-01-24 20:21:25 +01:00
Carbenium 82fce41852 Core/WorldObject: Replace non-std::chrono SummonGameObject overloads
Also fix intended despawn time of GOs used by the "Engineering a Disaster" quest

(cherry picked from commit 8642aaaf92)
2022-01-24 12:55:43 +01:00
Carbenium 3bba8d50b1 Core/WorldObject: Remove non-std::chrono SummonCreature overload
Remove
TempSummon* SummonCreature(uint32 entry, Position const& pos, TempSummonType despawnType = TEMPSUMMON_MANUAL_DESPAWN, uint32 despawnTime = 0, uint32 vehId = 0, uint32 spellId = 0);

(cherry picked from commit a41f599be7)
2022-01-24 12:39:59 +01:00
Carbenium 310f996b1d Core/WorldObject: Partially std::chrono-ify SummonCreature overloads
TempSummon* SummonCreature(uint32 entry, float x, float y, float z, float o = 0, TempSummonType despawnType = TEMPSUMMON_MANUAL_DESPAWN, uint32 despawnTime = 0);
to
TempSummon* SummonCreature(uint32 entry, float x, float y, float z, float o = 0, TempSummonType despawnType = TEMPSUMMON_MANUAL_DESPAWN, Milliseconds despawnTime = 0s);

(cherry picked from commit 1131229ee9)
2022-01-24 11:55:32 +01:00
Shauren cacdb57c9c Core/Crypto: c++17-ify crypto code cherry picked earlier that was downgraded to c++14 2022-01-23 23:49:34 +01:00
Giacomo Pozzoni e8583d04f6 Core/Metric: Add more metrics about World::Update() loop (#25098)
* Core/Metric: Add more metrics about World::Update() loop

* Add new Performance profiling grafana dashboard

* Add new cmake setting WITHOUT_METRICS that disables all metrics

As new metrics are added, someone might want to disable them if unused.

* Add more metrics about World::Update() loop

* Remove old performance profiling features

Remove "server set difftime" command, "-RecordUpdateTimeDiffInterval" and "MinRecordUpdateTimeDiff" worldserver config settings and their related code.
The whole UpdateTime class could be removed too.

* Update and rename 2020_07_99_99_world.sql to 2020_07_24_00_world.sql

(cherry picked from commit 3c0ac7302f)
2022-01-23 22:45:25 +01:00
Giacomo Pozzoni fda8a09766 Core/Misc: Replace boost::shared_mutex with std::shared_mutex (#24328)
* Core/Misc: Replace boost::shared_mutex with std::shared_mutex

* Remove std forward declarations

(cherry picked from commit 7032ee0bdb)
2022-01-23 21:51:47 +01:00
Shauren 596bf2b772 Core/Misc: Replace boost::optional with std::optional part 2 2022-01-23 20:31:52 +01:00
Peter Keresztes Schmidt 770fbcca0c Core/Misc: Replace boost::optional with std::optional (#25047)
C++17 is already mandatory, so it's a safe thing to do

(cherry picked from commit 202fd41389)
2022-01-23 18:05:59 +01:00
Peter Keresztes Schmidt 1e1679a1f7 Core/DataStores: Port refactors from Update DBC field names to generated ones (#24999)
(cherry picked from commit c92950b3e1)
2022-01-23 00:06:16 +01:00
Shauren 279744efcd Core/Commands: Fixed wrong field being used to determine instance type in .lookup map id 2022-01-19 12:37:27 +01:00
Aqua Deus a3b2e4d987 Core/Items: Reagent bank (#27592) 2022-01-16 22:31:24 +01:00
Shauren 0d3235f569 Core/Guilds: Separate guild rank id from guild rank order
Co-authored-by: aquadeus <efectokoleos13@gmail.com>
2022-01-09 23:12:00 +01:00
ForesterDev 69cadae38a DB/Account: update account_access table cherry-pick take 2 (with refactors)
(cherry picked from commit 8e0365d8a6)
2022-01-06 23:28:52 +01:00
jackpoz 5886bf7484 Scripts/Commands: Add .debug objectcount <optional map id> chat command
Add .debug objectcount <optional map id> chat command to show the number of Creatures and GameObjects

(cherry picked from commit cd37a17103)
2022-01-06 20:49:28 +01:00
Shauren 98272944ee Core/Commands: Fixed .npc add overwriting existing spawns when used on transports
(cherry picked from commit 75ab3619bd)
2022-01-04 15:33:04 +01:00
Giacomo Pozzoni 89afeed41b Core/MMAPs: Adjust walkable climb and fix a lot of mmap raycast issues (#24539)
* Core/MMAPs: Adjust walkable climb

Adjust walkable climb as recast using walkableClimb also to find the poly from a position, giving priority to polys that are below the position but closer than walkableClimb.

* Temporarily disable static collision (the whole check should be removed)

* Core/Spells: removed deprecated mmap path check for TARGET_DEST_CASTER_FRONT_LEAP

* Core/Objects: allow flying units to use the helper as well (flying units casting radius based spells)

* Code refactor

* Handle raycasts that end in a point with no height in the mmap mesh as PATHFIND_NOPATH

* Walk back a bit from raycast hitpoints as sometime the 2D result point is outside of the polygons due to floating point errors.

* Remove whitespace

* Revert 4a197ba22a as a raycast point path should have the Z retrieved with getPolyHeight(). Raycast will only return a 2-point path with Start and Hitpoint/End

* Cleanup PathGenerator raycast case

* Fix PathGenerator raycast broken if start and end are on same poly.
Fix PathGenerator raycast broken if no wall is hit.
Remove unused case of using raycast with an existing previous path (can be added back properly if needed).
Remove forcing poly length to 2 when we actually have already the right number.

* Use closestPointOnPolyBoundary on the second try of finding a point on poly for raycast.
Note that in this case the mesh height is not used which might cause issues. The poly boundary height will be used instead.

* Handle cases where getPolyHeight() fails because the point is on polygon border (and caused by floating point imprecision)

* Add far from poly flags

* Set PATHFIND_INCOMPLETE in raycast case if startFarFromPoly or endFarFromPoly

* Fix blink close to walls with no valid polygon behind the wall

* Require to re-extract mmaps

Co-authored-by: Ovah <dreadkiller@gmx.de>
(cherry picked from commit c0b75bf40d)
2022-01-04 15:33:04 +01:00
ForesterDev 9d38eeec7e Core/Player: add helper methods for PLAYER_FLAGS_DEVELOPER (#24511)
* Core/Player: add helper methods for PLAYER_FLAGS_DEVELOPER. Update .dev command to new command model

* Rename _player -> player

(cherry picked from commit 8128bb97db)
2022-01-01 23:18:04 +01:00
jackpoz 68d947d42f Core/Log: Log all character kicks to "network.kick" category
(cherry picked from commit 31018c3652)
2022-01-01 12:56:24 +01:00
jackpoz ecdc387df2 Core/Misc: Remove whitespace at the end of lines
(cherry picked from commit caae3886d2)
2022-01-01 01:00:26 +01:00
Giacomo Pozzoni a9e325f6b7 Core/Logs: Log full guid instead of just low guid, part 2
(cherry picked from commit 3def52c1c4)
2022-01-01 00:51:54 +01:00
Matan Shukry 8fabe5a3aa Core/Phasing: Implemented db spawns in personal phases (#26345)
Co-authored-by: Shauren <shauren.trinity@gmail.com>
2021-12-28 13:24:10 +01:00
Matan Shukry b821a72973 Core/Player: Initial War Mode support (#25926)
* Enable PvP talents
* War Mode buff aura
* Forced PvP flagging

Co-authored-by: Shauren <shauren.trinity@gmail.com>
2021-12-26 19:14:46 +01:00