public override void Rota() { if (rota == 0) //SHRED + FB + SHIFT + INNERV { if (Form == Forms.Cat) { if (shred.CanUse() && ( Combo < 5 || Effects.ContainsKey(ClearCasting.NAME) || (Combo > 4 && Resource > fb.Cost + shred.Cost - (20 * (GCDUntil - Sim.CurrentTime) / GCD)) )) { shred.Cast(); } else if (Combo > 4 && fb.CanUse()) { fb.Cast(); } else if (Resource < shred.Cost - 20 && shift.CanUse() && (innerv.Available() || Effects.ContainsKey(InnervateBuff.NAME) || ((int)((double)Mana / shift.Cost)) * 4 + 5 >= Sim.FightLength - Sim.CurrentTime || !(SpiritTicking() && Mana + SpiritMPT() < MaxMana))) { shift.Cast(); } else if (Mana < shift.Cost && innerv.CanUse()) { Form = Forms.Human; ResetMHSwing(); innerv.Cast(); } } else if (Form == Forms.Human && shift.CanUse()) { Form = Forms.Cat; ResetMHSwing(); shift.Cast(); } } CheckAAs(); }
public override void Rota() { if (Tanking) // MAUL + SWIPE { if (maul.CanUse()) { maul.Cast(); } if (swipe.CanUse() && Resource > maul.Cost + swipe.Cost) { swipe.Cast(); } } else if (rota == 0) //SHRED + FB + SHIFT + INNERV { if (Form == Forms.Cat) { if (shred.CanUse() && ( Combo < 5 || Effects.ContainsKey(ClearCasting.NAME) || (Combo > 4 && Resource > fb.Cost + shred.Cost - (20 * (GCDUntil - Sim.CurrentTime) / GCD)) )) { shred.Cast(); } else if (Combo > 4 && fb.CanUse()) { fb.Cast(); } else if (Resource < shred.Cost - 20 && shift.CanUse() && (innerv.Available() || Effects.ContainsKey(InnervateBuff.NAME) || (rom != null && rom.Available()) || Effects.ContainsKey(RuneOfMeta.NAME) || ((int)((double)Mana / shift.Cost)) * 4 + 5 >= Sim.FightLength - Sim.CurrentTime || !(SpiritTicking() && Mana + SpiritMPT() < MaxMana))) { Unshift(); } } if (Form == Forms.Humanoid) { if (USE_POTS) { if (pot.CanUse() && MaxMana - Mana > ManaPotion.MAX) { pot.Cast(); } if (rune.CanUse() && MaxMana - Mana > ManaRune.MANA_MAX) { rune.Cast(); } } if (Mana < shift.Cost * 2 && !(Effects.ContainsKey(InnervateBuff.NAME) || Effects.ContainsKey(RuneOfMeta.NAME))) { if (innerv.CanUse()) { innerv.Cast(); } else if (rom != null && rom.CanUse()) { rom.Cast(); } } if (shift.CanUse()) { shift.Cast(); } } } CheckAAs(); }