def _got_skill(self, result): self.target = tinkering_target(result.value) if self.target is None: self._failure(NoTinkeringTarget()) return d = UseAndTarget(self._client, self.tool, self.ingot).deferred d.addCallbacks(self._used, self._failure)
def _melt(self, ore): forge = reachable_forge_target(self._map, self._client.world) if forge is None: self._failure(NoSuchEntity('No forge')) return d = UseAndTarget(self._client, ore, forge).deferred d.addCallbacks(self._melted, self._failure)
def _begin_chop(self): player = self._client.world.player if player.mass_remaining() < 40: self._success() return d = UseAndTarget(self._client, self.axe, self.tree).deferred d.addCallbacks(self._chopped, self._target_failure)
def _cook_single_steak(self): world = self._client.world steak = world.find_reachable_item(lambda x: x.item_id == ITEM_RAW_FISH_STEAK and x.amount == 1) if steak is None: self._unstack() return d = UseAndTarget(self._client, steak, self.oven).deferred d.addCallbacks(self._cooked, self._failure)
def _next(self): client = self._client world = client.world target = world.find_player_item(lambda x: x.item_id in ITEMS_TAILORING_PRODUCTS) if target is None: self._success() return d = UseAndTarget(client, self.scissors, target).deferred d.addCallbacks(self._cutted, self._failure)
def _cook_single_steak(self): world = self._client.world steak = world.find_reachable_item( lambda x: x.item_id == ITEM_RAW_FISH_STEAK and x.amount == 1) if steak is None: self._unstack() return d = UseAndTarget(self._client, steak, self.oven).deferred d.addCallbacks(self._cooked, self._failure)
def __init__(self, client, choice): Engine.__init__(self, client) tool = client.world.find_reachable_item(lambda x: x.item_id in ITEMS_FLETCHING_TOOLS) if tool is None: self._failure(NoSuchEntity('No fletching tool')) return self.choice = choice wood = client.world.find_item_in(client.world.backpack(), lambda x: x.item_id in (ITEMS_LOGS + ITEMS_BOARDS)) if wood is None: self._failure(NoSuchEntity('No wood')) self._failure() return d = UseAndTarget(client, tool, wood) d.addCallbacks(self._target_sent, self._failure)
def _more(self, *args): self.__tries -= 1 if self.__tries < 0: self._success() return if self.__failed: self._failure(self.__failed) return ores = find_two_same_hue( filter(is_ore, self._client.world.items_in(self.container))) if ores is None: self._success() return log.msg("MergeOre") d = UseAndTarget(self._client, ores[0], ores[1]).deferred d.addCallbacks(self._merged, self._failure)
def __init__(self, client, choice): Engine.__init__(self, client) tool = client.world.find_reachable_item( lambda x: x.item_id in ITEMS_FLETCHING_TOOLS) if tool is None: self._failure(NoSuchEntity('No fletching tool')) return self.choice = choice wood = client.world.find_item_in( client.world.backpack(), lambda x: x.item_id in (ITEMS_LOGS + ITEMS_BOARDS)) if wood is None: self._failure(NoSuchEntity('No wood')) self._failure() return d = UseAndTarget(client, tool, wood) d.addCallbacks(self._target_sent, self._failure)
def _next(self): client = self._client sheep = find_sheep(client.world) if len(sheep) == 0: self._success() return sheep = find_reachable_sheep(client.world) if sheep is None: d = HerdSheep(client).deferred d.addCallbacks(self._herded, self._failure) return dagger = find_dagger(client.world) if dagger is None: print "No dagger" self._failure() return d = UseAndTarget(client, dagger, sheep).deferred d.addCallbacks(self._harvested, self._failure)
def _found_wool(self, wool): d = UseAndTarget(self._client, wool, self.spinningwheel).deferred d.addCallbacks(self._done, self._failure)
def _found_yarn(self, yarn): d = UseAndTarget(self._client, yarn, self.loom).deferred d.addCallbacks(self._done, self._failure)
def _found_bandage(self, bandage): d = UseAndTarget(self._client, bandage, self.target).deferred d.addCallbacks(self._healed, self._failure)
def _found_tool(self, tool): d = UseAndTarget(self._client, tool, self.mountain).deferred d.addCallbacks(self._mined, self._target_failure)
def _make_boards(self): d = UseAndTarget(self._client, self.axe, self.logs).deferred d.addCallbacks(self._done, self._failure)
def _found_scissors(self, result): d = UseAndTarget(self._client, result, self.cloth).deferred d.addCallbacks(self._cutted, self._failure)