Ejemplo n.º 1
0
 def test_artifacts_for_type(self):
     self.assertEqual(
         set([
             a.uuid for a in artifacts_storage.artifacts_for_type([
                 relations.ARTIFACT_TYPE.HELMET,
                 relations.ARTIFACT_TYPE.BOOTS
             ])
         ]), set(['helmet_1', 'boots_1', 'default_boots']))
     self.assertEqual(
         set([
             a.uuid for a in artifacts_storage.artifacts_for_type(
                 [relations.ARTIFACT_TYPE.PLATE])
         ]), set(['plate_1', 'default_plate']))
Ejemplo n.º 2
0
    def test_disabled_artifacts(self):
        loot = ArtifactRecordPrototype.create_random(
            'disabled_loot',
            type_=relations.ARTIFACT_TYPE.USELESS,
            state=relations.ARTIFACT_RECORD_STATE.DISABLED)
        artifact = ArtifactRecordPrototype.create_random(
            'disabled_artifact',
            type_=relations.ARTIFACT_TYPE.HELMET,
            state=relations.ARTIFACT_RECORD_STATE.DISABLED)

        self.assertFalse(
            set(['disabled_loot', 'disabled_artifact'])
            & set(a.uuid for a in artifacts_storage.artifacts))
        self.assertFalse(
            set(['disabled_loot', 'disabled_artifact'])
            & set(a.uuid for a in artifacts_storage.loot))
        self.assertFalse(
            set(['disabled_loot', 'disabled_artifact']) & set(
                artifacts_storage.artifacts_for_type([
                    relations.ARTIFACT_TYPE.USELESS,
                    relations.ARTIFACT_TYPE.HELMET
                ])))

        self.assertEqual(
            artifacts_storage.generate_artifact_from_list(
                [loot, artifact], level=1, rarity=relations.RARITY.NORMAL),
            None)
Ejemplo n.º 3
0
 def test_artifacts_for_type(self):
     self.assertEqual(
         set(
             [
                 a.uuid
                 for a in artifacts_storage.artifacts_for_type(
                     [relations.ARTIFACT_TYPE.HELMET, relations.ARTIFACT_TYPE.BOOTS]
                 )
             ]
         ),
         set(["helmet_1", "boots_1", "default_boots"]),
     )
     self.assertEqual(
         set([a.uuid for a in artifacts_storage.artifacts_for_type([relations.ARTIFACT_TYPE.PLATE])]),
         set(["plate_1", "default_plate"]),
     )
Ejemplo n.º 4
0
    def test_get_equip_candidates__ignore_favorite_item_slot(self):
        self.assertTrue(self.hero.bag.is_empty)
        self.assertTrue(
            self.hero.equipment.get(relations.EQUIPMENT_SLOT.HAND_PRIMARY))
        self.assertEqual(self.hero.preferences.favorite_item, None)

        old_artifact = self.hero.equipment.get(
            relations.EQUIPMENT_SLOT.HAND_PRIMARY)

        artifact = artifacts_storage.generate_artifact_from_list(
            artifacts_storage.artifacts_for_type(
                [relations.EQUIPMENT_SLOT.HAND_PRIMARY.artifact_type]),
            self.hero.level,
            rarity=artifacts_relations.RARITY.NORMAL)
        artifact.power = old_artifact.power + Power(1, 1)
        self.hero.bag.put_artifact(artifact)

        slot, unequipped, equipped = self.hero.get_equip_candidates()
        self.assertEqual(slot, relations.EQUIPMENT_SLOT.HAND_PRIMARY)
        self.assertEqual(unequipped, old_artifact)
        self.assertEqual(equipped, artifact)

        self.hero.preferences.set_favorite_item(
            relations.EQUIPMENT_SLOT.HAND_PRIMARY)

        slot, unequipped, equipped = self.hero.get_equip_candidates()
        self.assertEqual(slot, None)
        self.assertEqual(unequipped, None)
        self.assertEqual(equipped, None)
Ejemplo n.º 5
0
 def get_allowed_artifact_types(self, slots, archetype):
     return [
         artifact for artifact in artifacts_storage.artifacts_for_type(
             types=[slot.artifact_type for slot in slots])
         if ((artifact.level <= self.level) and (
             not archetype or (artifact.power_type in self.preferences.
                               archetype.allowed_power_types)))
     ]
Ejemplo n.º 6
0
    def test_disabled_artifacts(self):
        loot = ArtifactRecordPrototype.create_random('disabled_loot', type_=relations.ARTIFACT_TYPE.USELESS, state=relations.ARTIFACT_RECORD_STATE.DISABLED)
        artifact = ArtifactRecordPrototype.create_random('disabled_artifact', type_=relations.ARTIFACT_TYPE.HELMET, state=relations.ARTIFACT_RECORD_STATE.DISABLED)

        self.assertFalse(set(['disabled_loot', 'disabled_artifact']) & set(a.uuid for a in artifacts_storage.artifacts))
        self.assertFalse(set(['disabled_loot', 'disabled_artifact']) & set(a.uuid for a in artifacts_storage.loot))
        self.assertFalse(set(['disabled_loot', 'disabled_artifact']) & set(artifacts_storage.artifacts_for_type([relations.ARTIFACT_TYPE.USELESS, relations.ARTIFACT_TYPE.HELMET])))

        self.assertEqual(artifacts_storage.generate_artifact_from_list([loot, artifact], level=1, rarity=relations.RARITY.NORMAL), None)
