diff --git a/FFXIVClassic Map Server/PacketProcessor.cs b/FFXIVClassic Map Server/PacketProcessor.cs index 1be383a2..3c05864a 100644 --- a/FFXIVClassic Map Server/PacketProcessor.cs +++ b/FFXIVClassic Map Server/PacketProcessor.cs @@ -224,24 +224,32 @@ namespace FFXIVClassic_Lobby_Server player.eventCurrentStarter = eventStart.eventStarter; //Is it a static actor? If not look in the player's instance - Actor ownerActor = mServer.GetWorldManager().GetActorInWorld(player.eventCurrentOwner); - + Actor ownerActor = Server.getStaticActors(player.eventCurrentOwner); if (ownerActor == null) - break; - + { + ownerActor = mServer.GetWorldManager().GetActorInWorld(player.eventCurrentOwner); + if (ownerActor == null) + break; + } + mServer.GetLuaEngine().doActorOnEventStarted(player.getActor(), ownerActor); - //Log.debug(String.Format("\n===Event START===\nSource Actor: 0x{0:X}\nCaller Actor: 0x{1:X}\nVal1: 0x{2:X}\nVal2: 0x{3:X}\nEvent Starter: {4}\nParams: {5}", eventStart.actorID, eventStart.scriptOwnerActorID, eventStart.val1, eventStart.val2, eventStart.eventStarter, LuaParamReader.dumpParams(eventStart.luaParams))); + Log.debug(String.Format("\n===Event START===\nSource Actor: 0x{0:X}\nCaller Actor: 0x{1:X}\nVal1: 0x{2:X}\nVal2: 0x{3:X}\nEvent Starter: {4}\nParams: {5}", eventStart.actorID, eventStart.scriptOwnerActorID, eventStart.val1, eventStart.val2, eventStart.eventStarter, LuaUtils.dumpParams(eventStart.luaParams))); break; //Event Result case 0x012E: subpacket.debugPrintSubPacket(); EventUpdatePacket eventUpdate = new EventUpdatePacket(subpacket.data); - Log.debug(String.Format("\n===Event UPDATE===\nSource Actor: 0x{0:X}\nCaller Actor: 0x{1:X}\nVal1: 0x{2:X}\nVal2: 0x{3:X}\nFunction ID: 0x{4:X}\nParams: {5}", eventUpdate.actorID, eventUpdate.scriptOwnerActorID, eventUpdate.val1, eventUpdate.val2, eventUpdate.step, LuaUtils.dumpParams(eventUpdate.luaParams))); + Log.debug(String.Format("\n===Event UPDATE===\nSource Actor: 0x{0:X}\nCaller Actor: 0x{1:X}\nVal1: 0x{2:X}\nVal2: 0x{3:X}\nStep: 0x{4:X}\nParams: {5}", eventUpdate.actorID, eventUpdate.scriptOwnerActorID, eventUpdate.val1, eventUpdate.val2, eventUpdate.step, LuaUtils.dumpParams(eventUpdate.luaParams))); - Actor updateOwnerActor = mServer.GetWorldManager().GetActorInWorld(player.eventCurrentOwner); + //Is it a static actor? If not look in the player's instance + Actor updateOwnerActor = Server.getStaticActors(player.eventCurrentOwner); if (updateOwnerActor == null) - break; + { + updateOwnerActor = mServer.GetWorldManager().GetActorInWorld(player.eventCurrentOwner); + if (updateOwnerActor == null) + break; + } mServer.GetLuaEngine().doActorOnEventUpdated(player.getActor(), updateOwnerActor, eventUpdate); diff --git a/FFXIVClassic Map Server/Server.cs b/FFXIVClassic Map Server/Server.cs index c6e8f400..0478b2f0 100644 --- a/FFXIVClassic Map Server/Server.cs +++ b/FFXIVClassic Map Server/Server.cs @@ -24,6 +24,7 @@ namespace FFXIVClassic_Lobby_Server public const int FFXIV_MAP_PORT = 54992; public const int BUFFER_SIZE = 0x400; public const int BACKLOG = 100; + public const string STATIC_ACTORS_PATH = "./staticactors.bin"; private static Server mSelf; @@ -33,7 +34,7 @@ namespace FFXIVClassic_Lobby_Server private List mConnectionList = new List(); private LuaEngine mLuaEngine = new LuaEngine(); private WorldManager mWorldManager; - private static StaticActors mStaticActors = new StaticActors(); + private static StaticActors mStaticActors; private PacketProcessor mProcessor; private Thread mProcessorThread; private Thread mGameThread; @@ -51,6 +52,8 @@ namespace FFXIVClassic_Lobby_Server #region Socket Handling public bool startServer() { + mStaticActors = new StaticActors(STATIC_ACTORS_PATH); + mWorldManager = new WorldManager(this); mWorldManager.LoadZoneList(); mWorldManager.LoadZoneEntranceList(); @@ -143,11 +146,13 @@ namespace FFXIVClassic_Lobby_Server } } + public static Actor getStaticActors(uint id) + { + return mStaticActors.getActor(id); + } + public static Actor getStaticActors(string name) { - if (mStaticActors == null) - mStaticActors = new StaticActors(); - return mStaticActors.findStaticActor(name); } @@ -423,7 +428,8 @@ namespace FFXIVClassic_Lobby_Server else if (split[0].Equals("resetzone")) { Log.info(String.Format("Got request to reset zone: {0}", client.getActor().zoneId)); - client.queuePacket(BasePacket.createPacket(SendMessagePacket.buildPacket(client.actorID, client.actorID, SendMessagePacket.MESSAGE_TYPE_GENERAL_INFO, "", String.Format("Resting zone {0}...", client.getActor().zoneId)), true, false)); + if (client != null) + client.queuePacket(BasePacket.createPacket(SendMessagePacket.buildPacket(client.actorID, client.actorID, SendMessagePacket.MESSAGE_TYPE_GENERAL_INFO, "", String.Format("Resting zone {0}...", client.getActor().zoneId)), true, false)); mWorldManager.reloadZone(client.getActor().zoneId); } } diff --git a/FFXIVClassic Map Server/WorldManager.cs b/FFXIVClassic Map Server/WorldManager.cs index 0f3fe943..9e41de7b 100644 --- a/FFXIVClassic Map Server/WorldManager.cs +++ b/FFXIVClassic Map Server/WorldManager.cs @@ -135,17 +135,19 @@ namespace FFXIVClassic_Map_Server SELECT id, name, - zoneId, - actorTemplateId, + zoneId, positionX, positionY, positionZ, rotation, actorState, animationId, + displayNameId, + customDisplayName, actorClassName, eventConditions - FROM server_npclist + FROM gamedata_actor_class + WHERE name is not NULL "; MySqlCommand cmd = new MySqlCommand(query, conn); @@ -154,11 +156,15 @@ namespace FFXIVClassic_Map_Server { while (reader.Read()) { - Npc npc = new Npc(reader.GetUInt32(0), reader.GetString(1), reader.GetUInt32(2), reader.GetUInt32(3), reader.GetFloat(4), reader.GetFloat(5), reader.GetFloat(6), reader.GetFloat(7), reader.GetUInt16(8), reader.GetUInt32(9), reader.GetString(10)); + string customName = null; + if (!reader.IsDBNull(10)) + customName = reader.GetString(10); - if (!reader.IsDBNull(11)) + Npc npc = new Npc(reader.GetUInt32(0), reader.GetString(1), reader.GetUInt32(2), reader.GetFloat(3), reader.GetFloat(4), reader.GetFloat(5), reader.GetFloat(6), reader.GetUInt16(7), reader.GetUInt32(8), reader.GetUInt32(9), customName, reader.GetString(11)); + + if (!reader.IsDBNull(12)) { - string eventConditions = reader.GetString(11); + string eventConditions = reader.GetString(12); npc.loadEventConditions(eventConditions); } @@ -199,18 +205,19 @@ namespace FFXIVClassic_Map_Server SELECT id, name, - zoneId, - actorTemplateId, + zoneId, positionX, positionY, positionZ, rotation, actorState, animationId, + displayNameId, + customDisplayName, actorClassName, eventConditions - FROM server_npclist - WHERE zoneId = @zoneId + FROM gamedata_actorclass + WHERE name is not NULL AND zoneId = @zoneId "; MySqlCommand cmd = new MySqlCommand(query, conn); @@ -220,7 +227,11 @@ namespace FFXIVClassic_Map_Server { while (reader.Read()) { - Npc npc = new Npc(reader.GetUInt32(0), reader.GetString(1), reader.GetUInt32(2), reader.GetUInt32(3), reader.GetFloat(4), reader.GetFloat(5), reader.GetFloat(6), reader.GetFloat(7), reader.GetUInt16(8), reader.GetUInt32(9), reader.GetString(10)); + string customName = null; + if (reader.IsDBNull(10)) + customName = reader.GetString(10); + + Npc npc = new Npc(reader.GetUInt32(0), reader.GetString(1), reader.GetUInt32(2), reader.GetFloat(3), reader.GetFloat(4), reader.GetFloat(5), reader.GetFloat(6), reader.GetUInt16(7), reader.GetUInt32(8), reader.GetUInt32(9), customName, reader.GetString(11)); if (!reader.IsDBNull(11)) { diff --git a/FFXIVClassic Map Server/actors/StaticActors.cs b/FFXIVClassic Map Server/actors/StaticActors.cs index aa42ca2d..5c93bd4a 100644 --- a/FFXIVClassic Map Server/actors/StaticActors.cs +++ b/FFXIVClassic Map Server/actors/StaticActors.cs @@ -1,6 +1,8 @@ -using FFXIVClassic_Map_Server.dataobjects; +using FFXIVClassic_Lobby_Server.common; +using FFXIVClassic_Map_Server.dataobjects; using System; using System.Collections.Generic; +using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; @@ -11,844 +13,55 @@ namespace FFXIVClassic_Map_Server.Actors { private Dictionary mStaticActors = new Dictionary(); - public StaticActors() + public StaticActors(string path) { - - //Judges - mStaticActors.Add(0xa0f4baf1, new Judge(0xa0f4baf1, "JudgeMaster")); - mStaticActors.Add(0xa0f4e201, new Judge(0xa0f4e201, "CommonJudge")); - mStaticActors.Add(0xa0f4e202, new Judge(0xa0f4e202, "BattleJudge")); - mStaticActors.Add(0xa0f4e203, new Judge(0xa0f4e203, "CraftJudge")); - mStaticActors.Add(0xa0f4e204, new Judge(0xa0f4e204, "HarvestJudge")); - mStaticActors.Add(0xa0f4e205, new Judge(0xa0f4e205, "NegotiationJudge")); - mStaticActors.Add(0xa0f4e206, new Judge(0xa0f4e206, "TutorialJudge")); - mStaticActors.Add(0xa0f4e207, new Judge(0xa0f4e207, "TutorialDummyJudge")); - mStaticActors.Add(0xa0f4e208, new Judge(0xa0f4e208, "AutoAttackJudge")); - mStaticActors.Add(0xa0f4e209, new Judge(0xa0f4e209, "HateControlJudge")); - mStaticActors.Add(0xa0f4e20a, new Judge(0xa0f4e20a, "BattleProcessJudge")); - mStaticActors.Add(0xa0f4e20b, new Judge(0xa0f4e20b, "GameCalculateJudge")); - mStaticActors.Add(0xa0f4e20c, new Judge(0xa0f4e20c, "ActionJudge")); - mStaticActors.Add(0xa0f4e20d, new Judge(0xa0f4e20d, "ChocoboJudge")); - mStaticActors.Add(0xa0f4e20e, new Judge(0xa0f4e20e, "InstanceRaidGuideJudge")); - mStaticActors.Add(0xa0f4e20f, new Judge(0xa0f4e20f, "MusicChangePrefaceJudge")); - mStaticActors.Add(0xa0f4e210, new Judge(0xa0f4e210, "CutSceneOnceBeaconPrefaceJudge")); - mStaticActors.Add(0xa0f50911, new Judge(0xa0f50911, "DepictionJudge")); - mStaticActors.Add(0xa0f50912, new Judge(0xa0f50912, "ItemDropJudge")); - - //Commands - mStaticActors.Add(0xA0F02EE2, new Command(0xA0F02EE2, "ResetOccupiedCommand")); - mStaticActors.Add(0xA0F02EE3, new Command(0xA0F02EE3, "CombinationManagementCommand")); - mStaticActors.Add(0xA0F02EE4, new Command(0xA0F02EE4, "CombinationStartCommand")); - mStaticActors.Add(0xA0F02EE5, new Command(0xA0F02EE5, "BonusPointCOmmand")); - mStaticActors.Add(0xA0F02EE7, new Command(0xA0F02EE7, "ChangeEquipCommand")); - mStaticActors.Add(0xA0F02EE9, new Command(0xA0F02EE9, "EquipCommand")); - mStaticActors.Add(0xA0F02EEA, new Command(0xA0F02EEA, "EquipAbilityCommand")); - mStaticActors.Add(0xA0F02EEB, new Command(0xA0F02EEB, "PartyTargetCommand")); - mStaticActors.Add(0xA0F02EED, new Command(0xA0F02EED, "EquipPartsShowHideCommand")); - mStaticActors.Add(0xA0F02EEE, new Command(0xA0F02EEE, "ChocoboRideCommand")); - mStaticActors.Add(0xA0F02EEF, new Command(0xA0F02EEF, "ChocoboRideCommand")); - mStaticActors.Add(0xA0F02EF0, new Command(0xA0F02EF0, "ReverseInputOperationCommand")); - mStaticActors.Add(0xA0F02EF1, new Command(0xA0F02EF1, "ChangeJobCommand")); - mStaticActors.Add(0xA0F05209, new Command(0xA0F05209, "ActivateCommand")); - mStaticActors.Add(0xA0F0520A, new Command(0xA0F0520A, "ActivateCommand")); - mStaticActors.Add(0xA0F0520D, new Command(0xA0F0520D, "CommandCancelCommand")); - mStaticActors.Add(0xA0F0520E, new Command(0xA0F0520E, "CommandCancelCommand")); - mStaticActors.Add(0xA0F0520F, new Command(0xA0F0520F, "ItemCommand")); - mStaticActors.Add(0xA0F05210, new Command(0xA0F05210, "AutoAttackTargetChangeCommand")); - mStaticActors.Add(0xA0F055FC, new Command(0xA0F055FC, "CraftCommand")); - mStaticActors.Add(0xA0F055FD, new Command(0xA0F055FD, "CraftCommand")); - mStaticActors.Add(0xA0F055FF, new Command(0xA0F055FF, "CraftCommand")); - mStaticActors.Add(0xA0F05E25, new Command(0xA0F05E25, "TalkCommand")); - mStaticActors.Add(0xA0F05E26, new Command(0xA0F05E26, "EmoteStandardCommand")); - mStaticActors.Add(0xA0F05E28, new Command(0xA0F05E28, "ContinueCommand")); - mStaticActors.Add(0xA0F05E29, new Command(0xA0F05E29, "LoginEventCommand")); - mStaticActors.Add(0xA0F05E8B, new Command(0xA0F05E8B, "PartyInviteCommand")); - mStaticActors.Add(0xA0F05E8C, new Command(0xA0F05E8C, "PartyJoinCommand")); - mStaticActors.Add(0xA0F05E8D, new Command(0xA0F05E8D, "PartyResignCommand")); - mStaticActors.Add(0xA0F05E8E, new Command(0xA0F05E8E, "PartyBreakupCommand")); - mStaticActors.Add(0xA0F05E8F, new Command(0xA0F05E8F, "PartyKickCommand")); - mStaticActors.Add(0xA0F05E90, new Command(0xA0F05E90, "PartyLeaderCommand")); - mStaticActors.Add(0xA0F05E91, new Command(0xA0F05E91, "PartyAcceptCommand")); - mStaticActors.Add(0xA0F05E93, new Command(0xA0F05E93, "RequestQuestJournalCommand")); - mStaticActors.Add(0xA0F05E94, new Command(0xA0F05E94, "RequestInformationCommand")); - mStaticActors.Add(0xA0F05E95, new Command(0xA0F05E95, "NpcLinkshellChatCommand")); - mStaticActors.Add(0xA0F05E96, new Command(0xA0F05E96, "BazaarDealCommand")); - mStaticActors.Add(0xA0F05E97, new Command(0xA0F05E97, "BazaarCheckCommand")); - mStaticActors.Add(0xA0F05E98, new Command(0xA0F05E98, "BazaarUndealCommand")); - mStaticActors.Add(0xA0F05E99, new Command(0xA0F05E99, "TradeOfferCommand")); - mStaticActors.Add(0xA0F05E9A, new Command(0xA0F05E9A, "TradeExecuteCommand")); - mStaticActors.Add(0xA0F05E9B, new Command(0xA0F05E9B, "LogoutCommand")); - mStaticActors.Add(0xA0F05E9C, new Command(0xA0F05E9C, "TeleportCommand")); - mStaticActors.Add(0xA0F05E9D, new Command(0xA0F05E9D, "ItemStuffCommand")); - mStaticActors.Add(0xA0F05E9E, new Command(0xA0F05E9E, "ItemArrangementCommand")); - mStaticActors.Add(0xA0F05E9F, new Command(0xA0F05E9F, "ItemMovePackageCommand")); - mStaticActors.Add(0xA0F05EA0, new Command(0xA0F05EA0, "ItemSplitCommand")); - mStaticActors.Add(0xA0F05EA1, new Command(0xA0F05EA1, "ItemTransferCommand")); - mStaticActors.Add(0xA0F05EA2, new Command(0xA0F05EA2, "ItemWasteCommand")); - mStaticActors.Add(0xA0F05EA3, new Command(0xA0F05EA3, "BazaarTradeCommand")); - mStaticActors.Add(0xA0F05EA4, new Command(0xA0F05EA4, "WidgetOpenCommand")); - mStaticActors.Add(0xA0F05EA5, new Command(0xA0F05EA5, "MacroCommand")); - mStaticActors.Add(0xA0F05EA6, new Command(0xA0F05EA6, "TradeOfferCancelCommand")); - mStaticActors.Add(0xA0F05EA7, new Command(0xA0F05EA7, "LinkshellAppointCommand")); - mStaticActors.Add(0xA0F05EA8, new Command(0xA0F05EA8, "LinkshellInviteCommand")); - mStaticActors.Add(0xA0F05EA9, new Command(0xA0F05EA9, "LinkshellInviteCancelCommand")); - mStaticActors.Add(0xA0F05EAA, new Command(0xA0F05EAA, "LinkshellKickCommand")); - mStaticActors.Add(0xA0F05EAB, new Command(0xA0F05EAB, "LinkshellResignCommand")); - mStaticActors.Add(0xA0F05EAC, new Command(0xA0F05EAC, "LinkshellChangeCommand")); - mStaticActors.Add(0xA0F05EAE, new Command(0xA0F05EAE, "CheckCommand")); - mStaticActors.Add(0xA0F05EAF, new Command(0xA0F05EAF, "NetStatUserSwitchCommand")); - mStaticActors.Add(0xA0F05EB0, new Command(0xA0F05EB0, "ItemMaterializeCommand")); - mStaticActors.Add(0xA0F05EB1, new Command(0xA0F05EB1, "JournalCommand")); - mStaticActors.Add(0xA0F05EB2, new Command(0xA0F05EB2, "DiceCommand")); - mStaticActors.Add(0xA0F05EB3, new Command(0xA0F05EB3, "RepairOrderCommand")); - mStaticActors.Add(0xA0F05EB4, new Command(0xA0F05EB4, "RepairEquipmentsCommand")); - mStaticActors.Add(0xA0F05EED, new Command(0xA0F05EED, "PlaceDrivenCommand")); - mStaticActors.Add(0xA0F05EEE, new Command(0xA0F05EEE, "ContentCommand")); - mStaticActors.Add(0xA0F05EEF, new Command(0xA0F05EEF, "ConfirmGroupCommand")); - mStaticActors.Add(0xA0F05EF0, new Command(0xA0F05EF0, "ConfirmWarpCommand")); - mStaticActors.Add(0xA0F05EF1, new Command(0xA0F05EF1, "ConfirmTradeCommand")); - mStaticActors.Add(0xA0F05EF2, new Command(0xA0F05EF2, "ConfirmRaiseCommand")); - mStaticActors.Add(0xA0F05EF8, new Command(0xA0F05EF8, "EmoteSitCommand ")); - mStaticActors.Add(0xA0F06A0E, new Command(0xA0F06A0E, "AttackWeaponSKill")); - mStaticActors.Add(0xA0F07339, new Command(0xA0F07339, "NegotiateCommand")); - mStaticActors.Add(0xA0F07595, new Command(0xA0F07595, "DebugInputCommand")); + loadStaticActors(path); + } + + public bool loadStaticActors(string path) + { + try + { + using (MemoryStream s = new MemoryStream(File.ReadAllBytes(path))) + { + using (BinaryReader binReader = new BinaryReader(s)) + { - //Quests - mStaticActors.Add(0xa0f1adb1, new Quest(0xa0f1adb1, "Man0l0")); - mStaticActors.Add(0xa0f1adb2, new Quest(0xa0f1adb2, "Man0l1")); - mStaticActors.Add(0xa0f1adb3, new Quest(0xa0f1adb3, "Man1l0")); - mStaticActors.Add(0xa0f1adb4, new Quest(0xa0f1adb4, "Man2l0")); - mStaticActors.Add(0xa0f1adb5, new Quest(0xa0f1adb5, "Man0g0")); - mStaticActors.Add(0xa0f1adb6, new Quest(0xa0f1adb6, "Man0g1")); - mStaticActors.Add(0xa0f1adb7, new Quest(0xa0f1adb7, "Man1g0")); - mStaticActors.Add(0xa0f1adb8, new Quest(0xa0f1adb8, "Man2g0")); - mStaticActors.Add(0xa0f1adb9, new Quest(0xa0f1adb9, "Man0u0")); - mStaticActors.Add(0xa0f1adba, new Quest(0xa0f1adba, "Man0u1")); - mStaticActors.Add(0xa0f1adbb, new Quest(0xa0f1adbb, "Man1u0")); - mStaticActors.Add(0xa0f1adbc, new Quest(0xa0f1adbc, "Man2u0")); - mStaticActors.Add(0xa0f1adbd, new Quest(0xa0f1adbd, "Man200")); - mStaticActors.Add(0xa0f1adbe, new Quest(0xa0f1adbe, "Man206")); - mStaticActors.Add(0xa0f1adbf, new Quest(0xa0f1adbf, "Man300")); - mStaticActors.Add(0xa0f1adc0, new Quest(0xa0f1adc0, "Man304")); - mStaticActors.Add(0xa0f1adc1, new Quest(0xa0f1adc1, "Man308")); - mStaticActors.Add(0xa0f1adc2, new Quest(0xa0f1adc2, "Man402")); - mStaticActors.Add(0xa0f1adc3, new Quest(0xa0f1adc3, "Man406")); - mStaticActors.Add(0xa0f1adc4, new Quest(0xa0f1adc4, "Man502")); - mStaticActors.Add(0xa0f1adc5, new Quest(0xa0f1adc5, "Man504")); - mStaticActors.Add(0xa0f1adec, new Quest(0xa0f1adec, "Pgl200")); - mStaticActors.Add(0xa0f1aded, new Quest(0xa0f1aded, "Pgl300")); - mStaticActors.Add(0xa0f1adee, new Quest(0xa0f1adee, "Pgl306")); - mStaticActors.Add(0xa0f1adef, new Quest(0xa0f1adef, "Pgl400")); - mStaticActors.Add(0xa0f1ae00, new Quest(0xa0f1ae00, "Gla200")); - mStaticActors.Add(0xa0f1ae01, new Quest(0xa0f1ae01, "Gla300")); - mStaticActors.Add(0xa0f1ae02, new Quest(0xa0f1ae02, "Gla306")); - mStaticActors.Add(0xa0f1ae03, new Quest(0xa0f1ae03, "Gla400")); - mStaticActors.Add(0xa0f1ae14, new Quest(0xa0f1ae14, "Exc200")); - mStaticActors.Add(0xa0f1ae15, new Quest(0xa0f1ae15, "Exc300")); - mStaticActors.Add(0xa0f1ae16, new Quest(0xa0f1ae16, "Exc306")); - mStaticActors.Add(0xa0f1ae17, new Quest(0xa0f1ae17, "Exc400")); - mStaticActors.Add(0xa0f1ae18, new Quest(0xa0f1ae18, "Exc500")); - mStaticActors.Add(0xa0f1ae19, new Quest(0xa0f1ae19, "Exc506")); - mStaticActors.Add(0xa0f1ae3c, new Quest(0xa0f1ae3c, "Trl0l1")); - mStaticActors.Add(0xa0f1ae3d, new Quest(0xa0f1ae3d, "Trl0g1")); - mStaticActors.Add(0xa0f1ae3e, new Quest(0xa0f1ae3e, "Trl0u1")); - mStaticActors.Add(0xa0f1ae3f, new Quest(0xa0f1ae3f, "Trl0l2")); - mStaticActors.Add(0xa0f1ae40, new Quest(0xa0f1ae40, "Trl0l3")); - mStaticActors.Add(0xa0f1ae41, new Quest(0xa0f1ae41, "Trl0l4")); - mStaticActors.Add(0xa0f1ae50, new Quest(0xa0f1ae50, "Arc200")); - mStaticActors.Add(0xa0f1ae51, new Quest(0xa0f1ae51, "Arc300")); - mStaticActors.Add(0xa0f1ae52, new Quest(0xa0f1ae52, "Arc306")); - mStaticActors.Add(0xa0f1ae53, new Quest(0xa0f1ae53, "Arc400")); - mStaticActors.Add(0xa0f1ae54, new Quest(0xa0f1ae54, "Arc500")); - mStaticActors.Add(0xa0f1ae55, new Quest(0xa0f1ae55, "Arc506")); - mStaticActors.Add(0xa0f1ae64, new Quest(0xa0f1ae64, "Lnc200")); - mStaticActors.Add(0xa0f1ae65, new Quest(0xa0f1ae65, "Lnc300")); - mStaticActors.Add(0xa0f1ae66, new Quest(0xa0f1ae66, "Lnc306")); - mStaticActors.Add(0xa0f1ae67, new Quest(0xa0f1ae67, "Lnc400")); - mStaticActors.Add(0xa0f1ae68, new Quest(0xa0f1ae68, "Lnc500")); - mStaticActors.Add(0xa0f1ae69, new Quest(0xa0f1ae69, "Lnc506")); - mStaticActors.Add(0xa0f1aea0, new Quest(0xa0f1aea0, "Thm200")); - mStaticActors.Add(0xa0f1aea1, new Quest(0xa0f1aea1, "Thm300")); - mStaticActors.Add(0xa0f1aea2, new Quest(0xa0f1aea2, "Thm306")); - mStaticActors.Add(0xa0f1aea3, new Quest(0xa0f1aea3, "Thm400")); - mStaticActors.Add(0xa0f1aeb4, new Quest(0xa0f1aeb4, "Cnj200")); - mStaticActors.Add(0xa0f1aeb5, new Quest(0xa0f1aeb5, "Cnj300")); - mStaticActors.Add(0xa0f1aeb6, new Quest(0xa0f1aeb6, "Cnj306")); - mStaticActors.Add(0xa0f1aeb7, new Quest(0xa0f1aeb7, "Cnj400")); - mStaticActors.Add(0xa0f1aeb8, new Quest(0xa0f1aeb8, "Cnj500")); - mStaticActors.Add(0xa0f1aeb9, new Quest(0xa0f1aeb9, "Cnj506")); - mStaticActors.Add(0xa0f1aec8, new Quest(0xa0f1aec8, "Acn200")); - mStaticActors.Add(0xa0f1aec9, new Quest(0xa0f1aec9, "Acn300")); - mStaticActors.Add(0xa0f1aeca, new Quest(0xa0f1aeca, "Acn306")); - mStaticActors.Add(0xa0f1aecb, new Quest(0xa0f1aecb, "Acn400")); - mStaticActors.Add(0xa0f1aecc, new Quest(0xa0f1aecc, "Acn500")); - mStaticActors.Add(0xa0f1aecd, new Quest(0xa0f1aecd, "Acn506")); - mStaticActors.Add(0xa0f1aedc, new Quest(0xa0f1aedc, "Wdk200")); - mStaticActors.Add(0xa0f1aedd, new Quest(0xa0f1aedd, "Wdk300")); - mStaticActors.Add(0xa0f1aede, new Quest(0xa0f1aede, "Wdk306")); - mStaticActors.Add(0xa0f1aedf, new Quest(0xa0f1aedf, "Wdk400")); - mStaticActors.Add(0xa0f1aee0, new Quest(0xa0f1aee0, "Wdk500")); - mStaticActors.Add(0xa0f1aee1, new Quest(0xa0f1aee1, "Wdk506")); - mStaticActors.Add(0xa0f1aef0, new Quest(0xa0f1aef0, "Bsm200")); - mStaticActors.Add(0xa0f1aef1, new Quest(0xa0f1aef1, "Bsm300")); - mStaticActors.Add(0xa0f1aef2, new Quest(0xa0f1aef2, "Bsm306")); - mStaticActors.Add(0xa0f1aef3, new Quest(0xa0f1aef3, "Bsm400")); - mStaticActors.Add(0xa0f1aef4, new Quest(0xa0f1aef4, "Bsm500")); - mStaticActors.Add(0xa0f1aef5, new Quest(0xa0f1aef5, "Bsm506")); - mStaticActors.Add(0xa0f1af18, new Quest(0xa0f1af18, "Gld200")); - mStaticActors.Add(0xa0f1af19, new Quest(0xa0f1af19, "Gld300")); - mStaticActors.Add(0xa0f1af1a, new Quest(0xa0f1af1a, "Gld306")); - mStaticActors.Add(0xa0f1af1b, new Quest(0xa0f1af1b, "Gld400")); - mStaticActors.Add(0xa0f1af1c, new Quest(0xa0f1af1c, "Gld500")); - mStaticActors.Add(0xa0f1af1d, new Quest(0xa0f1af1d, "Gld506")); - mStaticActors.Add(0xa0f1af2c, new Quest(0xa0f1af2c, "Tan200")); - mStaticActors.Add(0xa0f1af2d, new Quest(0xa0f1af2d, "Tan300")); - mStaticActors.Add(0xa0f1af2e, new Quest(0xa0f1af2e, "Tan306")); - mStaticActors.Add(0xa0f1af2f, new Quest(0xa0f1af2f, "Tan400")); - mStaticActors.Add(0xa0f1af30, new Quest(0xa0f1af30, "Tan500")); - mStaticActors.Add(0xa0f1af31, new Quest(0xa0f1af31, "Tan506")); - mStaticActors.Add(0xa0f1af40, new Quest(0xa0f1af40, "Wvr200")); - mStaticActors.Add(0xa0f1af41, new Quest(0xa0f1af41, "Wvr300")); - mStaticActors.Add(0xa0f1af42, new Quest(0xa0f1af42, "Wvr306")); - mStaticActors.Add(0xa0f1af43, new Quest(0xa0f1af43, "Wvr400")); - mStaticActors.Add(0xa0f1af44, new Quest(0xa0f1af44, "Wvr500")); - mStaticActors.Add(0xa0f1af45, new Quest(0xa0f1af45, "Wvr506")); - mStaticActors.Add(0xa0f1af54, new Quest(0xa0f1af54, "Alc200")); - mStaticActors.Add(0xa0f1af55, new Quest(0xa0f1af55, "Alc300")); - mStaticActors.Add(0xa0f1af56, new Quest(0xa0f1af56, "Alc306")); - mStaticActors.Add(0xa0f1af57, new Quest(0xa0f1af57, "Alc400")); - mStaticActors.Add(0xa0f1af58, new Quest(0xa0f1af58, "Alc500")); - mStaticActors.Add(0xa0f1af59, new Quest(0xa0f1af59, "Alc506")); - mStaticActors.Add(0xa0f1af68, new Quest(0xa0f1af68, "Cul200")); - mStaticActors.Add(0xa0f1af69, new Quest(0xa0f1af69, "Cul300")); - mStaticActors.Add(0xa0f1af6a, new Quest(0xa0f1af6a, "Cul306")); - mStaticActors.Add(0xa0f1af6b, new Quest(0xa0f1af6b, "Cul400")); - mStaticActors.Add(0xa0f1af6c, new Quest(0xa0f1af6c, "Cul500")); - mStaticActors.Add(0xa0f1af6d, new Quest(0xa0f1af6d, "Cul506")); - mStaticActors.Add(0xa0f1af7c, new Quest(0xa0f1af7c, "Min200")); - mStaticActors.Add(0xa0f1af7d, new Quest(0xa0f1af7d, "Min300")); - mStaticActors.Add(0xa0f1af7e, new Quest(0xa0f1af7e, "Min306")); - mStaticActors.Add(0xa0f1af7f, new Quest(0xa0f1af7f, "Min400")); - mStaticActors.Add(0xa0f1af80, new Quest(0xa0f1af80, "Min500")); - mStaticActors.Add(0xa0f1af81, new Quest(0xa0f1af81, "Min506")); - mStaticActors.Add(0xa0f1af90, new Quest(0xa0f1af90, "Hrv200")); - mStaticActors.Add(0xa0f1af91, new Quest(0xa0f1af91, "Hrv300")); - mStaticActors.Add(0xa0f1af92, new Quest(0xa0f1af92, "Hrv306")); - mStaticActors.Add(0xa0f1af93, new Quest(0xa0f1af93, "Hrv400")); - mStaticActors.Add(0xa0f1af94, new Quest(0xa0f1af94, "Hrv500")); - mStaticActors.Add(0xa0f1af95, new Quest(0xa0f1af95, "Hrv506")); - mStaticActors.Add(0xa0f1afa4, new Quest(0xa0f1afa4, "Fsh200")); - mStaticActors.Add(0xa0f1afa5, new Quest(0xa0f1afa5, "Fsh300")); - mStaticActors.Add(0xa0f1afa6, new Quest(0xa0f1afa6, "Fsh306")); - mStaticActors.Add(0xa0f1afa7, new Quest(0xa0f1afa7, "Fsh400")); - mStaticActors.Add(0xa0f1afa8, new Quest(0xa0f1afa8, "Fsh500")); - mStaticActors.Add(0xa0f1afa9, new Quest(0xa0f1afa9, "Fsh506")); - mStaticActors.Add(0xa0f1afcc, new Quest(0xa0f1afcc, "DftSea")); - mStaticActors.Add(0xa0f1afcd, new Quest(0xa0f1afcd, "DftFst")); - mStaticActors.Add(0xa0f1afce, new Quest(0xa0f1afce, "DftRoc")); - mStaticActors.Add(0xa0f1afcf, new Quest(0xa0f1afcf, "DftWil")); - mStaticActors.Add(0xa0f1afd0, new Quest(0xa0f1afd0, "DftSrt")); - mStaticActors.Add(0xa0f1afd1, new Quest(0xa0f1afd1, "DftLak")); - mStaticActors.Add(0xa0f1b008, new Quest(0xa0f1b008, "Etc0l1")); - mStaticActors.Add(0xa0f1b009, new Quest(0xa0f1b009, "Etc0l2")); - mStaticActors.Add(0xa0f1b00a, new Quest(0xa0f1b00a, "Etc0l3")); - mStaticActors.Add(0xa0f1b00b, new Quest(0xa0f1b00b, "Etc0l4")); - mStaticActors.Add(0xa0f1b00c, new Quest(0xa0f1b00c, "Etc0l5")); - mStaticActors.Add(0xa0f1b00d, new Quest(0xa0f1b00d, "Etc0l6")); - mStaticActors.Add(0xa0f1b00e, new Quest(0xa0f1b00e, "Etc0l7")); - mStaticActors.Add(0xa0f1b00f, new Quest(0xa0f1b00f, "Etc0l8")); - mStaticActors.Add(0xa0f1b010, new Quest(0xa0f1b010, "Etc0l9")); - mStaticActors.Add(0xa0f1b011, new Quest(0xa0f1b011, "Etc0g1")); - mStaticActors.Add(0xa0f1b012, new Quest(0xa0f1b012, "Etc0g2")); - mStaticActors.Add(0xa0f1b013, new Quest(0xa0f1b013, "Etc0g3")); - mStaticActors.Add(0xa0f1b014, new Quest(0xa0f1b014, "Etc0g4")); - mStaticActors.Add(0xa0f1b015, new Quest(0xa0f1b015, "Etc0g5")); - mStaticActors.Add(0xa0f1b016, new Quest(0xa0f1b016, "Etc0g6")); - mStaticActors.Add(0xa0f1b017, new Quest(0xa0f1b017, "Etc0g7")); - mStaticActors.Add(0xa0f1b018, new Quest(0xa0f1b018, "Etc0g8")); - mStaticActors.Add(0xa0f1b019, new Quest(0xa0f1b019, "Etc0g9")); - mStaticActors.Add(0xa0f1b01a, new Quest(0xa0f1b01a, "Etc0u1")); - mStaticActors.Add(0xa0f1b01b, new Quest(0xa0f1b01b, "Etc0u2")); - mStaticActors.Add(0xa0f1b01c, new Quest(0xa0f1b01c, "Etc0u3")); - mStaticActors.Add(0xa0f1b01d, new Quest(0xa0f1b01d, "Etc0u4")); - mStaticActors.Add(0xa0f1b01e, new Quest(0xa0f1b01e, "Etc0u5")); - mStaticActors.Add(0xa0f1b01f, new Quest(0xa0f1b01f, "Etc0u6")); - mStaticActors.Add(0xa0f1b020, new Quest(0xa0f1b020, "Etc0u7")); - mStaticActors.Add(0xa0f1b021, new Quest(0xa0f1b021, "Etc0u8")); - mStaticActors.Add(0xa0f1b022, new Quest(0xa0f1b022, "Etc0u9")); - mStaticActors.Add(0xa0f1b023, new Quest(0xa0f1b023, "Sum6a0")); - mStaticActors.Add(0xa0f1b024, new Quest(0xa0f1b024, "Sum7l0")); - mStaticActors.Add(0xa0f1b025, new Quest(0xa0f1b025, "Sum7t0")); - mStaticActors.Add(0xa0f1b026, new Quest(0xa0f1b026, "Sum8a0")); - mStaticActors.Add(0xa0f1b027, new Quest(0xa0f1b027, "Sum8l0")); - mStaticActors.Add(0xa0f1b028, new Quest(0xa0f1b028, "Sum8t0")); - mStaticActors.Add(0xa0f1b029, new Quest(0xa0f1b029, "Etc1l0")); - mStaticActors.Add(0xa0f1b02a, new Quest(0xa0f1b02a, "Etc1l1")); - mStaticActors.Add(0xa0f1b02b, new Quest(0xa0f1b02b, "Etc1l2")); - mStaticActors.Add(0xa0f1b02c, new Quest(0xa0f1b02c, "Etc1l3")); - mStaticActors.Add(0xa0f1b02d, new Quest(0xa0f1b02d, "Etc1l4")); - mStaticActors.Add(0xa0f1b02e, new Quest(0xa0f1b02e, "Etc1l5")); - mStaticActors.Add(0xa0f1b02f, new Quest(0xa0f1b02f, "Etc1l6")); - mStaticActors.Add(0xa0f1b030, new Quest(0xa0f1b030, "Etc1l7")); - mStaticActors.Add(0xa0f1b031, new Quest(0xa0f1b031, "Etc1l8")); - mStaticActors.Add(0xa0f1b032, new Quest(0xa0f1b032, "Etc1l9")); - mStaticActors.Add(0xa0f1b033, new Quest(0xa0f1b033, "Etc2l0")); - mStaticActors.Add(0xa0f1b034, new Quest(0xa0f1b034, "Etc2l1")); - mStaticActors.Add(0xa0f1b035, new Quest(0xa0f1b035, "Etc2l2")); - mStaticActors.Add(0xa0f1b036, new Quest(0xa0f1b036, "Etc2l3")); - mStaticActors.Add(0xa0f1b037, new Quest(0xa0f1b037, "Etc2l4")); - mStaticActors.Add(0xa0f1b038, new Quest(0xa0f1b038, "Etc2l5")); - mStaticActors.Add(0xa0f1b039, new Quest(0xa0f1b039, "Etc2l6")); - mStaticActors.Add(0xa0f1b03a, new Quest(0xa0f1b03a, "Etc2l7")); - mStaticActors.Add(0xa0f1b03b, new Quest(0xa0f1b03b, "Etc2l8")); - mStaticActors.Add(0xa0f1b03c, new Quest(0xa0f1b03c, "Etc2l9")); - mStaticActors.Add(0xa0f1b03d, new Quest(0xa0f1b03d, "Etc3l0")); - mStaticActors.Add(0xa0f1b03e, new Quest(0xa0f1b03e, "Etc1g0")); - mStaticActors.Add(0xa0f1b03f, new Quest(0xa0f1b03f, "Etc1g1")); - mStaticActors.Add(0xa0f1b040, new Quest(0xa0f1b040, "Etc1g2")); - mStaticActors.Add(0xa0f1b041, new Quest(0xa0f1b041, "Etc1g3")); - mStaticActors.Add(0xa0f1b042, new Quest(0xa0f1b042, "Etc1g4")); - mStaticActors.Add(0xa0f1b043, new Quest(0xa0f1b043, "Etc1g5")); - mStaticActors.Add(0xa0f1b044, new Quest(0xa0f1b044, "Etc1g6")); - mStaticActors.Add(0xa0f1b045, new Quest(0xa0f1b045, "Etc1g7")); - mStaticActors.Add(0xa0f1b046, new Quest(0xa0f1b046, "Etc1g8")); - mStaticActors.Add(0xa0f1b047, new Quest(0xa0f1b047, "Etc1g9")); - mStaticActors.Add(0xa0f1b048, new Quest(0xa0f1b048, "Etc2g0")); - mStaticActors.Add(0xa0f1b049, new Quest(0xa0f1b049, "Etc2g1")); - mStaticActors.Add(0xa0f1b04a, new Quest(0xa0f1b04a, "Etc2g2")); - mStaticActors.Add(0xa0f1b04b, new Quest(0xa0f1b04b, "Etc2g3")); - mStaticActors.Add(0xa0f1b04c, new Quest(0xa0f1b04c, "Etc2g4")); - mStaticActors.Add(0xa0f1b04d, new Quest(0xa0f1b04d, "Etc2g5")); - mStaticActors.Add(0xa0f1b04e, new Quest(0xa0f1b04e, "Etc2g6")); - mStaticActors.Add(0xa0f1b04f, new Quest(0xa0f1b04f, "Etc2g7")); - mStaticActors.Add(0xa0f1b050, new Quest(0xa0f1b050, "Etc2g8")); - mStaticActors.Add(0xa0f1b051, new Quest(0xa0f1b051, "Etc2g9")); - mStaticActors.Add(0xa0f1b052, new Quest(0xa0f1b052, "Etc3g0")); - mStaticActors.Add(0xa0f1b053, new Quest(0xa0f1b053, "Etc1u0")); - mStaticActors.Add(0xa0f1b054, new Quest(0xa0f1b054, "Etc1u1")); - mStaticActors.Add(0xa0f1b055, new Quest(0xa0f1b055, "Etc1u2")); - mStaticActors.Add(0xa0f1b056, new Quest(0xa0f1b056, "Etc1u3")); - mStaticActors.Add(0xa0f1b057, new Quest(0xa0f1b057, "Etc1u4")); - mStaticActors.Add(0xa0f1b058, new Quest(0xa0f1b058, "Etc1u5")); - mStaticActors.Add(0xa0f1b059, new Quest(0xa0f1b059, "Etc1u6")); - mStaticActors.Add(0xa0f1b05a, new Quest(0xa0f1b05a, "Etc1u7")); - mStaticActors.Add(0xa0f1b05b, new Quest(0xa0f1b05b, "Etc1u8")); - mStaticActors.Add(0xa0f1b05c, new Quest(0xa0f1b05c, "Etc1u9")); - mStaticActors.Add(0xa0f1b05d, new Quest(0xa0f1b05d, "Etc2u0")); - mStaticActors.Add(0xa0f1b05e, new Quest(0xa0f1b05e, "Etc2u1")); - mStaticActors.Add(0xa0f1b05f, new Quest(0xa0f1b05f, "Etc2u2")); - mStaticActors.Add(0xa0f1b060, new Quest(0xa0f1b060, "Etc2u3")); - mStaticActors.Add(0xa0f1b061, new Quest(0xa0f1b061, "Etc2u4")); - mStaticActors.Add(0xa0f1b062, new Quest(0xa0f1b062, "Etc2u5")); - mStaticActors.Add(0xa0f1b063, new Quest(0xa0f1b063, "Etc2u6")); - mStaticActors.Add(0xa0f1b064, new Quest(0xa0f1b064, "Etc2u7")); - mStaticActors.Add(0xa0f1b065, new Quest(0xa0f1b065, "Etc2u8")); - mStaticActors.Add(0xa0f1b066, new Quest(0xa0f1b066, "Etc2u9")); - mStaticActors.Add(0xa0f1b067, new Quest(0xa0f1b067, "Etc3u0")); - mStaticActors.Add(0xa0f1b068, new Quest(0xa0f1b068, "Etc1i0")); - mStaticActors.Add(0xa0f1b069, new Quest(0xa0f1b069, "Etc1i1")); - mStaticActors.Add(0xa0f1b06a, new Quest(0xa0f1b06a, "Etc1i2")); - mStaticActors.Add(0xa0f1b06b, new Quest(0xa0f1b06b, "Etc1i3")); - mStaticActors.Add(0xa0f1b06c, new Quest(0xa0f1b06c, "Etc1i4")); - mStaticActors.Add(0xa0f1b06d, new Quest(0xa0f1b06d, "Etc1i5")); - mStaticActors.Add(0xa0f1b06e, new Quest(0xa0f1b06e, "Etc1i6")); - mStaticActors.Add(0xa0f1b06f, new Quest(0xa0f1b06f, "Etc1i7")); - mStaticActors.Add(0xa0f1b070, new Quest(0xa0f1b070, "Etc1i8")); - mStaticActors.Add(0xa0f1b071, new Quest(0xa0f1b071, "Etc1i9")); - mStaticActors.Add(0xa0f1b072, new Quest(0xa0f1b072, "Etc2i0")); - mStaticActors.Add(0xa0f1b073, new Quest(0xa0f1b073, "Etc2i1")); - mStaticActors.Add(0xa0f1b074, new Quest(0xa0f1b074, "Etc2i2")); - mStaticActors.Add(0xa0f1b075, new Quest(0xa0f1b075, "Etc2i3")); - mStaticActors.Add(0xa0f1b076, new Quest(0xa0f1b076, "Etc2i4")); - mStaticActors.Add(0xa0f1b077, new Quest(0xa0f1b077, "Etc2i5")); - mStaticActors.Add(0xa0f1b078, new Quest(0xa0f1b078, "Etc2i6")); - mStaticActors.Add(0xa0f1b079, new Quest(0xa0f1b079, "Etc2i7")); - mStaticActors.Add(0xa0f1b07a, new Quest(0xa0f1b07a, "Etc2i8")); - mStaticActors.Add(0xa0f1b07b, new Quest(0xa0f1b07b, "Etc2i9")); - mStaticActors.Add(0xa0f1b07c, new Quest(0xa0f1b07c, "Etc3i0")); - mStaticActors.Add(0xa0f1b07d, new Quest(0xa0f1b07d, "Etc3i1")); - mStaticActors.Add(0xa0f1b07e, new Quest(0xa0f1b07e, "Etc3i2")); - mStaticActors.Add(0xa0f1b07f, new Quest(0xa0f1b07f, "Etc3i3")); - mStaticActors.Add(0xa0f1b080, new Quest(0xa0f1b080, "Etc3i4")); - mStaticActors.Add(0xa0f1b081, new Quest(0xa0f1b081, "Etc3i5")); - mStaticActors.Add(0xa0f1b082, new Quest(0xa0f1b082, "Etc3i6")); - mStaticActors.Add(0xa0f1b083, new Quest(0xa0f1b083, "Etc3i7")); - mStaticActors.Add(0xa0f1b084, new Quest(0xa0f1b084, "Etc3i8")); - mStaticActors.Add(0xa0f1b085, new Quest(0xa0f1b085, "Etc3i9")); - mStaticActors.Add(0xa0f1b086, new Quest(0xa0f1b086, "Etc3u1")); - mStaticActors.Add(0xa0f1b087, new Quest(0xa0f1b087, "Etc3u2")); - mStaticActors.Add(0xa0f1b088, new Quest(0xa0f1b088, "Etc3u3")); - mStaticActors.Add(0xa0f1b089, new Quest(0xa0f1b089, "Etc3u4")); - mStaticActors.Add(0xa0f1b08a, new Quest(0xa0f1b08a, "Etc3u5")); - mStaticActors.Add(0xa0f1b08b, new Quest(0xa0f1b08b, "Etc3u6")); - mStaticActors.Add(0xa0f1b08c, new Quest(0xa0f1b08c, "Etc3u7")); - mStaticActors.Add(0xa0f1b08d, new Quest(0xa0f1b08d, "Etc3u8")); - mStaticActors.Add(0xa0f1b08e, new Quest(0xa0f1b08e, "Etc3u9")); - mStaticActors.Add(0xa0f1b08f, new Quest(0xa0f1b08f, "Etc3g1")); - mStaticActors.Add(0xa0f1b090, new Quest(0xa0f1b090, "Etc3g2")); - mStaticActors.Add(0xa0f1b091, new Quest(0xa0f1b091, "Etc3g3")); - mStaticActors.Add(0xa0f1b092, new Quest(0xa0f1b092, "Etc3g4")); - mStaticActors.Add(0xa0f1b093, new Quest(0xa0f1b093, "Etc3g5")); - mStaticActors.Add(0xa0f1b094, new Quest(0xa0f1b094, "Etc3g6")); - mStaticActors.Add(0xa0f1b095, new Quest(0xa0f1b095, "Etc3g7")); - mStaticActors.Add(0xa0f1b096, new Quest(0xa0f1b096, "Etc3g8")); - mStaticActors.Add(0xa0f1b097, new Quest(0xa0f1b097, "Etc3g9")); - mStaticActors.Add(0xa0f1b098, new Quest(0xa0f1b098, "Etc3l1")); - mStaticActors.Add(0xa0f1b099, new Quest(0xa0f1b099, "Etc3l2")); - mStaticActors.Add(0xa0f1b09a, new Quest(0xa0f1b09a, "Etc3l3")); - mStaticActors.Add(0xa0f1b09b, new Quest(0xa0f1b09b, "Etc3l4")); - mStaticActors.Add(0xa0f1b09c, new Quest(0xa0f1b09c, "Etc3l5")); - mStaticActors.Add(0xa0f1b09d, new Quest(0xa0f1b09d, "Etc3l6")); - mStaticActors.Add(0xa0f1b09e, new Quest(0xa0f1b09e, "Etc3l7")); - mStaticActors.Add(0xa0f1b09f, new Quest(0xa0f1b09f, "Etc3l8")); - mStaticActors.Add(0xa0f1b0a0, new Quest(0xa0f1b0a0, "Etc3l9")); - mStaticActors.Add(0xa0f1b0a1, new Quest(0xa0f1b0a1, "Wld0u1")); - mStaticActors.Add(0xa0f1b0a2, new Quest(0xa0f1b0a2, "Wld0u2")); - mStaticActors.Add(0xa0f1b0a3, new Quest(0xa0f1b0a3, "Wld0u3")); - mStaticActors.Add(0xa0f1b0a4, new Quest(0xa0f1b0a4, "Wld0u4")); - mStaticActors.Add(0xa0f1b0a5, new Quest(0xa0f1b0a5, "Wld0u5")); - mStaticActors.Add(0xa0f1b0a6, new Quest(0xa0f1b0a6, "Wld0u6")); - mStaticActors.Add(0xa0f1b0a7, new Quest(0xa0f1b0a7, "Wld0u7")); - mStaticActors.Add(0xa0f1b0a8, new Quest(0xa0f1b0a8, "Wld0u8")); - mStaticActors.Add(0xa0f1b0a9, new Quest(0xa0f1b0a9, "Wld0u9")); - mStaticActors.Add(0xa0f1b0aa, new Quest(0xa0f1b0aa, "Wld0g1")); - mStaticActors.Add(0xa0f1b0ab, new Quest(0xa0f1b0ab, "Wld0g2")); - mStaticActors.Add(0xa0f1b0ac, new Quest(0xa0f1b0ac, "Wld0g3")); - mStaticActors.Add(0xa0f1b0ad, new Quest(0xa0f1b0ad, "Wld0g4")); - mStaticActors.Add(0xa0f1b0ae, new Quest(0xa0f1b0ae, "Wld0g5")); - mStaticActors.Add(0xa0f1b0af, new Quest(0xa0f1b0af, "Wld0g6")); - mStaticActors.Add(0xa0f1b0b0, new Quest(0xa0f1b0b0, "Wld0g7")); - mStaticActors.Add(0xa0f1b0b1, new Quest(0xa0f1b0b1, "Wld0g8")); - mStaticActors.Add(0xa0f1b0b2, new Quest(0xa0f1b0b2, "Wld0g9")); - mStaticActors.Add(0xa0f1b0b3, new Quest(0xa0f1b0b3, "Wld0l1")); - mStaticActors.Add(0xa0f1b0b4, new Quest(0xa0f1b0b4, "Wld0l2")); - mStaticActors.Add(0xa0f1b0b5, new Quest(0xa0f1b0b5, "Wld0l3")); - mStaticActors.Add(0xa0f1b0b6, new Quest(0xa0f1b0b6, "Wld0l4")); - mStaticActors.Add(0xa0f1b0b7, new Quest(0xa0f1b0b7, "Wld0l5")); - mStaticActors.Add(0xa0f1b0b8, new Quest(0xa0f1b0b8, "Wld0l6")); - mStaticActors.Add(0xa0f1b0b9, new Quest(0xa0f1b0b9, "Wld0l7")); - mStaticActors.Add(0xa0f1b0ba, new Quest(0xa0f1b0ba, "Wld0l8")); - mStaticActors.Add(0xa0f1b0bb, new Quest(0xa0f1b0bb, "Wld0l9")); - mStaticActors.Add(0xa0f1b0bc, new Quest(0xa0f1b0bc, "Wld0i1")); - mStaticActors.Add(0xa0f1b0bd, new Quest(0xa0f1b0bd, "Wld0i2")); - mStaticActors.Add(0xa0f1b0be, new Quest(0xa0f1b0be, "Wld0i3")); - mStaticActors.Add(0xa0f1b0bf, new Quest(0xa0f1b0bf, "Wld0i4")); - mStaticActors.Add(0xa0f1b0c0, new Quest(0xa0f1b0c0, "Wld0i5")); - mStaticActors.Add(0xa0f1b0c1, new Quest(0xa0f1b0c1, "Wld0i6")); - mStaticActors.Add(0xa0f1b0c2, new Quest(0xa0f1b0c2, "Wld0i7")); - mStaticActors.Add(0xa0f1b0c3, new Quest(0xa0f1b0c3, "Wld0i8")); - mStaticActors.Add(0xa0f1b0c4, new Quest(0xa0f1b0c4, "Wld0i9")); - mStaticActors.Add(0xa0f1b0c5, new Quest(0xa0f1b0c5, "Spl0u1")); - mStaticActors.Add(0xa0f1b0c6, new Quest(0xa0f1b0c6, "Spl0u2")); - mStaticActors.Add(0xa0f1b0c7, new Quest(0xa0f1b0c7, "Spl0u3")); - mStaticActors.Add(0xa0f1b0c8, new Quest(0xa0f1b0c8, "Spl0u4")); - mStaticActors.Add(0xa0f1b0c9, new Quest(0xa0f1b0c9, "Spl0u5")); - mStaticActors.Add(0xa0f1b0ca, new Quest(0xa0f1b0ca, "Spl0g1")); - mStaticActors.Add(0xa0f1b0cb, new Quest(0xa0f1b0cb, "Spl0g2")); - mStaticActors.Add(0xa0f1b0cc, new Quest(0xa0f1b0cc, "Spl0g3")); - mStaticActors.Add(0xa0f1b0cd, new Quest(0xa0f1b0cd, "Spl0g4")); - mStaticActors.Add(0xa0f1b0ce, new Quest(0xa0f1b0ce, "Spl0g5")); - mStaticActors.Add(0xa0f1b0cf, new Quest(0xa0f1b0cf, "Spl0i1")); - mStaticActors.Add(0xa0f1b0d0, new Quest(0xa0f1b0d0, "Spl0i2")); - mStaticActors.Add(0xa0f1b0d1, new Quest(0xa0f1b0d1, "Spl0i3")); - mStaticActors.Add(0xa0f1b0d2, new Quest(0xa0f1b0d2, "Spl0i4")); - mStaticActors.Add(0xa0f1b0d3, new Quest(0xa0f1b0d3, "Spl0i5")); - mStaticActors.Add(0xa0f1b0d4, new Quest(0xa0f1b0d4, "Spl0l1")); - mStaticActors.Add(0xa0f1b0d5, new Quest(0xa0f1b0d5, "Spl0l2")); - mStaticActors.Add(0xa0f1b0d6, new Quest(0xa0f1b0d6, "Spl0l3")); - mStaticActors.Add(0xa0f1b0d7, new Quest(0xa0f1b0d7, "Spl0l4")); - mStaticActors.Add(0xa0f1b0d8, new Quest(0xa0f1b0d8, "Spl0l5")); - mStaticActors.Add(0xa0f1b0d9, new Quest(0xa0f1b0d9, "Noc000")); - mStaticActors.Add(0xa0f1b0da, new Quest(0xa0f1b0da, "Etc303")); - mStaticActors.Add(0xa0f1b0db, new Quest(0xa0f1b0db, "Etc101")); - mStaticActors.Add(0xa0f1b0dc, new Quest(0xa0f1b0dc, "Etc102")); - mStaticActors.Add(0xa0f1b0dd, new Quest(0xa0f1b0dd, "Etc103")); - mStaticActors.Add(0xa0f1b0de, new Quest(0xa0f1b0de, "Etc104")); - mStaticActors.Add(0xa0f1b0df, new Quest(0xa0f1b0df, "Etc105")); - mStaticActors.Add(0xa0f1b0e0, new Quest(0xa0f1b0e0, "Sum6m0")); - mStaticActors.Add(0xa0f1b0e1, new Quest(0xa0f1b0e1, "Noc001")); - mStaticActors.Add(0xa0f1b0e2, new Quest(0xa0f1b0e2, "Etc200")); - mStaticActors.Add(0xa0f1b0e3, new Quest(0xa0f1b0e3, "Etc201")); - mStaticActors.Add(0xa0f1b0e4, new Quest(0xa0f1b0e4, "Etc202")); - mStaticActors.Add(0xa0f1b0e5, new Quest(0xa0f1b0e5, "Etc202")); - mStaticActors.Add(0xa0f1b0e6, new Quest(0xa0f1b0e6, "Etc202")); - mStaticActors.Add(0xa0f1b0e7, new Quest(0xa0f1b0e7, "Etc202")); - mStaticActors.Add(0xa0f1b0e8, new Quest(0xa0f1b0e8, "Etc202")); - mStaticActors.Add(0xa0f1b0ec, new Quest(0xa0f1b0ec, "Etc5g0")); - mStaticActors.Add(0xa0f1b0ed, new Quest(0xa0f1b0ed, "Etc5g1")); - mStaticActors.Add(0xa0f1b0f6, new Quest(0xa0f1b0f6, "Etc5l0")); - mStaticActors.Add(0xa0f1b0f7, new Quest(0xa0f1b0f7, "Etc5l1")); - mStaticActors.Add(0xa0f1b0f8, new Quest(0xa0f1b0f8, "Etc5l2")); - mStaticActors.Add(0xa0f1b0f9, new Quest(0xa0f1b0f9, "Etc5l3")); - mStaticActors.Add(0xa0f1b100, new Quest(0xa0f1b100, "Etc5u0")); - mStaticActors.Add(0xa0f1b101, new Quest(0xa0f1b101, "Etc5u1")); - mStaticActors.Add(0xa0f1b102, new Quest(0xa0f1b102, "Etc5u2")); - mStaticActors.Add(0xa0f1b103, new Quest(0xa0f1b103, "Etc5u3")); - mStaticActors.Add(0xa0f1b10a, new Quest(0xa0f1b10a, "Spl000")); - mStaticActors.Add(0xa0f1b10b, new Quest(0xa0f1b10b, "Spl101")); - mStaticActors.Add(0xa0f1b10c, new Quest(0xa0f1b10c, "Spl102")); - mStaticActors.Add(0xa0f1b10d, new Quest(0xa0f1b10d, "Spl103")); - mStaticActors.Add(0xa0f1b10e, new Quest(0xa0f1b10e, "Noc002")); - mStaticActors.Add(0xa0f1b10f, new Quest(0xa0f1b10f, "Noc003")); - mStaticActors.Add(0xa0f1b113, new Quest(0xa0f1b113, "Sum6g0")); - mStaticActors.Add(0xa0f1b114, new Quest(0xa0f1b114, "Etc106")); - mStaticActors.Add(0xa0f1b115, new Quest(0xa0f1b115, "Etc304")); - mStaticActors.Add(0xa0f1b116, new Quest(0xa0f1b116, "Sum6w0")); - mStaticActors.Add(0xa0f1b261, new Quest(0xa0f1b261, "War0j1")); - mStaticActors.Add(0xa0f1b262, new Quest(0xa0f1b262, "War0j2")); - mStaticActors.Add(0xa0f1b263, new Quest(0xa0f1b263, "War0j3")); - mStaticActors.Add(0xa0f1b264, new Quest(0xa0f1b264, "War0j4")); - mStaticActors.Add(0xa0f1b265, new Quest(0xa0f1b265, "War0j5")); - mStaticActors.Add(0xa0f1b266, new Quest(0xa0f1b266, "War0j6")); - mStaticActors.Add(0xa0f1b275, new Quest(0xa0f1b275, "Mnk0j1")); - mStaticActors.Add(0xa0f1b276, new Quest(0xa0f1b276, "Mnk0j2")); - mStaticActors.Add(0xa0f1b277, new Quest(0xa0f1b277, "Mnk0j3")); - mStaticActors.Add(0xa0f1b278, new Quest(0xa0f1b278, "Mnk0j4")); - mStaticActors.Add(0xa0f1b279, new Quest(0xa0f1b279, "Mnk0j5")); - mStaticActors.Add(0xa0f1b27a, new Quest(0xa0f1b27a, "Mnk0j6")); - mStaticActors.Add(0xa0f1b289, new Quest(0xa0f1b289, "Whm0j1")); - mStaticActors.Add(0xa0f1b28a, new Quest(0xa0f1b28a, "Whm0j2")); - mStaticActors.Add(0xa0f1b28b, new Quest(0xa0f1b28b, "Whm0j3")); - mStaticActors.Add(0xa0f1b28c, new Quest(0xa0f1b28c, "Whm0j4")); - mStaticActors.Add(0xa0f1b28d, new Quest(0xa0f1b28d, "Whm0j5")); - mStaticActors.Add(0xa0f1b28e, new Quest(0xa0f1b28e, "Whm0j6")); - mStaticActors.Add(0xa0f1b29d, new Quest(0xa0f1b29d, "Blm0j1")); - mStaticActors.Add(0xa0f1b29e, new Quest(0xa0f1b29e, "Blm0j2")); - mStaticActors.Add(0xa0f1b29f, new Quest(0xa0f1b29f, "Blm0j3")); - mStaticActors.Add(0xa0f1b2a0, new Quest(0xa0f1b2a0, "Blm0j4")); - mStaticActors.Add(0xa0f1b2a1, new Quest(0xa0f1b2a1, "Blm0j5")); - mStaticActors.Add(0xa0f1b2a2, new Quest(0xa0f1b2a2, "Blm0j6")); - mStaticActors.Add(0xa0f1b2b1, new Quest(0xa0f1b2b1, "Pld0j1")); - mStaticActors.Add(0xa0f1b2b2, new Quest(0xa0f1b2b2, "Pld0j2")); - mStaticActors.Add(0xa0f1b2b3, new Quest(0xa0f1b2b3, "Pld0j3")); - mStaticActors.Add(0xa0f1b2b4, new Quest(0xa0f1b2b4, "Pld0j4")); - mStaticActors.Add(0xa0f1b2b5, new Quest(0xa0f1b2b5, "Pld0j5")); - mStaticActors.Add(0xa0f1b2b6, new Quest(0xa0f1b2b6, "Pld0j6")); - mStaticActors.Add(0xa0f1b2c5, new Quest(0xa0f1b2c5, "Brd0j1")); - mStaticActors.Add(0xa0f1b2c6, new Quest(0xa0f1b2c6, "Brd0j2")); - mStaticActors.Add(0xa0f1b2c7, new Quest(0xa0f1b2c7, "Brd0j3")); - mStaticActors.Add(0xa0f1b2c8, new Quest(0xa0f1b2c8, "Brd0j4")); - mStaticActors.Add(0xa0f1b2c9, new Quest(0xa0f1b2c9, "Brd0j5")); - mStaticActors.Add(0xa0f1b2ca, new Quest(0xa0f1b2ca, "Brd0j6")); - mStaticActors.Add(0xa0f1b2d9, new Quest(0xa0f1b2d9, "Drg0j1")); - mStaticActors.Add(0xa0f1b2da, new Quest(0xa0f1b2da, "Drg0j2")); - mStaticActors.Add(0xa0f1b2db, new Quest(0xa0f1b2db, "Drg0j3")); - mStaticActors.Add(0xa0f1b2dc, new Quest(0xa0f1b2dc, "Drg0j4")); - mStaticActors.Add(0xa0f1b2dd, new Quest(0xa0f1b2dd, "Drg0j5")); - mStaticActors.Add(0xa0f1b2de, new Quest(0xa0f1b2de, "Drg0j6")); - mStaticActors.Add(0xa0f1b329, new Quest(0xa0f1b329, "Com0l1")); - mStaticActors.Add(0xa0f1b32a, new Quest(0xa0f1b32a, "Com0l2")); - mStaticActors.Add(0xa0f1b32b, new Quest(0xa0f1b32b, "Com0l3")); - mStaticActors.Add(0xa0f1b32c, new Quest(0xa0f1b32c, "Com0l4")); - mStaticActors.Add(0xa0f1b32d, new Quest(0xa0f1b32d, "Com0l5")); - mStaticActors.Add(0xa0f1b32e, new Quest(0xa0f1b32e, "Com0l6")); - mStaticActors.Add(0xa0f1b32f, new Quest(0xa0f1b32f, "Com0l7")); - mStaticActors.Add(0xa0f1b330, new Quest(0xa0f1b330, "Com0l8")); - mStaticActors.Add(0xa0f1b331, new Quest(0xa0f1b331, "Com0l9")); - mStaticActors.Add(0xa0f1b332, new Quest(0xa0f1b332, "Com5l0")); - mStaticActors.Add(0xa0f1b333, new Quest(0xa0f1b333, "Com5l1")); - mStaticActors.Add(0xa0f1b334, new Quest(0xa0f1b334, "Com5l2")); - mStaticActors.Add(0xa0f1b335, new Quest(0xa0f1b335, "Com5l3")); - mStaticActors.Add(0xa0f1b336, new Quest(0xa0f1b336, "Com5l4")); - mStaticActors.Add(0xa0f1b337, new Quest(0xa0f1b337, "Com5l5")); - mStaticActors.Add(0xa0f1b338, new Quest(0xa0f1b338, "Gcl101")); - mStaticActors.Add(0xa0f1b339, new Quest(0xa0f1b339, "Gcl301")); - mStaticActors.Add(0xa0f1b33a, new Quest(0xa0f1b33a, "Gcl302")); - mStaticActors.Add(0xa0f1b33b, new Quest(0xa0f1b33b, "Gcl303")); - mStaticActors.Add(0xa0f1b33c, new Quest(0xa0f1b33c, "Gcl304")); - mStaticActors.Add(0xa0f1b33d, new Quest(0xa0f1b33d, "Gcl501")); - mStaticActors.Add(0xa0f1b33e, new Quest(0xa0f1b33e, "Gcl502")); - mStaticActors.Add(0xa0f1b33f, new Quest(0xa0f1b33f, "Gcl601")); - mStaticActors.Add(0xa0f1b340, new Quest(0xa0f1b340, "Gcl602")); - mStaticActors.Add(0xa0f1b341, new Quest(0xa0f1b341, "Gcl603")); - mStaticActors.Add(0xa0f1b342, new Quest(0xa0f1b342, "Gcl305")); - mStaticActors.Add(0xa0f1b343, new Quest(0xa0f1b343, "Gcl102")); - mStaticActors.Add(0xa0f1b344, new Quest(0xa0f1b344, "Gcl701")); - mStaticActors.Add(0xa0f1b345, new Quest(0xa0f1b345, "Gcl103")); - mStaticActors.Add(0xa0f1b346, new Quest(0xa0f1b346, "Gcl104")); - mStaticActors.Add(0xa0f1b347, new Quest(0xa0f1b347, "Gcl105")); - mStaticActors.Add(0xa0f1b348, new Quest(0xa0f1b348, "Gcl106")); - mStaticActors.Add(0xa0f1b349, new Quest(0xa0f1b349, "Gcl107")); - mStaticActors.Add(0xa0f1b34a, new Quest(0xa0f1b34a, "Gcl702")); - mStaticActors.Add(0xa0f1b3f1, new Quest(0xa0f1b3f1, "Com0g1")); - mStaticActors.Add(0xa0f1b3f2, new Quest(0xa0f1b3f2, "Com0g2")); - mStaticActors.Add(0xa0f1b3f3, new Quest(0xa0f1b3f3, "Com0g3")); - mStaticActors.Add(0xa0f1b3f4, new Quest(0xa0f1b3f4, "Com0g4")); - mStaticActors.Add(0xa0f1b3f5, new Quest(0xa0f1b3f5, "Com0g5")); - mStaticActors.Add(0xa0f1b3f6, new Quest(0xa0f1b3f6, "Com0g6")); - mStaticActors.Add(0xa0f1b3f7, new Quest(0xa0f1b3f7, "Com0g7")); - mStaticActors.Add(0xa0f1b3f8, new Quest(0xa0f1b3f8, "Com0g8")); - mStaticActors.Add(0xa0f1b3f9, new Quest(0xa0f1b3f9, "Com0g9")); - mStaticActors.Add(0xa0f1b3fa, new Quest(0xa0f1b3fa, "Com5g0")); - mStaticActors.Add(0xa0f1b3fb, new Quest(0xa0f1b3fb, "Com5g1")); - mStaticActors.Add(0xa0f1b3fc, new Quest(0xa0f1b3fc, "Com5g2")); - mStaticActors.Add(0xa0f1b3fd, new Quest(0xa0f1b3fd, "Com5g3")); - mStaticActors.Add(0xa0f1b3fe, new Quest(0xa0f1b3fe, "Com5g4")); - mStaticActors.Add(0xa0f1b3ff, new Quest(0xa0f1b3ff, "Com5g5")); - mStaticActors.Add(0xa0f1b400, new Quest(0xa0f1b400, "Gcl101")); - mStaticActors.Add(0xa0f1b401, new Quest(0xa0f1b401, "Gcg301")); - mStaticActors.Add(0xa0f1b402, new Quest(0xa0f1b402, "Gcg302")); - mStaticActors.Add(0xa0f1b403, new Quest(0xa0f1b403, "Gcg303")); - mStaticActors.Add(0xa0f1b404, new Quest(0xa0f1b404, "Gcg304")); - mStaticActors.Add(0xa0f1b405, new Quest(0xa0f1b405, "Gcg501")); - mStaticActors.Add(0xa0f1b406, new Quest(0xa0f1b406, "Gcg502")); - mStaticActors.Add(0xa0f1b407, new Quest(0xa0f1b407, "Gcg601")); - mStaticActors.Add(0xa0f1b408, new Quest(0xa0f1b408, "Gcg602")); - mStaticActors.Add(0xa0f1b409, new Quest(0xa0f1b409, "Gcg603")); - mStaticActors.Add(0xa0f1b40a, new Quest(0xa0f1b40a, "Gcg305")); - mStaticActors.Add(0xa0f1b40b, new Quest(0xa0f1b40b, "Gcg102")); - mStaticActors.Add(0xa0f1b40c, new Quest(0xa0f1b40c, "Gcg701")); - mStaticActors.Add(0xa0f1b40d, new Quest(0xa0f1b40d, "Gcg103")); - mStaticActors.Add(0xa0f1b40e, new Quest(0xa0f1b40e, "Gcl104")); - mStaticActors.Add(0xa0f1b40f, new Quest(0xa0f1b40f, "Gcl105")); - mStaticActors.Add(0xa0f1b410, new Quest(0xa0f1b410, "Gcl106")); - mStaticActors.Add(0xa0f1b411, new Quest(0xa0f1b411, "Gcl107")); - mStaticActors.Add(0xa0f1b412, new Quest(0xa0f1b412, "Gcg702")); - mStaticActors.Add(0xa0f1b4b9, new Quest(0xa0f1b4b9, "Com0u1")); - mStaticActors.Add(0xa0f1b4ba, new Quest(0xa0f1b4ba, "Com0u2")); - mStaticActors.Add(0xa0f1b4bb, new Quest(0xa0f1b4bb, "Com0u3")); - mStaticActors.Add(0xa0f1b4bc, new Quest(0xa0f1b4bc, "Com0u4")); - mStaticActors.Add(0xa0f1b4bd, new Quest(0xa0f1b4bd, "Com0u5")); - mStaticActors.Add(0xa0f1b4be, new Quest(0xa0f1b4be, "Com0u6")); - mStaticActors.Add(0xa0f1b4bf, new Quest(0xa0f1b4bf, "Com0u7")); - mStaticActors.Add(0xa0f1b4c0, new Quest(0xa0f1b4c0, "Com0u8")); - mStaticActors.Add(0xa0f1b4c1, new Quest(0xa0f1b4c1, "Com0u9")); - mStaticActors.Add(0xa0f1b4c2, new Quest(0xa0f1b4c2, "Com5u0")); - mStaticActors.Add(0xa0f1b4c3, new Quest(0xa0f1b4c3, "Com5u1")); - mStaticActors.Add(0xa0f1b4c4, new Quest(0xa0f1b4c4, "Com5u2")); - mStaticActors.Add(0xa0f1b4c5, new Quest(0xa0f1b4c5, "Com5u3")); - mStaticActors.Add(0xa0f1b4c6, new Quest(0xa0f1b4c6, "Com5u4")); - mStaticActors.Add(0xa0f1b4c7, new Quest(0xa0f1b4c7, "Com5u5")); - mStaticActors.Add(0xa0f1b4c8, new Quest(0xa0f1b4c8, "Gcl101")); - mStaticActors.Add(0xa0f1b4c9, new Quest(0xa0f1b4c9, "Gcu301")); - mStaticActors.Add(0xa0f1b4ca, new Quest(0xa0f1b4ca, "Gcu302")); - mStaticActors.Add(0xa0f1b4cb, new Quest(0xa0f1b4cb, "Gcu303")); - mStaticActors.Add(0xa0f1b4cc, new Quest(0xa0f1b4cc, "Gcu304")); - mStaticActors.Add(0xa0f1b4cd, new Quest(0xa0f1b4cd, "Gcu501")); - mStaticActors.Add(0xa0f1b4ce, new Quest(0xa0f1b4ce, "Gcu502")); - mStaticActors.Add(0xa0f1b4cf, new Quest(0xa0f1b4cf, "Gcu601")); - mStaticActors.Add(0xa0f1b4d0, new Quest(0xa0f1b4d0, "Gcu602")); - mStaticActors.Add(0xa0f1b4d1, new Quest(0xa0f1b4d1, "Gcu603")); - mStaticActors.Add(0xa0f1b4d2, new Quest(0xa0f1b4d2, "Gcu305")); - mStaticActors.Add(0xa0f1b4d3, new Quest(0xa0f1b4d3, "Gcu102")); - mStaticActors.Add(0xa0f1b4d4, new Quest(0xa0f1b4d4, "Gcu701")); - mStaticActors.Add(0xa0f1b4d5, new Quest(0xa0f1b4d5, "Gcu103")); - mStaticActors.Add(0xa0f1b4d6, new Quest(0xa0f1b4d6, "Gcl104")); - mStaticActors.Add(0xa0f1b4d7, new Quest(0xa0f1b4d7, "Gcl105")); - mStaticActors.Add(0xa0f1b4d8, new Quest(0xa0f1b4d8, "Gcl106")); - mStaticActors.Add(0xa0f1b4d9, new Quest(0xa0f1b4d9, "Gcl107")); - mStaticActors.Add(0xa0f1b4da, new Quest(0xa0f1b4da, "Gcu702")); - mStaticActors.Add(0xa0f1d4c1, new Quest(0xa0f1d4c1, "PgConv")); - mStaticActors.Add(0xa0f1d4c2, new Quest(0xa0f1d4c2, "PgConv")); - mStaticActors.Add(0xa0f1d4c3, new Quest(0xa0f1d4c3, "PgConv")); - mStaticActors.Add(0xa0f1d4c4, new Quest(0xa0f1d4c4, "PgConv")); - mStaticActors.Add(0xa0f1d4c5, new Quest(0xa0f1d4c5, "PgConv")); - mStaticActors.Add(0xa0f1d4c6, new Quest(0xa0f1d4c6, "PgConv")); - mStaticActors.Add(0xa0f1d4c7, new Quest(0xa0f1d4c7, "PgConv")); - mStaticActors.Add(0xa0f1d4c8, new Quest(0xa0f1d4c8, "PgConv")); - mStaticActors.Add(0xa0f1d4c9, new Quest(0xa0f1d4c9, "PgConv")); - mStaticActors.Add(0xa0f1d4ca, new Quest(0xa0f1d4ca, "PgConv")); - mStaticActors.Add(0xa0f1d4cb, new Quest(0xa0f1d4cb, "PgConv")); - mStaticActors.Add(0xa0f1d4cc, new Quest(0xa0f1d4cc, "PgConv")); - mStaticActors.Add(0xa0f1d4cd, new Quest(0xa0f1d4cd, "PgConv")); - mStaticActors.Add(0xa0f1d4ce, new Quest(0xa0f1d4ce, "PgConv")); - mStaticActors.Add(0xa0f1d4cf, new Quest(0xa0f1d4cf, "PgConv")); - mStaticActors.Add(0xa0f1d4d0, new Quest(0xa0f1d4d0, "PgConv")); - mStaticActors.Add(0xa0f1d4d1, new Quest(0xa0f1d4d1, "PgConv")); - mStaticActors.Add(0xa0f1d4d2, new Quest(0xa0f1d4d2, "PgConv")); - mStaticActors.Add(0xa0f1d4d3, new Quest(0xa0f1d4d3, "PgConv")); - mStaticActors.Add(0xa0f1d4d4, new Quest(0xa0f1d4d4, "PgConv")); - mStaticActors.Add(0xa0f1d4d5, new Quest(0xa0f1d4d5, "PgConv")); - mStaticActors.Add(0xa0f1d4d6, new Quest(0xa0f1d4d6, "PgConv")); - mStaticActors.Add(0xa0f1d4d7, new Quest(0xa0f1d4d7, "PgConv")); - mStaticActors.Add(0xa0f1d4d8, new Quest(0xa0f1d4d8, "PgConv")); - mStaticActors.Add(0xa0f1d4d9, new Quest(0xa0f1d4d9, "PgConv")); - mStaticActors.Add(0xa0f1d4da, new Quest(0xa0f1d4da, "PgConv")); - mStaticActors.Add(0xa0f1d4db, new Quest(0xa0f1d4db, "PgConv")); - mStaticActors.Add(0xa0f1d4dc, new Quest(0xa0f1d4dc, "PgConv")); - mStaticActors.Add(0xa0f1d4dd, new Quest(0xa0f1d4dd, "PgConv")); - mStaticActors.Add(0xa0f1d4de, new Quest(0xa0f1d4de, "PgConv")); - mStaticActors.Add(0xa0f1d4df, new Quest(0xa0f1d4df, "PgConv")); - mStaticActors.Add(0xa0f1d4e0, new Quest(0xa0f1d4e0, "PgConv")); - mStaticActors.Add(0xa0f1d4e1, new Quest(0xa0f1d4e1, "PgConv")); - mStaticActors.Add(0xa0f1d4e2, new Quest(0xa0f1d4e2, "PgConv")); - mStaticActors.Add(0xa0f1d4e3, new Quest(0xa0f1d4e3, "PgAeth")); - mStaticActors.Add(0xa0f1d4e4, new Quest(0xa0f1d4e4, "PgAeth")); - mStaticActors.Add(0xa0f1d4e5, new Quest(0xa0f1d4e5, "PgAeth")); - mStaticActors.Add(0xa0f1d4e6, new Quest(0xa0f1d4e6, "PgAeth")); - mStaticActors.Add(0xa0f1d4e7, new Quest(0xa0f1d4e7, "PgAeth")); - mStaticActors.Add(0xa0f1d4e8, new Quest(0xa0f1d4e8, "PgAeth")); - mStaticActors.Add(0xa0f1d4e9, new Quest(0xa0f1d4e9, "PgAeth")); - mStaticActors.Add(0xa0f1d4ea, new Quest(0xa0f1d4ea, "PgAeth")); - mStaticActors.Add(0xa0f1d4eb, new Quest(0xa0f1d4eb, "PgAeth")); - mStaticActors.Add(0xa0f1d4ec, new Quest(0xa0f1d4ec, "PgAeth")); - mStaticActors.Add(0xa0f1d4ed, new Quest(0xa0f1d4ed, "PgAeth")); - mStaticActors.Add(0xa0f1d4ee, new Quest(0xa0f1d4ee, "PgAeth")); - mStaticActors.Add(0xa0f1d4ef, new Quest(0xa0f1d4ef, "PgAeth")); - mStaticActors.Add(0xa0f1d4f0, new Quest(0xa0f1d4f0, "PgAeth")); - mStaticActors.Add(0xa0f1d4f1, new Quest(0xa0f1d4f1, "PgAeth")); - mStaticActors.Add(0xa0f1d4f2, new Quest(0xa0f1d4f2, "PgAeth")); - mStaticActors.Add(0xa0f1d4f3, new Quest(0xa0f1d4f3, "PgAeth")); - mStaticActors.Add(0xa0f1d4f4, new Quest(0xa0f1d4f4, "PgAeth")); - mStaticActors.Add(0xa0f1d4f5, new Quest(0xa0f1d4f5, "PgAeth")); - mStaticActors.Add(0xa0f1d4f6, new Quest(0xa0f1d4f6, "PgAeth")); - mStaticActors.Add(0xa0f1d4f7, new Quest(0xa0f1d4f7, "PgAeth")); - mStaticActors.Add(0xa0f1d4f8, new Quest(0xa0f1d4f8, "PgAeth")); - mStaticActors.Add(0xa0f1d4f9, new Quest(0xa0f1d4f9, "PgAeth")); - mStaticActors.Add(0xa0f1d4fa, new Quest(0xa0f1d4fa, "PgAeth")); - mStaticActors.Add(0xa0f1d4fb, new Quest(0xa0f1d4fb, "PgAeth")); - mStaticActors.Add(0xa0f1d4fc, new Quest(0xa0f1d4fc, "PgAeth")); - mStaticActors.Add(0xa0f1d4fd, new Quest(0xa0f1d4fd, "PgAeth")); - mStaticActors.Add(0xa0f1d4fe, new Quest(0xa0f1d4fe, "PgAeth")); - mStaticActors.Add(0xa0f1d4ff, new Quest(0xa0f1d4ff, "PgAeth")); - mStaticActors.Add(0xa0f1d500, new Quest(0xa0f1d500, "PgAeth")); - mStaticActors.Add(0xa0f1d501, new Quest(0xa0f1d501, "PgAeth")); - mStaticActors.Add(0xa0f1d502, new Quest(0xa0f1d502, "PgAeth")); - mStaticActors.Add(0xa0f1d503, new Quest(0xa0f1d503, "PgAeth")); - mStaticActors.Add(0xa0f1d504, new Quest(0xa0f1d504, "PgAeth")); - mStaticActors.Add(0xa0f1d505, new Quest(0xa0f1d505, "PgAeth")); - mStaticActors.Add(0xa0f1d589, new Quest(0xa0f1d589, "PgConv")); - mStaticActors.Add(0xa0f1d58a, new Quest(0xa0f1d58a, "PgConv")); - mStaticActors.Add(0xa0f1d58b, new Quest(0xa0f1d58b, "PgConv")); - mStaticActors.Add(0xa0f1d58c, new Quest(0xa0f1d58c, "PgConv")); - mStaticActors.Add(0xa0f1d58d, new Quest(0xa0f1d58d, "PgConv")); - mStaticActors.Add(0xa0f1d58e, new Quest(0xa0f1d58e, "PgConv")); - mStaticActors.Add(0xa0f1d58f, new Quest(0xa0f1d58f, "PgConv")); - mStaticActors.Add(0xa0f1d590, new Quest(0xa0f1d590, "PgConv")); - mStaticActors.Add(0xa0f1d591, new Quest(0xa0f1d591, "PgConv")); - mStaticActors.Add(0xa0f1d592, new Quest(0xa0f1d592, "PgConv")); - mStaticActors.Add(0xa0f1d593, new Quest(0xa0f1d593, "PgConv")); - mStaticActors.Add(0xa0f1d594, new Quest(0xa0f1d594, "PgConv")); - mStaticActors.Add(0xa0f1d595, new Quest(0xa0f1d595, "PgConv")); - mStaticActors.Add(0xa0f1d596, new Quest(0xa0f1d596, "PgConv")); - mStaticActors.Add(0xa0f1d597, new Quest(0xa0f1d597, "PgConv")); - mStaticActors.Add(0xa0f1d598, new Quest(0xa0f1d598, "PgConv")); - mStaticActors.Add(0xa0f1d599, new Quest(0xa0f1d599, "PgConv")); - mStaticActors.Add(0xa0f1d59a, new Quest(0xa0f1d59a, "PgConv")); - mStaticActors.Add(0xa0f1d59b, new Quest(0xa0f1d59b, "PgConv")); - mStaticActors.Add(0xa0f1d59c, new Quest(0xa0f1d59c, "PgConv")); - mStaticActors.Add(0xa0f1d59d, new Quest(0xa0f1d59d, "PgAeth")); - mStaticActors.Add(0xa0f1d59e, new Quest(0xa0f1d59e, "PgAeth")); - mStaticActors.Add(0xa0f1d59f, new Quest(0xa0f1d59f, "PgAeth")); - mStaticActors.Add(0xa0f1d5a0, new Quest(0xa0f1d5a0, "PgAeth")); - mStaticActors.Add(0xa0f1d5a1, new Quest(0xa0f1d5a1, "PgAeth")); - mStaticActors.Add(0xa0f1d5a2, new Quest(0xa0f1d5a2, "PgAeth")); - mStaticActors.Add(0xa0f1d5a3, new Quest(0xa0f1d5a3, "PgAeth")); - mStaticActors.Add(0xa0f1d5a4, new Quest(0xa0f1d5a4, "PgAeth")); - mStaticActors.Add(0xa0f1d5a5, new Quest(0xa0f1d5a5, "PgAeth")); - mStaticActors.Add(0xa0f1d5a6, new Quest(0xa0f1d5a6, "PgAeth")); - mStaticActors.Add(0xa0f1d5a7, new Quest(0xa0f1d5a7, "PgAeth")); - mStaticActors.Add(0xa0f1d5a8, new Quest(0xa0f1d5a8, "PgAeth")); - mStaticActors.Add(0xa0f1d5a9, new Quest(0xa0f1d5a9, "PgAeth")); - mStaticActors.Add(0xa0f1d5aa, new Quest(0xa0f1d5aa, "PgAeth")); - mStaticActors.Add(0xa0f1d5ab, new Quest(0xa0f1d5ab, "PgAeth")); - mStaticActors.Add(0xa0f1d5ac, new Quest(0xa0f1d5ac, "PgAeth")); - mStaticActors.Add(0xa0f1d5ad, new Quest(0xa0f1d5ad, "PgAeth")); - mStaticActors.Add(0xa0f1d5ae, new Quest(0xa0f1d5ae, "PgAeth")); - mStaticActors.Add(0xa0f1d5af, new Quest(0xa0f1d5af, "PgAeth")); - mStaticActors.Add(0xa0f1d5b0, new Quest(0xa0f1d5b0, "PgAeth")); - mStaticActors.Add(0xa0f1d5b1, new Quest(0xa0f1d5b1, "PgAeth")); - mStaticActors.Add(0xa0f1d5b2, new Quest(0xa0f1d5b2, "PgAeth")); - mStaticActors.Add(0xa0f1d5b3, new Quest(0xa0f1d5b3, "PgAeth")); - mStaticActors.Add(0xa0f1d5b4, new Quest(0xa0f1d5b4, "PgAeth")); - mStaticActors.Add(0xa0f1d5b5, new Quest(0xa0f1d5b5, "PgAeth")); - mStaticActors.Add(0xa0f1d5b6, new Quest(0xa0f1d5b6, "PgAeth")); - mStaticActors.Add(0xa0f1d5b7, new Quest(0xa0f1d5b7, "PgAeth")); - mStaticActors.Add(0xa0f1d5b8, new Quest(0xa0f1d5b8, "PgAeth")); - mStaticActors.Add(0xa0f1d651, new Quest(0xa0f1d651, "PgConv")); - mStaticActors.Add(0xa0f1d652, new Quest(0xa0f1d652, "PgConv")); - mStaticActors.Add(0xa0f1d653, new Quest(0xa0f1d653, "PgConv")); - mStaticActors.Add(0xa0f1d654, new Quest(0xa0f1d654, "PgConv")); - mStaticActors.Add(0xa0f1d655, new Quest(0xa0f1d655, "PgConv")); - mStaticActors.Add(0xa0f1d656, new Quest(0xa0f1d656, "PgConv")); - mStaticActors.Add(0xa0f1d657, new Quest(0xa0f1d657, "PgConv")); - mStaticActors.Add(0xa0f1d658, new Quest(0xa0f1d658, "PgConv")); - mStaticActors.Add(0xa0f1d659, new Quest(0xa0f1d659, "PgConv")); - mStaticActors.Add(0xa0f1d65a, new Quest(0xa0f1d65a, "PgConv")); - mStaticActors.Add(0xa0f1d65b, new Quest(0xa0f1d65b, "PgConv")); - mStaticActors.Add(0xa0f1d65c, new Quest(0xa0f1d65c, "PgConv")); - mStaticActors.Add(0xa0f1d65d, new Quest(0xa0f1d65d, "PgConv")); - mStaticActors.Add(0xa0f1d65e, new Quest(0xa0f1d65e, "PgConv")); - mStaticActors.Add(0xa0f1d65f, new Quest(0xa0f1d65f, "PgConv")); - mStaticActors.Add(0xa0f1d660, new Quest(0xa0f1d660, "PgConv")); - mStaticActors.Add(0xa0f1d661, new Quest(0xa0f1d661, "PgConv")); - mStaticActors.Add(0xa0f1d662, new Quest(0xa0f1d662, "PgConv")); - mStaticActors.Add(0xa0f1d663, new Quest(0xa0f1d663, "PgConv")); - mStaticActors.Add(0xa0f1d664, new Quest(0xa0f1d664, "PgConv")); - mStaticActors.Add(0xa0f1d665, new Quest(0xa0f1d665, "PgConv")); - mStaticActors.Add(0xa0f1d666, new Quest(0xa0f1d666, "PgConv")); - mStaticActors.Add(0xa0f1d667, new Quest(0xa0f1d667, "PgAeth")); - mStaticActors.Add(0xa0f1d668, new Quest(0xa0f1d668, "PgAeth")); - mStaticActors.Add(0xa0f1d669, new Quest(0xa0f1d669, "PgAeth")); - mStaticActors.Add(0xa0f1d66a, new Quest(0xa0f1d66a, "PgAeth")); - mStaticActors.Add(0xa0f1d66b, new Quest(0xa0f1d66b, "PgAeth")); - mStaticActors.Add(0xa0f1d66c, new Quest(0xa0f1d66c, "PgAeth")); - mStaticActors.Add(0xa0f1d66d, new Quest(0xa0f1d66d, "PgAeth")); - mStaticActors.Add(0xa0f1d66e, new Quest(0xa0f1d66e, "PgAeth")); - mStaticActors.Add(0xa0f1d66f, new Quest(0xa0f1d66f, "PgAeth")); - mStaticActors.Add(0xa0f1d670, new Quest(0xa0f1d670, "PgAeth")); - mStaticActors.Add(0xa0f1d671, new Quest(0xa0f1d671, "PgAeth")); - mStaticActors.Add(0xa0f1d672, new Quest(0xa0f1d672, "PgAeth")); - mStaticActors.Add(0xa0f1d673, new Quest(0xa0f1d673, "PgAeth")); - mStaticActors.Add(0xa0f1d674, new Quest(0xa0f1d674, "PgAeth")); - mStaticActors.Add(0xa0f1d675, new Quest(0xa0f1d675, "PgAeth")); - mStaticActors.Add(0xa0f1d676, new Quest(0xa0f1d676, "PgAeth")); - mStaticActors.Add(0xa0f1d677, new Quest(0xa0f1d677, "PgAeth")); - mStaticActors.Add(0xa0f1d678, new Quest(0xa0f1d678, "PgAeth")); - mStaticActors.Add(0xa0f1d679, new Quest(0xa0f1d679, "PgAeth")); - mStaticActors.Add(0xa0f1d67a, new Quest(0xa0f1d67a, "PgAeth")); - mStaticActors.Add(0xa0f1d67b, new Quest(0xa0f1d67b, "PgAeth")); - mStaticActors.Add(0xa0f1d67c, new Quest(0xa0f1d67c, "PgAeth")); - mStaticActors.Add(0xa0f1d67d, new Quest(0xa0f1d67d, "PgAeth")); - mStaticActors.Add(0xa0f1d67e, new Quest(0xa0f1d67e, "PgAeth")); - mStaticActors.Add(0xa0f1d67f, new Quest(0xa0f1d67f, "PgAeth")); - mStaticActors.Add(0xa0f1d680, new Quest(0xa0f1d680, "PgAeth")); - mStaticActors.Add(0xa0f1d681, new Quest(0xa0f1d681, "PgAeth")); - mStaticActors.Add(0xa0f1d682, new Quest(0xa0f1d682, "PgAeth")); - mStaticActors.Add(0xa0f1d683, new Quest(0xa0f1d683, "PgAeth")); - mStaticActors.Add(0xa0f1d684, new Quest(0xa0f1d684, "PgAeth")); - mStaticActors.Add(0xa0f1d8c2, new Quest(0xa0f1d8c2, "PgAcce")); - mStaticActors.Add(0xa0f1d8c3, new Quest(0xa0f1d8c3, "PgHarvestPointEncounter")); - mStaticActors.Add(0xa0f2bf21, new Quest(0xa0f2bf21, "SceTestTxt")); - mStaticActors.Add(0xa0f2bf22, new Quest(0xa0f2bf22, "TestScenarioB")); - mStaticActors.Add(0xa0f2bf23, new Quest(0xa0f2bf23, "TestScenarioC")); - mStaticActors.Add(0xa0f2bf24, new Quest(0xa0f2bf24, "TestScenarioD")); - mStaticActors.Add(0xa0f2bf25, new Quest(0xa0f2bf25, "SceAlphaA")); - mStaticActors.Add(0xa0f2bf26, new Quest(0xa0f2bf26, "SceCutTest")); - mStaticActors.Add(0xa0f2bf27, new Quest(0xa0f2bf27, "DftAlphaA")); - mStaticActors.Add(0xa0f2bf28, new Quest(0xa0f2bf28, "SceDummy01")); - mStaticActors.Add(0xa0f2bf29, new Quest(0xa0f2bf29, "SceDummy02")); - mStaticActors.Add(0xa0f2bf2a, new Quest(0xa0f2bf2a, "SceDummy03")); - mStaticActors.Add(0xa0f2bf2b, new Quest(0xa0f2bf2b, "SceDummy04")); - mStaticActors.Add(0xa0f2bf2c, new Quest(0xa0f2bf2c, "SceDummy05")); - mStaticActors.Add(0xa0f2bf2d, new Quest(0xa0f2bf2d, "SceDummy06")); - mStaticActors.Add(0xa0f2bf2e, new Quest(0xa0f2bf2e, "SceDummy07")); - mStaticActors.Add(0xa0f2bf2f, new Quest(0xa0f2bf2f, "SceDummy08")); - mStaticActors.Add(0xa0f2bf30, new Quest(0xa0f2bf30, "SceDummy09")); - mStaticActors.Add(0xa0f2bf31, new Quest(0xa0f2bf31, "SceDummy10")); - mStaticActors.Add(0xa0f2bf32, new Quest(0xa0f2bf32, "SceDummy11")); - mStaticActors.Add(0xa0f2bf33, new Quest(0xa0f2bf33, "SceDummy12")); - mStaticActors.Add(0xa0f2bf34, new Quest(0xa0f2bf34, "SceDummy13")); - mStaticActors.Add(0xa0f2bf35, new Quest(0xa0f2bf35, "SceDummy14")); - mStaticActors.Add(0xa0f2bf36, new Quest(0xa0f2bf36, "SceDummy15")); - mStaticActors.Add(0xa0f2bf37, new Quest(0xa0f2bf37, "SceDummy16")); - mStaticActors.Add(0xa0f2bf38, new Quest(0xa0f2bf38, "SceDummy17")); - mStaticActors.Add(0xa0f2bf39, new Quest(0xa0f2bf39, "SceDummy18")); - mStaticActors.Add(0xa0f2bf3a, new Quest(0xa0f2bf3a, "SceDummy19")); - mStaticActors.Add(0xa0f2bf3b, new Quest(0xa0f2bf3b, "SceDummy20")); - mStaticActors.Add(0xa0f2bf3c, new Quest(0xa0f2bf3c, "SceDummy21")); - mStaticActors.Add(0xa0f2bf3d, new Quest(0xa0f2bf3d, "SceDummy22")); - mStaticActors.Add(0xa0f2bf3e, new Quest(0xa0f2bf3e, "SceDummy23")); - mStaticActors.Add(0xa0f2bf3f, new Quest(0xa0f2bf3f, "SceDummy24")); - mStaticActors.Add(0xa0f2bf40, new Quest(0xa0f2bf40, "SceDummy25")); - mStaticActors.Add(0xa0f2bf41, new Quest(0xa0f2bf41, "SceDummy26")); - mStaticActors.Add(0xa0f2bf42, new Quest(0xa0f2bf42, "SceDummy27")); - mStaticActors.Add(0xa0f2bf43, new Quest(0xa0f2bf43, "SceDummy28")); - mStaticActors.Add(0xa0f2bf44, new Quest(0xa0f2bf44, "SceDummy29")); - mStaticActors.Add(0xa0f2bf45, new Quest(0xa0f2bf45, "SceDummy30")); - mStaticActors.Add(0xa0f2bf46, new Quest(0xa0f2bf46, "SceDummy31")); - mStaticActors.Add(0xa0f2bf47, new Quest(0xa0f2bf47, "SceDummy32")); + while (binReader.BaseStream.Position != binReader.BaseStream.Length) + { + uint id = Utils.swapEndian(binReader.ReadUInt32()) | 0xA0F00000; + List list = new List(); + byte readByte; + + while ((readByte = binReader.ReadByte()) != 0) + list.Add(readByte); + + string output = Encoding.UTF8.GetString(list.ToArray()); + string actorType = output.Split('/')[1]; + string actorName = output.Substring(1 + output.LastIndexOf("/")); + + if (actorType.Equals("Command")) + mStaticActors.Add(id, new Command(id, actorName)); + else if (actorType.Equals("Quest")) + mStaticActors.Add(id, new Quest(id, actorName)); + //else if (actorType.Equals("Status")) + //mStaticActors.Add(id, new Status(id, actorName)); + else if (actorType.Equals("Judge")) + mStaticActors.Add(id, new Judge(id, actorName)); + + } + + + } + } + } + catch(FileNotFoundException e) + { Log.error("Could not find staticactors file."); return false; } + + Log.info(String.Format("Loaded {0} static actors.", mStaticActors.Count())); + + return true; } public bool exists(uint actorId) @@ -869,7 +82,10 @@ namespace FFXIVClassic_Map_Server.Actors public Actor getActor(uint actorId) { - return mStaticActors[actorId]; + if (mStaticActors.ContainsKey(actorId)) + return mStaticActors[actorId]; + else + return null; } } diff --git a/FFXIVClassic Map Server/actors/chara/npc/Npc.cs b/FFXIVClassic Map Server/actors/chara/npc/Npc.cs index 7df73935..b5a3b754 100644 --- a/FFXIVClassic Map Server/actors/chara/npc/Npc.cs +++ b/FFXIVClassic Map Server/actors/chara/npc/Npc.cs @@ -18,10 +18,13 @@ namespace FFXIVClassic_Map_Server.Actors { class Npc : Character { - public Npc(uint id, string actorName, uint zoneId, uint actorTemplateId, float posX, float posY, float posZ, float rot, ushort actorState, uint animationId, string className) + private uint actorClassId; + + public Npc(uint id, string actorName, uint zoneId, float posX, float posY, float posZ, float rot, ushort actorState, uint animationId, uint displayNameId, string customDisplayName, string className) : base(id) { this.actorName = actorName; + this.actorClassId = id; this.positionX = posX; this.positionY = posY; this.positionZ = posZ; @@ -34,7 +37,7 @@ namespace FFXIVClassic_Map_Server.Actors this.zoneId = zoneId; - loadNpcTemplate(actorTemplateId); + loadNpcTemplate(id); } public SubPacket createAddActorPacket(uint playerActorId) @@ -51,7 +54,10 @@ namespace FFXIVClassic_Map_Server.Actors lParams = lua.doActorOnInstantiate(player, this); if (lParams == null) + { + className = "PopulaceStandard"; lParams = LuaUtils.createLuaParamList("/Chara/Npc/Populace/PopulaceStandard", false, false, false, false, false, 0xF47F6, false, false, 0, 1, "TEST"); + } return ActorInstantiatePacket.buildPacket(actorId, playerActorId, actorName, className, lParams); } @@ -75,6 +81,11 @@ namespace FFXIVClassic_Map_Server.Actors return BasePacket.createPacket(subpackets, true, false); } + public uint getActorClassId() + { + return actorClassId; + } + public void loadNpcTemplate(uint id) { using (MySqlConnection conn = new MySqlConnection(String.Format("Server={0}; Port={1}; Database={2}; UID={3}; Password={4}", ConfigConstants.DATABASE_HOST, ConfigConstants.DATABASE_PORT, ConfigConstants.DATABASE_NAME, ConfigConstants.DATABASE_USERNAME, ConfigConstants.DATABASE_PASSWORD))) @@ -84,9 +95,7 @@ namespace FFXIVClassic_Map_Server.Actors conn.Open(); string query = @" - SELECT - displayNameId, - customDisplayName, + SELECT base, size, hairStyle, @@ -126,9 +135,8 @@ namespace FFXIVClassic_Map_Server.Actors rightIndex, leftFinger, rightFinger - FROM gamedata_actor_templates - INNER JOIN gamedata_actor_appearance ON gamedata_actor_templates.id = gamedata_actor_appearance.id - WHERE gamedata_actor_templates.id = @templateId + FROM gamedata_actor_appearance + WHERE id = @templateId "; MySqlCommand cmd = new MySqlCommand(query, conn); @@ -139,35 +147,25 @@ namespace FFXIVClassic_Map_Server.Actors while (reader.Read()) { - //Handle Name - - if (reader.IsDBNull(1)) - displayNameId = reader.GetUInt32(0); - else - { - customDisplayName = reader.GetString(1); - displayNameId = 0xFFFFFFF; - } - //Handle Appearance - modelId = reader.GetUInt32(2); - appearanceIds[Character.SIZE] = reader.GetUInt32(3); - appearanceIds[Character.COLORINFO] = (uint)(reader.GetUInt32(18) | (reader.GetUInt32(17) << 10) | (reader.GetUInt32(19) << 20)); //17 - Skin Color, 16 - Hair Color, 18 - Eye Color - appearanceIds[Character.FACEINFO] = PrimitiveConversion.ToUInt32(CharacterUtils.getFaceInfo(reader.GetByte(8), reader.GetByte(9), reader.GetByte(7), reader.GetByte(16), reader.GetByte(15), reader.GetByte(14), reader.GetByte(13), reader.GetByte(12), reader.GetByte(11), reader.GetByte(10))); - appearanceIds[Character.HIGHLIGHT_HAIR] = (uint)(reader.GetUInt32(5) | reader.GetUInt32(4) << 10); //5- Hair Highlight, 4 - Hair Style - appearanceIds[Character.VOICE] = reader.GetUInt32(19); - appearanceIds[Character.WEAPON1] = reader.GetUInt32(21); + modelId = reader.GetUInt32(0); + appearanceIds[Character.SIZE] = reader.GetUInt32(1); + appearanceIds[Character.COLORINFO] = (uint)(reader.GetUInt32(16) | (reader.GetUInt32(15) << 10) | (reader.GetUInt32(17) << 20)); //17 - Skin Color, 16 - Hair Color, 18 - Eye Color + appearanceIds[Character.FACEINFO] = PrimitiveConversion.ToUInt32(CharacterUtils.getFaceInfo(reader.GetByte(6), reader.GetByte(7), reader.GetByte(5), reader.GetByte(14), reader.GetByte(13), reader.GetByte(12), reader.GetByte(11), reader.GetByte(10), reader.GetByte(9), reader.GetByte(8))); + appearanceIds[Character.HIGHLIGHT_HAIR] = (uint)(reader.GetUInt32(3) | reader.GetUInt32(2) << 10); //5- Hair Highlight, 4 - Hair Style + appearanceIds[Character.VOICE] = reader.GetUInt32(17); + appearanceIds[Character.WEAPON1] = reader.GetUInt32(19); //appearanceIds[Character.WEAPON2] = reader.GetUInt32(22); - appearanceIds[Character.HEADGEAR] = reader.GetUInt32(28); - appearanceIds[Character.BODYGEAR] = reader.GetUInt32(29); - appearanceIds[Character.LEGSGEAR] = reader.GetUInt32(30); - appearanceIds[Character.HANDSGEAR] = reader.GetUInt32(31); - appearanceIds[Character.FEETGEAR] = reader.GetUInt32(32); - appearanceIds[Character.WAISTGEAR] = reader.GetUInt32(33); - appearanceIds[Character.R_EAR] = reader.GetUInt32(34); - appearanceIds[Character.L_EAR] = reader.GetUInt32(35); - appearanceIds[Character.R_FINGER] = reader.GetUInt32(38); - appearanceIds[Character.L_FINGER] = reader.GetUInt32(39); + appearanceIds[Character.HEADGEAR] = reader.GetUInt32(26); + appearanceIds[Character.BODYGEAR] = reader.GetUInt32(27); + appearanceIds[Character.LEGSGEAR] = reader.GetUInt32(28); + appearanceIds[Character.HANDSGEAR] = reader.GetUInt32(29); + appearanceIds[Character.FEETGEAR] = reader.GetUInt32(30); + appearanceIds[Character.WAISTGEAR] = reader.GetUInt32(31); + appearanceIds[Character.R_EAR] = reader.GetUInt32(32); + appearanceIds[Character.L_EAR] = reader.GetUInt32(33); + appearanceIds[Character.R_FINGER] = reader.GetUInt32(36); + appearanceIds[Character.L_FINGER] = reader.GetUInt32(37); } } diff --git a/FFXIVClassic Map Server/lua/LuaEngine.cs b/FFXIVClassic Map Server/lua/LuaEngine.cs index 6c368b90..823efbfa 100644 --- a/FFXIVClassic Map Server/lua/LuaEngine.cs +++ b/FFXIVClassic Map Server/lua/LuaEngine.cs @@ -18,7 +18,7 @@ namespace FFXIVClassic_Map_Server.lua { class LuaEngine { - const string FILEPATH_COMMANDS = "./scripts/command/{0}.lua"; + const string FILEPATH_COMMANDS = "./scripts/commands/{0}.lua"; const string FILEPATH_NPCS = "./scripts/zones/{0}/npcs/{1}.lua"; public LuaEngine() @@ -38,7 +38,7 @@ namespace FFXIVClassic_Map_Server.lua Script script = new Script(); script.Globals["getStaticActor"] = (Func)Server.getStaticActors; script.DoFile(luaPath); - DynValue result = script.Call(script.Globals["onInstantiate"], player, target); + DynValue result = script.Call(script.Globals["onInstantiate"], target); List lparams = LuaUtils.createLuaParamList(result); return lparams; } @@ -109,7 +109,16 @@ namespace FFXIVClassic_Map_Server.lua Script script = new Script(); script.Globals["getStaticActor"] = (Func)Server.getStaticActors; script.DoFile(luaPath); - DynValue result = script.Call(script.Globals["onEventUpdate"], player, target, eventUpdate.step, eventUpdate.luaParams); + + //Have to do this to combine LuaParams + List objects = new List(); + objects.Add(player); + objects.Add(target); + objects.Add(eventUpdate.step); + objects.AddRange(LuaUtils.createLuaParamObjectList(eventUpdate.luaParams)); + + //Run Script + DynValue result = script.Call(script.Globals["onEventUpdate"], objects.ToArray()); } else { @@ -117,7 +126,7 @@ namespace FFXIVClassic_Map_Server.lua sendError.Add(EndEventPacket.buildPacket(player.actorId, player.playerSession.eventCurrentOwner, player.playerSession.eventCurrentStarter)); player.sendMessage(SendMessagePacket.MESSAGE_TYPE_SYSTEM_ERROR, "", String.Format("ERROR: Could not find script for actor {0}.", target.getName())); player.playerSession.queuePacket(BasePacket.createPacket(sendError, true, false)); - } + } } else if (target is Npc) { diff --git a/FFXIVClassic Map Server/lua/LuaUtils.cs b/FFXIVClassic Map Server/lua/LuaUtils.cs index fda2c962..42384739 100644 --- a/FFXIVClassic Map Server/lua/LuaUtils.cs +++ b/FFXIVClassic Map Server/lua/LuaUtils.cs @@ -267,6 +267,11 @@ namespace FFXIVClassic_Map_Server else if (o is int) { luaParams.Add(new LuaParam(0x0, (int)o)); + } + else if (o is double) + { + if (((double)o) % 1 == 0) + luaParams.Add(new LuaParam(0x0, (uint)(double)o)); } else if (o is string) { @@ -302,6 +307,9 @@ namespace FFXIVClassic_Map_Server public static string dumpParams(List lParams) { + if (lParams == null) + return "Param list was null?"; + string dumpString = ""; for (int i = 0; i < lParams.Count; i++) { diff --git a/FFXIVClassic Map Server/packets/receive/events/EventStartPacket.cs b/FFXIVClassic Map Server/packets/receive/events/EventStartPacket.cs index daac2e08..aa3b3de0 100644 --- a/FFXIVClassic Map Server/packets/receive/events/EventStartPacket.cs +++ b/FFXIVClassic Map Server/packets/receive/events/EventStartPacket.cs @@ -19,7 +19,6 @@ namespace FFXIVClassic_Map_Server.packets.receive.events public uint scriptOwnerActorID; public uint val1; public uint val2; - public byte val3; public string eventStarter; @@ -47,12 +46,7 @@ namespace FFXIVClassic_Map_Server.packets.receive.events } eventStarter = Encoding.ASCII.GetString(strList.ToArray()); - binReader.ReadUInt32(); - binReader.ReadUInt32(); - binReader.ReadUInt32(); - binReader.ReadUInt32(); - - binReader.ReadByte(); + binReader.BaseStream.Seek(0x31, SeekOrigin.Begin); luaParams = LuaUtils.readLuaParams(binReader); }