aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2012-06-18 13:27:10 +0200
committerShauren <shauren.trinity@gmail.com>2012-06-18 13:27:10 +0200
commitbd7299ac35600f4f084074c95c64ba27cad04ac4 (patch)
tree737f4952a7638a7dbeeac66d4f0479971abd33ca /src
parent2cafa85daacb8e1908953f1e529a87d6f8371dd1 (diff)
Scripts/Spells: Reverted part of 9d19be2ee5be7cf46ea3eb6b197647737266c69e, fixes scaling mounts
Closes #6815.
Diffstat (limited to 'src')
-rw-r--r--src/server/scripts/Spells/spell_generic.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/server/scripts/Spells/spell_generic.cpp b/src/server/scripts/Spells/spell_generic.cpp
index e7cc7360aab..9cbf81b39af 100644
--- a/src/server/scripts/Spells/spell_generic.cpp
+++ b/src/server/scripts/Spells/spell_generic.cpp
@@ -2996,11 +2996,14 @@ class spell_gen_mount : public SpellScriptLoader
// Triggered spell id dependent on riding skill and zone
bool canFly = false;
- uint32 map = target->GetMapId();
+ uint32 map = GetVirtualMapForMapAndZone(target->GetMapId(), target->GetZoneId());
if (map == 530 || (map == 571 && target->HasSpell(SPELL_COLD_WEATHER_FLYING)))
canFly = true;
- AreaTableEntry const* area = sAreaStore.LookupEntry(target->GetAreaId());
+ float x, y, z;
+ target->GetPosition(x, y, z);
+ uint32 areaFlag = target->GetBaseMap()->GetAreaFlag(x, y, z);
+ AreaTableEntry const* area = sAreaStore.LookupEntry(areaFlag);
if (!area || (canFly && (area->flags & AREA_FLAG_NO_FLY_ZONE)))
canFly = false;