示例#1
0
        public void Update(S_BOSS_GAGE_INFO m)
        {
            var entity = GetOrNull(m.EntityId) as NpcEntity;

            if (entity == null)
            {
                return;
            }
            _npcDatabase.AddDetectedBoss(entity.Info.HuntingZoneId, entity.Info.TemplateId);
            entity.Info.Boss = true;
            entity.Info.HP   = (long)m.TotalHp;
        }
示例#2
0
        public void HandleBossHp(S_BOSS_GAGE_INFO message)
        {
            var bossHp = 0L;

            if (message.HpRemaining < message.TotalHp)
            {
                bossHp = message.HpRemaining;
            }

            _bossHps[message.EntityId] = bossHp;
            UpdatePresence();
        }
示例#3
0
        public void Update(S_BOSS_GAGE_INFO m)
        {
            var entity = GetOrNull(m.EntityId) as NpcEntity;

            if (entity == null)
            {
                entity = new NpcEntity(m.EntityId, EntityId.Empty, null,
                                       _npcDatabase.GetOrPlaceholder((ushort)m.HuntingZoneId, m.TemplateId), new Vector3f(), new Angle());
                Register(entity);
            }
            _npcDatabase.AddDetectedBoss(entity.Info.HuntingZoneId, entity.Info.TemplateId);
            entity.Info.Boss = true;
            entity.Info.HP   = (long)m.TotalHp;
        }
 void Update(S_BOSS_GAGE_INFO packet)
 {
     MaxHP     = packet.MaxHP;
     CurrentHP = packet.CurrentHP;
     AnimateHP(packet.CurrentHP);
     BossVisible = true;
     if (CurrentHP == 0)
     {
         BossVisible = false;
     }
     Dispatcher.Invoke(() =>
     {
         BossName.Text = MonsterDatabase.GetName(packet.Npc, packet.Type);
     });
 }
示例#5
0
        internal void S_BOSS_GAGE_INFO(S_BOSS_GAGE_INFO message)
        {
            NetworkController.Instance.EntityTracker.Update(message);
            HudManager.Instance.AddOrUpdateBoss(message);
            long newHp = 0;

            if (message.TotalHp != message.HpRemaining)
            {
                newHp = (long)message.HpRemaining;
                if (message.EntityId == _lastBossMeterUser)
                {
                    _lastBossHpMeterUser = newHp;
                }
            }
            _lastBosses[message.EntityId] = newHp;
        }
示例#6
0
        internal void S_BOSS_GAGE_INFO(S_BOSS_GAGE_INFO message)
        {
            PacketProcessor.Instance.EntityTracker.Update(message);
            RichPresence.Instance.HandleBossHp(message);
            HudManager.Instance.AddOrUpdateBoss(message);
            long newHp = 0;

            if (message.TotalHp != message.HpRemaining)
            {
                newHp = (long)message.HpRemaining;
            }
            if (message.EntityId == _lastBossMeterUser)
            {
                _lastBossHpMeterUser = newHp;
            }
            _lastBosses[message.EntityId] = newHp;
        }
示例#7
0
 public static void HandleGageReceived(S_BOSS_GAGE_INFO p)
 {
     EntitiesManager.UpdateNPCbyGauge(p.EntityId, p.CurrentHP, p.MaxHP, (ushort)p.HuntingZoneId, (uint)p.TemplateId);
 }
示例#8
0
 private void OnBossGageInfo(S_BOSS_GAGE_INFO m)
 {
     AddOrUpdateNpc(m.EntityId, m.MaxHP, m.CurrentHP, true, HpChangeSource.BossGage, m.TemplateId, m.HuntingZoneId);
 }