private void World_OnPlayerKilled(PlayerDamage damageEvent)
        {
            ServerMPPlayer killer    = (ServerMPPlayer)damageEvent.Attacker;
            ServerMPPlayer assistant = (ServerMPPlayer)damageEvent.AttackerAssistant;
            ServerMPPlayer killed    = (ServerMPPlayer)damageEvent.Attacked;
            string         item      = damageEvent.Cause;

            if (killer == killed)
            {
                // Kill was actually suicide
                killer = null;
            }

            // Killer only gets credit within 6.5s of players death
            if (Environment.TickCount - damageEvent.DamagedAt >= 6500)
            {
                killer = null;
            }
            // Assistant only gets credit within 8s of players death
            if (Environment.TickCount - damageEvent.AttackerAssistedAt >= 8000)
            {
                assistant = null;
            }

            // Get network players
            string        leftName = "", rightName = "", assistantName = "";
            NetworkPlayer killerNetPlayer = null, killedNetPlayer = null, assistantNetPlayer = null;

            if (killer != null && netPlayerComponent.TryGetPlayer(killer.StateInfo.Owner, out killerNetPlayer))
            {
                leftName = killerNetPlayer.Name;
            }
            if (killed != null && netPlayerComponent.TryGetPlayer(killed.StateInfo.Owner, out killedNetPlayer))
            {
                rightName = killedNetPlayer.Name;
            }
            if (assistant != null && netPlayerComponent.TryGetPlayer(assistant.StateInfo.Owner, out assistantNetPlayer))
            {
                assistantName = assistantNetPlayer.Name;
            }

            // Announce feed item
            AddFeedItem(
                leftName, assistantName,
                killer != null ? World.GetTeamColor(killer.Team) : Color.White,
                item,
                rightName, killed != null ? World.GetTeamColor(killed.Team) : Color.White);

            // Notify gamemode
            currentGamemode.OnPlayerKilled(killer, killerNetPlayer, assistant, assistantNetPlayer, killed, killedNetPlayer, item);

            // Debug
            if (killer != null)
            {
                if (assistant != null)
                {
                    DashCMD.WriteLine("[MatchScreen] '{0} + {1} [ {2} ] {3}'", leftName, assistantName, item, rightName);
                }
                else
                {
                    DashCMD.WriteLine("[MatchScreen] '{0} [ {1} ] {2}'", leftName, item, rightName);
                }
            }
            else
            {
                DashCMD.WriteLine("[MatchScreen] '[ {0} ] {1}'", item, rightName);
            }
        }