Mercurial > nagslang
changeset 519:ddd86cb25945
Updated hangar.
author | Jeremy Thurgood <firxen@gmail.com> |
---|---|
date | Sat, 07 Sep 2013 20:09:31 +0200 |
parents | 83f3a376e9a7 |
children | 3f79a77ef1e3 62784e479ed2 |
files | data/levels/hangar nagslang/game_object.py nagslang/mutators.py |
diffstat | 3 files changed, 45 insertions(+), 12 deletions(-) [+] |
line wrap: on
line diff
--- a/data/levels/hangar Sat Sep 07 19:59:30 2013 +0200 +++ b/data/levels/hangar Sat Sep 07 20:09:31 2013 +0200 @@ -63,22 +63,22 @@ classname: Note - args: - [2200, 1750] - - 'TO HANGARS 5-7' + - TO HANGARS 5-7 classname: Note - args: - [2200, 1050] - - 'TO HANGARS 1-3' + - TO HANGARS 1-3 classname: Note - args: - - [2400, 1450] + - [2880, 1401] - cargo_bay - [60, 1200] - 0 - keycard_red classname: KeyedDoor - args: - - [2350, 1500] - - 'WARNING: Maintenance foreman's keycard required' + - [2400, 1401] + - 'Please note that the Maintenance Foreman''s keycard is required to access all base areas from the hangar.' classname: Note - args: - [2150, 1300] @@ -98,6 +98,20 @@ - keycard_red classname: collectable.KeyCard name: keycard_red +- args: + - [2680, 1701] + - crew + - [100, 100] + - 90 + - keycard_red + classname: KeyedDoor +- args: + - [2680, 1101] + - sheep + - [100, 450] + - 90 + - keycard_red + classname: KeyedDoor lines: [] polygons: 1: @@ -155,5 +169,13 @@ - [2180, 2500] - [2200, 2520] - [2400, 2520] + - [2400, 1481] + - [2480, 1481] + - [2480, 1701] + - [2880, 1701] + - [2880, 1101] + - [2480, 1101] + - [2480, 1321] + - [2400, 1321] - [2400, 280] -size: [2601, 2601] +size: [3001, 2601]
--- a/nagslang/game_object.py Sat Sep 07 19:59:30 2013 +0200 +++ b/nagslang/game_object.py Sat Sep 07 20:09:31 2013 +0200 @@ -6,7 +6,7 @@ from nagslang import environment from nagslang import puzzle from nagslang import render -from nagslang.mutators import FLIP_H, ImageOverlay +from nagslang.mutators import FLIP_H, ImageOverlay, rotator from nagslang.constants import ( COLLISION_TYPE_DOOR, COLLISION_TYPE_FURNITURE, COLLISION_TYPE_PROJECTILE, COLLISION_TYPE_SWITCH, COLLISION_TYPE_SHEEP, COLLISION_TYPE_SHEEP_PEN, @@ -396,11 +396,18 @@ super(ContinueGameDoor, self)._post_door_event(protagonist) +def make_overlay_image(image_name, angle): + transforms = () + if angle != 0: + transforms = (rotator(-angle),) + return resources.get_image('objects', image_name, transforms=transforms) + + class PuzzleDoor(BaseDoor): def __init__(self, space, position, destination, dest_pos, angle, key_state): self._key_state = key_state - overlay = ImageOverlay(resources.get_image('objects', 'lock.png')) + overlay = ImageOverlay(make_overlay_image('lock.png', angle)) super(PuzzleDoor, self).__init__( space, position, destination, dest_pos, angle, render.ImageStateRenderer({ @@ -439,7 +446,7 @@ key_item=None): self._key_item = key_item overlay = ImageOverlay( - resources.get_image('objects', '%s.png' % (key_item,))) + make_overlay_image('%s.png' % (key_item,), angle)) super(KeyedDoor, self).__init__( space, position, destination, dest_pos, angle, render.ImageRenderer(resources.get_image(
--- a/nagslang/mutators.py Sat Sep 07 19:59:30 2013 +0200 +++ b/nagslang/mutators.py Sat Sep 07 20:09:31 2013 +0200 @@ -57,13 +57,17 @@ return image +def rotator(angle): + return Mutator(rotate, angle) + + # Identity mutator NULL = Mutator(lambda x: x) # Rotation -R90 = Mutator(rotate, 90) -R180 = Mutator(rotate, 180) -R270 = Mutator(rotate, -90) +R90 = rotator(90) +R180 = rotator(180) +R270 = rotator(-90) FLIP_H = Mutator(flip, True, False) FLIP_V = Mutator(flip, False, True)