def get_tile_index(x, y): now_room = game_world.get_map() i = clamp(0, int((x - now_room.left) / now_room.tile_size_in_world), OverWorld.__overworld_room_column - 1) j = clamp(0, int((y - now_room.bottom) / now_room.tile_size_in_world), now_room.tile_row - 1) return i, j
def wander(self): self.update_form() if game_world.get_map().step_on_tiles(self) or \ not game_world.now_map.pt_in_room(self.form.pos.x, self.form.pos.y): self.sight = random.randint(0, 3) self.state = self.STATE_BURROW_IN self.draw_list.append(self.draw_body) return BehaviorTree.SUCCESS
def chase_target(self): target = self.target.form self.watch_target(target.pos) self.update_form() if game_world.get_map().step_on_tiles(self): self.sight = random.randint(0, 3) return BehaviorTree.FAIL self.draw_list.append(self.draw_body) return BehaviorTree.SUCCESS