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: 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
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