Commit Graph
36223 Commits
Author SHA1 Message Date
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: e9cd7af2dfcb7948f27e83e73398da0086190aab 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 04dc47e7e28a26cf027a5bb5c1a3ebf685861325 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: a38141fd6c3a5cc40732af82edd22605e3f67a71 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: 74af880217fc567c9949d7557408718af889402f 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
Ovah 67c37cd595 Update README.md 2020-07-19 12:58:28 +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
Giacomo Pozzoni 52d9bb2538 Core/Threads: Replace Boost TLS with C++11 one (#15782)
* Core/Threads: Replace Boost TLS with C++11 one

Replace boost::thread_specific_ptr<T> thread-local storage with C++11 thread_local to remove libboost_thread dependency from common project

* Fix no-pch build
2020-07-18 22:48:03 +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
Peter Keresztes Schmidt a06e5d7d40 Misc: Use [[fallthrough]] attribute instead of comment to mark intentional fallthroughs 2020-07-18 22:43:24 +02:00
Giacomo Pozzoni cbb0fe41de Core/Misc: Replace boost::shared_mutex with std::shared_mutex (#24328)
* Core/Misc: Replace boost::shared_mutex with std::shared_mutex

* Remove std forward declarations
# Conflicts:
#	src/server/game/Loot/LootItemStorage.h
2020-07-18 22:38:50 +02:00
Giacomo Pozzoni e89aef40c5 Dep/Boost: Set boost version to 1.67 on *nix and 1.70 on Windows (#25069)
# Conflicts:
#	dep/boost/CMakeLists.txt
2020-07-18 22:38:00 +02:00
Shauren 9d5848ec6e Core/Maps: Use FindMap instead of CreateBaseMap in places where the intent was to check for a existing map (and a loaded grid on that map) 2020-07-18 12:07:02 +02:00
Ovahlord 52612cc145 DB/BWD: make the dwarven spirit council immune to shackle 2020-07-17 22:47:02 +02:00
Ovahlord 405569dbff Core/Spells:
* fixed Kill Command
* fixed Improved Kill Command crit chance bonus
* fixed Frenzy not triggering Focus Fire's visual effect correctly

closes #78
2020-07-17 16:21:37 +02:00
Ovahlord fc4e2e4203 Core/Movement: followers will no longer get stuck behind obstacles 2020-07-17 13:10:58 +02:00
Ovahlord 40882b3f71 Core/Spells: define and implement SPELL_ATTR5_INCLUDE_MELEE_RANGE
*this attribute is being used to determine whenever a area targeting based spell shall include its melee range for target selection or not. This fixes many cases in which especially class abilities should hit targets that do not directly stand inside of the radius of a spell while maintaining that behaivior for spells without that attribute
2020-07-16 22:39:41 +02:00
Ovahlord 8fadb361eb Fixed nopch build 2020-07-16 18:05:24 +02:00
Ovahlord 2a8fe49a73 Core/Packets: changed amount storage for aura update packets from vector to array to improve performance 2020-07-16 17:42:08 +02:00