2017-08-31 05:56:43 +01:00
|
|
|
|
using System;
|
|
|
|
|
using FFXIVClassic_Map_Server.Actors;
|
|
|
|
|
using FFXIVClassic_Map_Server.packets.send.actor;
|
|
|
|
|
|
|
|
|
|
namespace FFXIVClassic_Map_Server.actors.chara.ai.state
|
|
|
|
|
{
|
|
|
|
|
class DespawnState : State
|
|
|
|
|
{
|
2017-09-03 01:01:19 +01:00
|
|
|
|
private DateTime respawnTime;
|
|
|
|
|
public DespawnState(Character owner, uint respawnTimeSeconds) :
|
2017-08-31 05:56:43 +01:00
|
|
|
|
base(owner, null)
|
|
|
|
|
{
|
|
|
|
|
startTime = Program.Tick;
|
2017-09-03 01:01:19 +01:00
|
|
|
|
respawnTime = startTime.AddSeconds(respawnTimeSeconds);
|
|
|
|
|
owner.ChangeState(SetActorStatePacket.MAIN_STATE_DEAD2);
|
|
|
|
|
owner.OnDespawn();
|
2017-08-31 05:56:43 +01:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public override bool Update(DateTime tick)
|
|
|
|
|
{
|
2017-09-03 01:01:19 +01:00
|
|
|
|
if (tick >= respawnTime)
|
2017-08-31 05:56:43 +01:00
|
|
|
|
{
|
2017-09-16 02:50:32 +01:00
|
|
|
|
owner.ResetTempVars();
|
2017-09-03 01:01:19 +01:00
|
|
|
|
owner.Spawn(tick);
|
2017-08-31 05:56:43 +01:00
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|