- Maexxna:
- No longer packages pets and returns them to sender. Web Wrap now only targets players.
- Heigan the Unclean: Ripped its guts out.
- Instance script hacks are gone.
- GO spawns (done using the time-honored TC tradition of "eh, this'll work") are gone. You could say I evacuated the dance floor.
- Sniffed spawns for all segments of the room. Because if you don't dance - well, you're no friends of mine.
- Loatheb:
- First spore now spawns properly after 18 seconds on 10-man (down from 36 seconds). Time between subsequent spawns is unchanged.
- Thaddius:
- Instance script hacks are gone. Again. Feels good man.
- Players no longer drop out of combat during the phase transition. Put your snacks away, this is supposed to be a tense situation!
- Thaddius will no longer savagely punish the main tank for stepping out of melee range for a fraction of a second by turning around and ball lightning-ing someone in the face. Typically a healer. He hates healers.
- Thaddius will instead take out his frustration on another melee range target if available by smacking them in the face with his fists. It hurts, but a Ball Lightning would've hurt more. Blame the tank.
- Feugen and Stalagg have been re-educated to improve their patience when a new target is flying towards them. They will no longer move while Magnetic Pull targets are mid-air, which should prevent them from running off their platform while the warrior helplessly flails trying to get them back.
- Instructor Razuvious:
- Razuvious has been informed that Rubik's Cubes become noticably easier to solve if you buy six-colored ones. Thus, he will no longer take out his frustration out on raid groups by throwing unsolved two-colored variants at them. Fixes and closes#14966.
- Death Knight Understudies will now realize that their situation is Hopeless even if they're currently mind controlled by a player. Apparently, if your situation is hopeless you take 5000% extra damage. No, that is supposed to be three zeroes.
- Gothik the Harvester:
- Gothik has been schooled in proper Shadow Bolt spamming etiquette and will now take a brief pause to catch a breath and recompose himself between bolts.
- The Four Horsemen:
- Will no longer stop and stare at the group sometimes when engaged instead of starting the encounter.
- Horsemen can no longer be affected by stun, snare and shackle (heh, yeah, you could totally shackle Baron Rivendare) effects. It's called "Four Horsemen" after all, not "Three Horsemen that never attack because their friend can't move".
- Sapphiron:
- When attempting to FREEZE THE BLOOD IN YOUR VEINS... Wait, no. Wrong boss. I was thinking of #16634.
- Anyways, when freezing people into an Ice Block, Sapphiron now takes care to actually place the block on top of the frozen player, even if they were moving or jumping when the bolt hit them. Yay for positioning clarity!
- Sapphiron has been sent to take multiple mandatory courses in "How to treat raid parties fairly while attempting to murder them" and will thus...
- ...now properly pause after taking off to allow players to get into position before smacking them with ice bolts
- ...no longer deal damage to players inside an Ice Block while they cannot fight back.
- Being forced to attend the courses mentioned above has led to a large amount of pent-up frustration, which Sapphiron relieves by quite forcefully flapping his wings during take-off. Players immediately below him are now properly knocked back.
- In addition, Kel'thuzad was sick of Sapphiron's continous pouting and allowed him to make Blizzard more malicious in exchange. Blizzard will now properly spawn near players and chase them down instead of pathing randomly.
- Also, tons of code style cleanups and hack removal that wasn't mentioned above. Read the diff if you really care.
* This fixes weird issues where triggered spell fails because it has the same category as the spell triggering it
Closes#15794Closes#15048
(cherry picked from commit 044edced9a)
- Fixes creatures turning just before a spellcast finishes and smacking players with supposedly-unavoidable damage. Fixes and closes#15393, #10803, and probably others.
- Fixes visual effects not lining up with the correct target for spells that have their visual aligned with the caster's orientation (examples: Anub'rekhan Impale, Ingvar's Smash/Dark Smash, etc.). Fixes and closes#2947 and probably a bunch of others, including the aforementioned #15393 and #10803.
- Creatures' displayed target now properly matches the unit they are targeting with spells for a split second (blizzlike). This is necessary to get proper client-side orientation.
thx @Nayd for sniffs :)
thx @Shauren for helping to find all spell involved
* There is no implementation for stats update on Puppet class (only on Guardian) so same SummonProperty as Raise Dead Ghoul (non pet) is used.
(Default SummonProperties set category to SUMMON_CATEGORY_PUPPET)
* Override the Summon Effect to enable charm and stats scaling.
* PlayerAI is used to handle unaura on ghoul despawn or dead.
It's necessary due to the fact that all script hooks on ScriptedCreature are called on an unactive CreatureAI, resulting in creature being unable to handle unaura calls.
* Create UpdateAI call for Player class
* Stats scaling is based on forum and wowhead comments, they recall this ghoul as a copy of the other one (same stats).
* Spellscript for Ghoul spell Thrash
Closes#82Closes#14830
by @robinsch; closes#14819
Currently (562da2e), only harmful CC spells will break stealth and modify the unit stand state.
This behaviour is wrong. Any harmful spell hit should break stealth and modify the stand state.
There are a few exceptions for this mechanic, such as:
- Mass Dispel (priest spell ID 32375, 32592, 39897)
- Earthbind Totem (Pulse) (spell ID 3600)
- Distract (rogue spell ID 1725)
* Category cooldown is stored with the spell that started the cooldown (and only resetting cooldown on that spell will clear cooldowns on entire category - this fully mirrors client behavior)
* This significantly reduces the amount of data saved to database for cooldowns
* Spell casts from items that have a different category specified than on spell will now check for cooldown during the cast
(cherry picked from commit 1efb3f08e2)
Closes#15766Closes#15137Closes#14837
Implemented:
ca83e14f8bee1c1b97be18e4ab6911bf37446b3ccb854a2b7b
* This adds separate (per map) guid sequences depending on object type
* Ported map object container from cmangos/mangos-wotlk@a2d396e
* Added type container visitor for TypeUnorderedMapContainer
* Implemented helper function to erase unique pairs from multimap containers
* Moved object storage of all objects except players and transports to map level
* Added containers linking database spawn id with creature/gameobject in world
* Renamed DBTableGuid to spawnId
* Added a separate spawn id sequence generator for creatures and gameobjects - this will be used in db tables
* Moved building SMSG_UPDATE_OBJECT - updatefields changes broadcast to map update
* Added new function to return but not increment guid
* Adjusted .debug loadcells to show low guid in map before/after load
* Added debug messages for creature spawn/destroy, for map guid debugging
* Store all Gameobjects and Creatures added to OutdoorPvP, so the callback script can be removed when OutdoorPvP instance is destroyed.
Remove some ToCreature() casts not needed anymore after 1ee90e1022 changes that moved IsPet(), IsTotem(), IsSummon(), IsGuardian(), IsHunterPet() and IsVehicle() from Creature to Unit