aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorIntel <chemicstry@gmail.com>2014-11-13 02:30:19 +0200
committerNayd <dnpd.dd@gmail.com>2014-11-15 04:27:35 +0000
commitb5236a6cdc0161e4240435280b388868f443c9b2 (patch)
tree247f9a3bae6efae15d09c2ed5d72fb489e2b8605 /src
parentfa0983dfa36475237d696e841241060e356fe788 (diff)
Core/DataStores: Updated AreaTable.dbc
Signed-off-by: Nayd <dnpd.dd@gmail.com>
Diffstat (limited to 'src')
-rw-r--r--src/server/game/Chat/Chat.cpp6
-rw-r--r--src/server/game/Conditions/ConditionMgr.cpp2
-rw-r--r--src/server/game/DataStores/DBCEnums.h2
-rw-r--r--src/server/game/DataStores/DBCStores.cpp6
-rw-r--r--src/server/game/DataStores/DBCStructure.h55
-rw-r--r--src/server/game/DataStores/DBCfmt.h2
-rw-r--r--src/server/game/Entities/Player/Player.cpp39
-rw-r--r--src/server/game/Globals/ObjectMgr.cpp2
-rw-r--r--src/server/game/Handlers/MiscHandler.cpp4
-rw-r--r--src/server/game/Handlers/MovementHandler.cpp4
-rw-r--r--src/server/game/Maps/Map.cpp26
-rw-r--r--src/server/game/Spells/Spell.cpp2
-rw-r--r--src/server/game/Spells/SpellEffects.cpp4
-rw-r--r--src/server/scripts/Commands/cs_go.cpp12
-rw-r--r--src/server/scripts/Commands/cs_group.cpp5
-rw-r--r--src/server/scripts/Commands/cs_lookup.cpp2
-rw-r--r--src/server/scripts/Commands/cs_misc.cpp12
17 files changed, 94 insertions, 91 deletions
diff --git a/src/server/game/Chat/Chat.cpp b/src/server/game/Chat/Chat.cpp
index 6c5d67db36a..ec3bc458066 100644
--- a/src/server/game/Chat/Chat.cpp
+++ b/src/server/game/Chat/Chat.cpp
@@ -351,9 +351,9 @@ bool ChatHandler::ExecuteCommandInTable(ChatCommand* table, const char* text, st
std::string zoneName = "Unknown";
if (AreaTableEntry const* area = GetAreaEntryByAreaID(areaId))
{
- areaName = area->area_name;
- if (AreaTableEntry const* zone = GetAreaEntryByAreaID(area->zone))
- zoneName = zone->area_name;
+ areaName = area->ZoneName;
+ if (AreaTableEntry const* zone = GetAreaEntryByAreaID(area->ParentAreaID))
+ zoneName = zone->ZoneName;
}
sLog->outCommand(m_session->GetAccountId(), "Command: %s [Player: %s (%s) (Account: %u) X: %f Y: %f Z: %f Map: %u (%s) Area: %u (%s) Zone: %s Selected: %s (%s)]",
diff --git a/src/server/game/Conditions/ConditionMgr.cpp b/src/server/game/Conditions/ConditionMgr.cpp
index aaf154a9bd7..6e4878ce4c5 100644
--- a/src/server/game/Conditions/ConditionMgr.cpp
+++ b/src/server/game/Conditions/ConditionMgr.cpp
@@ -1637,7 +1637,7 @@ bool ConditionMgr::isConditionTypeValid(Condition* cond)
return false;
}
- if (areaEntry->zone != 0)
+ if (areaEntry->ParentAreaID != 0)
{
TC_LOG_ERROR("sql.sql", "ZoneID condition requires to be in area (%u) which is a subzone but zone expected, skipped", cond->ConditionValue1);
return false;
diff --git a/src/server/game/DataStores/DBCEnums.h b/src/server/game/DataStores/DBCEnums.h
index 006c3ff255f..d4831127183 100644
--- a/src/server/game/DataStores/DBCEnums.h
+++ b/src/server/game/DataStores/DBCEnums.h
@@ -62,7 +62,7 @@ enum AreaTeams
AREATEAM_NONE = 0,
AREATEAM_ALLY = 2,
AREATEAM_HORDE = 4,
- AREATEAM_ANY = 6
+ AREATEAM_ANY = AREATEAM_ALLY+AREATEAM_HORDE
};
enum AchievementFaction
diff --git a/src/server/game/DataStores/DBCStores.cpp b/src/server/game/DataStores/DBCStores.cpp
index ac2598046a5..a4dd3db66a9 100644
--- a/src/server/game/DataStores/DBCStores.cpp
+++ b/src/server/game/DataStores/DBCStores.cpp
@@ -305,11 +305,11 @@ void LoadDBCStores(const std::string& dataPath)
if (AreaTableEntry const* area = sAreaStore.LookupEntry(i))
{
// fill AreaId->DBC records
- sAreaFlagByAreaID.insert(AreaFlagByAreaID::value_type(uint16(area->ID), area->exploreFlag));
+ sAreaFlagByAreaID.insert(AreaFlagByAreaID::value_type(uint16(area->ID), area->AreaBit));
// fill MapId->DBC records (skip sub zones and continents)
- if (area->zone == 0 && area->mapid != 0 && area->mapid != 1 && area->mapid != 530 && area->mapid != 571)
- sAreaFlagByMapID.insert(AreaFlagByMapID::value_type(area->mapid, area->exploreFlag));
+ if (area->ParentAreaID == 0)
+ sAreaFlagByMapID.insert(AreaFlagByMapID::value_type(area->MapID, area->AreaBit));
}
}
diff --git a/src/server/game/DataStores/DBCStructure.h b/src/server/game/DataStores/DBCStructure.h
index 1b198e8c365..3bf632001b0 100644
--- a/src/server/game/DataStores/DBCStructure.h
+++ b/src/server/game/DataStores/DBCStructure.h
@@ -534,38 +534,43 @@ struct AchievementCriteriaEntry
uint32 additionalConditionValue[MAX_ADDITIONAL_CRITERIA_CONDITIONS]; // 20-22
};
+// Temporary define until max depth is found somewhere (adt?)
+#define MAX_MAP_DEPTH -5000
+
struct AreaTableEntry
{
- uint32 ID; // 0
- uint32 mapid; // 1
- uint32 zone; // 2 if 0 then it's zone, else it's zone id of this area
- uint32 exploreFlag; // 3, main index
- uint32 flags; // 4,
- //uint32 unk5; // 5,
- //uint32 unk6; // 6,
- //uint32 unk7; // 7,
- //uint32 unk8; // 8,
- //uint32 unk9; // 9,
- int32 area_level; // 10
- char* area_name; // 11
- uint32 team; // 12
- uint32 LiquidTypeOverride[4]; // 13-16 liquid override by type
- float MaxDepth; // 17,
- float AmbientMultiplier; // 18 client only?
- uint32 LightId; // 19
- //uint32 unk20; // 20 4.0.0 - Mounting related
- //uint32 unk21; // 21 4.0.0
- //uint32 unk22; // 22 4.0.0
- //uint32 unk23; // 23 4.0.0
- //uint32 unk24; // 24 - worldStateId
- //uint32 unk25 // 25
+ uint32 ID; // 0
+ uint32 MapID; // 1
+ uint32 ParentAreaID; // 2 if 0 then it's zone, else it's zone id of this area
+ uint32 AreaBit; // 3, main index
+ uint32 Flags[2]; // 4-5,
+ //uint32 SoundProviderPref; // 6,
+ //uint32 SoundProviderPrefUnderwater; // 7,
+ //uint32 AmbienceID; // 8,
+ //uint32 ZoneMusic; // 9,
+ char* ZoneName; // 10
+ //uint32 IntroSound; // 11
+ uint32 ExplorationLevel; // 12
+ //char* AreaName_lang // 13
+ uint32 FactionGroupMask; // 14
+ uint32 LiquidTypeID[4]; // 15-18
+ //float AmbientMultiplier; // 19
+ //uint32 MountFlags; // 20
+ //uint32 UWIntroMusic; // 21
+ //uint32 UWZoneMusic; // 22
+ //uint32 UWAmbience; // 23
+ //uint32 WorldPvPID; // 24 World_PVP_Area.dbc
+ //uint32 PvPCombastWorldStateID; // 25
+ //uint32 WildBattlePetLevelMin; // 26
+ //uint32 WildBattlePetLevelMax; // 27
+ //uint32 WindSettingsID; // 28
// helpers
bool IsSanctuary() const
{
- if (mapid == 609)
+ if (MapID == 609)
return true;
- return (flags & AREA_FLAG_SANCTUARY) != 0;
+ return (Flags[0] & AREA_FLAG_SANCTUARY) != 0;
}
};
diff --git a/src/server/game/DataStores/DBCfmt.h b/src/server/game/DataStores/DBCfmt.h
index 7d53f448aea..867e64ef92e 100644
--- a/src/server/game/DataStores/DBCfmt.h
+++ b/src/server/game/DataStores/DBCfmt.h
@@ -26,7 +26,7 @@ char const Achievementfmt[] = "niixsxiixixxiix";
const std::string CustomAchievementfmt = "pppaaaapapaapp";
const std::string CustomAchievementIndex = "ID";
char const AchievementCriteriafmt[] = "niiiliiiisiiiiixxiiiiii";
-char const AreaTableEntryfmt[] = "iiinixxxxxisiiiiiffixxxxxx";
+char const AreaTableEntryfmt[] = "iiiniixxxxsxixiiiiixxxxxxxxxx";
char const AreaGroupEntryfmt[] = "niiiiiii";
char const AreaTriggerEntryfmt[] = "nifffxxxfffffxxxx";
char const ArmorLocationfmt[] = "nfffff";
diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp
index cac2f810e2a..b26099c8b72 100644
--- a/src/server/game/Entities/Player/Player.cpp
+++ b/src/server/game/Entities/Player/Player.cpp
@@ -5150,7 +5150,7 @@ void Player::RepopAtGraveyard()
AreaTableEntry const* zone = GetAreaEntryByAreaID(GetAreaId());
// Such zones are considered unreachable as a ghost and the player must be automatically revived
- if ((!IsAlive() && zone && zone->flags & AREA_FLAG_NEED_FLY) || GetTransport() || GetPositionZ() < (zone ? zone->MaxDepth : -500.0f))
+ if ((!IsAlive() && zone && zone->Flags[0] & AREA_FLAG_NEED_FLY) || GetTransport() || GetPositionZ() < MAX_MAP_DEPTH)
{
ResurrectPlayer(0.5f);
SpawnCorpseBones();
@@ -5187,16 +5187,16 @@ void Player::RepopAtGraveyard()
GetSession()->SendPacket(&data);
}
}
- else if (GetPositionZ() < zone->MaxDepth)
+ else if (GetPositionZ() < MAX_MAP_DEPTH)
TeleportTo(m_homebindMapId, m_homebindX, m_homebindY, m_homebindZ, GetOrientation());
}
bool Player::CanJoinConstantChannelInZone(ChatChannelsEntry const* channel, AreaTableEntry const* zone)
{
- if (channel->Flags & CHANNEL_DBC_FLAG_ZONE_DEP && zone->flags & AREA_FLAG_ARENA_INSTANCE)
+ if (channel->Flags & CHANNEL_DBC_FLAG_ZONE_DEP && zone->Flags[0] & AREA_FLAG_ARENA_INSTANCE)
return false;
- if ((channel->Flags & CHANNEL_DBC_FLAG_CITY_ONLY) && (!(zone->flags & AREA_FLAG_SLAVE_CAPITAL)))
+ if ((channel->Flags & CHANNEL_DBC_FLAG_CITY_ONLY) && (!(zone->Flags[0] & AREA_FLAG_SLAVE_CAPITAL)))
return false;
if ((channel->Flags & CHANNEL_DBC_FLAG_GUILD_REQ) && GetGuildId())
@@ -5241,7 +5241,7 @@ void Player::UpdateLocalChannels(uint32 newZone)
if (!cMgr)
return;
- std::string current_zone_name = current_zone->area_name;
+ std::string current_zone_name = current_zone->ZoneName;
for (uint32 i = 0; i < sChatChannelsStore.GetNumRows(); ++i)
{
@@ -6439,7 +6439,7 @@ void Player::CheckAreaExploreAndOutdoor()
return;
}
- if (areaEntry->area_level > 0)
+ if (areaEntry->ExplorationLevel > 0)
{
uint32 area = areaEntry->ID;
if (getLevel() >= sWorld->getIntConfig(CONFIG_MAX_PLAYER_LEVEL))
@@ -6448,7 +6448,7 @@ void Player::CheckAreaExploreAndOutdoor()
}
else
{
- int32 diff = int32(getLevel()) - areaEntry->area_level;
+ int32 diff = int32(getLevel()) - areaEntry->ExplorationLevel;
uint32 XP = 0;
if (diff < -5)
{
@@ -6460,11 +6460,11 @@ void Player::CheckAreaExploreAndOutdoor()
if (exploration_percent < 0)
exploration_percent = 0;
- XP = uint32(sObjectMgr->GetBaseXP(areaEntry->area_level)*exploration_percent/100*sWorld->getRate(RATE_XP_EXPLORE));
+ XP = uint32(sObjectMgr->GetBaseXP(areaEntry->ExplorationLevel)*exploration_percent/100*sWorld->getRate(RATE_XP_EXPLORE));
}
else
{
- XP = uint32(sObjectMgr->GetBaseXP(areaEntry->area_level)*sWorld->getRate(RATE_XP_EXPLORE));
+ XP = uint32(sObjectMgr->GetBaseXP(areaEntry->ExplorationLevel)*sWorld->getRate(RATE_XP_EXPLORE));
}
GiveXP(XP, NULL);
@@ -7399,7 +7399,7 @@ void Player::UpdateArea(uint32 newArea)
m_areaUpdateId = newArea;
AreaTableEntry const* area = GetAreaEntryByAreaID(newArea);
- pvpInfo.IsInFFAPvPArea = area && (area->flags & AREA_FLAG_ARENA);
+ pvpInfo.IsInFFAPvPArea = area && (area->Flags[0] & AREA_FLAG_ARENA);
UpdatePvPState(true);
UpdateAreaDependentAuras(newArea);
@@ -7417,7 +7417,7 @@ void Player::UpdateArea(uint32 newArea)
RemoveByteFlag(UNIT_FIELD_BYTES_2, 1, UNIT_BYTE2_FLAG_SANCTUARY);
uint32 const areaRestFlag = (GetTeam() == ALLIANCE) ? AREA_FLAG_REST_ZONE_ALLIANCE : AREA_FLAG_REST_ZONE_HORDE;
- if (area && area->flags & areaRestFlag)
+ if (area && area->Flags[0] & areaRestFlag)
{
SetFlag(PLAYER_FLAGS, PLAYER_FLAGS_RESTING);
SetRestType(REST_TYPE_IN_FACTION_AREA);
@@ -7470,17 +7470,17 @@ void Player::UpdateZone(uint32 newZone, uint32 newArea)
// in PvP, any not controlled zone (except zone->team == 6, default case)
// in PvE, only opposition team capital
- switch (zone->team)
+ switch (zone->FactionGroupMask)
{
case AREATEAM_ALLY:
- pvpInfo.IsInHostileArea = GetTeam() != ALLIANCE && (sWorld->IsPvPRealm() || zone->flags & AREA_FLAG_CAPITAL);
+ pvpInfo.IsInHostileArea = GetTeam() != ALLIANCE && (sWorld->IsPvPRealm() || zone->Flags[0] & AREA_FLAG_CAPITAL);
break;
case AREATEAM_HORDE:
- pvpInfo.IsInHostileArea = GetTeam() != HORDE && (sWorld->IsPvPRealm() || zone->flags & AREA_FLAG_CAPITAL);
+ pvpInfo.IsInHostileArea = GetTeam() != HORDE && (sWorld->IsPvPRealm() || zone->Flags[0] & AREA_FLAG_CAPITAL);
break;
case AREATEAM_NONE:
// overwrite for battlegrounds, maybe batter some zone flags but current known not 100% fit to this
- pvpInfo.IsInHostileArea = sWorld->IsPvPRealm() || InBattleground() || zone->flags & AREA_FLAG_WINTERGRASP;
+ pvpInfo.IsInHostileArea = sWorld->IsPvPRealm() || InBattleground() || zone->Flags[0] & AREA_FLAG_WINTERGRASP;
break;
default: // 6 in fact
pvpInfo.IsInHostileArea = false;
@@ -7490,7 +7490,7 @@ void Player::UpdateZone(uint32 newZone, uint32 newArea)
// Treat players having a quest flagging for PvP as always in hostile area
pvpInfo.IsHostile = pvpInfo.IsInHostileArea || HasPvPForcingQuest();
- if (zone->flags & AREA_FLAG_CAPITAL) // Is in a capital city
+ if (zone->Flags[0] & AREA_FLAG_CAPITAL) // Is in a capital city
{
if (!pvpInfo.IsHostile || zone->IsSanctuary())
{
@@ -26727,10 +26727,9 @@ std::string Player::GetMapAreaAndZoneString()
std::string zoneName = "Unknown";
if (AreaTableEntry const* area = GetAreaEntryByAreaID(areaId))
{
- int locale = GetSession()->GetSessionDbcLocale();
- areaName = area->area_name[locale];
- if (AreaTableEntry const* zone = GetAreaEntryByAreaID(area->zone))
- zoneName = zone->area_name[locale];
+ areaName = area->ZoneName;
+ if (AreaTableEntry const* zone = GetAreaEntryByAreaID(area->ParentAreaID))
+ zoneName = zone->ZoneName;
}
std::ostringstream str;
diff --git a/src/server/game/Globals/ObjectMgr.cpp b/src/server/game/Globals/ObjectMgr.cpp
index ab4b2c9e22e..51088e0000f 100644
--- a/src/server/game/Globals/ObjectMgr.cpp
+++ b/src/server/game/Globals/ObjectMgr.cpp
@@ -5847,7 +5847,7 @@ void ObjectMgr::LoadGraveyardZones()
continue;
}
- if (areaEntry->zone != 0)
+ if (areaEntry->ParentAreaID != 0)
{
TC_LOG_ERROR("sql.sql", "Table `graveyard_zone` has a record for SubZone (ID: %u) instead of zone, skipped.", zoneId);
continue;
diff --git a/src/server/game/Handlers/MiscHandler.cpp b/src/server/game/Handlers/MiscHandler.cpp
index 62a8c9f5d06..ab906fa956f 100644
--- a/src/server/game/Handlers/MiscHandler.cpp
+++ b/src/server/game/Handlers/MiscHandler.cpp
@@ -332,7 +332,7 @@ void WorldSession::HandleWhoOpcode(WorldPacket& recvData)
std::string aname;
if (AreaTableEntry const* areaEntry = GetAreaEntryByAreaID(pzoneid))
- aname = areaEntry->area_name[GetSessionDbcLocale()];
+ aname = areaEntry->ZoneName;
bool s_show = true;
for (uint32 i = 0; i < str_count; ++i)
@@ -1868,7 +1868,7 @@ void WorldSession::HandleHearthAndResurrect(WorldPacket& /*recvData*/)
}
AreaTableEntry const* atEntry = GetAreaEntryByAreaID(_player->GetAreaId());
- if (!atEntry || !(atEntry->flags & AREA_FLAG_WINTERGRASP_2))
+ if (!atEntry || !(atEntry->Flags[0] & AREA_FLAG_WINTERGRASP_2))
return;
_player->BuildPlayerRepop();
diff --git a/src/server/game/Handlers/MovementHandler.cpp b/src/server/game/Handlers/MovementHandler.cpp
index 196727f9e7b..016520eba9d 100644
--- a/src/server/game/Handlers/MovementHandler.cpp
+++ b/src/server/game/Handlers/MovementHandler.cpp
@@ -396,8 +396,8 @@ void WorldSession::HandleMovementOpcodes(WorldPackets::Movement::ClientPlayerMov
plrMover->UpdateFallInformationIfNeed(movementInfo, opcode);
AreaTableEntry const* zone = GetAreaEntryByAreaID(plrMover->GetAreaId());
- float depth = zone ? zone->MaxDepth : -500.0f;
- if (movementInfo.pos.GetPositionZ() < depth)
+
+ if (movementInfo.pos.GetPositionZ() < MAX_MAP_DEPTH)
{
if (!(plrMover->GetBattleground() && plrMover->GetBattleground()->HandlePlayerUnderMap(_player)))
{
diff --git a/src/server/game/Maps/Map.cpp b/src/server/game/Maps/Map.cpp
index b8dabf1f07a..49234d323ea 100644
--- a/src/server/game/Maps/Map.cpp
+++ b/src/server/game/Maps/Map.cpp
@@ -2045,12 +2045,12 @@ inline ZLiquidStatus GridMap::getLiquidStatus(float x, float y, float z, uint8 R
{
if (AreaTableEntry const* area = GetAreaEntryByAreaFlagAndMap(getArea(x, y), MAPID_INVALID))
{
- uint32 overrideLiquid = area->LiquidTypeOverride[liquidEntry->Type];
- if (!overrideLiquid && area->zone)
+ uint32 overrideLiquid = area->LiquidTypeID[liquidEntry->Type];
+ if (!overrideLiquid && area->ParentAreaID)
{
- area = GetAreaEntryByAreaID(area->zone);
+ area = GetAreaEntryByAreaID(area->ParentAreaID);
if (area)
- overrideLiquid = area->LiquidTypeOverride[liquidEntry->Type];
+ overrideLiquid = area->LiquidTypeID[liquidEntry->Type];
}
if (LiquidTypeEntry const* liq = sLiquidTypeStore.LookupEntry(overrideLiquid))
@@ -2190,9 +2190,9 @@ inline bool IsOutdoorWMO(uint32 mogpFlags, int32 /*adtId*/, int32 /*rootId*/, in
if (wmoEntry && atEntry)
{
- if (atEntry->flags & AREA_FLAG_OUTSIDE)
+ if (atEntry->Flags[0] & AREA_FLAG_OUTSIDE)
return true;
- if (atEntry->flags & AREA_FLAG_INSIDE)
+ if (atEntry->Flags[0] & AREA_FLAG_INSIDE)
return false;
}
@@ -2265,7 +2265,7 @@ uint16 Map::GetAreaFlag(float x, float y, float z, bool *isOutdoors) const
uint16 areaflag;
if (atEntry)
- areaflag = atEntry->exploreFlag;
+ areaflag = atEntry->AreaBit;
else
{
if (GridMap* gmap = const_cast<Map*>(this)->GetGrid(x, y))
@@ -2321,12 +2321,12 @@ ZLiquidStatus Map::getLiquidStatus(float x, float y, float z, uint8 ReqLiquidTyp
{
if (AreaTableEntry const* area = GetAreaEntryByAreaFlagAndMap(GetAreaFlag(x, y, z), GetId()))
{
- uint32 overrideLiquid = area->LiquidTypeOverride[liquidFlagType];
- if (!overrideLiquid && area->zone)
+ uint32 overrideLiquid = area->LiquidTypeID[liquidFlagType];
+ if (!overrideLiquid && area->ParentAreaID)
{
- area = GetAreaEntryByAreaID(area->zone);
+ area = GetAreaEntryByAreaID(area->ParentAreaID);
if (area)
- overrideLiquid = area->LiquidTypeOverride[liquidFlagType];
+ overrideLiquid = area->LiquidTypeID[liquidFlagType];
}
if (LiquidTypeEntry const* liq = sLiquidTypeStore.LookupEntry(overrideLiquid))
@@ -2401,7 +2401,7 @@ uint32 Map::GetZoneIdByAreaFlag(uint16 areaflag, uint32 map_id)
AreaTableEntry const* entry = GetAreaEntryByAreaFlagAndMap(areaflag, map_id);
if (entry)
- return (entry->zone != 0) ? entry->zone : entry->ID;
+ return (entry->ParentAreaID != 0) ? entry->ParentAreaID : entry->ID;
else
return 0;
}
@@ -2411,7 +2411,7 @@ void Map::GetZoneAndAreaIdByAreaFlag(uint32& zoneid, uint32& areaid, uint16 area
AreaTableEntry const* entry = GetAreaEntryByAreaFlagAndMap(areaflag, map_id);
areaid = entry ? entry->ID : 0;
- zoneid = entry ? ((entry->zone != 0) ? entry->zone : entry->ID) : 0;
+ zoneid = entry ? ((entry->ParentAreaID != 0) ? entry->ParentAreaID : entry->ID) : 0;
}
bool Map::isInLineOfSight(float x1, float y1, float z1, float x2, float y2, float z2, uint32 phasemask) const
diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp
index 7781e4fcc0c..0f412a8cc3e 100644
--- a/src/server/game/Spells/Spell.cpp
+++ b/src/server/game/Spells/Spell.cpp
@@ -5504,7 +5504,7 @@ SpellCastResult Spell::CheckCast(bool strict)
{
Battlefield* Bf = sBattlefieldMgr->GetBattlefieldToZoneId(m_originalCaster->GetZoneId());
if (AreaTableEntry const* area = GetAreaEntryByAreaID(m_originalCaster->GetAreaId()))
- if (area->flags & AREA_FLAG_NO_FLY_ZONE || (Bf && !Bf->CanFlyIn()))
+ if (area->Flags[0] & AREA_FLAG_NO_FLY_ZONE || (Bf && !Bf->CanFlyIn()))
return (_triggeredCastFlags & TRIGGERED_DONT_REPORT_CAST_ERROR) ? SPELL_FAILED_DONT_REPORT : SPELL_FAILED_NOT_HERE;
}
break;
diff --git a/src/server/game/Spells/SpellEffects.cpp b/src/server/game/Spells/SpellEffects.cpp
index 3579ba73c31..de1107bd428 100644
--- a/src/server/game/Spells/SpellEffects.cpp
+++ b/src/server/game/Spells/SpellEffects.cpp
@@ -3840,14 +3840,14 @@ void Spell::EffectDuel(SpellEffIndex effIndex)
// Players can only fight a duel in zones with this flag
AreaTableEntry const* casterAreaEntry = GetAreaEntryByAreaID(caster->GetAreaId());
- if (casterAreaEntry && !(casterAreaEntry->flags & AREA_FLAG_ALLOW_DUELS))
+ if (casterAreaEntry && !(casterAreaEntry->Flags[0] & AREA_FLAG_ALLOW_DUELS))
{
SendCastResult(SPELL_FAILED_NO_DUELING); // Dueling isn't allowed here
return;
}
AreaTableEntry const* targetAreaEntry = GetAreaEntryByAreaID(target->GetAreaId());
- if (targetAreaEntry && !(targetAreaEntry->flags & AREA_FLAG_ALLOW_DUELS))
+ if (targetAreaEntry && !(targetAreaEntry->Flags[0] & AREA_FLAG_ALLOW_DUELS))
{
SendCastResult(SPELL_FAILED_NO_DUELING); // Dueling isn't allowed here
return;
diff --git a/src/server/scripts/Commands/cs_go.cpp b/src/server/scripts/Commands/cs_go.cpp
index d7dac2a4012..d0bf3c3e781 100644
--- a/src/server/scripts/Commands/cs_go.cpp
+++ b/src/server/scripts/Commands/cs_go.cpp
@@ -448,23 +448,23 @@ public:
}
// update to parent zone if exist (client map show only zones without parents)
- AreaTableEntry const* zoneEntry = areaEntry->zone ? GetAreaEntryByAreaID(areaEntry->zone) : areaEntry;
+ AreaTableEntry const* zoneEntry = areaEntry->ParentAreaID ? GetAreaEntryByAreaID(areaEntry->ParentAreaID) : areaEntry;
ASSERT(zoneEntry);
- Map const* map = sMapMgr->CreateBaseMap(zoneEntry->mapid);
+ Map const* map = sMapMgr->CreateBaseMap(zoneEntry->MapID);
if (map->Instanceable())
{
- handler->PSendSysMessage(LANG_INVALID_ZONE_MAP, areaEntry->ID, areaEntry->area_name, map->GetId(), map->GetMapName());
+ handler->PSendSysMessage(LANG_INVALID_ZONE_MAP, areaEntry->ID, areaEntry->ZoneName, map->GetId(), map->GetMapName());
handler->SetSentErrorMessage(true);
return false;
}
Zone2MapCoordinates(x, y, zoneEntry->ID);
- if (!MapManager::IsValidMapCoord(zoneEntry->mapid, x, y))
+ if (!MapManager::IsValidMapCoord(zoneEntry->MapID, x, y))
{
- handler->PSendSysMessage(LANG_INVALID_TARGET_COORD, x, y, zoneEntry->mapid);
+ handler->PSendSysMessage(LANG_INVALID_TARGET_COORD, x, y, zoneEntry->MapID);
handler->SetSentErrorMessage(true);
return false;
}
@@ -481,7 +481,7 @@ public:
float z = std::max(map->GetHeight(x, y, MAX_HEIGHT), map->GetWaterLevel(x, y));
- player->TeleportTo(zoneEntry->mapid, x, y, z, player->GetOrientation());
+ player->TeleportTo(zoneEntry->MapID, x, y, z, player->GetOrientation());
return true;
}
diff --git a/src/server/scripts/Commands/cs_group.cpp b/src/server/scripts/Commands/cs_group.cpp
index ea9849ce074..f58517f4813 100644
--- a/src/server/scripts/Commands/cs_group.cpp
+++ b/src/server/scripts/Commands/cs_group.cpp
@@ -348,14 +348,13 @@ public:
// ... than, it prints information like "is online", where he is, etc...
onlineState = "online";
phase = (!p->IsGameMaster() ? p->GetPhaseMask() : -1);
- uint32 locale = handler->GetSessionDbcLocale();
AreaTableEntry const* area = GetAreaEntryByAreaID(p->GetAreaId());
if (area)
{
- AreaTableEntry const* zone = GetAreaEntryByAreaID(area->zone);
+ AreaTableEntry const* zone = GetAreaEntryByAreaID(area->ParentAreaID);
if (zone)
- zoneName = zone->area_name[locale];
+ zoneName = zone->ZoneName;
}
}
else
diff --git a/src/server/scripts/Commands/cs_lookup.cpp b/src/server/scripts/Commands/cs_lookup.cpp
index 75d22b86824..39644e5c08f 100644
--- a/src/server/scripts/Commands/cs_lookup.cpp
+++ b/src/server/scripts/Commands/cs_lookup.cpp
@@ -106,7 +106,7 @@ public:
AreaTableEntry const* areaEntry = sAreaStore.LookupEntry(areaflag);
if (areaEntry)
{
- std::string name = areaEntry->area_name;
+ std::string name = areaEntry->ZoneName;
if (name.empty())
continue;
diff --git a/src/server/scripts/Commands/cs_misc.cpp b/src/server/scripts/Commands/cs_misc.cpp
index f202fce6fae..e868811b113 100644
--- a/src/server/scripts/Commands/cs_misc.cpp
+++ b/src/server/scripts/Commands/cs_misc.cpp
@@ -233,8 +233,8 @@ public:
handler->PSendSysMessage(LANG_MAP_POSITION,
mapId, (mapEntry ? mapEntry->MapName_lang : unknown),
- zoneId, (zoneEntry ? zoneEntry->area_name : unknown),
- areaId, (areaEntry ? areaEntry->area_name : unknown),
+ zoneId, (zoneEntry ? zoneEntry->ZoneName : unknown),
+ areaId, (areaEntry ? areaEntry->ZoneName : unknown),
object->GetPhaseMask(),
object->GetPositionX(), object->GetPositionY(), object->GetPositionZ(), object->GetOrientation(),
cell.GridX(), cell.GridY(), cell.CellX(), cell.CellY(), object->GetInstanceId(),
@@ -960,7 +960,7 @@ public:
uint32 zoneId = player->GetZoneId();
AreaTableEntry const* areaEntry = GetAreaEntryByAreaID(zoneId);
- if (!areaEntry || areaEntry->zone !=0)
+ if (!areaEntry || areaEntry->ParentAreaID !=0)
{
handler->PSendSysMessage(LANG_COMMAND_GRAVEYARDWRONGZONE, graveyardId, zoneId);
handler->SetSentErrorMessage(true);
@@ -1736,11 +1736,11 @@ public:
AreaTableEntry const* area = GetAreaEntryByAreaID(areaId);
if (area)
{
- areaName = area->area_name;
+ areaName = area->ZoneName;
- AreaTableEntry const* zone = GetAreaEntryByAreaID(area->zone);
+ AreaTableEntry const* zone = GetAreaEntryByAreaID(area->ParentAreaID);
if (zone)
- zoneName = zone->area_name;
+ zoneName = zone->ZoneName;
}
if (target)