1
Fork 0
mirror of https://bitbucket.org/Ioncannon/project-meteor-server.git synced 2025-04-27 07:07:45 +00:00
project-meteor-server/FFXIVClassic Map Server/actors/chara/ai/state/DespawnState.cs

35 lines
1.1 KiB
C#
Raw Normal View History

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using FFXIVClassic_Map_Server.Actors;
using FFXIVClassic_Map_Server.packets.send.actor;
namespace FFXIVClassic_Map_Server.actors.chara.ai.state
{
class DespawnState : State
{
private DateTime endTime;
public DespawnState(Character owner, Character target, uint despawnTimeSeconds) :
base(owner, null)
{
startTime = Program.Tick;
endTime = startTime.AddSeconds(despawnTimeSeconds);
}
public override bool Update(DateTime tick)
{
if (tick >= endTime)
{
// todo: send packet to despawn the npc, set it so npc is despawned when requesting spawn packets
owner.zone.BroadcastPacketAroundActor(owner, RemoveActorPacket.BuildPacket(owner.actorId));
owner.QueuePositionUpdate(owner.spawnX, owner.spawnY, owner.spawnZ);
lua.LuaEngine.CallLuaBattleAction(owner, "onDespawn", owner);
return true;
}
return false;
}
}
}