mirror of
https://github.com/mangosfour/server.git
synced 2025-12-14 16:37:01 +00:00
[7466] Use SpellCastResult in SpellMgr.* functions
This commit is contained in:
parent
78879cc634
commit
c1b0e7d57a
5 changed files with 27 additions and 32 deletions
|
|
@ -535,13 +535,13 @@ bool IsAuraAddedBySpell(uint32 auraType, uint32 spellId)
|
|||
return false;
|
||||
}
|
||||
|
||||
uint8 GetErrorAtShapeshiftedCast (SpellEntry const *spellInfo, uint32 form)
|
||||
SpellCastResult GetErrorAtShapeshiftedCast (SpellEntry const *spellInfo, uint32 form)
|
||||
{
|
||||
// talents that learn spells can have stance requirements that need ignore
|
||||
// (this requirement only for client-side stance show in talent description)
|
||||
if( GetTalentSpellCost(spellInfo->Id) > 0 &&
|
||||
(spellInfo->Effect[0]==SPELL_EFFECT_LEARN_SPELL || spellInfo->Effect[1]==SPELL_EFFECT_LEARN_SPELL || spellInfo->Effect[2]==SPELL_EFFECT_LEARN_SPELL) )
|
||||
return 0;
|
||||
return SPELL_CAST_OK;
|
||||
|
||||
uint32 stanceMask = (form ? 1 << (form - 1) : 0);
|
||||
|
||||
|
|
@ -549,7 +549,7 @@ uint8 GetErrorAtShapeshiftedCast (SpellEntry const *spellInfo, uint32 form)
|
|||
return SPELL_FAILED_NOT_SHAPESHIFT;
|
||||
|
||||
if (stanceMask & spellInfo->Stances) // can explicitly be casted in this stance
|
||||
return 0;
|
||||
return SPELL_CAST_OK;
|
||||
|
||||
bool actAsShifted = false;
|
||||
if (form > 0)
|
||||
|
|
@ -558,7 +558,7 @@ uint8 GetErrorAtShapeshiftedCast (SpellEntry const *spellInfo, uint32 form)
|
|||
if (!shapeInfo)
|
||||
{
|
||||
sLog.outError("GetErrorAtShapeshiftedCast: unknown shapeshift %u", form);
|
||||
return 0;
|
||||
return SPELL_CAST_OK;
|
||||
}
|
||||
actAsShifted = !(shapeInfo->flags1 & 1); // shapeshift acts as normal form for spells
|
||||
}
|
||||
|
|
@ -577,7 +577,7 @@ uint8 GetErrorAtShapeshiftedCast (SpellEntry const *spellInfo, uint32 form)
|
|||
return SPELL_FAILED_ONLY_SHAPESHIFT;
|
||||
}
|
||||
|
||||
return 0;
|
||||
return SPELL_CAST_OK;
|
||||
}
|
||||
|
||||
void SpellMgr::LoadSpellTargetPositions()
|
||||
|
|
@ -2559,7 +2559,7 @@ void SpellMgr::LoadSpellAreas()
|
|||
sLog.outString( ">> Loaded %u spell area requirements", count );
|
||||
}
|
||||
|
||||
uint8 SpellMgr::GetSpellAllowedInLocationError(SpellEntry const *spellInfo, uint32 map_id, uint32 zone_id, uint32 area_id, Player const* player)
|
||||
SpellCastResult SpellMgr::GetSpellAllowedInLocationError(SpellEntry const *spellInfo, uint32 map_id, uint32 zone_id, uint32 area_id, Player const* player)
|
||||
{
|
||||
// normal case
|
||||
if( spellInfo->AreaGroupId > 0)
|
||||
|
|
@ -2585,7 +2585,7 @@ uint8 SpellMgr::GetSpellAllowedInLocationError(SpellEntry const *spellInfo, uint
|
|||
for(SpellAreaMap::const_iterator itr = saBounds.first; itr != saBounds.second; ++itr)
|
||||
{
|
||||
if(itr->second.IsFitToRequirements(player,zone_id,area_id))
|
||||
return 0;
|
||||
return SPELL_CAST_OK;
|
||||
}
|
||||
return SPELL_FAILED_INCORRECT_AREA;
|
||||
}
|
||||
|
|
@ -2595,9 +2595,9 @@ uint8 SpellMgr::GetSpellAllowedInLocationError(SpellEntry const *spellInfo, uint
|
|||
{
|
||||
case 23333: // Warsong Flag
|
||||
case 23335: // Silverwing Flag
|
||||
return map_id == 489 && player && player->InBattleGround() ? 0 : SPELL_FAILED_REQUIRES_AREA;
|
||||
return map_id == 489 && player && player->InBattleGround() ? SPELL_CAST_OK : SPELL_FAILED_REQUIRES_AREA;
|
||||
case 34976: // Netherstorm Flag
|
||||
return map_id == 566 && player && player->InBattleGround() ? 0 : SPELL_FAILED_REQUIRES_AREA;
|
||||
return map_id == 566 && player && player->InBattleGround() ? SPELL_CAST_OK : SPELL_FAILED_REQUIRES_AREA;
|
||||
case 2584: // Waiting to Resurrect
|
||||
case 22011: // Spirit Heal Channel
|
||||
case 22012: // Spirit Heal
|
||||
|
|
@ -2610,7 +2610,7 @@ uint8 SpellMgr::GetSpellAllowedInLocationError(SpellEntry const *spellInfo, uint
|
|||
if(!mapEntry)
|
||||
return SPELL_FAILED_INCORRECT_AREA;
|
||||
|
||||
return mapEntry->IsBattleGround() && player && player->InBattleGround() ? 0 : SPELL_FAILED_REQUIRES_AREA;
|
||||
return mapEntry->IsBattleGround() && player && player->InBattleGround() ? SPELL_CAST_OK : SPELL_FAILED_REQUIRES_AREA;
|
||||
}
|
||||
case 44521: // Preparation
|
||||
{
|
||||
|
|
@ -2625,7 +2625,7 @@ uint8 SpellMgr::GetSpellAllowedInLocationError(SpellEntry const *spellInfo, uint
|
|||
return SPELL_FAILED_REQUIRES_AREA;
|
||||
|
||||
BattleGround* bg = player->GetBattleGround();
|
||||
return bg && bg->GetStatus()==STATUS_WAIT_JOIN ? 0 : SPELL_FAILED_REQUIRES_AREA;
|
||||
return bg && bg->GetStatus()==STATUS_WAIT_JOIN ? SPELL_CAST_OK : SPELL_FAILED_REQUIRES_AREA;
|
||||
}
|
||||
case 32724: // Gold Team (Alliance)
|
||||
case 32725: // Green Team (Alliance)
|
||||
|
|
@ -2636,7 +2636,7 @@ uint8 SpellMgr::GetSpellAllowedInLocationError(SpellEntry const *spellInfo, uint
|
|||
if(!mapEntry)
|
||||
return SPELL_FAILED_INCORRECT_AREA;
|
||||
|
||||
return mapEntry->IsBattleArena() && player && player->InBattleGround() ? 0 : SPELL_FAILED_REQUIRES_AREA;
|
||||
return mapEntry->IsBattleArena() && player && player->InBattleGround() ? SPELL_CAST_OK : SPELL_FAILED_REQUIRES_AREA;
|
||||
}
|
||||
case 32727: // Arena Preparation
|
||||
{
|
||||
|
|
@ -2651,11 +2651,11 @@ uint8 SpellMgr::GetSpellAllowedInLocationError(SpellEntry const *spellInfo, uint
|
|||
return SPELL_FAILED_REQUIRES_AREA;
|
||||
|
||||
BattleGround* bg = player->GetBattleGround();
|
||||
return bg && bg->GetStatus()==STATUS_WAIT_JOIN ? 0 : SPELL_FAILED_REQUIRES_AREA;
|
||||
return bg && bg->GetStatus()==STATUS_WAIT_JOIN ? SPELL_CAST_OK : SPELL_FAILED_REQUIRES_AREA;
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
return SPELL_CAST_OK;
|
||||
}
|
||||
|
||||
void SpellMgr::LoadSkillLineAbilityMap()
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue