def test_adding_all_armor_types(): guard = ActorBuilder().build() guard.dexterity.value = 13 guard.natural_armor.value = 2 # got really thick skin guard.add_component(ChainMail()) guard.add_component(LightSteelShield()) assert guard.armor_class.value == 19
def test_only_armor_low_touch_armor_class(): guard = ActorBuilder().build() guard.add_component(ChainMail()) assert guard.armor_class.value == 15 assert guard.touch.value == 10 guard.dexterity.value = 14 assert guard.armor_class.value == 17 assert guard.touch.value == 12
def test_wiring_skills(): tumble = Tumble(6) balance = Balance(0) character = ActorBuilder().build() character.add_component(balance) character.strength.value = 8 character.dexterity.value = 14 character.add_component(Jump(0)) character.add_component(tumble) assert tumble.bonus.value == 8 assert balance.value == 4
def test_adding_a_weapon(): guard = ActorBuilder().build() guard.strength.value = 16 guard.dexterity.value = 13 sword = Longsword() dagger = Dagger() guard.add_component(sword) guard.add_component(dagger) guard.add_component(WeaponFocus(sword)) assert sword.melee.attack.value == 4 assert sword.melee.damage.default == d8 assert sword.melee.damage.value == d8+3 assert dagger.melee.attack.value == 3 assert dagger.ranged.attack.value == 1 assert dagger.ranged.damage.value == d4
def test_adding_chainmail(): guard = ActorBuilder().build() guard.dexterity.value = 12 guard.add_component(ChainMail()) assert guard.armor_class.value == 16
def test_adding_shield(): guard = ActorBuilder().build() guard.add_component(LightSteelShield()) assert guard.armor_class.value == 11