Exemplo n.º 1
0
 def __init__(self, move_towards_radius=6, species=Species.NONDESCRIPT):
     self.tree = Root(
         Selection(
             Sequence(
                 IsAdjacent(),
                 Attack()),
             Sequence(
                 WithinL2Radius(radius=move_towards_radius),
                 MoveTowardsTargetEntity()),
             Sequence(
                 FindNearestTargetEntity(species=species, radius=move_towards_radius),
                 MoveTowardsTargetEntity(),
             ),
             Swarm(species=Species.ZOMBIE),
             Skitter()))
Exemplo n.º 2
0
 def __init__(self):
     self.tree = Root(
         Selection(
             Sequence(
                 Negate(InNamespace(name="summoned_goblins")),
                 CheckHealthStatus(HealthStates.INJURED),
                 SpawnEntity(bestiary.goblin, min_time=0, max_time=0),
                 SpawnEntity(bestiary.goblin, min_time=0, max_time=0),
                 SetNamespace(name="summoned_goblins")
             ),
             Sequence(
                 Negate(InNamespace(name="summoned_orcs")),
                 CheckHealthStatus(HealthStates.BADLY_INJURED),
                 SpawnEntity(bestiary.orc, min_time=0, max_time=0),
                 SpawnEntity(bestiary.orc, min_time=0, max_time=0),
                 SetNamespace(name="summoned_orcs")
             ),
             Sequence(
                 Negate(InNamespace(name="summoned_trolls")),
                 CheckHealthStatus(HealthStates.NEAR_DEATH),
                 SpawnEntity(bestiary.troll, min_time=0, max_time=0),
                 SpawnEntity(bestiary.troll, min_time=0, max_time=0),
                 SetNamespace(name="summoned_trolls")
             ),
             Sequence(
                 InNamespace(name="target"),
                 IsAdjacent(),
                 Attack()
             ),
             Sequence(
                 WithinPlayerFov(),
                 MoveTowardsTargetEntity()
             )
         )
     )
Exemplo n.º 3
0
    def __init__(self, species=Species.NONDESCRIPT):

        self.target_species= species

        self.tree = Root(
            Selection(
                Sequence(
                    InNamespace(name="target"),
                    IsAdjacent(),
                    Attack()),
                Sequence(
                    InNamespace(name="target"),
                    MoveTowardsTargetEntity()),
                Sequence(
                    FindNearestTargetEntity(species=self.target_species),
                    MoveTowardsTargetEntity(),
                ),
                TravelToRandomPosition()))
Exemplo n.º 4
0
 def __init__(self, skittering_range=3):
     self.skittering_range = skittering_range
     self.tree = Root(
         Selection(
             Sequence(
                 IsAdjacent(),
                 Attack()),
             Sequence(
                 WithinL2Radius(radius=skittering_range),
                 MoveTowardsTargetEntity()),
             Skitter()))
Exemplo n.º 5
0
 def __init__(self, sensing_range=12):
     self.sensing_range = sensing_range
     self.tree = Root(
         Selection(
             Sequence(
                 IsAdjacent(),
                 Attack()),
             Sequence(
                 WithinL2Radius(radius=sensing_range),
                 MoveTowardsTargetEntity()),
             TravelToRandomPosition()))
Exemplo n.º 6
0
 def __init__(self):
     self.tree = Root(
         Selection(
             Sequence(
                 InNamespace(name="target"),
                 IsAdjacent(),
                 Attack()),
             Sequence(
                 WithinPlayerFov(),
                 MoveTowardsTargetEntity()),
             Sequence(
                 InNamespace(name="target_point"),
                 MoveTowardsPointInNamespace(name="target_point")),
             TravelToRandomPosition()))
Exemplo n.º 7
0
    def __init__(self, radius=4, guard_point=None):
        self.radius = radius

        self.tree = Root(
            Selection(
                Sequence(
                    InNamespace(name="target"),
                    IsAdjacent(),
                    Attack()),
                Sequence(
                    WithinPlayerFov(),
                    MoveTowardsTargetEntity()),
                Sequence(
                    PointToTarget(guard_point, "radius_point"),
                    OutsideL2Radius(self.radius),
                    MoveTowardsPointInNamespace(name="radius_point")
                ),
                Skitter()))
Exemplo n.º 8
0
 def __init__(self, spawn, min_time=5, max_time=10):
     number_of_turns = randint(min_time, max_time)
     self.tree = Root(
         Selection(
             Sequence(
                 SpawnEntity(spawn, min_time=min_time, max_time=max_time)
             ),
             Sequence(
                 InNamespace(name="target"),
                 IsAdjacent(),
                 Attack()
             ),
             Sequence(
                 WithinPlayerFov(),
                 MoveTowardsTargetEntity()
             ),
         )
     )
Exemplo n.º 9
0
 def __init__(self, radius=3):
     self.tree = Root(
         Selection(
             Sequence(
                 InNamespace(name="target"),
                 WithinRadius(radius=radius),
                 SeekTowardsLInfinityRadius(radius=radius)
             ),
             Sequence(
                 InNamespace(name="target"),
                 TargetWithinRange(),
                 Attack()
             ),
             Sequence(
                 InNamespace(name="target"),
                 MoveTowardsTargetEntity()
             ),
             Sequence(
                 InNamespace(name="target_point"),
                 MoveTowardsPointInNamespace(name="target_point")),
             TravelToRandomPosition()
         )
     )