Example #1
0
 public Ability(int level, string name, AbilityColor color, GladiatorController.AnimationState state)
 {
     _Level = level;
     _Name  = name;
     _Color = color;
     _State = state;
 }
Example #2
0
    public bool IsSmirkingAgainst(AbilityColor b)
    {
        if (Color == b)
        {
            return(false);
        }
        if (Color == AbilityColor.Neutral)
        {
            return(false);
        }
        if (b == AbilityColor.Neutral)
        {
            return(true);
        }
        if (Color == AbilityColor.Blue && b == AbilityColor.Red)
        {
            return(true);
        }
        if (Color == AbilityColor.Green && b == AbilityColor.Blue)
        {
            return(true);
        }
        if (Color == AbilityColor.Red && b == AbilityColor.Green)
        {
            return(true);
        }

        return(false);
    }
Example #3
0
    public static T[] GetRandomAbilities <T>(int count, int level, AbilityColor color) where T : Ability
    {
        level--;
        if (level < 0 || level >= Abilities.Count())
        {
            throw new System.ArgumentOutOfRangeException("Level is out of range");
        }

        List <Ability> candidates = new List <Ability>(Abilities[level]).Where((a) => (a is T) && a.Color == color).ToList();

        if (candidates.Count() < count)
        {
            throw new System.ArgumentOutOfRangeException("Not enough elements at this level");
        }

        T[] result = new T[count];

        for (int i = 0; i < count; i++)
        {
            result[i] = (T)candidates[Random.Range(0, candidates.Count())];
            candidates.Remove(result[i]);
        }

        return(result);
    }
Example #4
0
 public ActiveAbility(int level, string name, AbilityColor color, int adrenalineCost, GladiatorController.AnimationState state) : base(level, name, color, state)
 {
     _AdrenalineCost = adrenalineCost;
 }
Example #5
0
 public RangedAttack(int level, string name, AbilityColor color, GladiatorController.AnimationState state, int adrenalineCost, int minDamage, int maxDamage)
     : base(level, name, color, adrenalineCost, state)
 {
     _MinDamage = minDamage;
     _MaxDamage = maxDamage;
 }