Commit Graph

38073 Commits

Author SHA1 Message Date
Carbenium
35e0002df3 Core/Common: Add a std::chrono interface to TimeTrackerSmall
New methods:
TimeTrackerSmall(Milliseconds expiry);
void Update(Milliseconds diff);
void Reset(Milliseconds expiry)
Milliseconds GetExpiry() const

Removed methods:
int32 GetExpiry() const

Also add basic unit tests.

Core/Scripts: Use std::chrono interface of TimeTrackerSmall

(cherry picked from commit e55516348d)
2022-01-24 21:25:47 +01:00
Shauren
d5dcf02196 Core/DBLayer: Add nicer api for SQLQueryHolders
(cherry picked from commit 9b806c6b5d)
2022-01-24 21:21:37 +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
offl
a21fca5ddf DB/Creature: Standardize creature respawn time part 10
Closes #25075

(cherry picked from commit 5b863acf92)
2022-01-24 20:21:05 +01:00
offl
7535be6667 DB/Creature: Remove gold and loot from some unlootable creatures
Closes #25070

(cherry picked from commit e3ceffdd1a)
2022-01-24 20:20:16 +01:00
offl
95d50421da DB/Creature: Standardize creature respawn time part 9
Closes #25068

(cherry picked from commit cf21b4a745)
2022-01-24 20:19:46 +01:00
offl
65b4bba8f2 DB/Creature: Make Honeybee follow player
Closes #25064

(cherry picked from commit aced3dcb9a)
2022-01-24 20:19:13 +01:00
offl
a500b0e9c6 DB/Quest: Rework support for 'Oh Noes, the Tadpoles!' (11560)
Closes #25062

(cherry picked from commit 7c2859fa1b)
2022-01-24 20:18:46 +01:00
offl
249c722465 DB/Creature: Standardize and adjust creature respawn time, remove wrong spawns part 8
Closes #25060

(cherry picked from commit 5e1a7074c7)
2022-01-24 20:18:11 +01:00
offl
3cc8842160 DB/Creature: Significantly increase amount of gold drop from Doomwalker & Doom Lord Kazzak
Closes #25059

(cherry picked from commit 632a1d7d24)
2022-01-24 20:16:25 +01:00
offl
68eae7999f DB/Spell: Add some missing conditions to spells with SPELL_EFFECT_ACTIVATE_OBJECT
Closes #25057

(cherry picked from commit 509c24ab53)
2022-01-24 20:10:38 +01:00
offl
f2c4267f6d DB/Creature: Deathwhisper Necrolyte
Closes #25048

(cherry picked from commit 7d7be8d5ac)
2022-01-24 20:07:33 +01:00
offl
94a1d642fc DB/Quest: Update support for 'The Black Knight's Curse' (14016)
Closes #25043

(cherry picked from commit 6a9c63886e)
2022-01-24 20:03:46 +01:00
offl
ff1be8baf1 DB/Creature: Add more texts to Naxxanar Skeletal Mage
Closes #25034

(cherry picked from commit db40ad7675)
2022-01-24 20:03:14 +01:00
offl
06f7c3b74e DB/Creature: Add formations & more proper waypoints to some packs in SWP
Closes #25011

(cherry picked from commit 9cee34ddb7)
2022-01-24 20:01:43 +01:00
offl
904d89caa1 DB/Quest: Simplify & update support for 'The Lost Spirits'
Closes #25009

(cherry picked from commit 1f866dc8a5)
2022-01-24 20:01:18 +01:00
offl
b4deef16ff DB/Quest: Add support for 'Surrender... Not!'
Closes #25002

(cherry picked from commit ef9ec91f1d)
2022-01-24 19:58:28 +01:00
offl
8131e31bff DB/SAI: Darkweb Victim / Kurzel
By @dr-j
Closes #24995

(cherry picked from commit fb98337cc0)
2022-01-24 19:57:59 +01:00
offl
68a4a811e1 DB/Quest: Rework support for two 'Test of Lore' quests
Closes #24993

(cherry picked from commit 7908b00311)
2022-01-24 19:57:39 +01:00
offl
3a9e82f11c DB/Quest: Update support for 'Protect Kanati Greycloud'
Closes #24992

