Fixed battle npcs appearing strangely (no nameplate, wrong colour, etc), and implemented content groups!

This commit is contained in:
Filip Maj 2017-04-15 16:33:56 -04:00
parent c6307dde35
commit 2de4934c41
21 changed files with 826 additions and 422 deletions

View file

@ -3,6 +3,7 @@ using FFXIVClassic.Common;
using FFXIVClassic_Map_Server.actors.group;
using FFXIVClassic_Map_Server.Actors.Chara;
using FFXIVClassic_Map_Server.packets.send.actor;
using FFXIVClassic_Map_Server.utils;
namespace FFXIVClassic_Map_Server.Actors
{
@ -87,6 +88,18 @@ namespace FFXIVClassic_Map_Server.Actors
player.QueuePacket(SetActorQuestGraphicPacket.BuildPacket(player.actorId, actorId, graphicNum));
}
public void SetCurrentContentGroup(uint groupType, Player player = null)
{
charaWork.currentContentGroup = groupType;
if (player != null)
{
ActorPropertyPacketUtil propPacketUtil = new ActorPropertyPacketUtil("charaWork/currentContentGroup", this, actorId);
propPacketUtil.AddProperty("charaWork.currentContentGroup");
player.QueuePackets(propPacketUtil.Done());
}
}
}
}

View file

@ -206,6 +206,9 @@ namespace FFXIVClassic_Map_Server.Actors
{
ActorPropertyPacketUtil propPacketUtil = new ActorPropertyPacketUtil("/_init", this, playerActorId);
//Potential
propPacketUtil.AddProperty("charaWork.battleSave.potencial");
//Properties
for (int i = 0; i < charaWork.property.Length; i++)
{

View file

@ -5,6 +5,6 @@
public ushort pushCommand;
public int pushCommandSub;
public byte pushCommandPriority;
public byte hateType;
public byte hateType = 1;
}
}

View file

@ -552,7 +552,6 @@ namespace FFXIVClassic_Map_Server.Actors
director.GetSpawnPackets(actorId).DebugPrintPacket();
QueuePacket(director.GetSpawnPackets(actorId));
QueuePacket(director.GetInitPackets(actorId));
//QueuePacket(director.GetSetEventStatusPackets(actorId));
}
}
@ -634,7 +633,7 @@ namespace FFXIVClassic_Map_Server.Actors
public void ChangeAnimation(uint animId)
{
Actor a = zone.FindActorInZone(currentTarget);
Actor a = zone.FindActorInArea(currentTarget);
if (a is Npc)
((Npc)a).animationId = animId;
}
@ -1323,6 +1322,13 @@ namespace FFXIVClassic_Map_Server.Actors
}
}
public void SendDirectorPackets(Director director)
{
director.GetSpawnPackets(actorId).DebugPrintPacket();
QueuePacket(director.GetSpawnPackets(actorId));
QueuePacket(director.GetInitPackets(actorId));
}
public void RemoveDirector(Director director)
{
if (!ownedDirectors.Contains(director))