mirror of
https://bitbucket.org/Ioncannon/project-meteor-server.git
synced 2025-04-27 07:07:45 +00:00
35 lines
1.1 KiB
C#
35 lines
1.1 KiB
C#
![]() |
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;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|