Commit Graph
672 Commits
Author SHA1 Message Date
Wyrserth d2b27bc43c 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!

# Conflicts:
#	src/server/game/Entities/GameObject/GameObject.cpp
#	src/server/game/Entities/Unit/UnitDefines.h
#	src/server/game/Entities/Unit/enuminfo_UnitDefines.cpp
#	src/server/scripts/Outland/CoilfangReservoir/TheSlavePens/boss_ahune.cpp
2020-09-11 15:06:15 +02:00
Warpten 2b2fc5fb8a Core/Spells: remove PrepareSpellScript and PrepareAuraScript macros and make Hooklist use emplace behaivior (#174) 2020-08-28 15:40:26 +02:00
Shauren 07099840db Scripts: Fix rbac permission for skipping default boss sequencing check
# Conflicts:
#	src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_drakkisath.cpp
#	src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_gizrul_the_slavener.cpp
#	src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_halycon.cpp
#	src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_lord_valthalak.cpp
#	src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_overlord_wyrmthalak.cpp
#	src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_quartermaster_zigris.cpp
#	src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_rend_blackhand.cpp
#	src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_shadow_hunter_voshgajin.cpp
#	src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_the_beast.cpp
#	src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_urok_doomhowl.cpp
#	src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_warmaster_voone.cpp
#	src/server/scripts/EasternKingdoms/ScarletMonastery/boss_azshir_the_sleepless.cpp
#	src/server/scripts/EasternKingdoms/ScarletMonastery/boss_bloodmage_thalnos.cpp
#	src/server/scripts/EasternKingdoms/ScarletMonastery/boss_herod.cpp
#	src/server/scripts/EasternKingdoms/ScarletMonastery/boss_high_inquisitor_fairbanks.cpp
#	src/server/scripts/EasternKingdoms/ScarletMonastery/boss_houndmaster_loksey.cpp
#	src/server/scripts/EasternKingdoms/ScarletMonastery/boss_interrogator_vishas.cpp
#	src/server/scripts/EasternKingdoms/ScarletMonastery/boss_mograine_and_whitemane.cpp
#	src/server/scripts/EasternKingdoms/ScarletMonastery/boss_scorn.cpp
#	src/server/scripts/EasternKingdoms/Scholomance/boss_darkmaster_gandling.cpp
#	src/server/scripts/EasternKingdoms/Scholomance/boss_doctor_theolen_krastinov.cpp
#	src/server/scripts/EasternKingdoms/Scholomance/boss_illucia_barov.cpp
#	src/server/scripts/EasternKingdoms/Scholomance/boss_instructor_malicia.cpp
#	src/server/scripts/EasternKingdoms/Scholomance/boss_kirtonos_the_herald.cpp
#	src/server/scripts/EasternKingdoms/Scholomance/boss_lord_alexei_barov.cpp
#	src/server/scripts/EasternKingdoms/Scholomance/boss_lorekeeper_polkelt.cpp
#	src/server/scripts/EasternKingdoms/Scholomance/boss_the_ravenian.cpp
#	src/server/scripts/EasternKingdoms/ShadowfangKeep/shadowfang_keep.cpp
#	src/server/scripts/EasternKingdoms/ZulAman/boss_akilzon.cpp
#	src/server/scripts/EasternKingdoms/ZulAman/boss_halazzi.cpp
#	src/server/scripts/EasternKingdoms/ZulAman/boss_hexlord.cpp
#	src/server/scripts/EasternKingdoms/ZulAman/boss_janalai.cpp
#	src/server/scripts/EasternKingdoms/ZulAman/boss_nalorakk.cpp
#	src/server/scripts/EasternKingdoms/ZulAman/boss_zuljin.cpp
#	src/server/scripts/EasternKingdoms/ZulGurub/boss_arlokk.cpp
#	src/server/scripts/EasternKingdoms/ZulGurub/boss_gahzranka.cpp
#	src/server/scripts/EasternKingdoms/ZulGurub/boss_grilek.cpp
#	src/server/scripts/EasternKingdoms/ZulGurub/boss_hakkar.cpp
#	src/server/scripts/EasternKingdoms/ZulGurub/boss_hazzarah.cpp
#	src/server/scripts/EasternKingdoms/ZulGurub/boss_jeklik.cpp
#	src/server/scripts/EasternKingdoms/ZulGurub/boss_jindo.cpp
#	src/server/scripts/EasternKingdoms/ZulGurub/boss_mandokir.cpp
#	src/server/scripts/EasternKingdoms/ZulGurub/boss_marli.cpp
#	src/server/scripts/EasternKingdoms/ZulGurub/boss_renataki.cpp
#	src/server/scripts/EasternKingdoms/ZulGurub/boss_thekal.cpp
#	src/server/scripts/EasternKingdoms/ZulGurub/boss_venoxis.cpp
#	src/server/scripts/EasternKingdoms/ZulGurub/boss_wushoolay.cpp
#	src/server/scripts/Kalimdor/BlackfathomDeeps/boss_aku_mai.cpp
#	src/server/scripts/Kalimdor/BlackfathomDeeps/boss_gelihast.cpp
#	src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_archimonde.cpp
#	src/server/scripts/Kalimdor/RazorfenDowns/boss_amnennar_the_coldbringer.cpp
#	src/server/scripts/Kalimdor/RazorfenDowns/boss_tuten_kash.cpp
#	src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_ouro.cpp
#	src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_sartura.cpp
#	src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_twinemperors.cpp
#	src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_amanitar.cpp
#	src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_jedoga_shadowseeker.cpp
#	src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_lord_jaraxxus.cpp
#	src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_krickandick.cpp
#	src/server/scripts/Northrend/Gundrak/boss_eck.cpp
#	src/server/scripts/Northrend/IcecrownCitadel/boss_sister_svalna.cpp
#	src/server/scripts/Northrend/Naxxramas/boss_gluth.cpp
#	src/server/scripts/Northrend/Naxxramas/boss_grobbulus.cpp
#	src/server/scripts/Northrend/Naxxramas/boss_loatheb.cpp
#	src/server/scripts/Northrend/Naxxramas/boss_maexxna.cpp
#	src/server/scripts/Northrend/Nexus/Oculus/boss_urom.cpp
#	src/server/scripts/Northrend/Ulduar/Ulduar/boss_algalon_the_observer.cpp
#	src/server/scripts/Northrend/Ulduar/Ulduar/boss_auriaya.cpp
#	src/server/scripts/Northrend/Ulduar/Ulduar/boss_razorscale.cpp
#	src/server/scripts/Northrend/Ulduar/Ulduar/boss_xt002.cpp
#	src/server/scripts/Northrend/VaultOfArchavon/boss_toravon.cpp
#	src/server/scripts/Outland/Auchindoun/SethekkHalls/boss_anzu.cpp
#	src/server/scripts/Outland/Auchindoun/SethekkHalls/boss_darkweaver_syth.cpp
#	src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/boss_blackheart_the_inciter.cpp
#	src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/boss_grandmaster_vorpil.cpp
#	src/server/scripts/Outland/BlackTemple/boss_gurtogg_bloodboil.cpp
#	src/server/scripts/Outland/BlackTemple/boss_illidan.cpp
#	src/server/scripts/Outland/BlackTemple/boss_illidari_council.cpp
#	src/server/scripts/Outland/BlackTemple/boss_mother_shahraz.cpp
#	src/server/scripts/Outland/BlackTemple/boss_supremus.cpp
#	src/server/scripts/Outland/BlackTemple/boss_teron_gorefiend.cpp
#	src/server/scripts/Outland/BlackTemple/boss_warlord_najentus.cpp
#	src/server/scripts/Outland/CoilfangReservoir/TheSlavePens/boss_ahune.cpp
#	src/server/scripts/Outland/CoilfangReservoir/TheSlavePens/boss_mennu_the_betrayer.cpp
#	src/server/scripts/Outland/CoilfangReservoir/TheSlavePens/boss_rokmar_the_crackler.cpp
#	src/server/scripts/Outland/HellfireCitadel/HellfireRamparts/boss_watchkeeper_gargolmar.cpp
#	src/server/scripts/Outland/TempestKeep/Mechanar/boss_gatewatcher_gyrokill.cpp
#	src/server/scripts/Outland/TempestKeep/Mechanar/boss_nethermancer_sepethrea.cpp
#	src/server/scripts/Outland/TempestKeep/Mechanar/boss_pathaleon_the_calculator.cpp
#	src/server/scripts/Outland/TempestKeep/arcatraz/boss_dalliah_the_doomsayer.cpp
#	src/server/scripts/Outland/TempestKeep/arcatraz/boss_wrath_scryer_soccothrates.cpp
2020-07-24 13:08:04 +02:00
Ovahlord ea8d7093e9 Scripts: fixed build 2020-07-22 19:39:43 +02:00
Treeston c7c4f267c4 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. 2020-07-22 19:14:52 +02:00
Treeston db3282e65a 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.
# Conflicts:
#	src/server/game/AI/CreatureAI.cpp
#	src/server/game/AI/ScriptedAI/ScriptedFollowerAI.cpp
#	src/server/scripts/EasternKingdoms/ScarletEnclave/chapter5.cpp
#	src/server/scripts/Kalimdor/zone_desolace.cpp
#	src/server/scripts/Northrend/zone_borean_tundra.cpp
2020-07-22 18:38:35 +02:00
Ovahlord 280b8dc799 Fixed build 2020-07-22 15:21:50 +02:00
Treeston e4ced70a31 Core/Misc: random refactors 2020-07-22 14:55:48 +02:00
Treeston c60b69a66f Scripts/Auchindoun: Fix a super edge case crash bug with GM far teleports during Blackheart's charm phase. Follow-up to d80d7c6. 2020-07-22 14:53:51 +02:00
Treeston 4c38fa5906 Core/PlayerAI: Some adjustments:
- Add a 2 second delay before the AI begins using spells. This should provide opportunity for counterplay before that rogue activates cloak and goes on an unstoppable rampage among your healers. (Sorry, guys.)
- Stopped the AI from attacking invalid targets under some conditions. It should now properly leash back and follow the charmer if we try to select an invalid target.
- Stopped the AI from constantly re-creating the follow movement generator (and thus spamming movesplines).
2020-07-22 14:46:03 +02:00
Treeston c2e0dca230 nopch fix 2020-07-22 14:45:36 +02:00
Treeston ea9b58292e Scripts/Auchindoun: Last one, hopefully. Remove reliance on large grid searchers by integrating with instance script.
# Conflicts:
#	src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/instance_shadow_labyrinth.cpp
2020-07-22 14:45:28 +02:00
Treeston ed6a4a4bcd Scripts/Auchindoun: Blackheart the Inciter fully fixed now. I had way too much fun with this one.
Two points of note:
1) Spawning 5 invisible triggers with 5 distinct factions which then MC one target each? Biggest. Hack. Ever. Best part? It's blizzlike.
2) For over ten years, I thought it was spelled "Auchinodoun". It's not. It's spelled "Auchindoun". TIL.

