Commit Graph
1008 Commits
Author SHA1 Message Date
Ovahlord e871d2f0eb Fixed build 2020-09-11 15:23:53 +02:00
Ovahlord d78cfb2843 Scripts/DS: corrected damage reduction formula logic for Elementium Blast 2020-09-10 15:02:31 +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 44e0d6c0f9 Scripts/Spells: Replace RegisterAuraScript with RegisterSpellScript and remove it 2020-08-23 17:44:48 +02:00
Ovahlord 1507ca0179 Fixed build 2020-08-22 18:46:57 +02:00
Ovahlord 12a1f5ce6e Scripts/DS: fixed a oversight in Concentration spell script that was causing Deathwing's focused limbs to get stuck in their flying anim tier state when the Concentration gets removed 2020-08-09 18:56:04 +02:00
Ovahlord e334e60103 fixed warnings 2020-08-04 21:35:59 +02:00
Ovahlord 1fbd50db16 Scripts/ET:
* moved Nozdormu's script to a seperate file
* scripted Moruzond's respawn mechanism
2020-08-04 21:31:11 +02:00
Ovahlord f42d242996 Core/Spells: implement and enable SMSG_MISSILE_CANCEL and use it in Murozond encounter 2020-08-04 16:53:59 +02:00
Ovahlord d099e16acb Scripts/ET: initial work on Murozond encounter 2020-08-04 11:43:53 +02:00
Ovahlord f87eefafbf Scripts/AQ40: fixed a warning 2020-07-25 18:31:30 +02:00
Ovahlord 929c71578f Scripts/AQ40: fixed Skeram's door not opening after defeating him 2020-07-25 18:30:37 +02:00
Ovahlord 6961041d34 Scripts/AQ40: modernize instance script and nuke Ouro's script and scripted spawning sequence for him. This will make him at least attackable killable 2020-07-25 18:10:16 +02:00
Keader b4ecbe3154 Scripts/Temple of Ahn Qiraj: Scripted doors of AQ40
Doors added in https://github.com/TrinityCore/TrinityCore/commit/1ba09572b5a49d5cd247cdca47109d3325ec12f3

# Conflicts:
#	src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_bug_trio.cpp
#	src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_cthun.cpp
#	src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_fankriss.cpp
#	src/server/scripts/Kalimdor/TempleOfAhnQiraj/instance_temple_of_ahnqiraj.cpp
#	src/server/scripts/Kalimdor/TempleOfAhnQiraj/temple_of_ahnqiraj.h
2020-07-25 16:44:30 +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
Treeston d2df9bdf15 Scripts/Hyjal: Seriously, who calls EnterEvadeMode in a AI constructor???? 2020-07-22 19:21:03 +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 de6a514ec5 Core/Misc: fixed build 2020-07-22 18:35:41 +02:00
Treeston d9e6e82c7d Core/Unit: UNIT_FLAG renames
[UNIT_FLAG_PLAYER_CONTROLLED -> UNIT_FLAG_POSSESSED]
[UNIT_FLAG_PVP_ATTACKABLE -> UNIT_FLAG_PLAYER_CONTROLLED]
Signed off by: Shauren, Warlockbugs.