Ejemplo n.º 7
0
    def test_get_equip_candidates__worst_integrity(self):
        self.assertTrue(self.hero.bag.is_empty)
        self.assertTrue(self.hero.equipment.get(relations.EQUIPMENT_SLOT.HAND_PRIMARY))

        old_artifact = self.hero.equipment.get(relations.EQUIPMENT_SLOT.HAND_PRIMARY)

        artifact = artifacts_storage.generate_artifact_from_list(artifacts_storage.artifacts_for_type([relations.EQUIPMENT_SLOT.HAND_PRIMARY.artifact_type]),
                                                                 self.hero.level,
                                                                 rarity=artifacts_relations.RARITY.NORMAL)
        artifact.power = old_artifact.power
        artifact.integrity = old_artifact.integrity - 1
        self.hero.bag.put_artifact(artifact)

        slot, unequipped, equipped = self.hero.get_equip_candidates()
        self.assertEqual(slot, None)
        self.assertEqual(unequipped, None)
        self.assertEqual(equipped, None)
Ejemplo n.º 8
0
    def test_get_equip_candidates__worst_integrity(self):
        self.assertTrue(self.hero.bag.is_empty)
        self.assertTrue(self.hero.equipment.get(relations.EQUIPMENT_SLOT.HAND_PRIMARY))

        old_artifact = self.hero.equipment.get(relations.EQUIPMENT_SLOT.HAND_PRIMARY)

        artifact = artifacts_storage.generate_artifact_from_list(artifacts_storage.artifacts_for_type([relations.EQUIPMENT_SLOT.HAND_PRIMARY.artifact_type]),
                                                                 self.hero.level,
                                                                 rarity=artifacts_relations.RARITY.NORMAL)
        artifact.power = old_artifact.power
        artifact.integrity = old_artifact.integrity - 1
        self.hero.bag.put_artifact(artifact)

        slot, unequipped, equipped = self.hero.get_equip_candidates()
        self.assertEqual(slot, None)
        self.assertEqual(unequipped, None)
        self.assertEqual(equipped, None)
Ejemplo n.º 9
0
    def test_get_equip_candidates__ignore_favorite_item_slot(self):
        self.assertTrue(self.hero.bag.is_empty)
        self.assertTrue(self.hero.equipment.get(relations.EQUIPMENT_SLOT.HAND_PRIMARY))
        self.assertEqual(self.hero.preferences.favorite_item, None)

        old_artifact = self.hero.equipment.get(relations.EQUIPMENT_SLOT.HAND_PRIMARY)

        artifact = artifacts_storage.generate_artifact_from_list(artifacts_storage.artifacts_for_type([relations.EQUIPMENT_SLOT.HAND_PRIMARY.artifact_type]),
                                                                 self.hero.level,
                                                                 rarity=artifacts_relations.RARITY.NORMAL)
        artifact.power = old_artifact.power + Power(1, 1)
        self.hero.bag.put_artifact(artifact)

        slot, unequipped, equipped = self.hero.get_equip_candidates()
        self.assertEqual(slot, relations.EQUIPMENT_SLOT.HAND_PRIMARY)
        self.assertEqual(unequipped, old_artifact)
        self.assertEqual(equipped, artifact)

        self.hero.preferences.set_favorite_item(relations.EQUIPMENT_SLOT.HAND_PRIMARY)

        slot, unequipped, equipped = self.hero.get_equip_candidates()
        self.assertEqual(slot, None)
        self.assertEqual(unequipped, None)
        self.assertEqual(equipped, None)
Ejemplo n.º 10
0
 def get_allowed_artifact_types(self, slots, archetype):
     return [artifact
             for artifact in artifacts_storage.artifacts_for_type(types=[slot.artifact_type for slot in slots])
             if ((artifact.level <= self.level) and
                 ( not archetype or (artifact.power_type in self.preferences.archetype.allowed_power_types)))]
Ejemplo n.º 11
0
 def test_artifacts_for_type(self):
     self.assertEqual(set([ a.uuid for a in artifacts_storage.artifacts_for_type([relations.ARTIFACT_TYPE.HELMET,
                                                                                  relations.ARTIFACT_TYPE.BOOTS])]), set(['helmet_1', 'boots_1', 'default_boots']))
     self.assertEqual(set([ a.uuid for a in artifacts_storage.artifacts_for_type([relations.ARTIFACT_TYPE.PLATE])]), set(['plate_1', 'default_plate']))