public bool UseAbility(EAbilityType type) => Abilities.ContainsKey(type) && Abilities[type].Activate();
public bool CanUseAbility(EAbilityType type) => Abilities.ContainsKey(type) && Abilities[type].IsReady();
///<summary> ///Used to check for a secondary hotbar set. Currently only used for wizards with Archon. ///</summary> internal override bool SecondaryHotbarBuffPresent() { bool ArchonBuffPresent = Hotbar.HasBuff(SNOPower.Wizard_Archon); //Confirm we don't have archon Ability without archon buff. bool RefreshNeeded = ((!ArchonBuffPresent && (Abilities.ContainsKey(SNOPower.Wizard_Archon_ArcaneBlast) || Abilities.ContainsKey(SNOPower.Wizard_Archon_ArcaneBlast_Fire) || Abilities.ContainsKey(SNOPower.Wizard_Archon_ArcaneBlast_Cold) || Abilities.ContainsKey(SNOPower.Wizard_Archon_ArcaneBlast_Lightning))) || (ArchonBuffPresent && (!Abilities.ContainsKey(SNOPower.Wizard_Archon_ArcaneBlast) && !Abilities.ContainsKey(SNOPower.Wizard_Archon_ArcaneBlast_Fire) && !Abilities.ContainsKey(SNOPower.Wizard_Archon_ArcaneBlast_Cold) && !Abilities.ContainsKey(SNOPower.Wizard_Archon_ArcaneBlast_Lightning)))); if (RefreshNeeded) { Logger.DBLog.InfoFormat("Updating Hotbar abilities!"); Hotbar.RefreshHotbar(); RecreateAbilities(); return(true); } return(false); }
/// <summary> /// Checks if the actor has the ability. /// </summary> /// <typeparam name="TAbility">The ability type.</typeparam> /// <returns></returns> public bool HasAbilityTo <TAbility>() where TAbility : IAbility { return(Abilities.ContainsKey(typeof(TAbility))); }
internal override void RecreateAbilities() { base.RecreateAbilities(); //Check for buff Archon -- and if we should add Cancel to abilities. if (Abilities.ContainsKey(SNOPower.Wizard_Archon_ArcaneBlast) || Abilities.ContainsKey(SNOPower.Wizard_Archon_ArcaneBlast_Fire) || Abilities.ContainsKey(SNOPower.Wizard_Archon_ArcaneBlast_Cold) || Abilities.ContainsKey(SNOPower.Wizard_Archon_ArcaneBlast_Lightning)) { Abilities.Add(SNOPower.Wizard_Archon_Cancel, new CancelArchonBuff()); } }