Go inside 'Routines\Kupo\Rotations
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using ff14bot;
using ff14bot.Enums;
using ff14bot.Managers;
using ff14bot.Navigation;
using Kupo;
using TreeSharp;
using Action = TreeSharp.Action;
namespace Kupo.Rotations
{
class ThaumaturgeBlackMage : KupoRoutine
{
public override ClassJobType[] Class
{
get { return new[] { ClassJobType.Thaumaturge, ClassJobType.BlackMage }; }
}
public override int PullRange
{
get { return 20; }
}
protected override Composite CreatePreCombatBuffs()
{
return SummonChocobo();
}
protected override Composite CreateRest()
{
return DefaultRestBehavior(r => Core.Player.CurrentManaPercent);
}
protected override Composite CreatePull()
{
return new PrioritySelector(
//Checking to see if we're in range -- If not, move to the location
new Decorator(
r => Actionmanager.InSpellInRangeLOS("Blizzard", Core.Target) == SpellRangeCheck.ErrorNotInRange,
new Action(r => Navigator.MoveTo(Core.Target.Location))),
//Checking to see if we're not facing the target -- If not, face it
new Decorator(
r => Actionmanager.InSpellInRangeLOS("Blizzard", Core.Target) == SpellRangeCheck.ErrorNotInFront,
new Action(r => Core.Target.Face())),
Cast("Blizzard", r => Core.Player.ClassLevel < 6 && Actionmanager.InSpellInRangeLOS("Blizzard", Core.Target) == SpellRangeCheck.Success),
Cast("Thunder", r => Core.Player.ClassLevel < 22 && Actionmanager.InSpellInRangeLOS("Thunder", Core.Target) == SpellRangeCheck.Success),
Cast("Thunder II", r => Actionmanager.InSpellInRangeLOS("Thunder II", Core.Target) == SpellRangeCheck.Success)
);
}
protected override Composite CreateCombatBuffs()
{
return new PrioritySelector(
//Dem deepz
Apply("Raging Strikes"),
Apply("Swiftcast")
);
}
protected override Composite CreateHeal()
{
return new PrioritySelector(
Apply("Manaward", r => Core.Player.CurrentHealthPercent <= 80),
Apply("Manawall", r => Core.Player.CurrentHealthPercent <= 80),
Cast("Physick", r => Core.Player.CurrentHealthPercent <= 40, r => Core.Player)
);
}
protected override Composite CreateCombat()
{
return new PrioritySelector(
//Need to check for insta procs first and foremost
Cast("Thunder III", r => Core.Player.HasAura("Thundercloud")),
Cast("Fire III", r => Core.Player.HasAura("Firestarter")),
//If we're low on mana we need to make sure we get it back
Cast("Blizzard III", r => Core.Player.CurrentMana < 638 && Core.Player.ClassLevel >= 38),
Cast("Blizzard", r => Core.Player.CurrentManaPercent <= 10 && Core.Player.ClassLevel < 38),
Cast("Convert", r => Core.Player.CurrentMana < 79 && Core.Player.ClassLevel >= 30), //79 Mana is how much Blizzard III is with AstralFire ... don't want to be stuck with no mana
Apply("Thunder II", r => Core.Player.ClassLevel >= 22 && !Core.Target.HasAura("Thunder")),
Apply("Thunder", r => Core.Player.ClassLevel < 22),
Cast("Fire III", r => Core.Player.ClassLevel >= 34 && !Core.Player.HasAura("Astral Fire III") && Core.Player.CurrentMana > 638),
//Bread and butter Fire spam
Cast("Fire")
);
}
}
}
The only place I see Cast("Fire") is the last line. I replaced that with Cast("Blizzard") as you suggested and my character just ran to the mob and spun around. So that did not work for me.
I've created a new profile, reloaded the bot multiple times and it still wasn't working.
I reverted back to the original unmodified ThaumaturgeBlackMage.cs file and reloaded the same profile and the bot started working as intended spamming fire again.
So changing the last line from Cast("Fire") to Cast("Blizzard") caused the spinning.
Any other suggestions?
***** I was able to find the cause of my issue. I was creating a "backup" of the original CS file and leaving it in the same folder as the original, despite adding "ORIGINAL" to the file name it was causing the spinning. Once I removed the backup file from the folder, changing "Fire" to "Blizzard" worked just fine. I assumed this program worked similar to others and was checking for a specific file name to read info from, guess that's not the case... Is this working as intended? *****