using FFXIVClassic.Common; using FFXIVClassic_Map_Server.Actors; using FFXIVClassic_Map_Server.lua; using FFXIVClassic_Map_Server.packets.send.actor; using System.Collections.Generic; namespace FFXIVClassic_Map_Server.actors.director { class Director : Actor { Player owner; public Director(Player owner, uint id) : base(id) { this.owner = owner; } public virtual BasePacket GetSpawnPackets(uint playerActorId, uint spawnType) { List subpackets = new List(); subpackets.Add(CreateAddActorPacket(playerActorId, 0)); subpackets.AddRange(GetEventConditionPackets(playerActorId)); subpackets.Add(CreateSpeedPacket(playerActorId)); subpackets.Add(CreateSpawnPositonPacket(playerActorId, 0)); subpackets.Add(CreateNamePacket(playerActorId)); subpackets.Add(CreateStatePacket(playerActorId)); subpackets.Add(CreateIsZoneingPacket(playerActorId)); subpackets.Add(CreateScriptBindPacket(playerActorId)); return BasePacket.CreatePacket(subpackets, true, false); } public override BasePacket GetInitPackets(uint playerActorId) { SetActorPropetyPacket initProperties = new SetActorPropetyPacket("/_init"); initProperties.AddTarget(); return BasePacket.CreatePacket(initProperties.BuildPacket(playerActorId, actorId), true, false); } public void OnTalked(Npc npc) { LuaEngine.DoDirectorOnTalked(this, owner, npc); } public void OnCommand(Command command) { LuaEngine.DoDirectorOnCommand(this, owner, command); } } }