# HG changeset patch # User Neil Muller # Date 1283002305 -7200 # Node ID 125cb389ab9032107f5fc635ea7581c19f4505ef # Parent 0cc6ee8f2827002c5a6554c2010c1def7acbc1ba Hook up poster. Add cameras to crew_quarters and bridge diff -r 0cc6ee8f2827 -r 125cb389ab90 Resources/images/bridge/camera_small.png Binary file Resources/images/bridge/camera_small.png has changed diff -r 0cc6ee8f2827 -r 125cb389ab90 gamelib/scenes/bridge.py --- a/gamelib/scenes/bridge.py Sat Aug 28 15:26:30 2010 +0200 +++ b/gamelib/scenes/bridge.py Sat Aug 28 15:31:45 2010 +0200 @@ -11,7 +11,8 @@ from gamelib.scenes.scene_widgets import (Door, InteractText, InteractNoImage, InteractRectUnion, InteractImage, - InteractAnimated, GenericDescThing) + InteractAnimated, GenericDescThing, + BaseCamera) class Bridge(Scene): @@ -42,6 +43,7 @@ self.add_item(Superconductor('superconductor')) self.add_item(Stethoscope('stethoscope')) self.add_thing(ToMap()) + self.add_thing(MonitorCamera()) self.add_thing(MassageChair()) self.add_thing(MassageChairBase()) self.add_thing(StethoscopeThing()) @@ -352,6 +354,16 @@ return Result(soundfile='beep550.ogg') +class MonitorCamera(BaseCamera): + "A camera on the bridge" + + NAME = "bridge.camera" + + INTERACTS = { + 'camera' : InteractImage(33, 192, 'camera_small.png') + } + + class BridgeCompDetail(Scene): FOLDER = 'bridge' diff -r 0cc6ee8f2827 -r 125cb389ab90 gamelib/scenes/crew_quarters.py --- a/gamelib/scenes/crew_quarters.py Sat Aug 28 15:26:30 2010 +0200 +++ b/gamelib/scenes/crew_quarters.py Sat Aug 28 15:31:45 2010 +0200 @@ -4,7 +4,8 @@ from gamelib.state import Scene, Item, Thing, Result from gamelib.scenes.scene_widgets import (Door, InteractText, InteractNoImage, InteractRectUnion, InteractImage, - InteractAnimated, GenericDescThing) + InteractAnimated, GenericDescThing, + BaseCamera) class CrewQuarters(Scene): @@ -25,6 +26,9 @@ self.add_thing(Safe()) self.add_item(Fishbowl('fishbowl')) self.add_item(DuctTape('duct_tape')) + self.add_item(EscherPoster('escher_poster')) + self.add_thing(PosterThing()) + self.add_thing(MonitorCamera()) self.add_thing(GenericDescThing('crew.plant', 1, "The plant is doing surprisingly well for centuries of neglect", ((624, 215, 61, 108),))) @@ -149,17 +153,42 @@ CURSOR = CursorSprite('duct_tape.png') -class SafeDetail(Scene): +class MonitorCamera(BaseCamera): + "A Camera pointing to JIM" + + NAME = 'crew.camera' + + INTERACTS = { + 'camera' : InteractImage(85, 97, 'camera_medium.png') + } + + +class PosterThing(Thing): + "A innocent poster on the wall" + + NAME = 'crew.poster' - FOLDER = 'crew_quarters' - BACKGROUND = None # TODO - NAME = 'safe_detail' + INTERACTS = { + 'poster': InteractImage(29, 166, 'triangle_poster.png'), + } + + INITIAL = 'poster' + + def interact_without(self): + self.state.add_inventory_item('escher_poster') + self.scene.remove_thing(self) + return Result("This poster will go nicely on your bedroom wall.") - SIZE = (300, 300) + def get_description(self): + return "A paradoxial poster hanges below the security camera" + - def __init__(self, state): - super(SafeDetail, self).__init__(state) +class EscherPoster(Item): + "A confusing poster to disable JIM" + + INVENTORY_IMAGE = "triangle_poster.png" + CURSOR = CursorSprite('triangle_poster.png') + NAME = "escher_poster" SCENES = [CrewQuarters] -DETAIL_VIEWS = [SafeDetail] diff -r 0cc6ee8f2827 -r 125cb389ab90 gamelib/scenes/scene_widgets.py --- a/gamelib/scenes/scene_widgets.py Sat Aug 28 15:26:30 2010 +0200 +++ b/gamelib/scenes/scene_widgets.py Sat Aug 28 15:31:45 2010 +0200 @@ -177,3 +177,15 @@ "Waving that in the doorway does nothing. Try something else, perhaps?", ])) +class BaseCamera(Thing): + "Base class for the camera puzzles" + + INITIAL = 'camera' + + def get_description(self): + return "A security camera watches over the room" + + def interact_with_escher_poster(self, item): + # TODO + return Result("A very bad idea") +