This can be used to fix quests such as "Heated Battle" or "If Valgarde Falls..." that are currently very hard to complete at the appropriate level due to "friendly" NPCs killing off the required targets too quickly for players to get 50% of damage in.
* 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)
- created DB gossip_menu_option entries for both NPCs
- added enum section instead of "magic numbers" in script
- replaced core text with pointers to DB text
- zone_western_plaguelands.cpp is now cleaned up
Relax const uses in BossBoundaryEntry so the compiler can generate proper
copy assignment operator (error C2582: 'operator =' function is unavailable in 'BossBoundaryEntry')
Also renamed its members to match our coding standards
(public members should be UpperCamelCase)
- Stop tools from complaining about leaks.
- Also, list -> vector.
- Fix an ambiguous constructor warning.
- Fix a bug with Gormok and Sindragosa (Fixes#16280).
- 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.
- Migrate boundary logic to Maps/AreaBoundary instead of having it sit in InstanceScript (to possibly allow use for other purposes).
- Implement the first five boundary types in Maps/AreaBoundary.cpp.
- Add boundary checks to Creature's update logic
- Add boundary data for all Northrend raids
- Add boundary initialization structures and methods to InstanceScript
- Modify EnterEvadeMode signature. It now passes a value from the EvadeReason enum as parameter to allow special casing depending on evade reason
- Remove previous (weird) boundary code that had them linked to GO spawns
Removing hardcoded text from the core script and into the DB:
"I am ready for the illusion, Myranda."
This quest is 3.3.5 *only*. Removed in patch 4.0.3a.
Addendum: enum ILLUSION_GOSSIP = 4773 , instead of "magic number".
Another attempt to shorten the list of hardcoded gossip menu options.
This is the gossip menu option of the NPC ID 28406, Death Knight Initiate
in Death's Breach in the Scarlet Enclave, the death knight starting area.
This gossip is tied to the quest "Death's Challenge".
Removing this text in the core script: "I challenge you, death knight!"
(#define GOSSIP_ACCEPT_DUEL) and using `ADD_GOSSIP_ITEM_DB()`
to pull the gossip_menu_option 9765 from the database instead.
Getting rid of one more incorrect and hardcoded text
which now will be read correct and from the DB instead.
Wrong text: "Thanks, I'll follow you to the door." (core)
Correct text: "Please unlock the courtyard door." (DB)
Thanks to @Aokromes, @r00ty, @velinath, @Nayd, @Treeston, @Zedron
and lots of other regular TrinityCore developers and members for the
inspiration and motivation, as well as helpfulness along the way.