public void OnHurt(HurtingEventArgs ev) { if (ev.Target.IsNPC()) { Npc npc = Npc.Get(ev.Target); npc.FireEvent(new NPCHurtEvent(npc, ev.Attacker)); } }
public void OnEnteringPocketDim(EnteringPocketDimensionEventArgs ev) { if (ev.Player.IsNPC()) { Npc npc = Npc.Get(ev.Player); if (npc.NPCPlayer.IsGodModeEnabled) { ev.IsAllowed = false; } } }
public void OnDying(DyingEventArgs ev) { if (ev.Target.IsNPC()) { Npc cmp = Npc.Get(ev.Target); NPCDiedEvent npc_ev = new NPCDiedEvent(cmp, ev.Killer); cmp.FireEvent(npc_ev); cmp.Kill(ev.HitInformation.GetDamageType() != DamageTypes.RagdollLess); ev.IsAllowed = false; } }
public void OnGrenadeExplosion(ExplodingGrenadeEventArgs ev) { foreach (Player p in ev.TargetToDamages.Keys) { if (p.IsNPC()) { Npc component = Npc.Get(p); if (!component.NPCPlayer.IsGodModeEnabled) { p.Hurt(ev.TargetToDamages[p], ev.Thrower, DamageTypes.Grenade); } } } }