/// <summary> /// Initializes a Rogue's status data. /// </summary> /// <param name="self">All game client data for the Rogue.</param> public RogueStatus(TkClient self) : base(self.Activity) { DesperateAttack = new BuffStatus(Activity, Rogue.DesperateAttack); Invisible = new InvisibleStatus(Activity, Rogue.Invisible); LethalStrike = new BuffStatus(Activity, Rogue.LethalStrike); Fury = new BuffStatus(Activity, Rogue.Fury); Rage = new RageStatus(self, Rogue.Cunning); ShadowFigure = new BuffStatus(Activity, Rogue.ShadowFigure); }
/// <summary> /// Assigns buff spells from the Warrior's spell inventory. /// </summary> /// <param name="self">The game client data for the Warrior.</param> protected FighterBuffCommands(WarriorClient self) { Self = self; _rageSpell = self.Spells.KeySpells.Rage; _rageStatus = self.Status.Rage; _enchantSpell = self.Spells.KeySpells.Enchant; _furySpell = self.Spells.KeySpells.Fury; _furyStatus = self.Status.Fury; }
/// <summary> /// Initializes a Warrior's status data. /// </summary> /// <param name="self">All game client data for the Warrior.</param> public WarriorStatus(TkClient self) : base(self.Activity) { Backstab = new BuffStatus(Activity, Warrior.Backstab); Berserk = new BuffStatus(Activity, Warrior.Berserk); Blessing = new BuffStatus(Activity, Warrior.Blessing); Flank = new BuffStatus(Activity, Warrior.Flank); Fury = new BuffStatus(Activity, Warrior.Fury); Potence = new BuffStatus(Activity, Warrior.Potence); Rage = new RageStatus(self, Warrior.Rage); SpotTraps = new BuffStatus(Activity, Warrior.SpotTraps); Whirlwind = new BuffStatus(Activity, Warrior.Whirlwind); }
/// <summary> /// Initializes a Rogue's status data. /// </summary> /// <param name="self">All game client data for the Rogue.</param> public RogueStatus(TkClient self) : base(self.Activity) { var mightBuffs = new List <BuffKeySpell>(); mightBuffs.AddRange(Caster.Valor); mightBuffs.AddRange(Rogue.Might); DesperateAttack = new BuffStatus(Activity, Rogue.DesperateAttack); Invisible = new InvisibleStatus(Activity, Rogue.Invisible); LethalStrike = new BuffStatus(Activity, Rogue.LethalStrike); Fury = new BuffStatus(Activity, Rogue.Fury); Might = new BuffStatus(Activity, mightBuffs); Rage = new RageStatus(self, Rogue.Cunning); ShadowFigure = new BuffStatus(Activity, Rogue.ShadowFigure); }
public static async Task <bool> CastRage( TkClient caster, KeySpell spell, RageStatus status) { if (status.IsActive) { return(false); } var didCastSpell = await CastSpell(caster, spell); // ReSharper disable once InvertIf if (didCastSpell) { status.ResetStatusCooldown(); status.CurrentRageLevel++; } return(didCastSpell); }
/// <summary> /// Initializes a Warrior's status data. /// </summary> /// <param name="self">All game client data for the Warrior.</param> public WarriorStatus(WarriorClient self) : base(self.Activity) { Backstab = new BuffStatus(Activity, Warrior.Backstab); Berserk = new BuffStatus(Activity, Warrior.Berserk); Blessing = new BuffStatus(Activity, Warrior.Blessing); Flank = new BuffStatus(Activity, Warrior.Flank); Fury = new BuffStatus(Activity, Warrior.Fury); Potence = new BuffStatus(Activity, Warrior.Potence); SpotTraps = new BuffStatus(Activity, Warrior.SpotTraps); Whirlwind = new BuffStatus(Activity, Warrior.Whirlwind); switch (self.Spells.KeySpells.Rage?.AlignedName) { case "Sonhi Rage": Rage = new RageStatus(self, Warrior.SonhiRage); break; default: Rage = new RageStatus(self, Warrior.Rage); break; } }