(cherry picked from commit 2d93f1487a)
2022-01-24 19:56:09 +01:00
offl
5a51a11b5a DB/Quest: Update support for quest 'Suppression'
Closes #24991

(cherry picked from commit 2dd7cc8848)
2022-01-24 19:55:20 +01:00
offl
2d9a81917f DB/Quest: Update support for 'Zuluhed the Whacked'
Closes #24990

(cherry picked from commit 37b8760ced)
2022-01-24 19:53:29 +01:00
offl
e9ce371d83 DB/Creature: Tel'athion the Impure
By @ZenoX92
Closes #24988

(cherry picked from commit 560a9c75ff)
2022-01-24 19:43:33 +01:00
offl
5f05420dd3 DB/SAI: Harold Lane
By @ZenoX92
Closes #24987

(cherry picked from commit b1e1fe9c3b)
2022-01-24 19:42:01 +01:00
offl
ffd899be62 DB/SAI: Use serverside spells to activate taxi in some scripts
Closes #24986

(cherry picked from commit 7762a53b43)
2022-01-24 19:41:17 +01:00
offl
28f043207b DB/Misc: Nesingwary Safari's Events
By @ZenoX92
Closes #24983

(cherry picked from commit efbd50ed0e)
2022-01-24 19:39:28 +01:00
Shauren
f39e61078f CI/CircleCI: Fix invalid merge conflict resolution 2022-01-24 16:47:44 +01:00
Treeston
23ad14526c Core/Common: Allow config settings to be loaded as optional (PR #25137)
If the config setting is not present, returns the default without issuing a warning.

(cherry picked from commit 5ad064976e)
2022-01-24 15:08:46 +01:00
Jinnaix
ab7680157b Scripts/BlackrockSpire: Fix encage event of Pyroguard encounter (#25177)
(cherry picked from commit e3aa87641f)
2022-01-24 15:05:20 +01:00
Giacomo Pozzoni
9c85aee239 CI/CircleCI: Move codestyle and sql checks to their own step (#25175)
(cherry picked from commit f35582f98a)
2022-01-24 15:02:17 +01:00
Giacomo Pozzoni
736b9ac112 Log sync db queries in World::Update() loop (#25174)
* Core/Misc: Log sync queries on critical path

* Fix build

* Rename

* Fix warning

* Fix no-pch

* Change WarnAboutSyncQueries() to be header-only

(cherry picked from commit deceb11b5f)
2022-01-24 14:58:08 +01:00
Shauren
6d9a084036 Core/Commands: Initialize commands on startup instead of first use
(cherry picked from commit 0fc7b50c04)
2022-01-24 14:46:14 +01:00
Shauren
a9b4f9aca0 Core/Mail: Load mails at login instead of on demand when queried by packets (logging in always sends one of the packets that cause mail loading anyway)
(cherry picked from commit 57eaab80d9)
2022-01-24 14:45:54 +01:00
Shauren
54a6e603ff Core/Misc: Replace database query in WorldSession::HandleAddFriendOpcode with async version
(cherry picked from commit 2f0893d279)
2022-01-24 13:38:40 +01:00
Giacomo Pozzoni
1977d26050 Core/SAI: Ignore SAI while evading (#25108)
(cherry picked from commit 420b21be98)
2022-01-24 13:21:46 +01:00
Gildor
8847f37b5b Core/Loot: Prevent loot already looted item (#25084)
(cherry picked from commit 586c00fe2e)
2022-01-24 13:20:49 +01:00
Trond B. Krokli
fa444aca66 Scripts/Quest: Force of Neltharaku quest credit (#24807)
* Scripts/Quest: Force of Neltharaku quest credit

**Description:**

Suggested solution to resolve the kill credit double cast issue
in the quest "The Force of Neltharaku" (10854).

by Rushor

**Changes proposed:**

- Remove duplicate spell casts in the zone quest script
- Remove commented-out script section
- Set a couple of unit flags (anim/stand/hover)
- Move return new creature script override to end of script
- Move PlayerGUID, FlyTimer, and Tapped to Private
- Add DB flight movement control to Enslaved Netherwing Drake
- Add SpellMgr MaxAffectedTargets = 1 for spell 38762
- Add movement enum POINT_MOVE_UP
- Add missing enum for quest ID

**Target branch(es):** 3.3.5/master

- [X] 3.3.5
- [X] master

**Issues addressed:** Closes #24796

**Tests performed:** (Does it build, tested in-game, etc.)

Pending for now.

**Known issues and TODO list:** (add/remove lines as needed)

- [X] Open PR in draft mode until testing is cleared
- [ ] Compile and create local server
- [ ] Test changes on local server

* Rename 9999_99_99_99_world.sql to 2020_07_29_00_world.sql

Co-authored-by: Rushor <Rushor@users.noreply.github.com>
Co-authored-by: Giacomo Pozzoni <giacomopoz@gmail.com>
(cherry picked from commit e0dae8feb6)
2022-01-24 13:19:36 +01:00
Ovah
9c38dc2367 Core/World: added startup log outputs for query cache initialization for detailed information.
* the console will now throw a log when the feature is disabled
* additionally the console will now print how long it took to initialize

(cherry picked from commit 210f552ac5)
2022-01-24 13:15:42 +01:00
Shauren
d2cde75ab2 Core/Networking: Fixed authserver socket read handlers being called on incorrect thread
(cherry picked from commit 3ad05386c8)
2022-01-24 13:15:13 +01:00
jackpoz
f220e46c50 Core/Metric: Add new metric in World::UpdateSessions()
Add new metric about how long adding sessions took

(cherry picked from commit 5cd93df9ee)
2022-01-24 13:12:21 +01:00
Carbenium
b3f2ff97ff Core/CreatureAI: std::chrono-ify DoSummon* methods
(cherry picked from commit 1245833cdd)
2022-01-24 13:11:13 +01:00
jackpoz
10e3016e85 Dep/Boost: Set boost msvc version on Windows to 14.2
14.2 is the only supported one (Visual Studio 2019)

(cherry picked from commit 2ea511b9f4)
2022-01-24 13:02:52 +01:00
Giacomo Pozzoni
8350985975 Core/Metric: Log detailed metrics about each opcode handler (#25153)
* Core/Metric: Log detailed metrics about each opcode handler

* Add new panel to Performance profiling dashboard and use fill(0) instead of fill(none)

* Add new settings Metric.Threshold.* to be able to specify the minimum threshold for the specified metrics

* Update dashboard

* Change thresholds to be required to send the metrics. A TC_METRIC_DETAILED_TIMER metric with an expected threshold not configured will be ignored

* Use typedef Milliseconds

* Refresh realms on load

(cherry picked from commit 8a2c79c850)
2022-01-24 13:02:38 +01:00
Shauren
c7899c1e76 Core/WorldObject: std::chrono-ify SummonPersonalClone 2022-01-24 12:57:40 +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
217c2d9ef3 Core/WorldObject: Replace non-std::chrono SummonTrigger overloads
(cherry picked from commit 3620b47c41)
2022-01-24 12:47:56 +01:00
jackpoz
7a532595da Core/Metric: Fix setting in Performance profiling dashboard
(cherry picked from commit f9972f2473)
2022-01-24 12:45:04 +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
Giacomo Pozzoni
21e9fac8bd Core/Metric: Add new cmake option WITH_DETAILED_METRICS to enable more metrics (#25136)
* Core/Metric: Add new cmake option WITH_DETAILED_METRICS to enable more metrics

Add more detailed metrics in World::UpdateSessions().

* Attempt using C++17 features

* Fix cmake typo

Co-authored-by: NoName <322016+Faq@users.noreply.github.com>

* Fix build with WITHOUT_METRICS

* Update Performance profiling dashboard with Update sessions panel

* Add panel to show sessions with update time above 100 ms

* Move legends on the right and add max update time diff in the legend of sessions

Co-authored-by: NoName <322016+Faq@users.noreply.github.com>
(cherry picked from commit 36ef487a90)
2022-01-24 12:21:36 +01:00
Carbenium
03e4c0d7bf Core/Creature: Remove non-std::chrono overload of DespawnOrUnsummon
(cherry picked from commit 480dee3125)
2022-01-24 12:21:26 +01:00