using System; using LavishScriptAPI; using PRModuleInterface; using PRCoreInterface; namespace PRModuleLibrary { //Main Code public partial class PRModule: IPlugin { //My declares bool UseSoulStone; bool UseHealthStone; bool UseWhichPet; bool NeedBuffs; bool CheckedBuffs; RoutineStates RoutineStateSwitch = new RoutineStates(); CombatPrepStates CombatPrepStateSwitch = new CombatPrepStates(); PullingStates PullingStateSwitch = new PullingStates(); SingleTargetCombat SingleTargetCombatSwitch = new SingleTargetCombat(); DoubleTargetCombat DoubleTargetCombatSwitch = new DoubleTargetCombat(); MultiTargetCombat MultiTargetCombatSwitch = new MultiTargetCombat(); BuffStates BuffStateSwitch = new BuffStates(); public enum RoutineStates { CombatPrep, //Prep before combat Pulling, //When target is targeted Combat //Actual kill sequence and fighting } public enum CombatPrepStates //Precombat Checks { CheckingBuffs, //Checks if we need Demon Skin, Armor or any other buffs CastBuffs, //Cast buff sequence CheckingSoulStoneAndHealthStone //Check if we need a healthstone and soul, if so make em CheckMana, //Check our mana if we can continue on } public enum PullingStates { Advancing, //Moving closer to mob Casting //The actual pull/spell } public enum SingTargetCombat { Doting, //CoA,Corruption,Immolate PreFlee, //Our Fleeing function SwaptoDoubleTargetCombat //basically cast fear on add } public enum DoubleTargetCombat { Doting, //CoA,Corruption,Immolate Fear, //Fear when add is acquired SwapToMultiTargetCombat //Basically Howl of Terror PreFlee //Same fleeing function probably } public enum MultiTargetCombat { HowlOfTerror, //Cast Howl of Terror when 2nd add comes PreFlee // Probably same fleeing function } private void GetCombatPrepState() { if (!CheckingBuffs) return CombatPrepStates.CheckingBuffs; if (!Requiem.Character.Buff("Demon Skin").IsValid || (!Requiem.Character.Buff("Demon Armor").IsValid) return CombatPrepStates.CastBuffs; //Not lacking anything if (UseSoulStone == 1 || UseHealthStone == 1) return.CombatPrepStates.CheckingSoulStoneAndHealthStone; } private void CheckBuffs() { if(!Requiem.Character.Buff("Demon Skin") || !Requiem.Character.Buff("Demon Armor") { NeedArmorSpell = true; } private void Buffs() { if (NeedArmorSpell) { Requiem.Character.Cast("Demon Armor") || Requiem.Character.Cast("Demon Skin") } private void CheckSoulStoneAndHealthStone { if (!Requiem.Inventory.GetItem("Healthstone") { if (!Requiem.Character.Cast("Healthstone") } private void Pull()