they basicaly should
*autocast 22011
*give player after gossiphello buff 2584
*port players away to another spiritguides, when they die
so this can be done by a script
and maybe eventai
i added a function IsDeathOnlySpell() which returns true
if this spell can ONLY be casted while dead, so i haven't
implemented all spells which could be cast while dead..
moved arena/battleground check from spell::checkcast
to SpellMgr::GetSpellAllowedInLocationError
also i adjusted some spell_fail-codes related to battleground
cause a spell_fail_wrong_area always requires the areaid, else it
would output "not in area %s"
then we don't need to check for map->isarena() when player is already in an
arena
----
in Spell.h
i moved "isTargetableForAttack()" to the top - cause it was anyway used
in every case of that switch
and isTargetableForAttack for attack also checks for isAlive
and isInFlight
so this could get simplified
* Make from TARGET_EFFECT_SELECT code normal Spell::SetTargetMap case
* In additional for old 0/TARGET_EFFECT_SELECT pairs call it in case coordinate targets.
* Move CMSG_MOVE_KNOCK_BACK_ACK (player case) to Unit::KnockBackFrom
* Implement creature case, most at hack way currently :(
Need information about expected server packet, and possible some disorientation movegen apply at short time.
* In adition of spell 781 implement related creature versions.
* Fixed warnings spawn at reading CMSG_MOVE_KNOCK_BACK_ACK, CMSG_MOVE_HOVER_ACK, CMSG_MOVE_WATER_WALK_ACK.
* Removed runtime allocation of list
* Methods and defines from precast spell system and trigger system moved closer
to each other
Signed-off-by: ApoC <apoc@nymfe.net>
* SPELL_EFFECT_OPEN_LOCK_ITEM (59) effect removed in 3.1.3
* It replaced by SPELL_EFFECT_CREATE_RANDOM_ITEM (59), random item without template replace spells like clam loot spells)
Used by spells that use before SPELL_EFFECT_CREATE_ITEM_2 (157) with itemtype==0
Note: required DB support in `spell_loot_termplate`
* Replace 64904 by 64901 in spellbook and action bars.
* Implement proper max mana percent buff
* Implement proper target selection.
* Move group/raid targets seelction code to functions for reuse code.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
* Also implement this table reload
* Static Spell::SendCastResult function for call not from spell code.
Can be also used in scripts where need send explicitly spell cast error to client.
This let reuse code for other similar near corpse target selection spells.
Also provided currently not used class-checks for 2 spells
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
Currently 0 used ast OK value for spell cast checks BUT 0 = SPELL_FAILED_AFFECTING_COMBAT
So another values need used. This required lot code changes. This is first step.
Fixed work all Huter traps target selection
More check in ObjectAccessor::Get Object
More generic work 22 TARGET_CASTER_COORDINATES target type
Signed-off-by: DiSlord <dislord@nomail.com>
* Implement SPELL_EFFECT_CREATE_ITEM_2 (157). This alos let work many item creating spells.
* Add `skill_discovery_template`.`reqClass` for allow clas specific racipes storing in table.
* Make primary key for `skill_discovery_template` pair (spellId,reqSpell) that allow have duplicate recipes for different reqSpells.
* Implement SPELL_EFFECT_SCRIPT (77) cases for explicit recipe discovery spells with learn spell selected by `skill_discovery_template` data.
Note: as expected explicit recipe discovery abilities always return some spell while exist any not learned yet for player class.
Correct totem immunes for dot/leech/Fear/Transform auras (immune only to effect)
Correct log if all effects immuned by Effect Immune
Move check for IMMUNITY_STATE to Unit::IsImmunedToSpellEffect
Signed-off-by: DiSlord <dislord@nomail.com>