Mercurial > boomslang
changeset 283:3ac2e025478f
Fishbowl and laser lights that don't make the universe go away.
author | Jeremy Thurgood <firxen@gmail.com> |
---|---|
date | Fri, 27 Aug 2010 23:12:34 +0200 |
parents | fe899fb63866 |
children | c6e9939aacf8 |
files | Resources/images/crew_quarters/fishbowl.png Resources/images/crew_quarters/fishbowl_helmet.png Resources/images/items/fishbowl.png Resources/images/items/fishbowl_helmet.png gamelib/scenes/crew_quarters.py gamelib/scenes/machine.py |
diffstat | 6 files changed, 42 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/gamelib/scenes/crew_quarters.py Fri Aug 27 23:09:07 2010 +0200 +++ b/gamelib/scenes/crew_quarters.py Fri Aug 27 23:12:34 2010 +0200 @@ -11,6 +11,8 @@ FOLDER = "crew_quarters" BACKGROUND = "crew_quarters.png" + OFFSET = (0, -50) + INITIAL_DATA = { 'accessible': True, } @@ -18,6 +20,8 @@ def __init__(self, state): super(CrewQuarters, self).__init__(state) self.add_thing(ToMap()) + self.add_thing(FishbowlThing()) + self.add_item(Fishbowl('fishbowl')) def enter(self): return Result("The crew were a messy bunch. Or maybe that's just the intervening centuries.") @@ -69,6 +73,42 @@ return "Ah, a vintage Knoxx & Co. model QR3. Quaint, but reasonably secure." +class FishbowlThing(Thing): + "A safe, for keeping things safe." + + NAME = 'crew.fishbowl' + + INTERACTS = { + 'fishbowl': InteractImage(356, 495, 'fishbowl_on_table.png'), + 'fish_no_bowl': InteractImage(372, 517, 'fish_minus_bowl.png'), + } + + INITIAL = 'fishbowl' + + INITIAL_DATA = { + 'has_bowl': True, + } + + def interact_without(self): + if not self.get_data('has_bowl'): + return Result("What's the point of lugging around a very dead fish " + "and a kilogram or so of sand?") + self.set_interact('fish_no_bowl') + self.set_data('has_bowl', False) + self.state.add_inventory_item('fishbowl') + return Result("The fishbowl is useful, but its contents aren't.") + + def get_description(self): + return "This fishbowl looks exactly like an old science fiction space helmet." + + +class Fishbowl(Item): + "A bowl. Sans fish." + + INVENTORY_IMAGE = 'fishbowl.png' + CURSOR = CursorSprite('fishbowl.png', 29, 27) + + class SafeDetail(Scene): FOLDER = 'crew_quarters'
--- a/gamelib/scenes/machine.py Fri Aug 27 23:09:07 2010 +0200 +++ b/gamelib/scenes/machine.py Fri Aug 27 23:12:34 2010 +0200 @@ -1,5 +1,7 @@ """Machine room where tools and machines are found.""" +import random + from gamelib.state import Scene, Item, Thing, Result from gamelib.cursor import CursorSprite from gamelib.scenes.scene_widgets import (Door, InteractText, InteractNoImage,