-Fixed up the quest flag functions.

-Renamed the ActorSpecialGraphicPacket to SetActorQuestGraphic as those icons all have to do with questing.
-Got onSpawn to work and implemented the quest graphics.
-Added new QuestDirector class.
This commit is contained in:
Filip Maj 2016-04-07 22:34:10 -04:00
parent 1f5788def8
commit c0cd7555e1
8 changed files with 120 additions and 49 deletions

View file

@ -113,7 +113,7 @@ namespace FFXIVClassic_Map_Server.dataobjects
}
public List<BasePacket> updateInstance(List<Actor> list)
public void updateInstance(List<Actor> list)
{
List<BasePacket> basePackets = new List<BasePacket>();
List<SubPacket> removeActorSubpackets = new List<SubPacket>();
@ -124,14 +124,11 @@ namespace FFXIVClassic_Map_Server.dataobjects
{
if (!list.Contains(actorInstanceList[i]))
{
removeActorSubpackets.Add(RemoveActorPacket.buildPacket(playerActor.actorId, actorInstanceList[i].actorId));
getActor().queuePacket(RemoveActorPacket.buildPacket(playerActor.actorId, actorInstanceList[i].actorId));
actorInstanceList.RemoveAt(i);
}
}
if (removeActorSubpackets.Count != 0)
basePackets.Add(BasePacket.createPacket(removeActorSubpackets, true, false));
//Add new actors or move
for (int i = 0; i < list.Count; i++)
{
@ -142,21 +139,22 @@ namespace FFXIVClassic_Map_Server.dataobjects
if (actorInstanceList.Contains(actor))
{
posUpdateSubpackets.Add(actor.createPositionUpdatePacket(playerActor.actorId));
getActor().queuePacket(actor.createPositionUpdatePacket(playerActor.actorId));
}
else
{
basePackets.Add(actor.getSpawnPackets(playerActor.actorId, 1));
basePackets.Add(actor.getInitPackets(playerActor.actorId));
basePackets.Add(actor.getSetEventStatusPackets(playerActor.actorId));
getActor().queuePacket(actor.getSpawnPackets(playerActor.actorId, 1));
getActor().queuePacket(actor.getInitPackets(playerActor.actorId));
getActor().queuePacket(actor.getSetEventStatusPackets(playerActor.actorId));
actorInstanceList.Add(actor);
if (actor is Npc)
{
LuaEngine.doActorOnSpawn(getActor(), (Npc)actor);
}
}
}
if (posUpdateSubpackets.Count > 0)
basePackets.Add(BasePacket.createPacket(posUpdateSubpackets, true, false));
return basePackets;
}