private static async Task <bool> Flamethrower() { if (ActionResourceManager.Machinist.Heat >= 100 || MovementManager.IsMoving || Spells.BarrelStabilizer.Cooldown == TimeSpan.Zero || !BarretSettingsModel.Instance.UseFlamethrower) { return(false); } if (Spells.BarrelStabilizer.Cooldown.TotalMilliseconds < 23000 && UseWildfire && Spells.Wildfire.Cooldown.TotalMilliseconds < 3000) { if (WFMessage == false) { ToastManager.AddToast("ST Flamethrower coming in ~3 seconds!", TimeSpan.FromMilliseconds(1500), MainSettingsModel.Instance.ToastColor(false), Colors.White, new FontFamily("High Tower Text Italic"), new FontWeight(), 52); WFMessage = true; } if (await Spells.Flamethrower.Use(Me, Spells.BarrelStabilizer.Cooldown.TotalMilliseconds < 20000)) { await Coroutine.Wait(3000, () => Core.Player.HasAura(Auras.Flamethrower) && (ActionResourceManager.Machinist.Heat == 100 || ActionResourceManager.Machinist.Timer.TotalMilliseconds > 0)); WFMessage = true; return(true); } return(false); } return(false); }
private static async Task <bool> Ninjutsu() { if (ActionManager.CanCast(Spells.Ninjutsu, Target)) { return(await Spells.Ninjutsu.Use(Target, true)); } if (ShadowSettingsModel.Instance.UseTenChiJin && ShadowSettingsModel.Instance.TcjSelection != TCJMode.None && Me.InCombat && ActionResourceManager.Ninja.NinkiGauge >= 74 && Spells.TrickAttack.Cooldown.TotalMilliseconds < 3000 && Spells.TenChiJin.Cooldown.TotalMilliseconds < 3000 && TCJMessage == false && Target.HealthCheck(false) && Target.TimeToDeathCheck() && Me.ClassLevel == 70) { ToastManager.AddToast("Ten-Chi-Jin coming in ~3 seconds!", TimeSpan.FromMilliseconds(1500), MainSettingsModel.Instance.ToastColor(false), Colors.White, new FontFamily("High Tower Text Italic"), new FontWeight(), 52); TCJMessage = true; } if (await Spells.TenChiJin.CastBuff(Me, Me.InCombat && ShadowSettingsModel.Instance.UseTenChiJin && ShadowSettingsModel.Instance.TcjSelection != TCJMode.None && ActionResourceManager.Ninja.NinkiGauge >= 80 && Spells.TrickAttack.Cooldown.TotalMilliseconds == 0 && Target.CanAttack && TCJTimerGood() && Target.HealthCheck(false) && Target.TimeToDeathCheck(), Auras.TenChiJin)) { TCJMessage = false; return(await TenChiJin()); } if (!ActionManager.CanCast(Spells.Ten, Me) && !ActionManager.CanCast(Spells.Kassatsu, Me)) { return(false); } if (ShadowSettingsModel.Instance.UseNinjutsu && Me.ClassLevel >= 45 && ActionManager.LastSpell != Spells.ArmorCrush && CombatHelper.LastSpell != Spells.ArmorCrush && (!WorldManager.InSanctuary || Me.InCombat) && (ActionResourceManager.Ninja.HutonTimer.TotalSeconds == 0 || ActionResourceManager.Ninja.HutonTimer.TotalSeconds < 7) && ShadowSettingsModel.Instance.ArmorCrushRfsh >= 10000) { return(await Huton()); } if (await Kassatsu()) { return(true); } if (Target == null || !Target.CanAttack || !ShadowSettingsModel.Instance.UseNinjutsu || CombatHelper.GcdTimeRemaining < 1800 || CombatHelper.LastSpell == Spells.Mug || CombatHelper.LastSpell == Spells.Assassinate || CombatHelper.LastSpell == Spells.Jugulate || CombatHelper.LastSpell == Spells.Goad) { return(false); } if (ActionResourceManager.Ninja.HutonTimer.TotalSeconds == 0 && Me.ClassLevel >= 45) { return(false); } if (await Katon_Doton()) { return(true); } if (await Katon()) { return(true); } if (await Doton()) { return(true); } if (await Suiton()) { return(true); } if (await AutoMode()) { return(true); } if (await Raiton()) { return(true); } return(await FumaShuriken()); }
public void RegisterAll() { HotkeyManager.Register("ATB_Pause", PauseKey, PauseModifier, hk => { MainSettingsModel.Instance.UsePause = !MainSettingsModel.Instance.UsePause; ToastManager.AddToast(MainSettingsModel.Instance.UsePause ? "ATB Paused!" : "ATB Resumed!", TimeSpan.FromMilliseconds(750), Color.FromRgb(110, 225, 214), Colors.White, new FontFamily("High Tower Text Italic"), new FontWeight(), 52); if (MainSettingsModel.Instance.UseOverlay) { if (MainSettingsModel.Instance.HideOverlayWhenRunning && !MainSettingsModel.Instance.UsePause) { OverlayLogic.Stop(); } else { OverlayLogic.Start(); } } if (MainSettingsModel.Instance.UseOutputToEcho) { ChatManager.SendChat(MainSettingsModel.Instance.UsePause ? "/echo ATB Paused!" : "/echo ATB Resumed!"); } Logger.ATBLog(MainSettingsModel.Instance.UsePause ? "ATB Paused!" : "ATB Resumed!"); }); HotkeyManager.Register("ATB_ChangeAutoTarget", ChangeAutoTargetKey, ChangeAutoTargetModifier, hk => { MainSettingsModel.Instance.ChangeAutoTargetSelectionCommand.Execute(null); ToastManager.AddToast(MainSettingsModel.Instance.AutoTargetSelection.ToString(), TimeSpan.FromMilliseconds(750), Color.FromRgb(110, 225, 214), Colors.White, new FontFamily("High Tower Text Italic"), new FontWeight(), 52); if (MainSettingsModel.Instance.UseOutputToEcho) { ChatManager.SendChat("/echo " + MainSettingsModel.Instance.AutoTargetSelection + " selected!"); } Logger.ATBLog(MainSettingsModel.Instance.AutoTargetSelection + " selected!"); }); HotkeyManager.Register("ATB_SmartPull", SmartPullKey, SmartPullModifier, hk => { MainSettingsModel.Instance.UseSmartPull = !MainSettingsModel.Instance.UseSmartPull; ToastManager.AddToast(MainSettingsModel.Instance.UseSmartPull ? "Smart Pull Enabled!" : "Smart Pull Disabled!", TimeSpan.FromMilliseconds(750), Color.FromRgb(110, 225, 214), Colors.White, new FontFamily("High Tower Text Italic"), new FontWeight(), 52); if (MainSettingsModel.Instance.UseOutputToEcho) { ChatManager.SendChat(MainSettingsModel.Instance.UseSmartPull ? "/echo Smart Pull Enabled!" : "/echo Smart Pull Disabled!"); } Logger.ATBLog(MainSettingsModel.Instance.UseSmartPull ? "Smart Pull Enabled!" : "Smart Pull Disabled!"); }); HotkeyManager.Register("ATB_MechanicWarnings", MechanicWarningKey, MechanicWarningModifier, hk => { MainSettingsModel.Instance.UseExtremeCaution = !MainSettingsModel.Instance.UseExtremeCaution; ToastManager.AddToast(MainSettingsModel.Instance.UseExtremeCaution ? "Mechanic Warnings Enabled!" : "Mechanic Warnings Disabled!", TimeSpan.FromMilliseconds(750), Color.FromRgb(110, 225, 214), Colors.White, new FontFamily("High Tower Text Italic"), new FontWeight(), 52); if (MainSettingsModel.Instance.UseOutputToEcho) { ChatManager.SendChat(MainSettingsModel.Instance.UseExtremeCaution ? "/echo Mechanic Warnings Enabled!" : "/echo Mechanic Warnings Disabled!"); } Logger.ATBLog(MainSettingsModel.Instance.UseExtremeCaution ? "Mechanic Warnings Enabled!" : "Mechanic Warnings Disabled!"); }); HotkeyManager.Register("ATB_AutoTargeting", AutoTargetingKey, AutoTargetingModifier, hk => { MainSettingsModel.Instance.UseAutoTargeting = !MainSettingsModel.Instance.UseAutoTargeting; ToastManager.AddToast(MainSettingsModel.Instance.UseAutoTargeting ? "Auto-Targeting Enabled!" : "Auto-Targeting Disabled!", TimeSpan.FromMilliseconds(750), Color.FromRgb(110, 225, 214), Colors.White, new FontFamily("High Tower Text Italic"), new FontWeight(), 52); if (MainSettingsModel.Instance.UseOutputToEcho) { ChatManager.SendChat(MainSettingsModel.Instance.UseAutoTargeting ? "/echo Auto-Targeting Enabled!" : "/echo Auto-Targeting Disabled!"); } Logger.ATBLog(MainSettingsModel.Instance.UseAutoTargeting ? "Auto-Targeting Enabled!" : "Auto-Targeting Disabled!"); }); HotkeyManager.Register("ATB_AutoFace", AutoFaceKey, AutoFaceModifier, hk => { MainSettingsModel.Instance.UseAutoFace = !MainSettingsModel.Instance.UseAutoFace; ToastManager.AddToast(MainSettingsModel.Instance.UseAutoFace ? "Auto-Face Enabled!" : "Auto-Face Disabled!", TimeSpan.FromMilliseconds(750), Color.FromRgb(110, 225, 214), Colors.White, new FontFamily("High Tower Text Italic"), new FontWeight(), 52); if (MainSettingsModel.Instance.UseOutputToEcho) { ChatManager.SendChat(MainSettingsModel.Instance.UseAutoFace ? "/echo Auto-Face Enabled!" : "/echo Auto-Face Disabled!"); } Logger.ATBLog(MainSettingsModel.Instance.UseAutoFace ? "Auto-Face Enabled!" : "Auto-Face Disabled!"); }); }