예제 #1
0
 scenes={
     'ghast_destroyed':
     interactions.thing.Thing(
         name='Ghast Destroyed',
         opening_text=
         's soon as you raise the cross the ghast darts away from its light.\n'
         'You continue reciting prayer as you advance at the ever shrinking cloud of evil.\n'
         'As you finish the prayer the cross lets out a blinding light,\n'
         'the ghast shrieks and vanishes into thin air.',
         choices=[
             choices.ChoiceInspectRoom(
                 text=
                 'Move towards the iron gate at the far end of the room',
                 scene='iron_gate'),
             choices.ChoiceNavigate('Go back to Entrance Hall',
                                    level='level_1',
                                    room='entrance_hall'),
         ],
         events=[
             events.UnlockJournal(entry.destroy_ghast),
             events.SetRoomFlagTrue('ghast_dead')
         ]),
     'ghast_illusion':
     interactions.thing.Thing(
         name='Ghast Illusion',
         opening_text=
         'The ghast charges at you yet you stand firmly, staring into its glowing eyes.\n'
         'As it reaches you it disperses into thin air. Nothing but an illusion.',
         choices=[
             choices.ChoiceInspectRoom(
                 text=
예제 #2
0
from game_code import interactions
from game_code.interactions.lib import choices, events, conditions, scene
from game_code.objects import item, entry

statue_room = interactions.room.Room(
    name='Statue Room',
    opening_text='You go through the passage and enter an oval room filled with statues.\n'
                 'At the far end there is a large statue of a gargoyle.\n'
                 'As you approach the gargoyle, his eyes light up in green flames and he issues a warning:\n'
                 '"Only the head of the estate may pass".',
    room_flags={'retreated': False},
    choices=[
        choices.ChoiceInspectRoom('Present Robert\'s head', scene='head',
                                  conditions=[conditions.PlayerHasItem(item.head)]),
        choices.ChoiceInspectRoom('Fight the Gargoyle', scene='fight2'),
        choices.ChoiceNavigate('Leave room', level='level_2', room='grande_hall'),
    ],
    screens={
        'clear': scene.Screen(
            title='Statue Room',
            text='You go through the passage and enter an oval room filled with statues.\n'
                 'at the end is a stone archway and a staircase leading down.',
            choices=[
                choices.ChoiceNavigate('Descend through the stone arch', level='level_3', room='temple_room'),
                choices.ChoiceNavigate('Go back to the Grande Hall', level='level_2', room='grande_hall'),
            ],
        )
    },
    scenes={
        'head': interactions.thing.Thing(
            name='Mirror',
예제 #3
0
from game_code import interactions
from game_code.interactions.lib import choices, events, conditions
from game_code.objects import item, entry

closet_room = interactions.room.Room(
    name='Closet Room',
    opening_text='The smell of wet leather fills the air.\n'
    'Before you are a few vacant coat hangers and a rotting wooden closet.',
    choices=[
        choices.ChoiceInspectRoom('Search the closet',
                                  'closet',
                                  conditions=[conditions.OnlyOnce()]),
        choices.ChoiceNavigate('Leave room',
                               level='level_1',
                               room='entrance_hall'),
    ],
    scenes={
        'closet':
        interactions.thing.Thing(
            name='Closet',
            opening_text='As you open the closet a cloud of moths fly out,\n'
            'a few stinking leather coats hang on frail hooks.\n'
            'You search the pockets and eventually find a key',
            events=[
                events.AddItem(item.iron_key),
                events.UnlockJournal(entry.found_a_key)
            ])
    })
예제 #4
0
         choices.ChoiceInspectRoom('Destroy the foul beasts!',
                                   'fight_imps'),
     ],
 ),
 'haggle':
 interactions.thing.Thing(
     name='Temple Room',
     opening_text=
     'You pull out a gold coin. You have caught their attention.\n'
     'Their eyes follow the coin as you throw it at their feet.\n'
     'They cautiously come closer and examine the coin together as they huddle behind a pillar.\n'
     'Passage seems safe.',
     choices=[
         choices.ChoiceInspectRoom('Have a look around', 'examine'),
         choices.ChoiceNavigate('Advance through the decorated door.',
                                level='level_3',
                                room='inner_cloister'),
         choices.ChoiceInspectRoom(
             'Perhaps they know something about the headless corpse',
             'ask_corpse',
             conditions=[conditions.OnlyOnce()]),
         choices.ChoiceInspectRoom('Destroy the foul beasts!',
                                   'fight_imps'),
     ],
 ),
 'examine':
 interactions.thing.Thing(
     name='Temple Room',
     opening_text=
     'The burning brassieres cast flickering shadows on the walls.\n'
     'Above the door is an upside down cross. This is definitely an evil temple.',
예제 #5
0
 'He is busy sweeping the floor when he lifts his gaze and notices you.\n'
 'His croaking voice mutters: "ah, a visitor."',
 choices=[
     choices.ChoiceInspectRoom('Speak with the Ghoul', 'speak'),
     choices.ChoiceInspectRoom('Attack Ghoul', 'attack'),
 ],
 room_flags={'clock_changed': False},
 screens={
     'grande_hall':
     scene.Screen(
         title='Grande Hall',
         text=
         'Four doors lead away from the chamber, there is an old wooden clock standing on the left.',
         choices=[
             choices.ChoiceNavigate('Dining Room',
                                    level='level_2',
                                    room='dining_room'),
             choices.ChoiceNavigate('Library',
                                    level='level_2',
                                    room='library'),
             choices.ChoiceNavigate('Laboratory',
                                    level='level_2',
                                    room='laboratory'),
             choices.ChoiceNavigate('Bedroom',
                                    level='level_2',
                                    room='bedroom'),
             choices.ChoiceInspectRoom(
                 'Wooden Clock',
                 'clock',
                 conditions=[conditions.RoomFlagFalse('clock_changed')]),
             choices.ChoiceInspectRoom(
예제 #6
0
from game_code import interactions
from game_code.interactions.lib import choices, events, conditions, scene
from game_code.objects import item, entry

bedroom = interactions.room.Room(
    name='Bedroom',
    opening_text=
    'You enter a lavish bedroom, but instead of a bed there is a large and beautiful coffin.\n'
    'A vampire must certainly live here, the velvet lining on the coffin makes you certain.\n'
    'A towering mirror is attached to the wall.',
    choices=[
        choices.ChoiceInspectRoom(text='Examine the mirror', scene='mirror'),
        choices.ChoiceNavigate('Leave room',
                               level='level_2',
                               room='grande_hall'),
    ],
    screens={
        'revealed':
        scene.Screen(
            title='Bedroom',
            text=
            'You enter a lavish bedroom, but instead of a bed there is a large and beautiful coffin.\n'
            'A vampire must certainly live here, the velvet lining on the coffin makes you certain.\n'
            'A stone passage leads to a Statue Room where a mirror used to be',
            choices=[
                choices.ChoiceNavigate('Enter the Statue room',
                                       level='level_2',
                                       room='statue_room'),
                choices.ChoiceNavigate('Leave room',
                                       level='level_2',
                                       room='grande_hall'),
예제 #7
0
 'A chemistry apparatus next to the door is boiling strange fluids. This is a laboratory.',
 room_flags={
     'lock_box_broken': False,
     'made_nitro': False
 },
 choices=[
     choices.ChoiceInspectRoom(
         text='Chemistry Apparatus',
         scene='apparatus',
         conditions=[conditions.RoomFlagFalse('made_nitro')]),
     choices.ChoiceInspectRoom(
         text='Little Lock Box',
         scene='lock_box',
         conditions=[conditions.RoomFlagFalse('lock_box_broken')]),
     choices.ChoiceNavigate('Leave room',
                            level='level_2',
                            room='grande_hall'),
 ],
 scenes={
     'apparatus':
     interactions.thing.Thing(
         name='Chemistry Apparatus',
         opening_text=
         'On the main stone table there is an elaborate chemistry apparatus.\n'
         'Various glass pipes dripping along and mixing slowly.',
         choices=[
             choices.ChoiceInspectRoom(text='Make Nitroglycerin',
                                       scene='nitro'),
             choices.ChoiceInspectRoom(
                 text='Little Lock Box',
                 scene='lock_box',
예제 #8
0
from game_code import interactions
from game_code.interactions.lib import choices, events, conditions
from game_code.objects import item, entry


dining_room = interactions.room.Room(
    name='Dining Room',
    opening_text='You enter the dining room. A long marble table runs the length of the decorated chamber.\n'
                 'Carved wooden chairs surround the table on both sides.',
    room_flags={'found_treasure': False, 'door_open': False, 'shoot': False, 'water': False},
    choices=[
        choices.ChoiceInspectRoom('Examine the Table', 'table'),
        choices.ChoiceInspectRoom('Hidden Door', 'hidden_door',
                                  conditions=[conditions.RoomFlagTrue('door_open'),
                                              conditions.RoomFlagFalse('found_treasure')]),
        choices.ChoiceNavigate('Leave room', level='level_2', room='grande_hall'),
    ],
    scenes={
        'table': interactions.thing.Thing(
            name='Table',
            opening_text='After observing the table from all sides you decide to take a look underneath.\n'
                         'You lift the silken table cloth to find an inscription carved into one of the legs\n'
                         '"Fortunes close. Masked by time"',
            future_text='The inscription carved into one of the legs reads: "Fortunes close. Masked by time"',
            events=[events.UnlockJournal(entry.examine_table)]
        ),
        'hidden_door': interactions.thing.Thing(
            name='Hidden Door',
            opening_text='The clock mechanism seems to have revealed a hidden door.\n'
                         'Perhaps it will lead to something of worth.',
            choices=[
예제 #9
0
from game_code import interactions
from game_code.interactions.lib import choices, events
from game_code.objects import entry

outside = interactions.room.Room(
    name='Outside',
    opening_text='You are a bad ass holy inquisitor, here to banish evil.\n'
    'You carry with you a crossbow, a holy cross, a vial of holy water and a vial of flammable oil.\n'
    'Other than your wits these are your only weapons.\n'
    'You stand before the main entrance to the cursed dungeon where evil lurks.\n'
    'The large wooden door before you seems old and rotten',
    choices=[
        choices.ChoiceNavigate('Open the door slowly',
                               level='level_1',
                               room='entrance_hall'),
        choices.ChoiceNavigate('Kick down the door!',
                               level='level_1',
                               room='entrance_hall'),
    ],
    add_menu_choices=False,
)
예제 #10
0
from game_code import interactions
from game_code.interactions.lib import choices, events
from game_code.objects import entry

entrance_hall = interactions.room.Room(
    name='Entrance Hall',
    opening_text='beyond the door is a circular wide room.\n'
    'The air is moldy and the floor is covered with dust.\n'
    'There are three doors leading away from the hall.',
    choices=[
        choices.ChoiceNavigate('Left Door',
                               level='level_1',
                               room='closet_room'),
        choices.ChoiceNavigate('Front Door',
                               level='level_1',
                               room='living_room'),
        choices.ChoiceNavigate('Right Door', level='level_1', room='kitchen'),
    ],
    events=[events.UnlockJournal(entry.cursed_dungeon)],
)