public override bool StartSpecialSkill(Cooldown sk) { if (sk.Skill.IconName == ManaBoost.Cooldown.Skill.IconName) { ManaBoost.StartCooldown(sk.Duration); return(true); } if (sk.Skill.IconName == PrimeFlame.IconName) { Fusion.Skill = PrimeFlame; Fusion.Start(sk.Duration, sk.Mode); if (sk.Mode != CooldownMode.Normal) { return(true); } _latestCooldown = (long)sk.OriginalDuration; _sw.Restart(); return(true); } var fusion = ManaBoost.Effect.IsAvailable ? FusionSkill : FusionSkillBoost; if (sk.Skill.IconName == fusion.IconName) { _latestCooldown = (long)sk.OriginalDuration; Fusion.Start(sk.Duration, sk.Mode); _sw.Restart(); return(false); } return(false); }
private static void CheckManaBoost(S_ABNORMALITY_END p) { if (!IsManaBoost(p.AbnormalityId)) { return; } if (!IsViewModelAvailable <SorcererLayoutVM>(out var vm)) { return; } vm !.ManaBoost.StopEffect(); }
private static void CheckManaBoost(S_ABNORMALITY_REFRESH p) { if (!IsManaBoost(p.AbnormalityId)) { return; } if (!IsViewModelAvailable <SorcererLayoutVM>(out var vm)) { return; } vm !.ManaBoost.RefreshEffect(p.Duration); }
public override void Dispose() { ManaBoost.Dispose(); SorcererAbnormalityTracker.BoostChanged -= OnBoostChanged; }