1
Fork 0
mirror of https://bitbucket.org/Ioncannon/project-meteor-server.git synced 2025-04-23 05:07:47 +00:00

More static actors loaded and can be accessed anywhere. Improved lua scripting to allow small talk.

This commit is contained in:
Filip Maj 2016-01-25 01:10:43 -05:00
parent 300748668f
commit 789df97d48
16 changed files with 882 additions and 28 deletions

View file

@ -68,6 +68,7 @@
<Compile Include="actors\director\WeatherDirector.cs" /> <Compile Include="actors\director\WeatherDirector.cs" />
<Compile Include="actors\EventList.cs" /> <Compile Include="actors\EventList.cs" />
<Compile Include="actors\judge\Judge.cs" /> <Compile Include="actors\judge\Judge.cs" />
<Compile Include="actors\quest\Quest.cs" />
<Compile Include="actors\StaticActors.cs" /> <Compile Include="actors\StaticActors.cs" />
<Compile Include="actors\world\WorldMaster.cs" /> <Compile Include="actors\world\WorldMaster.cs" />
<Compile Include="ClientConnection.cs" /> <Compile Include="ClientConnection.cs" />

View file

@ -194,7 +194,7 @@ namespace FFXIVClassic_Lobby_Server
//Update Position //Update Position
UpdatePlayerPositionPacket posUpdate = new UpdatePlayerPositionPacket(subpacket.data); UpdatePlayerPositionPacket posUpdate = new UpdatePlayerPositionPacket(subpacket.data);
player.updatePlayerActorPosition(posUpdate.x, posUpdate.y, posUpdate.z, posUpdate.rot, posUpdate.moveState); player.updatePlayerActorPosition(posUpdate.x, posUpdate.y, posUpdate.z, posUpdate.rot, posUpdate.moveState);
//Update Instance //Update Instance
List<BasePacket> instanceUpdatePackets = player.updateInstance(player.getActor().zone.getActorsAroundActor(player.getActor(), 50)); List<BasePacket> instanceUpdatePackets = player.updateInstance(player.getActor().zone.getActorsAroundActor(player.getActor(), 50));
foreach (BasePacket bp in instanceUpdatePackets) foreach (BasePacket bp in instanceUpdatePackets)

View file

