43 lines
1.2 KiB
C#
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();
|
|
}
|
|
}
|
|
}
|