blizzless-diiis/src/DiIiS-NA/D3-GameServer/GSSystem/ActorSystem/Implementations/Headstone.cs

43 lines
1.2 KiB
C#

using System.Linq;
using DiIiS_NA.D3_GameServer.Core.Types.SNO;
using DiIiS_NA.GameServer.Core.Types.TagMap;
using DiIiS_NA.GameServer.GSSystem.MapSystem;
using DiIiS_NA.GameServer.MessageSystem;
using DiIiS_NA.GameServer.MessageSystem.Message.Definitions.World;
namespace DiIiS_NA.GameServer.GSSystem.ActorSystem.Implementations
{
[HandledSNO(ActorSno._playerheadstone /* PlayerHeadstone.acr */)]
class Headstone : Gizmo
{
public int playerIndex { get; set; }
public Headstone(World world, ActorSno sno, TagMap tags, int playerIndex = -1)
: base(world, sno, tags)
{
this.playerIndex = playerIndex;
Attributes[GameAttributes.MinimapActive] = true;
Attributes[GameAttributes.Headstone_Player_ANN] = 1;
Attributes[GameAttributes.TeamID] = 1;
if (World.Game.PvP) Attributes[GameAttributes.Disabled] = true;
}
public override bool Reveal(PlayerSystem.Player player)
{
if (!base.Reveal(player))
return false;
return true;
}
public override void OnTargeted(PlayerSystem.Player player, TargetMessage message)
{
base.OnTargeted(player, message);
if (playerIndex > -1)
GetPlayersInRange(100f).Where(p => p.PlayerIndex == playerIndex).First().Resurrect();
//this.Destroy();
}
}
}