# Conflicts:
#	src/server/game/Entities/Object/Object.cpp
#	src/server/game/Entities/Pet/Pet.cpp
#	src/server/game/Entities/Unit/UnitDefines.h
#	src/server/game/Spells/Auras/SpellAuraEffects.cpp
#	src/server/game/Spells/Spell.cpp
2020-07-22 17:32:51 +02:00
Treeston 942c3a77da Core: Combat/threat system rewrite (PR #19930)
- PvE combat is now always mutual. UNIT_FLAG_IN_COMBAT is backed by actual references to the units we're in combat with.
- PvP combat is now also tracked, and almost always mutual; spells like Vanish and Feign Death can break this rule. That means we can easily determine a list of players we're fighting.
- By extension, IsInCombatWith now has sensible behavior when invoked on nonplayers.
- Threat and combat systems are no longer the same.
  - They still have an enforced relationship (threat implies combat - clearing combat clears threat)...
  - ...but we can have combat without threat. A creature (with threat list) isn't considered to be engaged until it has an entry on its threat list...
  - ...which means we can now faithfully replicate retail engage behavior. Combat on projectile launch - engagement start on projectile impact. Yay for progress!
- AI method refactor, as already ported in 6113b9d - `JustEngagedWith`, `JustEnteredCombat` and `JustExitedCombat`.
- Vehicle threat is now properly pooled on the main vehicle body (fixes #16542).
- Various edge case bug fixes for threat redirects (Misdirection "cancelling" Vigilance and similar).
- Target re-selection is now significantly faster.
- Fixed a ton of other smaller edge case bugs, probably.

Closes #7951 and #19998.
2020-07-22 16:49:37 +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
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
Ovahlord e1d74d4dc6 Core/Misc: added more fallthrough attributes and added some missing breaks reported by CI 2020-07-19 12:24:58 +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
Ovahlord f8091d6aac Core/Movement: made SetDisableGravity and SetHover virtual and handle anim tiers in their new override inside of the Creature class.
* no longer set anim tiers when the target is rooted
2020-07-13 14:07:59 +02:00
Ovahlord fac96b99b5 Scripts/TotFW: removed far visible and setActive calls as the new aoi types now handle this 2020-07-13 12:09:00 +02:00
Ovahlord 0ce8d44288 Scripts/LCT: reworked General Husam encounter
* corrected timer layout
* corrected timers for Bad Intention hurls and Shockwave damage
* corrected movement speed and distance values for the Shockwave dummy npcs
* dropped unneeded creature scripts
* moved encounter related creatures that were scripted in SAI to C++ for consistency
* updated all scripts to modern model
2020-07-09 19:08:26 +02:00
Ovahlord 14f3143f76 Scripts/HoO: simplified GetHallsOfOriginationAI helper to support multiple object types in one method 2020-07-09 14:53:38 +02:00
Ovahlord c0eae1322b Scripts/DS: removed a debug output from Madness of Deathwing script 2020-07-07 14:28:54 +02:00
Ovah b09d6e2330 Core/Movement: reimplement follow movement (#124) 2020-06-26 21:22:21 +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 b8d53951b5 Scripts/VP: rewrite Lurking Tempest mechanics and fixed all scenarios in which players could get stuck in combat with the tempests 2020-06-04 01:52:03 +02:00
Warpten 5cb747620a Core/Movement: Fixed Animation Tier handling (#113) 2020-06-03 00:49:18 +02:00
Ovahlord e64a3bcd90 Scripts/HoO: implement Ammunae encounter 2020-05-04 00:14:06 +02:00
Ovahlord e7347140d5 Scripts/TotFW: use the already defined Drain Power spell to reset the Conclave's power 2020-05-01 23:00:12 +02:00
Ovahlord 69e3d80f4a Scripts/TotFW: fixed a warning 2020-05-01 22:59:27 +02:00
Ovahlord bcccf2bd6c Scripts/TotFW: removed a spell cast that was causing the Fall Catcher vehicle not picking up its summoner properly. This issue has been caused by the now properly working automatic vehicle enter mechanic 2020-05-01 22:12:30 +02:00
Ovahlord cd57f79a1c Scripts/TotFW: fixed a crash when Anshal tries to select a Ravenous Creeper for Soothing Breeze while no creeper is available 2020-05-01 21:29:50 +02:00
Ovahlord b653f2f819 Core/Units: ported power type updates from master branch 2020-04-22 03:13:02 +02:00
Ovahlord d30c811d9e Core/Creatures: reworked tempoary summon creation
* all stats and values will now be set before summons are getting added to map
* cleaned up summon spell effect handler to reduce duplicade code
* summoner guids will no longer be set for every minion and correctly handle assigning creator guids instead. These values will serve as fallback guid if there is no summoner guid
* friendly tempsummons will now inherit the guild data of their player and pass them on to further allied summons. This fixes guild specific visuals for creatures such as Guild Battle Standards and Guild Heralds.

Todo: check for regressions
2020-04-22 00:20:18 +02:00
Ovahlord f119e8c79d Scripts/DS: fixed several typos in Mandess of Deathwing script
* removed a duplicate comment in RASession
2020-04-13 17:04:19 +02:00
Ovahlord a91424185b Core/Packets: convert SMSG_INIT_WORLD_STATES to packet class 2020-04-08 17:15:22 +02:00
Ovahlord 77cf10ee5f Core/Misc: fixed gcc warnings 2020-04-04 20:20:41 +02:00
funjoker 5897d071f2 Scripts: Fix nopch build 2020-04-01 23:52:36 +02:00
Ovahlord 18605adf68 Scripts/HoO: updated Earthrager Ptah's script to new scripting model and greatly simplified handlings for Tumultous Earthstorms on heroic difficulty 2020-03-29 15:36:23 +02:00
Ovahlord ce6093f8cd Scripts: make travis happy 2020-03-29 01:08:27 +01:00
Ovahlord 9eeb4cc6a7 Scripts/VP: Howling Gale will no now correctly apply its aurastate to players uppon hit to prevent multiple knockbacks in quick succession 2020-03-29 01:07:13 +01:00
Ovahlord f1f00c3ec3 Core/Datastores: refactor DBC storage helpers to use a class and fixed no pch build 2020-03-18 15:24:25 +01:00