Commit Graph
5472 Commits
Author SHA1 Message Date
Treeston 88a61fa9d6 Scripts/Auchindoun: Fix a super edge case crash bug with GM far teleports during Blackheart's charm phase. Follow-up to d80d7c6.
(cherry picked from commit 165bc028893a1971d4c75b146e3cd3ce92f13982)
2020-08-23 14:47:29 +02:00
Keader 43f76c8cdd Core/Scripts: Updated Razorscale to new registers model
* More codestyle fixes
* Ty sirikfoll :)

(cherry picked from commit 76fc9ed6356ca34a603d4c716d2850b5b15a4164)
2020-08-23 14:44:29 +02:00
Keader 3df7e8b9fb Core/Razorscale: Codestyle Updates
* Removing spelldifficulty_dbc to make portable to master
* Updated to new Spell/Aurascript model

(cherry picked from commit 203c5f705806f6f39a8392c3164ff04fc5415d58)
2020-08-23 14:39:20 +02:00
Foereaper 07e903a23d Scripts/Naxxramas: Fix Heigan the Unclean eruption event (#20129)
By scheduling the eruption event without cancelling the previously registered eruption events, Heigan's eruption (or dance) would overlap and cause a runaway scenario, where eruptions would not follow a proper timer.

By using Reschedule and not locking the Eruption event to the fighting phase, the dance now works as intended.

(cherry picked from commit 6f4492bc61f0883df7dac81ef6235a1cb7299bc7)
2020-08-23 14:35:07 +02:00
Gustavo e5963fda0e Core/Scripts: More fixes in boss Lich King (#20147)
* Core/Scripts: More fixes in boss Lich King

Fix Valkyr charge spell, they will no longer ignore Z position and become unreachable.
Correct height of Spirit Bomb and added the 3 seconds delay on his explosion.
Set the Trigger inside frostmourne room as active, to avoid problems with reseting the room, e.g: Spirit Bombs not despawning and Wicked Spirits stuck in evade.
Use correct InhabitType for Wicked and Vile Spirits, this avoid a situation where they could spawn falling.

(cherry picked from commit 22a7956069c293a3f8eab8adcd84a9f4703f364a)
2020-08-23 01:20:27 +02:00
sirikfoll 7586daad62 Core/Misc: Remove Whitespaces
(cherry picked from commit e2565c2597a72ea7868eef3156014dc3a83c058f)
2020-08-23 00:48:19 +02:00
ccrs 97585597f0 Core/Movement: waypoint movement (#20121)
Following the work done in #19361 this is the cleanup and improvement of the related logic of waypoint management.

Ref 28050f3 #18020
(taking the good parts and ignoring the incomplete work)

(cherry picked from commit 7fff83d67526efff63867d41b9e036a19a9287b3)
2020-08-23 00:45:46 +02:00
Gustavo 6135ee20a9 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

(cherry picked from commit e9cd7af2dfcb7948f27e83e73398da0086190aab)
2020-08-22 21:13:01 +02:00
Demonid 6130a775fe Scripts/ICC: Minor Fixes for Lich King (#20120)
- Fixed Shadow Trap and Defile Targets
- Fixed Shadow Trap Summon Delay and Duration
- Fixed Berserk Timer (15 Minutes)
- Fixed Shadow Trap Despawn when Snowstorm starts

(cherry picked from commit 9fa68855d7d0d5f37112ce21c919a16ed8724ac2)
2020-08-22 20:48:06 +02:00
Keader a1342bc9fc Core/Scripts: Razorscale Rewrite (#19828)
(cherry picked from commit d825a068300224498a3613299d15a70323af9b73)
2020-08-22 20:46:26 +02:00
Treeston 129dd7c909 Core/Scripts: dynamic_spawning follow-up, I had forgotten JustRespawned existed.
- Rename JustRespawned to JustAppeared, which better matches its behavior anyway.
- Properly invoke JustAppeared for new (re-)spawns - fixes #20111.
- Fix Thaddius script to work with dynamic_spawning (mostly unrelated to the above) - Feugen/Stalagg should really be a summon group, but I don't have time to fix that right now.
- Fix default value for DynamicEscortNPC to match worldserver.conf.dist.

(cherry picked from commit 184c45cfe0fbe4f3e4fb701f0f99994df98bdc8a)
2020-08-22 20:10:42 +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 759357049cdbe9a2f97bbab6e61299cd65ba1bec)
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 fcd6fe0aac0b906e2cf8e2379d94a7d73384c160)
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 59db2eeea0a35028779fd76372ae06cc98c8086f)
2020-08-22 12:59:57 +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 7cbb6c101e975a046b95aeb5dd68d75d016f67a5)
2020-08-20 00:21:37 +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 331e463de83e4ea13935773f992b32733272d263)
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 d80d7c6685b8a52d5ff7c2a3fade728b91c17eb4)
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 04dc47e7e28a26cf027a5bb5c1a3ebf685861325)
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 a38141fd6c3a5cc40732af82edd22605e3f67a71)
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 49aa8a2e59b8873da109638cd7dbe24ef359f0ce)
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 37f59f8850d678b8c44710415e7431492c8526f2)
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 02b1d8bb484ed82be055438cd2bac1db5f18a101)
2020-08-19 20:51:03 +02:00
treeston 0f741c4a7f Scripits/Item: Nitro. BOOSTS.
(cherry picked from commit 125127ea73a68b6da8d1ba631539a9ebffd2c471)
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 f953d8596091cf70aab308a2c80ebdfa443b4723)
2020-08-19 20:18:24 +02:00
jackpoz 31654a2295 Core/Misc: Fix static analysis issues
(cherry picked from commit b2a341df6efc099c35b436e1ec8eedd1632433d7)
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 d9c83a6c0143b17286f853f8b81e3dc6fd86642d)
2020-08-18 19:16:04 +02:00
treeston 814f7e45fb Some more script adjustments ported from #19930.
(cherry picked from commit 3f8c0cb446327061c4d5ba06e72044fb8308f694)
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 74af880217fc567c9949d7557408718af889402f)
2020-08-18 18:53:13 +02:00
Keader db80892a41 Build fix
(cherry picked from commit 3aadb72eaad2d0316365a39b5c448718052d6e36)
2020-08-18 18:53:13 +02:00
Keader 251c1811ae Core/Custom: Fixed SPELLMOD_COOLDOWN exploit on Duel Reset system
Followup 0048d4b618e6503a5f1607f3503fcf2d48e6a385
Closes #17419

