Beispiel #1
0
 def __init__(self, radius):
     super().__init__()
     self.radius = radius
     self.board = {}
     for tile in GameTile.all_tiles(radius):
         self.board[tile] = SimpleSprite('tiles/GreyTile.png')
         self.board[tile].rect.move_ip(*tile.display_location())
     self.subsprites = list(self.board.values())
Beispiel #2
0
 def spawn_creatures(self, pcs, mobs):
     i = 0
     for pc, gt in pcs:
         if pc.health > 0:
             pc.set_in_combat(self, GameTile(*gt), i)
         i += 2
     i = 1
     mob_zone = [
         gt for gt in GameTile.all_tiles(self.MAP_RADIUS) if gt.y < -3.25
     ]
     for mobdef in mobs:
         gt = random.choice(mob_zone)
         mob_zone.remove(gt)
         c = Creature(mobdef)
         c.set_in_combat(self, gt, i)
         i += 2
Beispiel #3
0
 def get_splash_hint(self, creature, ability, selected):
     valid_range = [
         tile for tile in GameTile.all_tiles(self.MAP_RADIUS)
         if ability.splash_hint(creature, selected, tile)
     ]
     return valid_range
Beispiel #4
0
 def get_range_hint(self, creature, ability):
     valid_range = [
         tile for tile in GameTile.all_tiles(self.MAP_RADIUS)
         if ability.range_hint(creature, tile)
     ]
     return valid_range
Beispiel #5
0
 def get_valid_targets(self, creature, ability):
     valid_targets = [
         tile for tile in GameTile.all_tiles(self.MAP_RADIUS)
         if ability.is_valid_target(creature, tile)
     ]
     return valid_targets