Exemple #1
0
 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
Exemple #2
0
 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"]
Exemple #3
0
 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"]
Exemple #6
0
 def __init__(self, where):
     Goal.__init__(self, "sit down",
                   self.am_i_sat,
                   [SpotSomething(where),
                    MoveMeToFocus(where),
                    self.sit])