diff options
author | Intel <chemicstry@gmail.com> | 2014-11-13 02:30:19 +0200 |
---|---|---|
committer | Nayd <dnpd.dd@gmail.com> | 2014-11-15 04:27:35 +0000 |
commit | b5236a6cdc0161e4240435280b388868f443c9b2 (patch) | |
tree | 247f9a3bae6efae15d09c2ed5d72fb489e2b8605 /src | |
parent | fa0983dfa36475237d696e841241060e356fe788 (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.cpp | 6 | ||||
-rw-r--r-- | src/server/game/Conditions/ConditionMgr.cpp | 2 | ||||
-rw-r--r-- | src/server/game/DataStores/DBCEnums.h | 2 | ||||
-rw-r--r-- | src/server/game/DataStores/DBCStores.cpp | 6 | ||||
-rw-r--r-- | src/server/game/DataStores/DBCStructure.h | 55 | ||||
-rw-r--r-- | src/server/game/DataStores/DBCfmt.h | 2 | ||||
-rw-r--r-- | src/server/game/Entities/Player/Player.cpp | 39 | ||||
-rw-r--r-- | src/server/game/Globals/ObjectMgr.cpp | 2 | ||||
-rw-r--r-- | src/server/game/Handlers/MiscHandler.cpp | 4 | ||||
-rw-r--r-- | src/server/game/Handlers/MovementHandler.cpp | 4 | ||||
-rw-r--r-- | src/server/game/Maps/Map.cpp | 26 | ||||
-rw-r--r-- | src/server/game/Spells/Spell.cpp | 2 | ||||
-rw-r--r-- | src/server/game/Spells/SpellEffects.cpp | 4 | ||||
-rw-r--r-- | src/server/scripts/Commands/cs_go.cpp | 12 | ||||
-rw-r--r-- | src/server/scripts/Commands/cs_group.cpp | 5 | ||||
-rw-r--r-- | src/server/scripts/Commands/cs_lookup.cpp | 2 | ||||
-rw-r--r-- | src/server/scripts/Commands/cs_misc.cpp | 12 |
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) |