def test_damage_integrity__damage_from_artifact_power(self): expected_artifact_power = Power.normal_power_to_level(self.hero.level) new_artifact = artifacts_storage.artifacts.generate_artifact_from_list( artifacts_storage.artifacts.artifacts, self.hero.level, rarity=artifacts_relations.RARITY.NORMAL) new_artifact.power = Power(expected_artifact_power / 2, expected_artifact_power / 2) self.hero.equipment.unequip(new_artifact.type.equipment_slot) self.hero.equipment.equip(new_artifact.type.equipment_slot, new_artifact) old_integrity = new_artifact.integrity self.hero.damage_integrity() not_modified_integrity = new_artifact.integrity new_artifact.power = Power(expected_artifact_power, expected_artifact_power) self.hero.damage_integrity() modified_integrity = new_artifact.integrity self.assertTrue( old_integrity - not_modified_integrity < not_modified_integrity - modified_integrity)
def damage_integrity(self): if random.random() < self.safe_artifact_integrity_probability: return expected_artifact_power = Power.normal_power_to_level(self.level) for artifact in self.equipment.values(): delta = c.ARTIFACT_INTEGRITY_DAMAGE_PER_BATTLE * (float(artifact.power.total()) / expected_artifact_power)**2 if self.preferences.favorite_item is not None and self.preferences.favorite_item == artifact.type.equipment_slot: delta *= c.ARTIFACT_INTEGRITY_DAMAGE_FOR_FAVORITE_ITEM artifact.damage_integrity(delta)
def test_damage_integrity__damage_from_artifact_power(self): expected_artifact_power = Power.normal_power_to_level(self.hero.level) new_artifact = artifacts_storage.generate_artifact_from_list(artifacts_storage.artifacts, self.hero.level, rarity=artifacts_relations.RARITY.NORMAL) new_artifact.power = Power(expected_artifact_power / 2, expected_artifact_power / 2) self.hero.equipment.unequip(new_artifact.type.equipment_slot) self.hero.equipment.equip(new_artifact.type.equipment_slot, new_artifact) old_integrity = new_artifact.integrity self.hero.damage_integrity() not_modified_integrity = new_artifact.integrity new_artifact.power = Power(expected_artifact_power, expected_artifact_power) self.hero.damage_integrity() modified_integrity = new_artifact.integrity self.assertTrue(old_integrity - not_modified_integrity < not_modified_integrity - modified_integrity)