* Use area id instead zone id for home bind zone info as expected.
This will for example proper show capital name in area himebinding for capital; tavern.
* Clarify that player create zone in fact is area (subzone)
* Implement SPELL_EFFECT_BIND for normal homebinding.
Also support spell target position mode used in 53823/53821 spells
* Add Spell::EffectEmpty for mark spell effects that used but not expect any code in handler.
Example weapon spells that used just as known spell markers for client.
Original patch idea inspirit by Sadikum patch suggestion.
In fact make triggered spell replace main spell for channeling.
This also let drop hack for target death case interrupt channeling for spell.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
This will prevent #INF-inity values in gps for zones where
zone coordinates calculation impossible with current code.
Also fix small typo in debug output format for honor
* Move movegen Interrupt/Reset calls from CreatureRelocation that called and from another movegens.
* Add this called to NearTeleportTo creature case and new MonsterMove* functions that considered
as special moves similar instant movegens.
* NearTeleportTo/MonsterMove functions recomended used instead explicit use CreatureReolcation+SendMosterMOve pairs
for proper reaction at movement from creature movement generators.
* Propertly add/remove required for specs work spells at 63624/63651.
* Copy current spec action bars to new spec at specs count increase, and delete action bars data at spec count decrease.
* Avoid undexpected action button data test for not active spec at loading/copy, but test action buttons data at spec activation.
* Reset active spec to default if active spec removed.
* Remove talent reset at spec switch that useless at this moment.
Also note that for future case this also can be not correct and batter unlearn/learn only talents that different in specs.
After this changes specs must fully work in action bar part without unexpected another effects.
* Add 2 function for 2 used way for original caster
- GetAffectiveCaster(), is posible NULL unit as source spell affects
(explcit caster, GO owner, caster of aura that trigering affect)..
- GetCastingObject(), possible NULL world object as in game spell effects
source, cast center, etc, need because original caster can store GO
guid that apply effect around. In other cases m_caster
* Use functions and avoid use explicitly m_originalCaster
* Use GetAffectiveCaster() for fix explicit GO cast at near unit, like now fixed campfire bonus.