def test_load_data(self): self.assertEqual(len(mobs_storage.all()), 3) # create_test_map create 3 random mobs self.assertFalse(mobs_storage.has_mob('wrong_id')) self.assertTrue(mobs_storage.has_mob('mob_1')) self.assertTrue(mobs_storage.has_mob('mob_2')) self.assertTrue(mobs_storage.has_mob('mob_3'))
def process_mob(self, main_task, hero): mob_uuid = self.preference_id if mob_uuid is not None: if not mobs_storage.has_mob(mob_uuid): main_task.comment = 'unknown mob id: %s' % (mob_uuid, ) self.state = CHOOSE_PREFERENCES_TASK_STATE.UNKNOWN_MOB return POSTPONED_TASK_LOGIC_RESULT.ERROR mob = mobs_storage.get_by_uuid(mob_uuid) if not mob.state.is_ENABLED: main_task.comment = 'mob %s not in game' % (mob_uuid, ) self.state = CHOOSE_PREFERENCES_TASK_STATE.MOB_NOT_IN_GAME return POSTPONED_TASK_LOGIC_RESULT.ERROR if hero.level < mob.level: main_task.comment = 'hero level < mob level (%d < %d)' % (hero.level, mob.level) self.state = CHOOSE_PREFERENCES_TASK_STATE.LARGE_MOB_LEVEL return POSTPONED_TASK_LOGIC_RESULT.ERROR hero.preferences.set_mob(mobs_storage.get_by_uuid(mob_uuid)) return POSTPONED_TASK_LOGIC_RESULT.SUCCESS
def process_mob(self, main_task, hero): mob_uuid = self.preference_id if mob_uuid is not None: if not mobs_storage.has_mob(mob_uuid): main_task.comment = u'unknown mob id: %s' % (mob_uuid, ) self.state = CHOOSE_PREFERENCES_TASK_STATE.UNKNOWN_MOB return POSTPONED_TASK_LOGIC_RESULT.ERROR mob = mobs_storage.get_by_uuid(mob_uuid) if not mob.state.is_ENABLED: main_task.comment = u'mob %s not in game' % (mob_uuid, ) self.state = CHOOSE_PREFERENCES_TASK_STATE.MOB_NOT_IN_GAME return POSTPONED_TASK_LOGIC_RESULT.ERROR if hero.level < mob.level: main_task.comment = u'hero level < mob level (%d < %d)' % ( hero.level, mob.level) self.state = CHOOSE_PREFERENCES_TASK_STATE.LARGE_MOB_LEVEL return POSTPONED_TASK_LOGIC_RESULT.ERROR hero.preferences.set_mob(mobs_storage.get_by_uuid(mob_uuid)) return POSTPONED_TASK_LOGIC_RESULT.SUCCESS