Exemplo n.º 1
0
        public void Update(SNpcOccupierInfo message)
        {
            if (message.HasReset)
            {
                AggroRegistered.Remove(message.NPC);
                return;
            }

            if (!AggroRegistered.Contains(message.NPC))
            {
                // Add a arbitrary dummy damage to auto start fight timer on aggro
                AggroRegistered.Add(message.NPC);
                UpdateDamageTracker(new SkillResult(0, false, true, false, HotDotDatabase.Enraged, message.Target, message.NPC, message.Time, EntityTracker, PlayerTracker));
            }
        }
Exemplo n.º 2
0
        public void HadleNpcOccupierInfo(SNpcOccupierInfo message)
        {
            if (!message.HasReset)
            {
                return;
            }

            _bosses.RemoveAll(boss => boss.Id == message.NPC);
            _bossHps.Remove(message.NPC);

            if (_bosses.Count == 0)
            {
                _fightStarted = null;
            }

            UpdatePresence();
        }
Exemplo n.º 3
0
        public void UpdateEntities(SNpcOccupierInfo npcOccupierResult)
        {
            PacketProcessor.Instance.AbnormalityTracker.Update(npcOccupierResult);
            if (!npcOccupierResult.HasReset)
            {
                Debug.WriteLine("S_NPC_OCCUPIER_INFO: NPC = " + npcOccupierResult.NPC + "; target = " + npcOccupierResult.Target + " ; Engager = " + npcOccupierResult.Engager);
                return;
            }

            var entity = PacketProcessor.Instance.EntityTracker.GetOrNull(npcOccupierResult.NPC);

            if (!(entity is NpcEntity))
            {
                return;
            }
            var npcEntity = entity as NpcEntity;

            if (npcEntity.Info.Boss)
            {
                _toDelete.Add(entity);
            }
        }
Exemplo n.º 4
0
 public NpcOccupierResult(SNpcOccupierInfo message)
 {
     HasReset = message.Target == EntityId.Empty;
     Npc      = message.NPC;
 }
Exemplo n.º 5
0
 public NpcOccupierResult(SNpcOccupierInfo message)
 {
     HasReset = message.Target == EntityId.Empty;
     Npc = message.NPC;
 }