diff options
| author | megamage <none@none> | 2009-03-11 16:17:37 -0600 |
|---|---|---|
| committer | megamage <none@none> | 2009-03-11 16:17:37 -0600 |
| commit | 6e29ab4fbbb6b0fb0270d73120871ff5336d784f (patch) | |
| tree | 7a3620ea5f9986f2cd3e0a262e7c7c808119cbf3 /src/game/Spell.cpp | |
| parent | 5286f2351f20b449921140d088b6eae6ef62a242 (diff) | |
[7440] Use server-side only zone info. Optimize related calles in case zone and subzone use. Author: VladimirMangos
This in some cases make some zones not explorable if it not have server side data in current maps
but not allow cheating with zone set from client.
--HG--
branch : trunk
Diffstat (limited to 'src/game/Spell.cpp')
| -rw-r--r-- | src/game/Spell.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/game/Spell.cpp b/src/game/Spell.cpp index 6c04104d619..7067a55dc01 100644 --- a/src/game/Spell.cpp +++ b/src/game/Spell.cpp @@ -3733,7 +3733,10 @@ uint8 Spell::CanCast(bool strict) return SPELL_FAILED_NOT_IN_ARENA; // zone check - if (uint8 res= spellmgr.GetSpellAllowedInLocationError(m_spellInfo,m_caster->GetMapId(),m_caster->GetZoneId(),m_caster->GetAreaId(), + uint32 zone, area; + m_caster->GetZoneAndAreaId(zone,area); + + if (uint8 res= spellmgr.GetSpellAllowedInLocationError(m_spellInfo,m_caster->GetMapId(),zone,area, m_caster->GetTypeId()==TYPEID_PLAYER ? ((Player*)m_caster) : NULL)) return res; |
