def test_base_attack(): guard = ActorBuilder().build() guard.attack.base.value += 1 assert guard.attack.melee.value == 1 guard.strength = 15 guard.dexterity = 12 assert guard.attack.melee.value == 3 assert guard.attack.ranged.value == 2
def test_that_vital_objects_like_dexterity_can_not_be_destroyed(): guard = ActorBuilder().build() guard.dexterity = 12 assert guard.armor_class.value == 11 guard.remove_component("dexterity") assert guard.armor_class.value == 11 guard.registry.get("skill/jump").value = 5 guard.configure("skill/tumble", 5) guard.remove_component("skill/jump") assert guard.registry.get("skill/tumble").value == 8 assert guard.registry.has("skill/jump")
def test_dexterity_affected(): guard = ActorBuilder().build() guard.dexterity = 8 assert guard.armor_class.value == 9 assert guard.attack.ranged.value == -1 assert guard.reflex.value == -1