コード例 #1
0
 public void OnHurt(HurtingEventArgs ev)
 {
     if (ev.Target.IsNPC())
     {
         Npc npc = Npc.Get(ev.Target);
         npc.FireEvent(new NPCHurtEvent(npc, ev.Attacker));
     }
 }
コード例 #2
0
 public void OnEnteringPocketDim(EnteringPocketDimensionEventArgs ev)
 {
     if (ev.Player.IsNPC())
     {
         Npc npc = Npc.Get(ev.Player);
         if (npc.NPCPlayer.IsGodModeEnabled)
         {
             ev.IsAllowed = false;
         }
     }
 }
コード例 #3
0
 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;
     }
 }
コード例 #4
0
 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);
             }
         }
     }
 }