(cherry picked from commit e254ebebbead52d930e0ebdc425d9a0275b56667)
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 746fce30d9a56ed59b53f1e1a93c9c8c3417e16b)
2020-08-18 18:53:13 +02:00
treeston 2c88d9f162 Some more refactoring prep for combat/threat (#19930).
(cherry picked from commit 2739a5c5f5d5a359eee4eef1a6486ddcaf24faaf)
2020-08-18 18:53:13 +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 0048d4b618e6503a5f1607f3503fcf2d48e6a385)
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 e2a1ccd118d129b96e09ff1a15ed0adb1d4a3897)
2020-08-13 22:46:44 +02:00
ArtamedesandCarbenium e85bd8fd39 Scripts/Stockades: Cleanup the scripts (#23524)
* Scripts/Stockades: Cleanup the scripts

Scripts looked ugly before, now they are less ugly
Move Mortimer Moloch and Warden Thelwater to use TaskScheduler rather than EventMap
Use new script registers
Cleanup some other code

Co-authored-by: Carbenium <[email protected]>
2020-08-10 20:50:25 +02:00
Treeston e9392ad287 Core/Authserver: Authserver cleanup (PR#25093)
- Fix a handful of 1/256 bugs with most significant byte zero in BigNumber
- Get rid of (most of) the C-style arrays in authserver
- CryptoRandom as a unified source for cryptographic randomness
- Bring our other crypto APIs into 2020
- BigNumber usability improvements
- Authserver is now actually readable as a result of all of the above

(cherry picked from commit 210176fd915cf4ba16f428d3c1a249a71f4aa7a7)
2020-08-03 19:39:00 +02:00
Aokromes c9e3356ba4 Core/Creatures: Fix typo 2020-07-31 12:37:31 +02:00
Shauren 1340f2cdb3 Core/Creatures: Move gossip trainer assignment to creature_trainer table - same gossip can open different trainers depending on which creature it is assigned to
Closes #21723
2020-07-31 11:21:24 +02:00
treeston 118e53f1b8 Combat/threat rewrite prep - merge RBAC/DB changes.
(cherry picked from commit e35092c6a164e929f9684b350093b2beefee5d86)
2020-07-16 22:06:56 +02:00
S.V ced4820252 Core/Scripts: Fixed GAMEOBJECT_TYPE_DOOR closing automatically after being opened with .gobj act (#19342)
Closes #19261.

(cherry picked from commit 3eba0937047a1586d42f813ee21fb1752ae85853)
2020-07-16 22:00:30 +02:00
ariel- 148dc34cb2 Core/Scripts: fix array out of bounds in Pit of Saron doorData
(cherry picked from commit 08d01053969fe0c243e214d49adf7ca7513e76ea)
2020-07-16 22:00:30 +02:00
treeston f8fa4d734c Correct some missing auth DB changes from b59ca1c.
(cherry picked from commit 41eddd59aa3c911ba77f9ffbb85af42a4e6c2b53)
2020-07-16 22:00:30 +02:00
treeston 29db04c3c9 Rename .debug uws to .debug worldstate (clarity change).
(cherry picked from commit b59ca1cc81c08bbe043f8974f41fee191e7fd6ad)
2020-07-16 22:00:29 +02:00
treeston 64d8b183de Add new command 'npc showloot'. Does exactly what it says on the tin.
(cherry picked from commit 6f29aac93626ce37922c3c9a85d20b2e4d9d3bbc)
2020-07-16 22:00:29 +02:00
treeston 17a0139b0e - Add new commands .group set assistant, .group set maintank and .group set mainassist to toggle raid member flags.
- Fix 2017_05_29_00_auth.sql to be reapply safe.

(cherry picked from commit ac0f76f8c57bba195b773a6a31ade2e8e2318aeb)
2020-07-16 22:00:29 +02:00
treeston 7df8546d7e Removed a now-unused local (ca02629 follow-up)
(cherry picked from commit 4e41d3e6bd90047e2f9e228b6f3adc52012d7b08)
2020-07-16 22:00:29 +02:00
treeston f543e570d6 Make some adjustments to .summon and .group summon behavior to make them more permissive:
- Now only requires the either target's group leader or target itself to be on your map
- Now summons all applicable group members even if one member fails checks
- No longer has some truly weird edge case instance unbind code that could cause exploit behavior (Really, I have no idea why this existed, because it certainly didn't do what it might've been meant to do.)

(cherry picked from commit ca0262995053e0e5baef7e97211fec8f81664ea7)
2020-07-16 22:00:29 +02:00
ariel- 8abbc097a0 Core/Scripts: fix some /W4 warnings
(cherry picked from commit d6cae113c64f1024b11493ee68e06d9b3052bfab)
2020-07-16 22:00:29 +02:00