Commit Graph
1657 Commits
Author SHA1 Message Date
Ovahlord 164fe1890e Scripts/BWD: Lightning Conductor will now get removed when Lord Victor Nefarius transforms the target into a Shadow Conductor 2020-09-26 15:11:36 +02:00
Ovahlord c9afa1a6ed Core/Units: renamed SetInFront to SetOrientationTowards to clarify its actual functionality and added comments to SetOrientationTowards, SetFacingTo and SetFacingToObject 2020-09-23 20:48:44 +02:00
Ovahlord b06352f418 Scripts/ZA: implement Jan'alai encounter 2020-09-13 16:05:39 +02:00
Ovahlord abfd6f02f7 Scripts/BWD: Maloriak's Consuming Flames will no longer deal increased damage from its own damage 2020-09-12 00:27:18 +02:00
Ovahlord 5327dde2a8 Scripts/BWD: several fixups for Maloriak's encounter
* Consuming Flames will now increase the periodic damage when taking damage
* Scorching Blast will now be cast on correct targets
* remove a wrongly assigned spell script name that was causing runtime errors log messages
2020-09-12 00:13:32 +02:00
Ovahlord 44f89c7dae Scripts/BWD: store Magmaw's body parts via guids instead of smelly pointers and validate the body parts on engage 2020-09-10 21:15:07 +02:00
Ovahlord 3274117cec Core/Spells: cleaned up and improved spell focusing behavior
* removed hacky update_object call from SetSpellFocus helper
* corrected facing behaivior in SetSpellFocus
* spells with SPELL_ATTR5_DONT_TURN_DURING_CAST will no longer set a target guid for proper clientside facing behaivior
* channeled spells with a destination target will no longer pick a objectTarget
* update serverside orientation for channeled spells with SPELL_ATTR1_CHANNEL_TRACK_TARGET
2020-09-09 20:08:35 +02:00
Ovahlord 74cf7fa413 Scripts/BWD: allow Shadow Conductor to be affected by resistances and other damage reduction auras instead of enforcing damage valuews 2020-09-05 00:22:49 +02:00
Ovahlord 82a1374fa9 Scripts/ZA:
* improved Vol'jin's intro script
* added some waypoints for some trash npcs
2020-09-02 18:19:26 +02:00
Ovahlord 3eee6f3559 Scripts/DM: ensure that Helix' vehicle aura is no longer present on players after a wipe 2020-08-31 13:07:22 +02:00
Ovahlord 2db08bb0e0 Scripts/BWD: Magmaw's Ignition fire dummy npcs will now move in circles with their correct radius value and corrected the amount of steps 2020-08-30 13:08:46 +02:00
Ovahlord 8e339ba164 Scripts/BWD: Lord Victor Nefarius will now manipulate the abilities of any Omnotron golem with a cooldown instead of always picking the longest active golem 2020-08-30 12:48:35 +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
Ovahlord c504068259 Scripts/BWD: Maloriak will now try to release Aberrations until he has released all of them instead of stopping after 6 attempts 2020-08-23 21:10:02 +02:00
Shauren 44e0d6c0f9 Scripts/Spells: Replace RegisterAuraScript with RegisterSpellScript and remove it 2020-08-23 17:44:48 +02:00
Ovahlord 0e61055ac3 Scripts/BWD: corrected Nefarian's respawn position after a wipe based on cyclic path point information 2020-08-22 16:19:03 +02:00
Ovahlord f1bbb7fa64 Scripts/BWD: the Poison Bombs in Omnotron Defense System encounter will now also fully fixate on their target 2020-08-09 21:15:59 +02:00
Ovahlord 1b46c95a9c Scripts/GB: updated Drahga's script to modern model and corrected several flaws accross the board 2020-08-09 17:37:52 +02:00
Ovahlord d70beecea5 Scripts/GB: updated Erudax encounter
* updated all scripts to modern coding standards
* corrected timers accross the board
* corrected repeat behaivior for Enfeebling Blows
* dropped unnecessary data type accessors
* improved encounter frame and despawn behaivior for Faceless Corruptors
2020-08-09 16:13:06 +02:00
Ovahlord 0d5869403f Scripts/BoT: fixed Halfus' enslaved dragons not updating their victims 2020-08-07 23:17:08 +02:00
Ovahlord a5ff863c0c Scripts/DM: fixed Helix' Nightmare version to not attack anything and black James Harrington's health regeneration in Vanessa VanCleef's nightmare 2020-08-05 17:48:24 +02:00
Ovahlord 7de9675bf9 Scripts/Deadmines: fixed Helix' Lumbering Oaf not attacking anything at all 2020-08-05 17:40:13 +02:00
Ovahlord 6f43b13a2c Scripts/DM: corrected cyclic spline argument data for Vanessa's lightning walls 2020-08-05 17:08:09 +02:00
Ovahlord 35041c9d47 Scripts/BRC: corrected run state setting for Raz the Crazed and reverted escort ai changes 2020-07-27 13:32:00 +02:00
Ovahlord c62f4e891b Scripts/BWD: apply the Mangle kill aura and Sweltering Armor after the player has entered Magmaw instead of when being hit by the damage at the same time 2020-07-27 01:22:35 +02:00
Ovahlord 64bc678a54 Fixed nopch build 2020-07-27 00:54:49 +02:00
Ovahlord 1d3df0678c Scripts/BRC: Nether Beam will now apply Evolution stacks twice as fast on heroic difficulty and implemented visual indicator when a target is close to its evolution 2020-07-27 00:48:24 +02:00
Ovahlord 287fdc542f Core/AI: allow manually added escort waypoints to have run states specified
*turn waypoints of Raz the Crazed into run mode
2020-07-27 00:34:28 +02:00
Ovahlord c25254b619 Scripts/BWD: Magmaw's Exposed Heads will no longer get set in combat with players via script 2020-07-25 16:43:03 +02:00
Ovahlord 25be1dbb7b Scripts/BoT: fixed target selection behaivior for Darkened Creations in Cho'Gall encounter 2020-07-25 14:08:29 +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 06d66f54b7 Scripts/MagistersTerrace: small followup for Priestess Delrissas' script 2020-07-23 23:47:21 +02:00
Ovahlord aec1d1a2fa Misc: fixed build 2020-07-23 17:00:54 +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
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
Ovahlord 280b8dc799 Fixed build 2020-07-22 15:21:50 +02:00
Treeston 7c75d6fb0c some more cleanup (cbd025f follow-up) 2020-07-22 15:03:01 +02:00
Treeston a5c63ba366 Scripts/MagistersTerrace: Fix some crashes in Selin Fireheart. His script is still a shitshow, though. Closes #20614.
# Conflicts:
#	src/server/scripts/EasternKingdoms/MagistersTerrace/boss_selin_fireheart.cpp
2020-07-22 15:02:53 +02:00
Carbenium 64ed5c07fe Core/Scripts: Add two missing overrides 2020-07-22 14:56:28 +02:00
Gustavo d55b5549c6 Core/Scripts: Rewrite Boss Kalecgos (Sunwell Plateau) (#19897)
* Core/Scripts: Rewrite Boss Kalecgos (Sunwell Plateau)

Scripted all spells
Corrected behavior of Spectral Blast and Curse of Boundless Agony
Removed wrong wipe behavior
Fix problem where bosses would be stuck with banish
Added Boundaries
Corrected texts
Removed old hacks
Other minor fixes

# Conflicts:
#	sql/old/4.3.4/world/19_2017_06_18/2017_08_08_00_world.sql
#	src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kalecgos.cpp
#	src/server/scripts/EasternKingdoms/SunwellPlateau/instance_sunwell_plateau.cpp
2020-07-22 14:50:24 +02:00
Ovahlord 96f8af56cb Scripts/ScarletEnclave: 74af880217fc567c9949d7557408718af889402f followup 2020-07-22 14:38:02 +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 cc1df2659e Nopch fix 4 2020-07-22 13:46:24 +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 00a94593cd Scripts/BWD: scripted Dwarven spirits 2020-07-15 16:03:45 +02:00
Ovahlord 79dffad47f Scripts/TotT: fixed a typo and build 2020-07-14 16:50:07 +02:00