@ -8,6 +8,8 @@ using MySql.Data.MySqlClient;
using System.Reflection; using System.Reflection;
using System.IO; using System.IO;
using FFXIVClassic_Lobby_Server.dataobjects; using FFXIVClassic_Lobby_Server.dataobjects;
using System.Collections.Generic;
using System.Text;
namespace FFXIVClassic_Lobby_Server namespace FFXIVClassic_Lobby_Server
{ {
@ -15,7 +17,7 @@ namespace FFXIVClassic_Lobby_Server
{ {
static void Main(string[] args) static void Main(string[] args)
{ {
#if DEBUG #if DEBUG
TextWriterTraceListener myWriter = new TextWriterTraceListener(System.Console.Out); TextWriterTraceListener myWriter = new TextWriterTraceListener(System.Console.Out);
Debug.Listeners.Add(myWriter); Debug.Listeners.Add(myWriter);

View file

@ -33,7 +33,7 @@ namespace FFXIVClassic_Lobby_Server
private List<ClientConnection> mConnectionList = new List<ClientConnection>(); private List<ClientConnection> mConnectionList = new List<ClientConnection>();
private LuaEngine mLuaEngine = new LuaEngine(); private LuaEngine mLuaEngine = new LuaEngine();
private WorldManager mWorldManager; private WorldManager mWorldManager;
private StaticActors mStaticActors = new StaticActors(); private static StaticActors mStaticActors = new StaticActors();
private PacketProcessor mProcessor; private PacketProcessor mProcessor;
private Thread mProcessorThread; private Thread mProcessorThread;
private Thread mGameThread; private Thread mGameThread;
@ -143,6 +143,14 @@ namespace FFXIVClassic_Lobby_Server
} }
} }
public static Actor getStaticActors(string name)
{
if (mStaticActors == null)
mStaticActors = new StaticActors();
return mStaticActors.findStaticActor(name);
}
/// <summary> /// <summary>
/// Receive Callback. Reads in incoming data, converting them to base packets. Base packets are sent to be parsed. If not enough data at the end to build a basepacket, move to the beginning and prepend. /// Receive Callback. Reads in incoming data, converting them to base packets. Base packets are sent to be parsed. If not enough data at the end to build a basepacket, move to the beginning and prepend.
/// </summary> /// </summary>

View file

@ -54,9 +54,9 @@ namespace FFXIVClassic_Map_Server.Actors
this.classParams = classParams; this.classParams = classParams;
} }
public SubPacket createAddActorPacket(uint playerActorId) public SubPacket createAddActorPacket(uint playerActorId, byte val)
{ {
return AddActorPacket.buildPacket(actorId, playerActorId, 0); return AddActorPacket.buildPacket(actorId, playerActorId, val);
} }
public SubPacket createNamePacket(uint playerActorId) public SubPacket createNamePacket(uint playerActorId)
@ -77,7 +77,12 @@ namespace FFXIVClassic_Map_Server.Actors
else if (playerActorId == actorId) else if (playerActorId == actorId)
spawnPacket = SetActorPositionPacket.buildPacket(actorId, playerActorId, 0xFFFFFFFF, positionX, positionY, positionZ, rotation, spawnType, true); spawnPacket = SetActorPositionPacket.buildPacket(actorId, playerActorId, 0xFFFFFFFF, positionX, positionY, positionZ, rotation, spawnType, true);
else else
spawnPacket = SetActorPositionPacket.buildPacket(actorId, playerActorId, actorId, positionX, positionY, positionZ, rotation, spawnType, false); {
if (this is Player)
spawnPacket = SetActorPositionPacket.buildPacket(actorId, playerActorId, 0, positionX, positionY, positionZ, rotation, spawnType, false);
else
spawnPacket = SetActorPositionPacket.buildPacket(actorId, playerActorId, actorId, positionX, positionY, positionZ, rotation, spawnType, false);
}
//return SetActorPositionPacket.buildPacket(actorId, playerActorId, -211.895477f, 190.000000f, 29.651011f, 2.674819f, SetActorPositionPacket.SPAWNTYPE_PLAYERWAKE); //return SetActorPositionPacket.buildPacket(actorId, playerActorId, -211.895477f, 190.000000f, 29.651011f, 2.674819f, SetActorPositionPacket.SPAWNTYPE_PLAYERWAKE);
spawnedFirstTime = true; spawnedFirstTime = true;
@ -170,7 +175,7 @@ namespace FFXIVClassic_Map_Server.Actors
public virtual BasePacket getSpawnPackets(uint playerActorId, uint spawnType) public virtual BasePacket getSpawnPackets(uint playerActorId, uint spawnType)
{ {
List<SubPacket> subpackets = new List<SubPacket>(); List<SubPacket> subpackets = new List<SubPacket>();
subpackets.Add(createAddActorPacket(playerActorId)); subpackets.Add(createAddActorPacket(playerActorId, 8));
subpackets.AddRange(getEventConditionPackets(playerActorId)); subpackets.AddRange(getEventConditionPackets(playerActorId));
subpackets.Add(createSpeedPacket(playerActorId)); subpackets.Add(createSpeedPacket(playerActorId));
subpackets.Add(createSpawnPositonPacket(playerActorId, spawnType)); subpackets.Add(createSpawnPositonPacket(playerActorId, spawnType));

View file

@ -9,17 +9,32 @@ namespace FFXIVClassic_Map_Server.Actors
{ {
class StaticActors class StaticActors
{ {
private Dictionary<uint, Actor> mStaticActors = new Dictionary<uint, Actor>(); private Dictionary<uint, Actor> mStaticActors = new Dictionary<uint, Actor>();
public StaticActors() public StaticActors()
{ {
//Judges //Judges
mStaticActors.Add(0xA0F5BAF1, new Judge(0x4BAF1, "JudgeMaster")); mStaticActors.Add(0xa0f4baf1, new Judge(0xa0f4baf1, "JudgeMaster"));
mStaticActors.Add(0xA0F5E201, new Judge(0x4E201, "CommonJudge")); mStaticActors.Add(0xa0f4e201, new Judge(0xa0f4e201, "CommonJudge"));
mStaticActors.Add(0xA0F5E206, new Judge(0x4E206, "TutorialJudge")); mStaticActors.Add(0xa0f4e202, new Judge(0xa0f4e202, "BattleJudge"));
mStaticActors.Add(0xA0F5E20D, new Judge(0x4E20D, "ChocoboJudge")); mStaticActors.Add(0xa0f4e203, new Judge(0xa0f4e203, "CraftJudge"));
mStaticActors.Add(0xA0F50911, new Judge(0x50911, "DeceptionJudge")); 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 //Commands
mStaticActors.Add(0xA0F02EE2, new Command(0xA0F02EE2, "ResetOccupiedCommand")); mStaticActors.Add(0xA0F02EE2, new Command(0xA0F02EE2, "ResetOccupiedCommand"));
mStaticActors.Add(0xA0F02EE3, new Command(0xA0F02EE3, "CombinationManagementCommand")); mStaticActors.Add(0xA0F02EE3, new Command(0xA0F02EE3, "CombinationManagementCommand"));
@ -90,13 +105,750 @@ namespace FFXIVClassic_Map_Server.Actors
mStaticActors.Add(0xA0F05EED, new Command(0xA0F05EED, "PlaceDrivenCommand")); mStaticActors.Add(0xA0F05EED, new Command(0xA0F05EED, "PlaceDrivenCommand"));
mStaticActors.Add(0xA0F05EEE, new Command(0xA0F05EEE, "ContentCommand")); mStaticActors.Add(0xA0F05EEE, new Command(0xA0F05EEE, "ContentCommand"));
mStaticActors.Add(0xA0F05EEF, new Command(0xA0F05EEF, "ConfirmGroupCommand")); mStaticActors.Add(0xA0F05EEF, new Command(0xA0F05EEF, "ConfirmGroupCommand"));
mStaticActors.Add(0xA0F05EF0, new Command(0xA0F05EF0, "ConfirmWarpCOmmand")); mStaticActors.Add(0xA0F05EF0, new Command(0xA0F05EF0, "ConfirmWarpCommand"));
mStaticActors.Add(0xA0F05EF1, new Command(0xA0F05EF1, "ConfirmTradeCommand")); mStaticActors.Add(0xA0F05EF1, new Command(0xA0F05EF1, "ConfirmTradeCommand"));
mStaticActors.Add(0xA0F05EF2, new Command(0xA0F05EF2, "ConfirmRaiseCommand")); mStaticActors.Add(0xA0F05EF2, new Command(0xA0F05EF2, "ConfirmRaiseCommand"));
mStaticActors.Add(0xA0F05EF8, new Command(0xA0F05EF8, "EmoteSitCommand ")); mStaticActors.Add(0xA0F05EF8, new Command(0xA0F05EF8, "EmoteSitCommand "));
mStaticActors.Add(0xA0F06A0E, new Command(0xA0F06A0E, "AttackWeaponSKill")); mStaticActors.Add(0xA0F06A0E, new Command(0xA0F06A0E, "AttackWeaponSKill"));
mStaticActors.Add(0xA0F07339, new Command(0xA0F07339, "NegotiateCommand")); mStaticActors.Add(0xA0F07339, new Command(0xA0F07339, "NegotiateCommand"));
mStaticActors.Add(0xA0F07595, new Command(0xA0F07595, "DebugInputCommand")); mStaticActors.Add(0xA0F07595, new Command(0xA0F07595, "DebugInputCommand"));
//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"));
} }
public bool exists(uint actorId) public bool exists(uint actorId)
@ -104,6 +856,17 @@ namespace FFXIVClassic_Map_Server.Actors
return mStaticActors[actorId] != null; return mStaticActors[actorId] != null;
} }
public Actor findStaticActor(string name)
{
foreach (Actor a in mStaticActors.Values)
{
if (a.actorName.Equals(name))
return a;
}
return null;
}
public Actor getActor(uint actorId) public Actor getActor(uint actorId)
{ {
return mStaticActors[actorId]; return mStaticActors[actorId];

View file

@ -75,7 +75,7 @@ namespace FFXIVClassic_Map_Server.Actors
public override BasePacket getSpawnPackets(uint playerActorId) public override BasePacket getSpawnPackets(uint playerActorId)
{ {
List<SubPacket> subpackets = new List<SubPacket>(); List<SubPacket> subpackets = new List<SubPacket>();
subpackets.Add(createAddActorPacket(playerActorId)); subpackets.Add(createAddActorPacket(playerActorId, 0));
subpackets.Add(createSpeedPacket(playerActorId)); subpackets.Add(createSpeedPacket(playerActorId));
subpackets.Add(createSpawnPositonPacket(playerActorId, 0x1)); subpackets.Add(createSpawnPositonPacket(playerActorId, 0x1));
subpackets.Add(createNamePacket(playerActorId)); subpackets.Add(createNamePacket(playerActorId));
@ -175,9 +175,10 @@ namespace FFXIVClassic_Map_Server.Actors
return; return;
lock (mActorBlock) lock (mActorBlock)
{
mActorBlock[gridOldX, gridOldY].Remove(actor); mActorBlock[gridOldX, gridOldY].Remove(actor);
lock (mActorBlock)
mActorBlock[gridX, gridY].Add(actor); mActorBlock[gridX, gridY].Add(actor);
}
} }
public List<Actor> getActorsAroundPoint(float x, float y, int checkDistance) public List<Actor> getActorsAroundPoint(float x, float y, int checkDistance)

View file

@ -151,7 +151,7 @@ namespace FFXIVClassic_Map_Server.Actors
public override BasePacket getSpawnPackets(uint playerActorId, uint spawnType) public override BasePacket getSpawnPackets(uint playerActorId, uint spawnType)
{ {
List<SubPacket> subpackets = new List<SubPacket>(); List<SubPacket> subpackets = new List<SubPacket>();
subpackets.Add(createAddActorPacket(playerActorId)); subpackets.Add(createAddActorPacket(playerActorId, 8));
if (isMyPlayer(playerActorId)) if (isMyPlayer(playerActorId))
subpackets.AddRange(create0x132Packets(playerActorId)); subpackets.AddRange(create0x132Packets(playerActorId));
subpackets.Add(createSpeedPacket(playerActorId)); subpackets.Add(createSpeedPacket(playerActorId));
@ -617,7 +617,9 @@ namespace FFXIVClassic_Map_Server.Actors
public void runEventFunction(string functionName, params object[] parameters) public void runEventFunction(string functionName, params object[] parameters)
{ {
List<LuaParam> lParams = LuaUtils.createLuaParamList(parameters); List<LuaParam> lParams = LuaUtils.createLuaParamList(parameters);
queuePacket(RunEventFunctionPacket.buildPacket(actorId, playerSession.eventCurrentOwner, playerSession.eventCurrentStarter, functionName, lParams)); SubPacket spacket = RunEventFunctionPacket.buildPacket(actorId, playerSession.eventCurrentOwner, playerSession.eventCurrentStarter, functionName, lParams);
spacket.debugPrintSubPacket();
queuePacket(spacket);
} }
public void endEvent() public void endEvent()

View file

@ -33,7 +33,7 @@ namespace FFXIVClassic_Map_Server.Actors
public override BasePacket getSpawnPackets(uint playerActorId) public override BasePacket getSpawnPackets(uint playerActorId)
{ {
List<SubPacket> subpackets = new List<SubPacket>(); List<SubPacket> subpackets = new List<SubPacket>();
subpackets.Add(createAddActorPacket(playerActorId)); subpackets.Add(createAddActorPacket(playerActorId, 0));
subpackets.Add(createSpeedPacket(playerActorId)); subpackets.Add(createSpeedPacket(playerActorId));
subpackets.Add(createSpawnPositonPacket(playerActorId, 0x1)); subpackets.Add(createSpawnPositonPacket(playerActorId, 0x1));
subpackets.Add(createNamePacket(playerActorId)); subpackets.Add(createNamePacket(playerActorId));

View file

@ -36,7 +36,7 @@ namespace FFXIVClassic_Map_Server.Actors
public override BasePacket getSpawnPackets(uint playerActorId) public override BasePacket getSpawnPackets(uint playerActorId)
{ {
List<SubPacket> subpackets = new List<SubPacket>(); List<SubPacket> subpackets = new List<SubPacket>();
subpackets.Add(createAddActorPacket(playerActorId)); subpackets.Add(createAddActorPacket(playerActorId, 0));
subpackets.Add(createSpeedPacket(playerActorId)); subpackets.Add(createSpeedPacket(playerActorId));
subpackets.Add(createSpawnPositonPacket(playerActorId, 0x1)); subpackets.Add(createSpawnPositonPacket(playerActorId, 0x1));
subpackets.Add(createNamePacket(playerActorId)); subpackets.Add(createNamePacket(playerActorId));

View file

@ -0,0 +1,19 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace FFXIVClassic_Map_Server.Actors
{
class Quest : Actor
{
public Quest(uint actorID, string name)
: base(actorID)
{
actorName = name;
}
}
}

View file

@ -31,7 +31,7 @@ namespace FFXIVClassic_Map_Server.Actors
public override BasePacket getSpawnPackets(uint playerActorId) public override BasePacket getSpawnPackets(uint playerActorId)
{ {
List<SubPacket> subpackets = new List<SubPacket>(); List<SubPacket> subpackets = new List<SubPacket>();
subpackets.Add(createAddActorPacket(playerActorId)); subpackets.Add(createAddActorPacket(playerActorId, 0));
subpackets.Add(createSpeedPacket(playerActorId)); subpackets.Add(createSpeedPacket(playerActorId));
subpackets.Add(createSpawnPositonPacket(playerActorId, 0x1)); subpackets.Add(createSpawnPositonPacket(playerActorId, 0x1));
subpackets.Add(createNamePacket(playerActorId)); subpackets.Add(createNamePacket(playerActorId));

View file

@ -72,13 +72,20 @@ namespace FFXIVClassic_Map_Server.dataobjects
} }
public void updatePlayerActorPosition(float x, float y, float z, float rot, ushort moveState) public void updatePlayerActorPosition(float x, float y, float z, float rot, ushort moveState)
{ {
playerActor.oldPositionX = playerActor.positionX;
playerActor.oldPositionY = playerActor.positionY;
playerActor.oldPositionZ = playerActor.positionZ;
playerActor.oldRotation = playerActor.rotation;
playerActor.positionX = x; playerActor.positionX = x;
playerActor.positionY = y; playerActor.positionY = y;
playerActor.positionZ = z; playerActor.positionZ = z;
playerActor.rotation = rot; playerActor.rotation = rot;
playerActor.moveState = moveState; playerActor.moveState = moveState;
getActor().zone.updateActorPosition(getActor());
} }

View file

@ -1,4 +1,5 @@
using FFXIVClassic_Lobby_Server.packets; using FFXIVClassic_Lobby_Server;
using FFXIVClassic_Lobby_Server.packets;
using FFXIVClassic_Map_Server.Actors; using FFXIVClassic_Map_Server.Actors;
using FFXIVClassic_Map_Server.dataobjects; using FFXIVClassic_Map_Server.dataobjects;
using FFXIVClassic_Map_Server.packets.receive.events; using FFXIVClassic_Map_Server.packets.receive.events;
@ -35,6 +36,7 @@ namespace FFXIVClassic_Map_Server.lua
if (File.Exists(luaPath)) if (File.Exists(luaPath))
{ {
Script script = new Script(); Script script = new Script();
script.Globals["getStaticActor"] = (Func<string, Actor>)Server.getStaticActors;
script.DoFile(luaPath); script.DoFile(luaPath);
DynValue result = script.Call(script.Globals["onInstantiate"], player, target); DynValue result = script.Call(script.Globals["onInstantiate"], player, target);
List<LuaParam> lparams = LuaUtils.createLuaParamList(result); List<LuaParam> lparams = LuaUtils.createLuaParamList(result);
@ -51,8 +53,7 @@ namespace FFXIVClassic_Map_Server.lua
} }
return null; return null;
} }
public void doActorOnEventStarted(Player player, Actor target) public void doActorOnEventStarted(Player player, Actor target)
{ {
@ -64,6 +65,7 @@ namespace FFXIVClassic_Map_Server.lua
if (File.Exists(luaPath)) if (File.Exists(luaPath))
{ {
Script script = new Script(); Script script = new Script();
script.Globals["getStaticActor"] = (Func<string, Actor>)Server.getStaticActors;
script.DoFile(luaPath); script.DoFile(luaPath);
DynValue result = script.Call(script.Globals["onEventStarted"], player, target); DynValue result = script.Call(script.Globals["onEventStarted"], player, target);
} }
@ -81,6 +83,7 @@ namespace FFXIVClassic_Map_Server.lua
if (File.Exists(luaPath)) if (File.Exists(luaPath))
{ {
Script script = new Script(); Script script = new Script();
script.Globals["getStaticActor"] = (Func<string, Actor>)Server.getStaticActors;
script.DoFile(luaPath); script.DoFile(luaPath);
DynValue result = script.Call(script.Globals["onEventStarted"], player, target); DynValue result = script.Call(script.Globals["onEventStarted"], player, target);
} }
@ -104,6 +107,7 @@ namespace FFXIVClassic_Map_Server.lua
if (File.Exists(luaPath)) if (File.Exists(luaPath))
{ {
Script script = new Script(); Script script = new Script();
script.Globals["getStaticActor"] = (Func<string, Actor>)Server.getStaticActors;
script.DoFile(luaPath); script.DoFile(luaPath);
DynValue result = script.Call(script.Globals["onEventUpdate"], player, target, eventUpdate.step, eventUpdate.luaParams); DynValue result = script.Call(script.Globals["onEventUpdate"], player, target, eventUpdate.step, eventUpdate.luaParams);
} }
@ -121,6 +125,7 @@ namespace FFXIVClassic_Map_Server.lua
if (File.Exists(luaPath)) if (File.Exists(luaPath))
{ {
Script script = new Script(); Script script = new Script();
script.Globals["getStaticActor"] = (Func<string, Actor>)Server.getStaticActors;
script.DoFile(luaPath); script.DoFile(luaPath);
//Have to do this to combine LuaParams //Have to do this to combine LuaParams

View file

@ -26,7 +26,7 @@ namespace FFXIVClassic_Map_Server.packets.send.events
{ {
binWriter.Write((UInt32)playerActorID); binWriter.Write((UInt32)playerActorID);
binWriter.Write((UInt32)eventOwnerActorID); binWriter.Write((UInt32)eventOwnerActorID);
binWriter.Write((Byte)0); binWriter.Write((Byte)1);
binWriter.Write(Encoding.ASCII.GetBytes(eventStarter), 0, Encoding.ASCII.GetByteCount(eventStarter) >= 0x20 ? 0x20 : Encoding.ASCII.GetByteCount(eventStarter)); binWriter.Write(Encoding.ASCII.GetBytes(eventStarter), 0, Encoding.ASCII.GetByteCount(eventStarter) >= 0x20 ? 0x20 : Encoding.ASCII.GetByteCount(eventStarter));
binWriter.Seek(0x29, SeekOrigin.Begin); binWriter.Seek(0x29, SeekOrigin.Begin);
binWriter.Write(Encoding.ASCII.GetBytes(callFunction), 0, Encoding.ASCII.GetByteCount(callFunction) >= 0x20 ? 0x20 : Encoding.ASCII.GetByteCount(callFunction)); binWriter.Write(Encoding.ASCII.GetBytes(callFunction), 0, Encoding.ASCII.GetByteCount(callFunction) >= 0x20 ? 0x20 : Encoding.ASCII.GetByteCount(callFunction));

View file

@ -1,8 +1,10 @@
using FFXIVClassic_Lobby_Server; using FFXIVClassic_Lobby_Server;
using FFXIVClassic_Lobby_Server.common;
using FFXIVClassic_Map_Server.packets.send.player; using FFXIVClassic_Map_Server.packets.send.player;
using MySql.Data.MySqlClient; using MySql.Data.MySqlClient;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.IO;
using System.Linq; using System.Linq;
using System.Text; using System.Text;
using System.Text.RegularExpressions; using System.Text.RegularExpressions;
@ -358,5 +360,44 @@ namespace FFXIVClassic_Map_Server.utils
} }
public void getStaticActors()
{
using (MemoryStream s = new MemoryStream(File.ReadAllBytes("D:\\luadec\\script\\staticactorr9w.luab")))
{
using (BinaryReader binReader = new BinaryReader(s))
{
using (StreamWriter w = File.AppendText("D:\\myfile.txt"))
{
while (binReader.BaseStream.Position != binReader.BaseStream.Length)
{
uint id = Utils.swapEndian(binReader.ReadUInt32()) | 0xA0F00000;
List<byte> list = new List<byte>();
byte readByte;
while ((readByte = binReader.ReadByte()) != 0)
{ //or whatever your condition is
list.Add(readByte);
}
string output = Encoding.UTF8.GetString(list.ToArray());
string output2 = String.Format("mStaticActors.Add(0x{0:x}, new {2}(0x{0:x}, \"{1}\"));", id, output.Substring(1 + output.LastIndexOf("/")), output.Split('/')[1]);
Console.WriteLine(output2);
w.WriteLine(output2);
}
}
}
}
return;
}
} }
} }