aboutsummaryrefslogtreecommitdiff
path: root/src/game/Spell.cpp
diff options
context:
space:
mode:
authormegamage <none@none>2009-03-11 16:17:37 -0600
committermegamage <none@none>2009-03-11 16:17:37 -0600
commit6e29ab4fbbb6b0fb0270d73120871ff5336d784f (patch)
tree7a3620ea5f9986f2cd3e0a262e7c7c808119cbf3 /src/game/Spell.cpp
parent5286f2351f20b449921140d088b6eae6ef62a242 (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.cpp5
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;