def __init__(self, what="", range=30): Goal.__init__( self, "fight something", self.none_in_range, [ SpotSomething(what=what, range=range), Condition(self.should_use_melee, [ self.equip_melee_weapon, self.equip_shield, self.attack_melee, MoveMeToFocus(what=what, radius=0, speed=0.5) ], [ self.equip_ranged_weapon, self.stop_moving, self.attack_ranged, ]) # hunt_for(what=what, range=range, proximity=3), ]) self.what = what self.filter = entity_filter.Filter(what) self.range = range self.square_range = range * range self.vars = ["what", "range"] self.weapon_usage = None self.use_ranged = False
def __init__(self, desc, place, what, tool): Goal.__init__(self, desc, false, [ AcquireThing(tool), MoveMeArea(place), SpotSomething(what), MoveMeToFocus(what), self.do ]) self.tool = tool self.what = what self.vars = ["tool", "what"]
def __init__(self, what, min_status): Goal.__init__(self, "browse for food by name", self.am_i_full, [SpotSomething(what, range=20, condition=( lambda me, o, s=min_status: hasattr(o.props, "status") and o.props.status > s)), MoveMeToFocus(what), self.eat]) self.what = what self.range = 20 self.full = 0.2 self.min_status = min_status self.vars = ["what", "range", "min_status"]
def __init__(self, what, source, place, tool, range=30): Goal.__init__(self, "Gather a resource using a tool", false, [AcquireThing(tool), MoveMeArea(place, range=range), Gather(what), SpotSomethingInArea(source, location=place, range=range, condition=self.source_entity_condition, ), MoveMeToFocus(source), self.do]) self.what = what self.source = source self.place = place self.tool = tool self.range = range self.vars = ["what", "source", "place", "tool", "range"]
def __init__(self, seed, source, place, tool, range=30, spacing=4): Goal.__init__(self, "Plant seed to grow plants", false, [AcquireThing(tool), MoveMeArea(place, range=range), SpotSomethingInArea(seed, place, range=range, seconds_until_forgotten=360), MoveMeToFocus(seed), self.do, SpotSomethingInArea(source, place, range=range), MoveMeNearFocus(source, allowed_movement_radius=5), ClearFocus(source)]) self.seed = seed self.source = source self.source_filter = entity_filter.Filter(source) self.place = place self.tool = tool self.range = range self.spacing = spacing self.vars = ["seed", "source", "place", "tool", "range", "spacing"]
def __init__(self, where): Goal.__init__(self, "sit down", self.am_i_sat, [SpotSomething(where), MoveMeToFocus(where), self.sit])