示例#1
0
    protected void UpdateDefence(DefenceID defence)
    {
        // Base Defence
        _defences[(int)defence] = 10;
        // Add half a level
        _defences[(int)defence] += GetHalfLevel();

        switch (defence)
        {
        case DefenceID.ArmorClass:


            break;

        case DefenceID.Fortitude:
            // Add higher of SRT/CON
            _defences[(int)defence] += GetAbilityScore(AbilityID.Strength) > GetAbilityScore(AbilityID.Constitution) ? GetModifier(AbilityID.Strength) : GetModifier(AbilityID.Constitution);
            break;

        case DefenceID.Reflex:
            // Add higher of DEX/INT
            _defences[(int)defence] += GetAbilityScore(AbilityID.Dexterity) > GetAbilityScore(AbilityID.Intelligence) ? GetModifier(AbilityID.Dexterity) : GetModifier(AbilityID.Intelligence);
            break;

        case DefenceID.Will:
            // Add higher of WIS/CHA
            _defences[(int)defence] += GetAbilityScore(AbilityID.Wisdom) > GetAbilityScore(AbilityID.Charisma) ? GetModifier(AbilityID.Wisdom) : GetModifier(AbilityID.Charisma);
            break;
        }
    }
示例#2
0
 public int GetDefence(DefenceID defence)
 {
     UpdateDefence(defence);
     return(_defences[(int)defence]);
 }