/// <summary> /// Demande une utilisation de l'arme. /// Retourne true si l'utilisation a réussi, false sinon. /// </summary> /// <param name="hero"></param> /// <returns></returns> public Spells.SpellUseResult Use(Entities.EntityHero hero, Entities.EntityBase entity) { // Vérifie que le cooldown de l'arme est à 0. if (m_cooldownSeconds > float.Epsilon) { return(Spells.SpellUseResult.OnCooldown); } if (hero.IsBlind) { return(Spells.SpellUseResult.Blind); } m_cooldownSeconds = 1.0f / Math.Max(hero.GetAttackSpeed(), 0.2f); Spells.SpellLevelDescription attackSpell = GetAttackSpell(); Spells.WeaponAttackSpell spell = new Spells.WeaponAttackSpell(hero, attackSpell, Enchant); return(spell.Use(new Spells.SpellCastTargetInfo() { Type = Spells.TargettingType.Targetted, TargetId = entity.ID }, true)); }
/// <summary> /// Crée une nouvelle instance de Weapon upgrade initialisée avec /// les valeurs données. /// </summary> public WeaponUpgradeModel(Spells.SpellLevelDescription description, List <Entities.StateAlterationModel> passiveAlterations, float cost) { PassiveAlterations = new List <Entities.StateAlterationModel>(); Description = description; Cost = cost; }
/// <summary> /// Crée une nouvelle instance de WeaponUpgradeModel. /// </summary> public WeaponUpgradeModel() { PassiveAlterations = new List <Entities.StateAlterationModel>(); Description = new Spells.SpellLevelDescription(); Cost = 0; }