def make_west_door(self, next_screen): """Creates and places a trigger for the west door that loads the next screen at the connecting east door""" screen_trigger = Trigger(3, 0, 288) screen_trigger.image = self.sprites_utu.sprites[1096].image self.drawables.append(screen_trigger) self.collisions.append((screen_trigger, next_screen)) screen_trigger = Trigger(3, 0, 320) screen_trigger.image = self.sprites_utu.sprites[1096].image self.drawables.append(screen_trigger) self.collisions.append((screen_trigger, next_screen))
def make_north_door(self, next_screen): """Creates and places a trigger for the north door that loads the next screen at the connecting south door""" screen_trigger = Trigger(3, 352, 0) screen_trigger.image = self.sprites_utu.sprites[1094].image self.drawables.append(screen_trigger) self.collisions.append((screen_trigger, next_screen)) screen_trigger = Trigger(3, 384, 0) screen_trigger.image = self.sprites_utu.sprites[1094].image self.drawables.append(screen_trigger) self.collisions.append((screen_trigger, next_screen))
def make_south_door(self, next_screen): """Creates and places a trigger for the south door that loads the next screen at the connecting north door""" screen_trigger = Trigger(3, 352, 608) screen_trigger.image = self.south_door_image self.drawables.append(screen_trigger) self.collisions.append((screen_trigger, next_screen)) screen_trigger = Trigger(3, 384, 608) screen_trigger.image = self.south_door_image self.drawables.append(screen_trigger) self.collisions.append((screen_trigger, next_screen))
def make_switch_collision(self, switch_group, image, starting_x, x_copies, starting_y, y_copies, function): for x in range(x_copies): for y in range(y_copies): path_piece = Trigger(4, (starting_x*32) + (x*32), (starting_y*32) +(y*32)) path_piece.image = image switch_group[0].add(path_piece) switch_group[1].append((path_piece, function))
def make_collision(self, image, starting_x, x_copies, starting_y, y_copies, function): for x in range(x_copies): for y in range(y_copies): collision = Trigger(3, (starting_x*32) + (32*x), (starting_y*32) + (32*y)) collision.image = image self.drawables.append(collision) self.collisions.append((collision, function))
def make_bridge(self): "Creates the bridge once the player triggers it" self.now = pygame.time.get_ticks() if self.now - self.last_switch > 1000: self.add_flag = True bridge = [] for i in range(3): for j in range(6): bridge.append(league.DUGameObject) bridge[i + j] = Trigger(3, 352 + (32 * i), 160 + (32 * j)) bridge[i + j].image = self.sprites_base.sprites[248].image self.drawables.append(bridge[i+j]) self.last_switch = pygame.time.get_ticks()
def set_screen_cliffs(self): """Creates 'cliffs' screen""" self.background = league.Tilemap('../assets/cliffs_background.lvl', self.sprites_utu, layer=1) self.terrain = league.Tilemap('../assets/cliffs_terrain.lvl', self.sprites_base, layer=2) self.details = league.Tilemap('../assets/cliffs_details.lvl', self.sprites_utu, layer=3) self.drawables.append(self.background.passable.sprites()) self.drawables.append(self.terrain.passable.sprites()) self.drawables.append(self.details.passable.sprites()) "Loads north door sprites leading to 'lost woods entrance' south door" self.make_north_door(self.lost_woods_entrance_door_south) "Loads south door sprites leading to 'hills' north door" self.make_south_door(self.grassland_door_north) "Loads the switch sprite for the bridge" bridge_switch = Trigger(3, 500, 480) bridge_switch.image = self.sprites_base.sprites[70].image self.drawables.append(bridge_switch) self.collisions.append((bridge_switch, self.make_bridge)) bridge_switch = Trigger(3, 500, 50) bridge_switch.image = self.sprites_base.sprites[70].image self.drawables.append(bridge_switch) self.collisions.append((bridge_switch, self.make_bridge)) "Makes the area where the bridge will be impassable. Removed by make_bridge to make passable" bridge_block = [] for i in range(3): for j in range(7): bridge_block.append(league.DUGameObject) bridge_block[i + j] = Trigger(1, 352 + (32 * i), 128 + (32 * j)) bridge_block[i + j].image = self.sprites_base.sprites[97].image self.drawables.append(bridge_block[i + j]) self.blocking_object.add(bridge_block[i+j]) "Sets update() to change screens" self.change_flag = True
def make_door_custom(self, x, y, image, next_screen): screen_trigger = Trigger(3, x, y) screen_trigger.image = image self.drawables.append(screen_trigger) self.collisions.append((screen_trigger, next_screen))
def set_screen_castle_fork(self): self.terrain_switching_clean_up() self.terrain = league.Tilemap('../assets/castle_terrain.lvl', self.sprites_utu, layer=1) self.details = league.Tilemap('../assets/castle_fork_details.lvl', self.sprites_utu, layer=2) self.drawables.append(self.terrain.passable.sprites()) self.drawables.append(self.details.passable.sprites()) self.next_terrain_switch_time = 3 self.switch_interval = 3 self.terrain_switch_flag = True self.make_south_door(self.castle_entrance_door_north) self.make_east_door(self.castle_east_wing_door_west) self.make_west_door(self.castle_west_wing_door_east) if self.boss_door_west_flag: lit_torch = Trigger(5, 256, 0) lit_torch.image = self.sprites_utu.sprites[47].image torch_base = Trigger(4, 256, 0) torch_base.image = self.sprites_utu.sprites[1203].image self.drawables.append(torch_base) self.drawables.append(lit_torch) else: unlit_torch = Trigger(5, 256, 0) unlit_torch.image = self.sprites_utu.sprites[21].image torch_base = Trigger(4, 256, 0) torch_base.image = self.sprites_utu.sprites[1203].image self.drawables.append(torch_base) self.drawables.append(unlit_torch) if self.boss_door_east_flag: lit_torch = Trigger(5, 512, 0) lit_torch.image = self.sprites_utu.sprites[47].image torch_base = Trigger(4, 512, 0) torch_base.image = self.sprites_utu.sprites[1203].image self.drawables.append(torch_base) self.drawables.append(lit_torch) else: unlit_torch = Trigger(5, 512, 0) unlit_torch.image = self.sprites_utu.sprites[21].image torch_base = Trigger(4, 512, 0) torch_base.image = self.sprites_utu.sprites[1203].image self.drawables.append(torch_base) self.drawables.append(unlit_torch) if self.boss_door_east_flag and self.boss_door_west_flag: self.make_north_door(self.castle_boss_room_south_door) door_left = Trigger(4, 352, 0) door_left.image = self.sprites_utu.sprites[106].image self.drawables.append(door_left) door_right = Trigger(4, 384, 0) door_right.image = self.sprites_utu.sprites[108].image self.drawables.append(door_right) else: door_left = Trigger(3, 352, 0) door_left.image = self.sprites_utu.sprites[103].image self.drawables.append(door_left) self.blocking_object.add(door_left) door_right = Trigger(3, 384, 0) door_right.image = self.sprites_utu.sprites[105].image self.drawables.append(door_right) self.blocking_object.add(door_right) self.make_collision(self.sprites_utu.sprites[384].image, 0, 10, 0, 7, self.return_to_door) self.make_collision(self.sprites_utu.sprites[384].image, 15, 10, 0, 7, self.return_to_door) self.make_collision(self.sprites_utu.sprites[384].image, 0, 10, 13, 10, self.return_to_door) self.make_collision(self.sprites_utu.sprites[384].image, 15, 10, 13, 10, self.return_to_door) left_top_right_sprite = pygame.sprite.Group() left_top_right_collisions = [] self.make_switch_collision((left_top_right_sprite, left_top_right_collisions), self.sprites_utu.sprites[384].image, 4, 3, 3, 11, self.return_to_door) self.make_switch_collision((left_top_right_sprite, left_top_right_collisions), self.sprites_utu.sprites[384].image, 3, 19, 3, 3, self.return_to_door) self.make_switch_collision((left_top_right_sprite, left_top_right_collisions), self.sprites_utu.sprites[384].image, 15, 3, 7, 7, self.return_to_door) self.switching_objects.append(left_top_right_sprite) self.switching_collision_list.append(left_top_right_collisions) top_right_left_sprite = pygame.sprite.Group() top_right_left_collisions = [] self.make_switch_collision((top_right_left_sprite, top_right_left_collisions), self.sprites_utu.sprites[384].image, 3, 19, 3, 3, self.return_to_door) self.make_switch_collision((top_right_left_sprite, top_right_left_collisions), self.sprites_utu.sprites[384].image, 18, 3, 3, 11, self.return_to_door) self.make_switch_collision((top_right_left_sprite, top_right_left_collisions), self.sprites_utu.sprites[384].image, 7, 3, 7, 7, self.return_to_door) self.switching_objects.append(top_right_left_sprite) self.switching_collision_list.append(top_right_left_collisions) left_right_right_sprite = pygame.sprite.Group() left_right_right_collisions = [] self.make_switch_collision((left_right_right_sprite, left_right_right_collisions), self.sprites_utu.sprites[384].image, 4, 3, 3, 11, self.return_to_door) self.make_switch_collision((left_right_right_sprite, left_right_right_collisions), self.sprites_utu.sprites[384].image, 18, 3, 3, 11, self.return_to_door) self.make_switch_collision((left_right_right_sprite, left_right_right_collisions), self.sprites_utu.sprites[384].image, 15, 3, 7, 7, self.return_to_door) self.switching_objects.append(left_right_right_sprite) self.switching_collision_list.append(left_right_right_collisions) left_top_left_sprite = pygame.sprite.Group() left_top_left_collisions = [] self.make_switch_collision((left_top_left_sprite, left_top_left_collisions), self.sprites_utu.sprites[384].image, 4, 3, 3, 11, self.return_to_door) self.make_switch_collision((left_top_left_sprite, left_top_left_collisions), self.sprites_utu.sprites[384].image, 3, 19, 3, 3, self.return_to_door) self.make_switch_collision((left_top_left_sprite, left_top_left_collisions), self.sprites_utu.sprites[384].image, 7, 3, 7, 7, self.return_to_door) self.switching_objects.append(left_top_left_sprite) self.switching_collision_list.append(left_top_left_collisions) right_top_right_sprite = pygame.sprite.Group() right_top_right_collisions = [] self.make_switch_collision((right_top_right_sprite, right_top_right_collisions), self.sprites_utu.sprites[384].image, 18, 3, 3, 11, self.return_to_door) self.make_switch_collision((right_top_right_sprite, right_top_right_collisions), self.sprites_utu.sprites[384].image, 3, 19, 3, 3, self.return_to_door) self.make_switch_collision((right_top_right_sprite, right_top_right_collisions), self.sprites_utu.sprites[384].image, 15, 3, 7, 7, self.return_to_door) self.switching_objects.append(right_top_right_sprite) self.switching_collision_list.append(right_top_right_collisions) left_right_left_sprite = pygame.sprite.Group() left_right_left_collisions = [] self.make_switch_collision((left_right_left_sprite, left_right_left_collisions), self.sprites_utu.sprites[384].image, 4, 3, 3, 11, self.return_to_door) self.make_switch_collision((left_right_left_sprite, left_right_left_collisions), self.sprites_utu.sprites[384].image, 18, 3, 3, 11, self.return_to_door) self.make_switch_collision((left_right_left_sprite, left_right_left_collisions), self.sprites_utu.sprites[384].image, 7, 3, 7, 7, self.return_to_door) self.switching_objects.append(left_right_left_sprite) self.switching_collision_list.append(left_right_left_collisions) self.change_flag = True