public static void SpawnNPC(ushort zoneId, uint templateId, ulong entityId, bool v, bool villager, int remainingEnrageTime) { if (Game.DB.MonsterDatabase.TryGetMonster(templateId, zoneId, out var m)) { if (TccUtils.IsWorldBoss(zoneId, templateId)) { if (m.IsBoss) { var msg = ChatManager.Instance.Factory.CreateMessage(ChatChannel.WorldBoss, "System", $"{ChatUtils.Font(m.Name)}{ChatUtils.Font(" is nearby.", "cccccc", 15)}"); ChatManager.Instance.AddChatMessage(msg); } } Game.NearbyNPC[entityId] = m.Name; FlyingGuardianDataProvider.InvokeProgressChanged(); if (villager) { return; } if (m.IsBoss) { WindowManager.ViewModels.NpcVM.AddOrUpdateNpc(entityId, m.MaxHP, m.MaxHP, m.IsBoss, HpChangeSource.CreatureChangeHp, templateId, zoneId, v, remainingEnrageTime); } else { if (App.Settings.NpcWindowSettings.HideAdds) { return; } WindowManager.ViewModels.NpcVM.AddOrUpdateNpc(entityId, m.MaxHP, m.MaxHP, m.IsBoss, HpChangeSource.CreatureChangeHp, templateId, zoneId, false, remainingEnrageTime); } } }
public static void HandleAbnormalityRefresh(S_ABNORMALITY_REFRESH p) { AbnormalityManager.BeginAbnormality(p.AbnormalityId, p.TargetId, p.TargetId, p.Duration, p.Stacks); if (p.TargetId.IsMe()) FlyingGuardianDataProvider.HandleAbnormal(p); if (!Settings.SettingsHolder.ClassWindowSettings.Enabled) return; AbnormalityManager.CurrentAbnormalityTracker?.CheckAbnormality(p); }
public static void HandleAbnormalityEnd(S_ABNORMALITY_END p) { if (!AbnormalityManager.EndAbnormality(p.TargetId, p.AbnormalityId)) return; if (p.TargetId.IsMe()) FlyingGuardianDataProvider.HandleAbnormal(p); if (!Settings.SettingsHolder.ClassWindowSettings.Enabled) return; AbnormalityManager.CurrentAbnormalityTracker?.CheckAbnormality(p); }
public static void HandleSpawnMe(S_SPAWN_ME p) { EntityManager.ClearNPC(); FlyingGuardianDataProvider.Stacks = 0; FlyingGuardianDataProvider.StackType = FlightStackType.None; FlyingGuardianDataProvider.InvokeProgressChanged(); var t = new System.Timers.Timer(2000); t.Elapsed += (s, ev) => { t.Stop(); SessionManager.LoadingScreen = false; WindowManager.ForegroundManager.RefreshDim(); }; t.Enabled = true; }