Commit Graph

36237 Commits

Author SHA1 Message Date
Treeston
2cc36c5eec Core/AI: UnitAI.h trimming part two. WaypointX methods kicked upstairs to CreatureAI.h. 2020-07-22 15:11:26 +02:00
Ovahlord
85884c49bf Core/AI: followup 2020-07-22 15:11:00 +02:00
Treeston
b031f55f21 Core/AI: Kick Gossip functions upstairs, from UnitAI to CreatureAI - they only make sense for Creatures anyway.
Also change a very ugly hack in GetDialogStatus. Ew.

# Conflicts:
#	src/server/game/AI/CoreAI/GameObjectAI.h
#	src/server/game/Entities/Player/Player.cpp
#	src/server/game/Quests/QuestDef.h
2020-07-22 15:10:28 +02:00
Treeston
7d361cc25c Core/Spell: Remove some leftover hack code from ::EffectSanctuary pertaining to vanish. None of this code did anything anymore.
# Conflicts:
#	src/server/game/Spells/SpellEffects.cpp
2020-07-22 15:08:14 +02:00
Ovahlord
5ccba1cb68 Core/Units: little typo fixup 2020-07-22 15:04:49 +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
Treeston
787f057a1e Scripts/Patchwerk: Finally fix that crash for real. Closes #20247. 2020-07-22 14:58:43 +02:00
Treeston
e89467ea58 Scripts/Naxxramas: Fix an edge case crash with people teleporting out of the dungeon during the Patchwerk encounter (tagging #20247) 2020-07-22 14:58:24 +02:00
Treeston
ad30a56ead Scripts/Naxxramas: Missing nullptr check in Patchwerk. Closes #20247. 2020-07-22 14:57:24 +02:00
Treeston
abcf9f9d42 Core/Player: Prevent changing equipment while charmed. Closes #20209. 2020-07-22 14:57:15 +02:00
Keader
be5aac09d8 Core/Scripts: Removed wrong AddThreat call in Pursuit spellscript
followup 52ad0c9e5c
checked in sniffs, only ick add threat in target, wrong call in original script (why o keep it? o.o)
2020-07-22 14:56:56 +02:00
Carbenium
64ed5c07fe Core/Scripts: Add two missing overrides 2020-07-22 14:56:28 +02:00
Keader
66fe69f98c Core/Scripts: Typo fix 2020-07-22 14:56:15 +02:00
Keader
dfd1ecf7e5 Core/Script: Krick and Ick, fixed spell Pursuit
Close #2261
2020-07-22 14:56:06 +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
Ovahlord
fcc4429b36 DB: e9cd7af2df followup 2020-07-22 14:51:46 +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
Treeston
bdd776e1d1 Core/Unit: No code change, just updating a comment with insights gleaned from sniffs. 2020-07-22 14:46:28 +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
Ovahlord
e6409b4c0d DB 04dc47e7e2 followup 2020-07-22 14:44:49 +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
Ovahlord
60f0ce78a1 DB: a38141fd6c followup 2020-07-22 14:43:09 +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
jackpoz
05330c2cc8 Core/Misc: Fix static analysis issues 2020-07-22 14:40:00 +02:00
Treeston
6be7be2148 Core/AI: UnitAI::SelectTarget now applies offset BEFORE filtering by predicate (to match expected behavior). (#19975)
* Also some major code deduplication (SelectTarget now calls SelectTargetList).
2020-07-22 14:39:04 +02:00
treeston
45e05b947b Some more script adjustments ported from #19930. 2020-07-22 14:38:29 +02:00
Ovahlord
96f8af56cb Scripts/ScarletEnclave: 74af880217 followup 2020-07-22 14:38:02 +02:00
treeston
f014d67578 Woopsie. Fix an oversight causing the main tank flag in SelectTarget to be inverted. 2020-07-22 14:36:06 +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
7310ce2bc0 Core/Combat: Fixed issues with creatures sometimes entering combat with friendly targets
Close #19980
2020-07-22 13:49:21 +02:00
treeston
618e604141 Two more refactors I missed for #19930. Last ones for now, I promise. 2020-07-22 13:48:36 +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
Shauren
db5a6d2738 Nopch fix 2 2020-07-22 13:46:16 +02:00
Shauren
6ea79fd691 Nopch fix 2020-07-22 13:46:12 +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
f21877e00f Core/GuildFinder: fixed a crash when trying to list a guild which was stored as listed but no longer exists 2020-07-22 10:26:27 +02:00
funjoker
865dbb0e32 DB/Misc: Verify/Add plenty npc_text and gossip_menu entries with old sniffs 2020-07-21 04:04:53 +02:00
Ovahlord
9f116b86e9 Core/Movement: re-implement AbstractFollower as renamed version and index the pointers by following type (chase, follow, formation) for future access and improvements 2020-07-20 20:16:01 +02:00
Ovahlord
2c5b4a80d5 Core/World: fixed another gcc warning 2020-07-19 14:38:31 +02:00
Ovahlord
bd444eb6e1 Scripts/Items: fixed a warning reported by gcc 2020-07-19 14:36:37 +02:00