Exemplo n.º 1
0
        void OnWoundedOrDeath(BasePlayer victim, HitInfo info)
        {
            if (info == null || victim == null)
            {
                return;
            }

            if (info.Initiator is BaseNPC)
            {
                return;                                                                       // if animals are off and the initiator is an animal, return
            }
            var killer = info.Initiator as BasePlayer;

            if (killer == null || killer == victim)
            {
                return;
            }

            var kill = KillData.Create(killer, victim, info);

            if (kill == null)
            {
                return;
            }

            List <KillData> killdata;

            if (!kills.TryGetValue(killer.userID, out killdata))
            {
                killdata = kills[killer.userID] = new List <KillData>();
            }
            if (killdata.Count > 0)
            {
                var last = killdata.Last();
                if (last.Bone == kill.Bone && last.Distance == kill.Distance && last.Victim == kill.Victim)
                {
                    return;
                }
            }
            killdata.Add(kill);
        }