diff --git a/Map Server/Actors/Area/Area.cs b/Map Server/Actors/Area/Area.cs index ccb62d0a..98c31ae1 100644 --- a/Map Server/Actors/Area/Area.cs +++ b/Map Server/Actors/Area/Area.cs @@ -59,8 +59,8 @@ namespace Meteor.Map.Actors LuaScript areaScript; - public Area(uint id, string zoneName, ushort regionId, string classPath, ushort bgmDay, ushort bgmNight, ushort bgmBattle, bool isIsolated, bool isInn, bool canRideChocobo, bool canStealth, bool isInstanceRaid) - : base(id) + public Area(uint zoneId, string zoneName, ushort regionId, string classPath, ushort bgmDay, ushort bgmNight, ushort bgmBattle, bool isIsolated, bool isInn, bool canRideChocobo, bool canStealth, bool isInstanceRaid) + : base((4 << 28 | zoneId << 19 | ((uint)1))) { this.zoneName = zoneName; @@ -77,10 +77,11 @@ namespace Meteor.Map.Actors this.displayNameId = 0; this.customDisplayName = "_areaMaster"; - this.actorName = String.Format("_areaMaster@{0:X5}", id << 8); + this.actorName = String.Format("_areaMaster@{0:X5}", zoneId << 8); this.classPath = classPath; this.className = classPath.Substring(classPath.LastIndexOf("/") + 1); + this.zoneId = zoneId; numXBlocks = (maxX - minX) / boundingGridSize; numYBlocks = (maxY - minY) / boundingGridSize; diff --git a/Map Server/Actors/Area/PrivateArea.cs b/Map Server/Actors/Area/PrivateArea.cs index 7af49aa5..0686acc9 100644 --- a/Map Server/Actors/Area/PrivateArea.cs +++ b/Map Server/Actors/Area/PrivateArea.cs @@ -32,10 +32,10 @@ namespace Meteor.Map.actors.area { private Zone parentZone; private string privateAreaName; - private uint privateAreaType; + private new uint privateAreaType; - public PrivateArea(Zone parent, uint id, string classPath, string privateAreaName, uint privateAreaType, ushort bgmDay, ushort bgmNight, ushort bgmBattle) - : base(id, parent.zoneName, parent.regionId, classPath, bgmDay, bgmNight, bgmBattle, parent.isIsolated, parent.isInn, parent.canRideChocobo, parent.canStealth, true) + public PrivateArea(Zone parent, string classPath, string privateAreaName, uint privateAreaType, ushort bgmDay, ushort bgmNight, ushort bgmBattle) + : base(parent.zoneId, parent.zoneName, parent.regionId, classPath, bgmDay, bgmNight, bgmBattle, parent.isIsolated, parent.isInn, parent.canRideChocobo, parent.canStealth, true) { this.parentZone = parent; this.zoneName = parent.zoneName; diff --git a/Map Server/Actors/Area/PrivateAreaContent.cs b/Map Server/Actors/Area/PrivateAreaContent.cs index c523a7bf..42655402 100644 --- a/Map Server/Actors/Area/PrivateAreaContent.cs +++ b/Map Server/Actors/Area/PrivateAreaContent.cs @@ -38,7 +38,7 @@ namespace Meteor.Map.actors.area } public PrivateAreaContent(Zone parent, string classPath, string privateAreaName, uint privateAreaType, Director director, Player contentStarter) //TODO: Make it a list - : base(parent, parent.actorId, classPath, privateAreaName, privateAreaType, 0, 0, 0) + : base(parent, classPath, privateAreaName, privateAreaType, 0, 0, 0) { currentDirector = director; LuaEngine.GetInstance().CallLuaFunction(contentStarter, this, "onCreate", false, currentDirector); diff --git a/Map Server/Actors/Chara/Npc/Npc.cs b/Map Server/Actors/Chara/Npc/Npc.cs index f076f7df..16e1a29f 100644 --- a/Map Server/Actors/Chara/Npc/Npc.cs +++ b/Map Server/Actors/Chara/Npc/Npc.cs @@ -58,7 +58,7 @@ namespace Meteor.Map.Actors public NpcSpawnType npcSpawnType; public Npc(int actorNumber, ActorClass actorClass, string uniqueId, Area spawnedArea, float posX, float posY, float posZ, float rot, ushort actorState, uint animationId, string customDisplayName) - : base((4 << 28 | spawnedArea.actorId << 19 | (uint)actorNumber)) + : base((4 << 28 | spawnedArea.actorId << 19 | ((uint)actorNumber + 5))) { this.positionX = posX; this.positionY = posY; diff --git a/Map Server/WorldManager.cs b/Map Server/WorldManager.cs index 2a03fede..84962475 100644 --- a/Map Server/WorldManager.cs +++ b/Map Server/WorldManager.cs @@ -119,7 +119,7 @@ namespace Meteor.Map { Zone zone = new Zone(reader.GetUInt32(0), reader.GetString(1), reader.GetUInt16(2), reader.GetString(3), reader.GetUInt16(4), reader.GetUInt16(5), reader.GetUInt16(6), reader.GetBoolean(7), reader.GetBoolean(8), reader.GetBoolean(9), reader.GetBoolean(10), reader.GetBoolean(11), reader.GetBoolean(12)); - zoneList[zone.actorId] = zone; + zoneList[zone.zoneId] = zone; count1++; } } @@ -139,8 +139,7 @@ namespace Meteor.Map conn.Open(); string query = @" - SELECT - id, + SELECT parentZoneId, privateAreaName, privateAreaType, @@ -162,7 +161,7 @@ namespace Meteor.Map if (zoneList.ContainsKey(parentZoneId)) { Zone parent = zoneList[parentZoneId]; - PrivateArea privArea = new PrivateArea(parent, reader.GetUInt32("id"), reader.GetString("className"), reader.GetString("privateAreaName"), reader.GetUInt32("privateAreaType"), reader.GetUInt16("dayMusic"), reader.GetUInt16("nightMusic"), reader.GetUInt16("battleMusic")); + PrivateArea privArea = new PrivateArea(parent, reader.GetString("className"), reader.GetString("privateAreaName"), reader.GetUInt32("privateAreaType"), reader.GetUInt16("dayMusic"), reader.GetUInt16("nightMusic"), reader.GetUInt16("battleMusic")); parent.AddPrivateArea(privArea); } else