Commit Graph

849 Commits

Author SHA1 Message Date
offl
196ff25a6b DB/Quest: Convert & update support for 'The Caverns of Time' to SAI
(cherry picked from commit d89c84263d)
2022-02-05 23:46:43 +01:00
offl
bb468708e6 DB/Quest: Convert & update Homing Robot chickens to SAI
Closes #25239

(cherry picked from commit 8c303e4f97)
2022-02-05 23:45:58 +01:00
Maks Szokalski
bc04acb726 Add "On" to some gossip methods in AI (#25415)
* Add "On" to some methods

* Update npc_innkeeper.cpp

* Update zone_borean_tundra.cpp

(cherry picked from commit 41188eb535)
2022-02-05 22:18:19 +01:00
NoName
ee620856ad Core/Movement: Corrected Animation Tier handling (PR #24875)
Co-authored-by: Warpten <vertozor@gmail.com>
Co-authored-by: Ovahlord <dreadkiller@gmx.de>
Co-authored-by: Carbenium <carbenium@outlook.com>
(cherry picked from commit dad187615d)
2022-02-05 15:40:31 +01:00
jackpoz
d561a69122 Scripts/Obsidian Sanctum: Fix portals not being visible
Change NearestGameObjectEntryInObjectRangeCheck to allow returning GameObject not spawned.
Fixes other occurrences where a similar issue exists.

(cherry picked from commit ca2159bf40)
2022-02-05 12:04:35 +01:00
Aokromes
af7c211230 Script/Azuremyst_isle: Remove useless log
(cherry picked from commit bf8b34946d)
2022-02-04 10:58:44 +01:00
Shauren
0a1acb9c05 Scripts/Spells: Replace RegisterAuraScript with RegisterSpellScript and remove it
(cherry picked from commit 7d4fbf706a)
2022-02-04 00:27:10 +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
b3f2ff97ff Core/CreatureAI: std::chrono-ify DoSummon* methods
(cherry picked from commit 1245833cdd)
2022-01-24 13:11:13 +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
03e4c0d7bf Core/Creature: Remove non-std::chrono overload of DespawnOrUnsummon
(cherry picked from commit 480dee3125)
2022-01-24 12:21:26 +01:00
Carbenium
eeffb310de Core/EventProcessor: std::chrono-ify CalculateTime
uint64 CalculateTime(uint64 t_offset) has been replaced with Milliseconds CalculateTime(Milliseconds t_offset).
Also add the std::chrono-ified overload void AddEvent(BasicEvent*, Milliseconds, bool)

(cherry picked from commit 92a02a5c87)
2022-01-24 12:00:35 +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
Carbenium
a28bc7faaa Scripts/Kalimdor: Use std::chrono overload of Creature::DespawnOrUnsummon
(cherry picked from commit 40efda9726)
2022-01-23 23:59:11 +01:00
Carbenium
e660b870e9 Core/ScriptedAI: std::chrono-ify DoSpawnCreature
(cherry picked from commit f5076112cb)
2022-01-23 23:33:04 +01:00
Carbenium
5f296fb7c7 Core/InstanceScript: std::chrono-ify DoRespawnGameObject
(cherry picked from commit d7ff8c272a)
2022-01-23 23:09:27 +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
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