# Conflicts:
#	sql/old/4.3.4/world/19_2017_06_18/2017_07_21_01_world.sql
2020-07-22 14:44:03 +02:00
Treeston af9bc15a42 nopch fix 2 2020-07-22 14:43:29 +02:00
Treeston 6de2a6e928 nopch fix 2020-07-22 14:43:25 +02:00
Treeston 365a473e56 Scripts/Auchindoun: Replace the Blackheart the Inciter hack-filled script with a slightly less hack-filled script that actually mostly works. This should at least make the boss encounter possible to complete. No claims to correctness, of course.
# Conflicts:
#	sql/old/4.3.4/world/19_2017_06_18/2017_07_21_00_world.sql
#	src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/boss_blackheart_the_inciter.cpp
2020-07-22 14:42:21 +02:00
treeston a09db6b4ba Hi, I'm Treeston, and welcome to Combat PR Prep Refactors.
Today, we're moving UNIT_FLAG_IMMUNE_TO_PC and UNIT_FLAG_IMMUNE_TO_NPC to higher-level abstraction so combat manager can react to it.
New methods on Unit:
- void SetImmuneTo<All/PC/NPC>(apply, keepCombat = false);
- bool IsImmuneTo<All/PC/NPC>() const;

# Conflicts:
#	src/server/game/AI/ScriptedAI/ScriptedEscortAI.cpp
#	src/server/game/Entities/Unit/Unit.cpp
#	src/server/game/Spells/SpellEffects.cpp
#	src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_tomb_of_seven.cpp
#	src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp
#	src/server/scripts/EasternKingdoms/ScarletEnclave/chapter2.cpp
#	src/server/scripts/EasternKingdoms/ShadowfangKeep/instance_shadowfang_keep.cpp
#	src/server/scripts/EasternKingdoms/ZulAman/zulaman.cpp
#	src/server/scripts/EasternKingdoms/ZulGurub/boss_mandokir.cpp
#	src/server/scripts/EasternKingdoms/zone_tirisfal_glades.cpp
#	src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/culling_of_stratholme.cpp
#	src/server/scripts/Kalimdor/WailingCaverns/wailing_caverns.cpp
#	src/server/scripts/Kalimdor/zone_dustwallow_marsh.cpp
#	src/server/scripts/Kalimdor/zone_stonetalon_mountains.cpp
#	src/server/scripts/Kalimdor/zone_tanaris.cpp
#	src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.cpp
#	src/server/scripts/Northrend/Naxxramas/boss_thaddius.cpp
#	src/server/scripts/Northrend/Nexus/EyeOfEternity/boss_malygos.cpp
#	src/server/scripts/Outland/TempestKeep/arcatraz/boss_harbinger_skyriss.cpp
2020-07-22 14:35:53 +02:00
treeston f2592116ae Some more refactoring prep for combat/threat (#19930).
# Conflicts:
#	src/server/game/Combat/ThreatManager.h
#	src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_moam.cpp
#	src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/halls_of_reflection.cpp
2020-07-22 13:48:18 +02:00
Shauren 6da0e00747 Nopch fix 5 and should be last 2020-07-22 13:46:32 +02:00
Shauren 73e7270673 typo fix 2020-07-22 13:46:28 +02:00
Shauren cc1df2659e Nopch fix 4 2020-07-22 13:46:24 +02:00
treeston 3645c382d9 nopch fix episode 3: revenge of that one boss in slabs that is borked anyway 2020-07-22 13:46:20 +02:00
Treeston ec04d3b2cd [3.3.5] Combat/Threat rewrite - prep & refactor (#19966)
* Combat/Threat rewrite (PR #19930) prep work. Mostly refactors, and a compatibility layer on ThreatManager/HostileReference that allows scripts to be changed already.
2020-07-22 13:43:23 +02:00
Peter Keresztes Schmidt cbd6fb2315 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
# Conflicts:
#	src/server/game/Entities/Player/Player.cpp
#	src/server/game/Spells/SpellInfo.cpp
#	src/server/scripts/Battlefield/BattlefieldWG.cpp
#	src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/instance_blackrock_spire.cpp
#	src/server/scripts/EasternKingdoms/ScarletMonastery/boss_high_inquisitor_fairbanks.cpp
#	src/server/scripts/Northrend/IcecrownCitadel/boss_rotface.cpp
#	src/server/scripts/Northrend/Naxxramas/boss_thaddius.cpp
#	src/server/shared/DataStores/DBCDatabaseLoader.cpp
2020-07-18 22:47:52 +02:00
funjoker adf9e6a004 Core/Misc: Make Clang 10 happier 2020-06-11 21:55:01 +02:00
funjoker 187d537fba Core/Misc: (try) Make Clang 10 happy 2020-06-11 21:12:34 +02:00
Warpten 0af44ccc01 Core/Spells: implement DoT clipping
* Core/Spells: Implementation of DoT clipping.
* Core/Utilities: Backport "EnumFlags v3.0" from master.
* Core/Spells: Switch AURA_REMOVE_MODE to a flag set.
2020-06-04 18:16:03 +02:00
Ovahlord b653f2f819 Core/Units: ported power type updates from master branch 2020-04-22 03:13:02 +02:00
Ovahlord 77cf10ee5f Core/Misc: fixed gcc warnings 2020-04-04 20:20:41 +02:00
DevPrimeandEvef b046b19fd3 Core/Scripts: fixed most script related no pch warnings
Co-authored-by: Evef <everf@outlook.com>
2020-03-11 12:54:27 +01:00
Aokromes d6d3f06f06 New year 2020-01-04 18:32:38 +01:00
funjoker 6c56916b29 Misc: Update copyright information
Happy new year
2020-01-01 18:47:28 +01:00
Ovahlord eb15db4522 Core/Movement: first part of porting the new creature hover handling 2019-02-18 01:52:15 +01:00
Ovahlord 5e380763aa Merge branch '4.3.4' of https://gitlab.com/trinitycore/TrinityCore_434 into 4.3.4
# Conflicts:
#	src/server/game/DungeonFinding/LFGMgr.h
#	src/server/game/Maps/Map.h
#	src/server/scripts/EasternKingdoms/zone_arathi_highlands.cpp
2018-08-28 04:41:18 +02:00
Ovahlord c808b981f7 Core/Movement: merged smooth waypoint movement. Followup commits will be merged soon (tm) 2018-08-02 15:38:35 +02:00
Aokromes 370df76016 Scripts/Misc: Use InstanceMap* in InstanceScript instead of Map* 2018-07-28 12:59:44 +02:00
Ovahlord 78ed8acdcc Core/Instances: merged some master branch commits in preparation for merging the upcomming instance save rewrite 2018-07-28 02:00:24 +02:00
Ovahlord a0e288e761 Merge branch '4.3.4' of https://gitlab.com/trinitycore/TrinityCore_434 into 4.3.4 2018-07-23 15:57:10 +02:00
Treeston f441d36d78 Misc: Pass std::chrono types by value everywhere. 2018-07-23 13:53:13 +02:00
Ovahlord 59d169e8e4 Merge branch 'dynamicSpawnMerge' of https://gitlab.com/trinitycore/TrinityCore_434 into 4.3.4
# Conflicts:
#	src/server/game/Entities/Creature/Creature.cpp
#	src/server/game/Entities/Object/Object.cpp
#	src/server/game/Maps/Map.cpp
#	src/server/game/Maps/Map.h
2018-07-21 23:13:55 +02:00
Ovahlord b976bc1187 Core/Spawns: merged Dynamic Spawning 2018-07-21 20:44:41 +02:00
Ovahlord 8c3194eb13 Merge branch '4.3.4' of https://gitlab.com/trinitycore/TrinityCore_434 into 4.3.4 2018-07-15 18:20:00 +02:00
Aokromes c2bbcd1bee Creature/Script: remove obsolete script npc_skywing (#22147)
- replaced with SAI script for the same quest and creature (Skywing)
2018-07-13 17:19:52 +02:00
Ovahlord 0d46b893fc Core/Objects:
*merged 3.3.5 renaming of GetObjectSize() to GetCombatReach()
*made GetBoundaryRadius virtual and use it to determine the actual spell radius distance with it instead of using CombatReach
2018-07-13 14:50:10 +02:00
Gildor a655d0adc4 TheSlavePens/Ahune: Fix crash (#22070)
Closes: #22069
2018-06-23 01:43:19 +02:00
Aokromes a6d0e3dcb9 DB/Quest: Escaping the Tomb 2018-06-23 01:41:59 +02:00
Keader 10bf058436 Scripts/Magtheridon Lair: Fixed a case when channelers get hit kill and not start fight
It's needed for cataclysm+
2018-05-29 16:40:56 +02:00
ariel- 4f0870cf32 And finally zmq nightmare is over 2018-03-28 06:11:01 -03:00
ariel- 5ff847159c Core: header cleanup, split realmlist, boost compatibility, cotire, remove stormlib/zlib and stormlib/bzip2 and instead use dep sources 2018-03-28 04:41:59 -03:00
Ovahlord e44bb5f387 Core/Entities: Phase Rework (main commit) 2018-03-08 22:58:50 +01:00