Commit Graph

7431 Commits

Author SHA1 Message Date
Carbenium
da438c73e2 Core/BossAI: Remove _DespawnAtEvade(uint32, Creature*) overload
Use _DespawnAtEvade(Seconds,  Creature*) instead

(cherry picked from commit 27229c10cd)
2022-01-23 23:28:47 +01:00
Carbenium
5f296fb7c7 Core/InstanceScript: std::chrono-ify DoRespawnGameObject
(cherry picked from commit d7ff8c272a)
2022-01-23 23:09:27 +01:00
Trond B. Krokli
cf94f4a8ed Scripts/Borean Tundra: duplicate comment text (#25102)
(cherry picked from commit ebb9e1b4de)
2022-01-23 22:49:11 +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
Carbenium
330e7100cb Core/Scripts: Fix timing issue of EVENT_FLY_TO_RANDOM_PILLAR during Illidan encounter
The intention here is to add additional 30 seconds of delay to the current delay of EVENT_FLY_TO_RANDOM_PILLAR.
Instead of EventMap::GetNextEventTime, EventMap::GetTimeUntilEvent has to be used which returns the currently
scheduled delay until the event occurs.
EventMap::GetNextEventTime instead exposes the timer value internal to EventMap at which the event should occur.

(cherry picked from commit f1f251eb38)
2022-01-23 22:19:24 +01:00
Peter Keresztes Schmidt
44ea32ace4 Build: Enable -Wimplicit-fallthrough on clang (#25056)
* Misc: Use [[fallthrough]] attribute instead of comment to mark intentional fallthroughs

Related: #25006

* Misc: Add some missing breaks (no-ops) to satisfy clang

Related: #25006
Closes #25055

* Build: Enable -Wimplicit-fallthrough on clang

Closes #25006
2022-01-23 22:16:15 +01:00
Peter Keresztes Schmidt
ad340466d0 Misc: Use [[fallthrough]] attribute instead of comment to mark intentional fallthroughs (#25054)
Related: #25006
(cherry picked from commit 85b5b842ca)
2022-01-23 22:02:03 +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
Treeston
d11c3807b3 Core/Time: Rename GetGameTime{System, Steady}Point methods
The names are a bit unhandy. Rename them (shorter but still meaningful).

GetGameTimeSystemPoint() -> GetSystemTime()
GetGameTimeSteadyPoint() -> Now()

Also add 2 new typedefs:

typedef std::chrono::steady_clock::time_point TimePoint;
typedef std::chrono::system_clock::time_point SystemTimePoint;

Closes #25042

(cherry picked from commit 896b68d5c2)
2022-01-23 21:36:03 +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
Shauren
15d59640fa Scripts/World: Use std::chrono::duration overloads of EventMap 2022-01-23 16:39:31 +01:00
Shauren
8417c7d815 Scripts/Zul'aman: Use std::chrono::duration overloads of EventMap 2022-01-23 16:39:31 +01:00
Shauren
5a53fa4b58 Scripts/Blackrock Spire: Use std::chrono::duration overloads of EventMap 2022-01-23 16:39:31 +01:00
Shauren
1ef00ccd10 Scripts/Stonecore: Use std::chrono::duration overloads of EventMap 2022-01-23 16:39:31 +01:00
Shauren
f0a7bc5267 Scripts/Halls of Origination: Use std::chrono::duration overloads of EventMap 2022-01-23 16:39:31 +01:00
Shauren
66641b6d22 Scripts/Blackrock Caverns: Use std::chrono::duration overloads of EventMap 2022-01-23 16:39:31 +01:00
Shauren
d07425e620 Scripts/Firelands: Use std::chrono::duration overloads of EventMap 2022-01-23 16:39:31 +01:00
Shauren
bb29fb406e Scripts/Baradin Hold: Use std::chrono::duration overloads of EventMap 2022-01-23 16:39:31 +01:00
Peter Keresztes Schmidt
54d3110ca7 Scripts/World+Pet: Use std::chrono::duration overloads of EventMap (#25017)
Contributes to #25012

(cherry picked from commit 0072fa922d)
2022-01-23 16:02:35 +01:00
Peter Keresztes Schmidt
ce8c0da4fe Scripts/Icecrown Citadel: Use std::chrono::duration overloads of EventMap (Part 2) (#25041)
Part 2: gunship battle and Sindragosa

Contributes to https://github.com/TrinityCore/TrinityCore/issues/25012

(cherry picked from commit 6968e7a1a1)
2022-01-23 16:02:25 +01:00
Peter Keresztes Schmidt
0195ec8945 Scripts/Icecrown Citadel: Use std::chrono::duration overloads of EventMap (#25036)
Part 1: without gunship battle and Sindragosa

Contributes to #25012

(cherry picked from commit 5eaff8a3bc)
2022-01-23 16:02:00 +01:00
Peter Keresztes Schmidt
253cbf5678 Scripts/Tempest Keep: Use std::chrono::duration overloads of EventMap (#25040)
Contributes to #25012

(cherry picked from commit 2d9c5979a6)
2022-01-23 16:01:09 +01:00
Peter Keresztes Schmidt
c3228cc252 Scripts/Utgarde Keep: Use std::chrono::duration overloads of EventMap (#25039)
Contributes to #25012

(cherry picked from commit f00ab389d6)
2022-01-23 16:00:59 +01:00
Peter Keresztes Schmidt
8e7c368220 Scripts/Magisters Terrace: Use std::chrono::duration overloads of EventMap (#25038)
Contributes to #25012

(cherry picked from commit 88314660b6)
2022-01-23 16:00:43 +01:00
Peter Keresztes Schmidt
b27c70aff2 Scripts/Ulduar: Use std::chrono::duration overloads of EventMap (#25035)
Contributes to #25012

(cherry picked from commit d4bce9f4d2)
2022-01-23 15:49:50 +01:00
Peter Keresztes Schmidt
b7d5a1653d Scripts/Nexus: Use std::chrono::duration overloads of EventMap (#25033)
Contributes to #25012

(cherry picked from commit 2f538258d9)
2022-01-23 15:49:27 +01:00
Peter Keresztes Schmidt
ef5f874cea Scripts/Naxxramas: Use std::chrono::duration overloads of EventMap (#25032)
Contributes to #25012

(cherry picked from commit 6eec0bc50f)
2022-01-23 15:49:09 +01:00
Peter Keresztes Schmidt
65e1b79547 Scripts/Isle of Conquest: Use std::chrono::duration overloads of EventMap (#25031)
Contributes to #25012

(cherry picked from commit 1a32b0f5b3)
2022-01-23 15:49:01 +01:00
Peter Keresztes Schmidt
3d9885a302 Scripts/Gundrak: Use std::chrono::duration overloads of EventMap (#25030)
Contributes to #25012

(cherry picked from commit 3a9b3259b8)
2022-01-23 15:48:52 +01:00
Peter Keresztes Schmidt
e6e4edd768 Scripts/Frozen Halls: Use std::chrono::duration overloads of EventMap (#25029)
Contributes to #25012

(cherry picked from commit 19ee4d6254)
2022-01-23 15:48:41 +01:00
Peter Keresztes Schmidt
0c6b6acda6 Scripts/Drak'Tharon Keep: Use std::chrono::duration overloads of EventMap (#25028)
Contributes to #25012

(cherry picked from commit 65e01053a8)
2022-01-23 15:48:25 +01:00
Peter Keresztes Schmidt
cd65f988bd Scripts/Chamber of Aspects: Use std::chrono::duration overloads of EventMap (#25027)
Contributes to #25012

(cherry picked from commit 42102871a7)
2022-01-23 15:48:17 +01:00
Peter Keresztes Schmidt
5507aa2f5e Scripts/Coilfang Reservoir: Use std::chrono::duration overloads of EventMap (#25025)
Contributes to #25012

(cherry picked from commit 5ed6c6a5c3)
2022-01-23 15:48:08 +01:00
Peter Keresztes Schmidt
7f948a3e23 Scripts/Hellfire Citadel: Use std::chrono::duration overloads of EventMap (#25024)
Contributes to #25012

(cherry picked from commit d00c95f26f)
2022-01-23 15:47:58 +01:00
Peter Keresztes Schmidt
7b766f45b0 Scripts/Azjol-Nerub: Use std::chrono::duration overloads of EventMap (#25026)
Contributes to #25012

(cherry picked from commit 1c3187e596)
2022-01-23 15:47:50 +01:00
Shauren
e0256154b6 Scripts/Mana Tombs: Fix Pandemonious Dark Shell event delay
(cherry picked from commit 7e5cf40d4c)
2022-01-23 15:47:38 +01:00
Peter Keresztes Schmidt
5c3b3d2225 Scripts/Auchindoun: Use std::chrono::duration overloads of EventMap (#25023)
Contributes to #25012

(cherry picked from commit 4ad80434a2)
2022-01-23 15:47:16 +01:00
Peter Keresztes Schmidt
1a53ac17c8 Scripts/Outland: Use std::chrono::duration overloads of EventMap (#25022)
Contributes to #25012

(cherry picked from commit 39fc17e284)
2022-01-23 15:47:00 +01:00
Peter Keresztes Schmidt
5086f1bfdc Scripts/Northrend: Use std::chrono::duration overloads of EventMap (#25021)
Contributes to #25012

(cherry picked from commit 29779db58b)
2022-01-23 15:46:37 +01:00
Peter Keresztes Schmidt
c56f99a1d4 Scripts/Trial of the Crusader: Use std::chrono::duration overloads of EventMap (#25020)
Contributes to #25012

(cherry picked from commit a2b2dc7ad0)
2022-01-23 15:41:42 +01:00
Peter Keresztes Schmidt
111521d3c9 Scripts/EasternKingdoms: Use std::chrono::duration overloads of EventMap (#25019)
Contributes to #25012

(cherry picked from commit 5ef576d223)
2022-01-23 15:41:30 +01:00
Peter Keresztes Schmidt
41dab047ed Scripts/Blackrock Mountain: Use std::chrono::duration overloads of EventMap (#25018)
Contributes to #25012

(cherry picked from commit ac27c922d1)
2022-01-23 15:39:28 +01:00
Peter Keresztes Schmidt
8fb60c4d19 Scripts/Kalimdor: Use std::chrono::duration overloads of EventMap (#25016)
Contributes to #25012

(cherry picked from commit 90d5e7e1e8)
2022-01-23 15:38:35 +01:00
Giacomo Pozzoni
e188a75c68 Scripts/Kologarn: Fix another "stuck in combat" issue (#24998)
(cherry picked from commit ee34a1f19e)
2022-01-23 15:20:29 +01:00
Giacomo Pozzoni
e9cf3828ba Core/Spells: Implement SPELL_EFFECT_ACTIVATE_OBJECT. (#23) (#24997)
* Core/Spells: Implement SPELL_EFFECT_ACTIVATE_OBJECT. (#23)

Original research by @xvwyh.

* Add missing sql update

* Fix some build errors

* Remove unused enum values

* Change artkits from 0-4 to 0-3

* Remove unused code

* Code review feedback

* Fix sql

* Remove artkit4 special case handling

* Default initialize artKits

* Code review feedback

* Split sql into structure and data files

Co-authored-by: Warpten <vertozor@gmail.com>
(cherry picked from commit 203573db83)
2022-01-23 15:17:54 +01:00
Peter Keresztes Schmidt
365ae6ff25 Fix some compiler warnings reported by GCC (#25007)
* Core/AI: Remove unneeded null checks

GetMap() can never return NULL.

Fixes additionally -Wunused-variable warnings
reported by GCC.

* Core/GameObject: Fix a -Wunused-variable warning reported by GCC

* Core/Player: Fix a -Wunused-variable warning reported by GCC

* Scritps/CavernsOfTime: Fix -Wimplicit-fallthrough warnings reported by GCC

* Scritps/CavernsOfTime: Fix a -Wmaybe-uninitialized warning reported by GCC

Warning:

/home/peterke/DEV/TrinityCore/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/npc_arthas.cpp: In member function ‘virtual void npc_arthas_stratholme::npc_arthas_stratholmeAI::UpdateAI(uint32)’:
/home/peterke/DEV/TrinityCore/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/npc_arthas.cpp:1119:58: warning: ‘emote’ may be used uninitialized in this function [-Wmaybe-uninitialized]
 1119 |                                 (*it)->HandleEmoteCommand(emote);
      |                                 ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~

* Scritps/PitOfSaron: Fix -Wunused-variable warnings reported by GCC

* Scritps/EyeOfEternity: Fix a -Wclass-memaccess warning reported by GCC

Warning:

/home/peterke/DEV/TrinityCore/src/server/scripts/Northrend/Nexus/EyeOfEternity/boss_malygos.cpp: In member function ‘virtual void boss_malygos::boss_malygosAI::UpdateAI(uint32)’:
/home/peterke/DEV/TrinityCore/src/server/scripts/Northrend/Nexus/EyeOfEternity/boss_malygos.cpp:950:81: warning: ‘void* memset(void*, int, size_t)’ clearing an object of non-trivial type ‘class ObjectGuid’; use assignment or value-initialization instead [-Wclass-memaccess]
  950 |                             memset(_surgeTargetGUID, 0, sizeof(_surgeTargetGUID));
      |

* Scritps/CoilfangReservoir: Fix a -Wclass-memaccess warning reported by GCC

Warning:

/home/peterke/DEV/TrinityCore/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_leotheras_the_blind.cpp: In member function ‘void boss_leotheras_the_blind::boss_leotheras_the_blindAI::Initialize()’:
/home/peterke/DEV/TrinityCore/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_leotheras_the_blind.cpp:220:55: warning: ‘void* memset(void*, int, size_t)’ clearing an object of non-trivial type ‘class ObjectGuid’; use assignment or value-initialization instead [-Wclass-memaccess]
  220 |             memset(InnderDemon, 0, sizeof(InnderDemon));
      |                                                       ^

* Scritps/Naxx: Fix a -Wimplicit-fallthrough warning reported by GCC

For discussion see https://github.com/TrinityCore/TrinityCore/pull/25007

(cherry picked from commit 10be49bdfe)
2022-01-23 00:16:31 +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
Aqua Deus
0bbdfc6112 Scripts/Spells: Move spell_anchor_here to generic because is used by more than one boss (#27641) 2022-01-22 14:52:05 +01:00
Shauren
d32dd913fd Core/Units: Fixed typo in unit flag name 2022-01-22 14:45:03 +01:00