Commit Graph

24694 Commits

Author SHA1 Message Date
Treeston 608c9aaabf Scripts/InstanceScript: Implement database framework for managing spawn groups based on boss state. (#20103)
(cherry picked from commit 84590be26d)
2020-08-22 13:48:44 +02:00
Treeston acb4934f76 Core/Unit: Don't apply liquid effects to game masters.
(cherry picked from commit 2644fa703a)
2020-08-22 13:35:46 +02:00
Shauren 50a64ccd1e Core/Misc: Revert back to using boost::regex, std::wregex doesn't work for name validation
Closes #20094

(cherry picked from commit 6691e41873)
2020-08-22 13:21:55 +02:00
Treeston f15b4f5043 Scripts/Commands: Fix some quirkiness and potential crashes with live DB modification commands (npc move and npc delete), which are horrible and should be deleted anyway.
Fixes #20104.

(cherry picked from commit 759357049c)
2020-08-22 13:16:34 +02:00
Treeston 703910d71b Scripts/Commands: New utility command: .list spawnpoints.
(I just needed it for dynspawn follow-up work, really.)

(cherry picked from commit fcd6fe0aac)
2020-08-22 13:11:34 +02:00
r00ty-tc 03b125e6d1 Dynamic Creature/Go spawning:
- True blizzlike creature spawn/respawn behavior - new creature = new object
 - Toggleable spawn groups (with C++/SAI/command options to use them)
 - Custom feature: dynamic spawn rate scaling. Accelerates respawn rate based on players in the zone.
 - Backward compatibility mode (set via group and for summons)
   to support creatures/gos that currently don't work well with this
   (this should be removed once the exceptions are fixed)

Fixes and closes #2858
Tags #8661 as fixable.
Fixes and closes #13787
Fixes #15222.

(cherry picked from commit 59db2eeea0)
2020-08-22 12:59:57 +02:00
jackpoz bf5be28396 Core/Misc: Fix static analysis issues
Fix various coverity reported issues

(cherry picked from commit 925557d1c0)
2020-08-21 23:13:13 +02:00
Treeston 42c65c3bc2 Core/Chat: Provide a fully-formed protocol for addons to interact with GM commands (#20074)
Send success/fail state, allow interleaving, and indicate end of output. Add framework for supporting non-human-readable output in commands.

(cherry picked from commit 508c9d2fc1)
2020-08-20 00:49:52 +02:00
Treeston e69b5d8fcc Scripts/IcecrownCitadel: Prevent players from becoming inaccessible when killed by Lord Marrowgar's Impale spell (the initial damage, not the DoT). Also fix the underlying bug in vehicle logic.
(cherry picked from commit 7cbb6c101e)
2020-08-20 00:21:37 +02:00
ccrs 9757a2992a Core/AI: correct Permit level for trigger flagged creatures
This broke several mechanics such as LK hc Frostmourne Room or Rotface's slime, how come no one noticed it? Like really, no one?
ref ce3787f190

(cherry picked from commit 1de89579c7)
2020-08-20 00:20:03 +02:00
Treeston e5836dcc1a Core/Unit: No code change, just updating a comment with insights gleaned from sniffs.
(cherry picked from commit f2f45765e4)
2020-08-20 00:19:23 +02:00
Treeston e6be53d141 Core/WorldObject: Properly initialize position data for all types when initially creating them. Fixes some issues with PvP objectives not having the correct area ID set on initialization. Closes #20028.
(cherry picked from commit 28b3469e89)
2020-08-20 00:18:48 +02:00
Shauren b630e9a485 Warning fix 2020-08-20 00:12:20 +02:00
Treeston e51960ea45 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).

(cherry picked from commit 331e463de8)
2020-08-20 00:11:18 +02:00
Treeston 2c92e09230 Scripts/Auchindoun: Last one, hopefully. Remove reliance on large grid searchers by integrating with instance script.
(cherry picked from commit d80d7c6685)
2020-08-20 00:08:04 +02:00
Treeston 6599dab1e1 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.

(cherry picked from commit 04dc47e7e2)
2020-08-19 23:50:31 +02:00
Treeston 8a1739d15e 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.
(cherry picked from commit a38141fd6c)
2020-08-19 23:47:25 +02:00
Treeston b1d2e4e906 Scripts/Spell: Port spell_generic.cpp to new script registration syntax wherever possible. No actual changes in functionality. (fb87ac8 follow-up)
(cherry picked from commit 49aa8a2e59)
2020-08-19 23:42:29 +02:00
Treeston 4f676221b8 Scripts/Item: Port spell_item.cpp scripts to new script registration syntax wherever possible. No actual changes in functionality. (fb87ac8 follow-up)
(cherry picked from commit 37f59f8850)
2020-08-19 21:38:47 +02:00
treeston 89006f621e Scripts/Item: Change Nitro -> Boosts <- to use the correct knockup effect for their backfire. Also, script that knockup effect to work properly ("usually" deploy a rescue parachute).
(cherry picked from commit 02b1d8bb48)
2020-08-19 20:51:03 +02:00
treeston cc9889a3d4 Core/Taxi: Properly send taxi node status on login, as well as if the taxi master is out of range. Closes #20035.
(cherry picked from commit 24ec3ad340)
2020-08-19 20:45:58 +02:00
treeston 0f741c4a7f Scripits/Item: Nitro. BOOSTS.
(cherry picked from commit 125127ea73)
2020-08-19 20:18:44 +02:00
treeston ba7d8e9ace Scripts/Item: Fix Nitro Boosts to only fail in flyable areas. Also, it's called nitro _boosts_. Not _boots_. Nitro _boosts_.
(cherry picked from commit f953d85960)
2020-08-19 20:18:24 +02:00
jackpoz 32832fa9cb Core/Misc: Fix static analysis issues
(cherry picked from commit 832a114196)
2020-08-19 00:21:48 +02:00
Gustavo 111b65e10f Core/Vehicles: Do not call InstallAllAccessories for dead Vehicles (#20033)
(cherry picked from commit 551d0559aa)
2020-08-19 00:18:55 +02:00
jackpoz 77e6355fba Core/Misc: Fix static analysis issues
(cherry picked from commit 9cf4dd7345)
2020-08-19 00:14:06 +02:00
jackpoz 76bd0adaa4 Core/Misc: Fix static analysis issues
(cherry picked from commit 41f4a80f30)
2020-08-18 19:46:12 +02:00
jackpoz 31654a2295 Core/Misc: Fix static analysis issues
(cherry picked from commit b2a341df6e)
2020-08-18 19:42:54 +02:00
Regigicas e43d81cd68 Scripts/Commands: Fix a crash on summon when no group is avaible (#20029)
Closes #20027

(cherry picked from commit d9c83a6c01)
2020-08-18 19:16:04 +02:00
Golrag c46aa9d5b5 Core/VMaps: Fix no collision triangles
(cherry picked from commit 89d641f1e6)
2020-08-18 18:53:13 +02:00
Weyrath 35bf146969 Core/Quests: Fixed order of RewardChoiceItems and reputation reward. (#19904)
(cherry picked from commit 8b2bd9a5f2)
2020-08-18 18:53:13 +02:00
Treeston 5f59be31b0 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).

(cherry picked from commit 8d0633c842)
2020-08-18 18:53:13 +02:00
treeston 814f7e45fb Some more script adjustments ported from #19930.
(cherry picked from commit 3f8c0cb446)
2020-08-18 18:53:13 +02:00
Treeston 2c3a107bee Prevent an issue that stopped Aura AfterEffect handlers being called on default handler prevention. (#20001)
Fixes #19996.

(cherry picked from commit ed241a2fd6)
2020-08-18 18:53:13 +02:00
treeston 1e6480ee35 Woopsie. Fix an oversight causing the main tank flag in SelectTarget to be inverted.
(cherry picked from commit 9bacaf15b6)
2020-08-18 18:53:13 +02:00
treeston 2dfafa69eb 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;

(cherry picked from commit 74af880217)
2020-08-18 18:53:13 +02:00
Keader db80892a41 Build fix
(cherry picked from commit 3aadb72eaa)
2020-08-18 18:53:13 +02:00
Keader 251c1811ae Core/Custom: Fixed SPELLMOD_COOLDOWN exploit on Duel Reset system
Followup 0048d4b618
Closes #17419

(cherry picked from commit e254ebebbe)
2020-08-18 18:53:13 +02:00
Nyeriah 5b8d3ede7d Scripts/Karazhan: Fix Attumen and Midnight not moving towards each other on phase transition after latest changes
(cherry picked from commit 746fce30d9)
2020-08-18 18:53:13 +02:00
Gustavo d50611c108 Core/Auras: Implement SPELL_AURA_DETECT_AMORE (#19955)
Based on https://github.com/mangos/mangos/commit/b58b29c9581327129daaf43b9c368810db850771

(cherry picked from commit a27a3e0457)
2020-08-18 18:53:13 +02:00
Treeston 94e164f9c9 Utilities/Containers: New RandomResize implementation with guaranteed asymptotic linear time for all container types (#19974)
(cherry picked from commit ac50034df7)
2020-08-18 18:53:13 +02:00
treeston 67ffe7bcf0 Core/Combat: Fixed issues with creatures sometimes entering combat with friendly targets
Close #19980

(cherry picked from commit 07593f6c34)
2020-08-18 18:53:13 +02:00
treeston daf9c703c4 Two more refactors I missed for #19930. Last ones for now, I promise.
(cherry picked from commit 62d5113252)
2020-08-18 18:53:13 +02:00
treeston 2c88d9f162 Some more refactoring prep for combat/threat (#19930).
(cherry picked from commit 2739a5c5f5)
2020-08-18 18:53:13 +02:00
treeston bacc5ef94e Creatures now release spell focus on projectile launch (for spells that have a projectile portion) as opposed to projectile impact.
This should make some very slow projectiles (f.ex. Professor Putricide's Malleable Goo) a lot smoother.

(cherry picked from commit 5d3c69bf44)
2020-08-18 18:53:13 +02:00
Ovah 71db17220a Core/Spells: enable and implement SMSG_MISSILE_CANCEL (#25215) 2020-08-16 12:07:51 +02:00
Keader 04c303a7e5 Core/Custom: Fixed Duel Reset Exploits
Close #17419
*Fixed exploit with SPELLMOD_COOLDOWN
*Fixed exploit with some items (like Sylvanas' Music Box)
*Little cleanup

(cherry picked from commit 0048d4b618)
2020-08-14 17:38:52 +02:00
Shauren 1c52d5fff7 Core/Misc: Replace NULL with nullptr 2020-08-14 17:06:03 +02:00
Treeston 8be23fcbbd [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.

(cherry picked from commit e2a1ccd118)
2020-08-13 22:46:44 +02:00
Shauren 2c99678118 Core/PacketIO: Send the expected value in available hotfixes packet - realm address, not arbitrary number (it no longer has any effect for clearing client cache) 2020-08-13 14:15:26 +02:00