Beispiel #1
0
 public bool UseAbility(EAbilityType type) =>
 Abilities.ContainsKey(type) && Abilities[type].Activate();
Beispiel #2
0
 public bool CanUseAbility(EAbilityType type) =>
 Abilities.ContainsKey(type) && Abilities[type].IsReady();
Beispiel #3
0
        ///<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);
        }
Beispiel #4
0
 /// <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)));
 }
Beispiel #5
0
        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());
            }
        }