Commit Graph

832 Commits

Author SHA1 Message Date
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
Shauren
15d59640fa Scripts/World: 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
d07425e620 Scripts/Firelands: Use std::chrono::duration overloads of EventMap 2022-01-23 16:39:31 +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
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
Eridium
a4ed8806b7 Creature/Script: npc_blackfathom_deeps_event (#24969)
* Creature/Script: npc_blackfathom_deeps_event

* Update blackfathom_deeps.cpp

* Update blackfathom_deeps.h

* codestyle

* Update blackfathom_deeps.cpp

Co-authored-by: Killyana <Killyana@users.noreply.github.com>
Co-authored-by: Ovah <dreadkiller@gmx.de>
(cherry picked from commit 98c37b15e0)
2022-01-22 01:20:23 +01:00
offl
144914b4f0 DB/Quest: Convert & update support for 'Chasing A-Me 01' to SAI
Closes #24925

(cherry picked from commit 46ad9fa0d9)
2022-01-21 20:42:32 +01:00
offl
4d64524a70 DB/Quest: Convert & update scripts from Thousand Needles to SAI
Closes #24924

(cherry picked from commit 18864aeddb)
2022-01-21 20:36:00 +01:00
offl
20535a5d2d DB/Quest: Convert & update support for 'Protect Kaya' to SAI
Closes #24923

(cherry picked from commit c29e3b46af)
2022-01-21 20:34:54 +01:00
Peter Keresztes Schmidt
c4098897a8 game/AI: Convert SelectAggroTarget to enum class (#24818)
* game/AI: Convert SelectAggroTarget to enum class

* game/AI: Rename SelectAggroTarget to SelectTargetMethod

(cherry picked from commit 418c3b1fd5)
2022-01-06 21:53:27 +01:00
ForesterDev
3171cd3fa9 Core/AI: refactor SpellHit and SpellHitTarget. (#24691)
* Core/AI: refactor SpellHit and SpellHitTarget.

- now caster/target is WorldObject instead of Unit
- remove SpellHitByGameObject / SpellHitTargetGameObject (handled by SpellHit / SpellHitTarget)
- rename parameters in scripts according parent methods

* Restore logic in Algalon script

* Changed check for REMORSELESS_WINTER hit to avoid dublicate call, because it has TARGET_UNIT_CASTER for effects 0/1 and TARGET_GAMEOBJECT_SRC_AREA for effect 2

* Fix build after merge

(cherry picked from commit e3b232fe0e)
2022-01-06 20:46:25 +01:00
NoName
145756a231 Scripts/RuinsOfAhnQiraj: Crystal handling (#24679)
+ make crystal usable with animation and despawn after use;
+ small code update;
+ spell rearrange;
+ define some magic numbers;
+ update crystal coordinates from sniffed data

(cherry picked from commit 89193c3548)
2022-01-06 19:09:28 +01:00
offl
aea428cd51 DB/Quest: Convert support for 'Strength of One' to SAI
Closes #24641

(cherry picked from commit 44aba5dcdf)
2022-01-06 15:57:22 +01:00
NoName
860e489c4f Scripts/RazorfenDowns: quest "Extinguishing the Idol" (#24658)
(cherry picked from commit 868748007d)
2022-01-06 00:23:11 +01:00
Gildor
5ce8c26914 Scripts/OnyxiasLair: Fix Onyxia Eruption spell (#24472)
(cherry picked from commit e4476fab6e)
2022-01-01 20:30:06 +01:00
Shauren
9f76071108 Core/Misc: Remove whitespace at the end of lines 2022-01-01 01:25:04 +01:00
jackpoz
f1f8af9c5f Core/Misc: Replace tabs with spaces
(cherry picked from commit cb41c8828f)
2022-01-01 01:01:42 +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
Rushor
96324ad908 Scripts/BlackfathomDeeps: Kelris will now channel his spell (#24300)
* Scripts/BlackfathomDeeps: Kelris will now channel his spell

* Scripts/BlackfathomDeeps: Kelris will now channel his spell

(cherry picked from commit 3da8f37ddb)
2021-12-31 20:16:45 +01:00
Rushor
3f8b3e3c26 Scripts/BlackfathomDeeps: Morridune will now start his pathaction again. (#24298)
(cherry picked from commit f488c36154)
2021-12-23 13:58:03 +01:00
Killyana
a8dbca7fe3 Typo
(cherry picked from commit a40b742c3a)
2021-12-23 13:01:10 +01:00
Killyana
9e8276a349 Instance/Script: Fix blackfathom deeps event, use the correct spawn positions and number of creatures
(cherry picked from commit 1af1e88037)
2021-12-23 13:00:55 +01:00
Rushor
1516759859 Scripts/Kalimdor: Move script of Hand of Iruxos Crystal to database. (#24141)
* Scripts/Kalimdor: Move script of Hand of Iruxos Crystal to database.

* Scripts/Kalimdor: Hand of Iruxos Crystal - Add despawn for gameobject.

* Scripts/Kalimdor: Hand of Iruxos Crystal - Add despawn for gameobject.

* Remove unneeded commentline

* Rename 9999_99_99_99_world.sql to 2020_02_11_00_world.sql

Co-authored-by: Aokromes <Aokromes@users.noreply.github.com>
(cherry picked from commit a67dd6ab60)
2021-12-21 15:56:23 +01:00
Sorikoff
3daeb28420 Scripts/The Barrens: Beaten Corpse (#24124)
* Scripts/The Barrens: Beaten Corpse

* Rename 9999_99_99_99_world.sql to 2020_02_01_00_world.sql

Co-authored-by: Giacomo Pozzoni <giacomopoz@gmail.com>
(cherry picked from commit 74d19691a5)
2021-12-21 00:11:39 +01:00
Shauren
5d02739b98 Scripts: Fix rbac permission for skipping default boss sequencing check
(cherry picked from commit e660c8bc19)
2021-12-20 21:40:47 +01:00
Shauren
e30683fda4 Scripts: Add missing killer nullptr checks in JustDied hooks
(cherry picked from commit 175eba74ae)
2021-12-19 13:12:42 +01:00
Wyrserth
75114dd820 Script/Hyjal: prevent Archimode from attacking players while invisible, and fix his scale (thanks Killyana!).
Closes #16424.

(cherry picked from commit 9da5e850f6)
2021-12-18 00:11:44 +01:00
Treeston
87786b1ebc Scripts/Hyjal: Seriously, who calls EnterEvadeMode in a AI constructor????
(cherry picked from commit c444cb17e1)
2021-12-17 23:57:18 +01:00
Treeston
8c3eb07889 Scripts/FollowerAI: Some cleanup:
- FollowerAI properly resumes follow after evading.
- Removed duplicated getters from CreatureAI (IsEscorted vs IsEscortNPC), they were used to do the same thing
- FollowerAI properly assists in combat.
- FollowerAI properly despawns if quest is abandoned.
- FollowerAI now supports dynamic respawning for escort NPCs.

(cherry picked from commit 3d4bebd8d9)
2021-12-17 23:05:55 +01:00
Wyrserth
15f6056bac Script/CullingOfStratholme: add out-of-combat texts to Postmaster Malown and fix Arthas' attack animation when he kills the two civilians for the RP event.
(cherry picked from commit 2cb1e7b18d)
2021-12-17 20:50:03 +01:00
ForesterDev
529ca2dd5d Scripts/Defines: cleanup some magic numbers in factions (#23631)
(cherry picked from commit 0c317498a5)
2021-12-17 20:48:31 +01:00
Treeston
c13d83796f Core/AI: Finally move the "is creature engaged" flag to be a property of the creature AI, where it honestly always belonged. Fixes #17981 and #23602 for real this time.
(cherry picked from commit 0e7c66cb4c)
2021-12-17 00:23:33 +01:00
ccrs
4e6c59dca7 Core/Unit: rename several getters to follow codestyle
uint8 GetLevel()
        uint8 GetLevelForTarget(WorldObject const* /*target*/)
        void SetLevel(uint8 lvl)
        uint8 GetRace()
        uint32 GetRaceMask()
        uint8 GetClass()
        uint32 GetClassMask()
        uint8 GetGender()

(cherry picked from commit 5c09ff51f7)
2021-12-13 00:42:20 +01:00
Shauren
116285818b Core/Misc: Corrected file headers 2021-12-13 00:42:19 +01:00
ccrs
fc6dc06513 Build: fix error
/var/lib/jenkins/jobs/tc_335_release_clang40_boost_1.63.0_nopch/workspace/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/npc_arthas.cpp:583:132: warning: format specifies type 'unsigned int' but the argument has type 'float' [-Wformat]
                TC_LOG_TRACE("scripts.cos", "npc_arthas_stratholmeAI::AdvanceToState: has snapback for this state, distance = %u", target.SnapbackPosition->GetExactDist(me));
                                                                                                                              ~~   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                                                                                                              %f
/var/lib/jenkins/jobs/tc_335_release_clang40_boost_1.63.0_nopch/workspace/src/common/Logging/Log.h:176:56: note: expanded from macro 'TC_LOG_TRACE'
    TC_LOG_MESSAGE_BODY(filterType__, LOG_LEVEL_TRACE, __VA_ARGS__)
                                                       ^~~~~~~~~~~
/var/lib/jenkins/jobs/tc_335_release_clang40_boost_1.63.0_nopch/workspace/src/common/Logging/Log.h:159:32: note: expanded from macro 'TC_LOG_MESSAGE_BODY'
                    check_args(__VA_ARGS__);                            \
                               ^~~~~~~~~~~

(cherry picked from commit 303811399f)
2021-12-13 00:42:18 +01:00
ccrs
cadbf42ea4 Misc: some corrections after recent merges
(cherry picked from commit 626a24822b)
2021-12-13 00:42:18 +01:00
jackpoz
841630fcc3 Core/Misc: Fix static analysis issues reported by Coverity Scan
(cherry picked from commit de88691e25)
2021-12-13 00:42:18 +01:00
Wyrserth
902a6f17dc Script/CoS: fix DB error and remove wrong on-death text for Chrono-Lord Epoch.
(cherry picked from commit 22b222b44e)
2021-12-13 00:42:17 +01:00
ccrs
eda6e5c316 Script/CoS: full instance rewrite (#23388)
(cherry picked from commit ca62280675)
2021-12-13 00:42:16 +01:00
Treeston
38d7c1530a Combat/Threat: Split ThreatManager::NotifyDisengaged off from ThreatManager::ClearAllThreat. NotifyDisengaged signifies intent to clear the engagement flag, and should only be called from AI. Fixes #23490.
(cherry picked from commit 1158f267df)
2021-12-12 02:09:15 +01:00
Wyrserth
9d865f7536 Core/Misc: don't allow players to use/activate/loot non-allowed gameobjects while under the effect of a damage immunity aura (#23319)
* Core/Misc: don't allow players to use/activate/loot non-allowed gameobjects while under the effect of a damage immunity aura.

* Forgot to change this in last-second rename.

* Apply suggested changes, thanks Shauren!

(cherry picked from commit 8bc5451864)
2021-12-09 00:13:59 +01:00
Killyana
229d35adba DB/Creature: Dark Portal Dummy 1.30
(cherry picked from commit fdec429f18)
2021-12-08 20:31:38 +01:00
Giacomo Pozzoni
5f545f5402 3.3.5 gameobject summoner (#23289)
* Scripts/Misc: Change IsSummonedBy(Unit*) to IsSummonedBy(WorldObject*)

* Scripts/Misc: Fix build

* Core/TempSummons: Rename GetSummoner() to GetSummonerUnit()

* Core/TempSummons: Add support to TempSummons::GetSummoner() to return GameObject too

* Fix build

* Core/TempSummons: Allow GameObject to be owner of TempSummon

* Core/TempSummons: Add support to SAI for GameObject owner of TempSummon

* Scripts/Misc: Fix no-pch build

* Core/TempSummons: Implement PR comments

(cherry picked from commit 797fba98e9)
2021-12-07 00:02:03 +01:00
Giacomo Pozzoni
46170fdf01 Scripts/Spells: Fix implementation of #22332 (#23228)
Change the way #22332 moved spell damage calculations from SpellEffectDMG to scripts, using OnEffectLaunchTarget and SetEffectValue instead

(cherry picked from commit 20772dbf5d)
2021-12-02 23:46:00 +01:00
jackpoz
43a41caafb Core/Misc: Fix GCC 8 warnings
(cherry picked from commit 1d04a3b216)
2021-11-24 23:40:15 +01:00
Trond B. Krokli
bc628572fe Scripts/Wailing Caverns: make Disciple of Naralex say Mutanus, not $n (#23122)
* Scripts/Wailing Caverns: make Disciple of Naralex say Mutanus the Devourer

Disciple of Naralex should say
"This Mutanus the Devourer is a minion from Naralex's nightmare no doubt!"
instead of using $n caused by a missing target in the Talk() script command.

(cherry picked from commit a040d48443)
2021-11-24 22:39:18 +01:00
Shauren
2be8a1f189 Core/Misc: PORT CURSED REFACTORS FROM e69570dd76
WHO ON EARTH THOUGHT IT WAS A GOOD IDEA TO ADD REFACTORS TO A CHERRY-PICK COMMIT???
2021-11-24 20:35:18 +01:00