mirror of
https://bitbucket.org/Ioncannon/project-meteor-server.git
synced 2025-06-08 21:44:35 +02:00
-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:
parent
1f5788def8
commit
c0cd7555e1
8 changed files with 120 additions and 49 deletions
|
@ -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;
|
||||
}
|
||||
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue