Core/Objects: Treat areas that have ParentAreaID filled but dont have IsSubzone flag as zones instead of areas

Port From (https://github.com/TrinityCore/TrinityCore/commit/0ce96adb7a8ae29a577cce268c8bd3742253cf69)
This commit is contained in:
hondacrx
2024-02-01 09:51:04 -05:00
parent b48f777dc6
commit a436f7b2d1
8 changed files with 28 additions and 20 deletions
+10 -7
View File
@@ -213,7 +213,7 @@ namespace Game.Chat
}
[CommandNonGroup("damage", RBACPermissions.CommandDamage)]
static bool HandleDamageCommand(CommandHandler handler, uint damage, SpellSchools? school, [OptionalArg]SpellInfo spellInfo)
static bool HandleDamageCommand(CommandHandler handler, uint damage, SpellSchools? school, [OptionalArg] SpellInfo spellInfo)
{
Unit target = handler.GetSelectedUnit();
if (target == null || handler.GetSession().GetPlayer().GetTarget().IsEmpty())
@@ -784,7 +784,7 @@ namespace Game.Chat
uint zoneId = player.GetZoneId();
AreaTableRecord areaEntry = CliDB.AreaTableStorage.LookupByKey(zoneId);
if (areaEntry == null || areaEntry.ParentAreaID != 0)
if (areaEntry == null || areaEntry.GetFlags().HasFlag(AreaFlags.IsSubzone))
{
handler.SendSysMessage(CypherStrings.CommandGraveyardwrongzone, graveyardId, zoneId);
return false;
@@ -1102,7 +1102,7 @@ namespace Game.Chat
}
[CommandNonGroup("pinfo", RBACPermissions.CommandPinfo, true)]
static bool HandlePInfoCommand(CommandHandler handler, [OptionalArg]PlayerIdentifier arg)
static bool HandlePInfoCommand(CommandHandler handler, [OptionalArg] PlayerIdentifier arg)
{
if (arg == null)
arg = PlayerIdentifier.FromTargetOrSelf(handler);
@@ -1403,11 +1403,14 @@ namespace Game.Chat
{
zoneName = area.AreaName[locale];
AreaTableRecord zone = CliDB.AreaTableStorage.LookupByKey(area.ParentAreaID);
if (zone != null)
if (area.GetFlags().HasFlag(AreaFlags.IsSubzone))
{
areaName = zoneName;
zoneName = zone.AreaName[locale];
AreaTableRecord zone = CliDB.AreaTableStorage.LookupByKey(area.ParentAreaID);
if (zone != null)
{
areaName = zoneName;
zoneName = zone.AreaName[locale];
}
}
}