- 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".
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.
Core/Spells: Cooldown updates
Core/Player: implement ResetCoolDownAfterDuel configurable feature
Core/Player rewritten duel CD reset system
Core/Spells: fixed some rare stealth/prowl visual bugs after duel cd reset
Core/Spells: Improved spell category cooldown handling
* 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
Core/Misc: Warning fix
Scripts/DuelReset:
- impemented health and mana reset
- do not reset anything when duel is interrupted
Scripts/DuelReset:
- fixed druid mana restoration
- fixed bug when a player accepts duel with a spel on onHold true (like when stealth of rogue/druid is active)
Core/Spells: Fixed Raise Dead cooldown
Core/Spells: Fixed typo in ecbbcc8972
Core/Spell: fixed possible exploit in Duel Reset script
- thanks @Runico for reporting it
Scripts/DuelReset:
- do not reset when duel is fled
- minor improvement to SpellHistory::RestoreCooldonStateAfter duel method
- Rename Map::CanEnter to Map::CannotEnter. Return value changed from boolean (true means player can enter) to enum Map::EnterState (CAN_ENTER=0 means player can enter, any other value is a reason for deny).
- Move hack-y player error messages from within Map::CanEnter to the function calling CanEnter as appropriate (primarily WorldSession::HandleAreaTriggerOpcode).
- Modify WorldSession::HandleAreaTriggerOpcode to properly revive the player upon touching the portal leading to the instance they died in even if they are currently unable to zone in. Fixes and closes#15758.
- Modify Player::LoadFromDB to properly spawn players in the instance they logged off in if possible. Fixes and closes#15561.
- Modify permanent save behavior to be blizzlike: Players can always enter an instance they are saved to (assuming there are no map constraints against it), but get a homebind timer if the instance is already in use.
(cherry picked from commit 43fa7d48a5)
Conflicts:
src/server/game/Entities/Player/Player.cpp
src/server/game/Entities/Player/Player.h
src/server/game/Maps/Map.cpp
src/server/game/Maps/MapInstanced.cpp
src/server/game/Miscellaneous/Language.h
- Stop storing guid for auctioneer.
- Store instead house ID
- No separate ID for various houses. Only Horde, Alliance and Neutral.
- Removed non-needed faction checks.
- Use enum for auction house IDs
NOTE: This will expire all current auctions and return item to player (or
award to high bidder) in order to prepare database for the changes.
(cherry-picked from commit 01ae5c4bf6)
Conflicts:
sql/base/characters_database.sql
src/server/game/AuctionHouseBot/AuctionHouseBotSeller.cpp
src/server/game/Handlers/AuctionHouseHandler.cpp
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
1) Move the http://www.wowhead.com/spell=52214/rainspeaker-treasures-see-invisibility and http://www.wowhead.com/spell=50735/frenzyheart-chicken-see-invisibility to spell area instead of been cast and removed by quest giver on quest accept and return - this solves the issue of Gods Like Shiny Things, Appeasing the Great Rainstone , Flown the Coop! and Chicken Party not working properly (due to player not been able to see npcs) if player relogged or left zone while had quest uncompleted in log unles quest was abandoned and retaken
2) Someone had put non repeatable flags on some of the events for Guardians since I originally scripted these npcs which resulted in that once guardian and dug up one treasure or threw net at one chicken would not work again, all events on these npcs need to repeatable