public virtual void ActorDestroy(Actor killer, Actor victim, Projectile p) { }
protected override void Frag(Player killer, Player victim, Projectile p) { if (killer != King && victim != King) { killer.Frags--; } base.Frag(killer, victim, p); if (victim == King) { ChangeKing(killer); } }
protected virtual void PlayerKill(Player killer, Player victim, Projectile p) { if (victim != null) { if (killer == null) { Suicide(victim); } else { Frag(killer, victim, p); } } }
protected virtual void Frag(Player killer, Player victim, Projectile p) { killer.Frags++; victim.Deaths++; Announce(killer.Name + " killed " + victim.Name + " with " + p.GetType().Name); if (FragLimit > 0 && killer.Frags >= FragLimit) { FragLimitHit(killer); } }
public override void ActorDestroy(Actor killer, Actor victim, Projectile p) { System.Console.WriteLine("actor destroyed."); if (!GameOver) PlayerKill(killer != null ? killer.Owner as Player : null, victim.Owner as Player, p); }
protected void TeamKill(Player killer, Player victim, Projectile p) { Announce(killer.Name + " teamkilled " + victim.Name + " with " + p.GetType().Name); Teams[killer.Team].Score--; }
protected override void Frag(Player killer, Player victim, Projectile p) { if (killer.Team >= 0) { if (killer.Team != victim.Team) { base.Frag(killer, victim, p); Teams[killer.Team].Score++; if (TeamScoreLimit >= 0 && Teams[killer.Team].Score >= TeamScoreLimit) { TeamScoreLimitHit(killer); } } else { TeamKill(killer, victim, p); } } else base.Frag(killer, victim, p); }