示例#1
0
 def interact_default(self, item):
     if self.state.get_jim_state() == 'online':
         return (Result(_('You feel a shock from the panel.')),
                 make_jim_dialog(
                     _("Prisoner %s. Please step away from the"
                       " panel. You are not an authorized"
                       " technician.") % PLAYER_ID, self.game))
示例#2
0
 def enter(self):
     if self.get_data('implant'):
         self.set_data('implant', False)
         ai1 = make_jim_dialog(
             _("Under the terms of the emergency conscription "
               "act, I have downloaded the ship's schematics to your "
               "neural implant to help you navigate around the ship."),
             self.game)
         if ai1:
             self.state.increase_sentence(3)
             return ai1, make_jim_dialog(
                 _("Prisoner %s, you are a "
                   "class 1 felon. Obtaining access to the ship's "
                   "schematics constitutes a level 2 offence and carries a "
                   "minimal penalty of an additional 3 years on your "
                   "sentence.") % PLAYER_ID,
                 self.game), make_sentence_dialog(PLAYER_ID, self.game)
示例#3
0
 def interact_without(self):
     self.game.scenes['bridge'].things['bridge.massagechair_base'] \
                       .set_data('contains_superconductor', False)
     self.take()
     return (Result(_("The superconductor module unclips easily.")),
             make_jim_dialog(
                 _("Prisoner %s. That chair you've destroyed"
                   " was property of the ship's captain. "
                   "You will surely be punished.") % PLAYER_ID, self.game))
示例#4
0
 def engine_online_check(self):
     if (self.things['engine.cryo_containers'].get_data('filled')
             and self.things['engine.superconductor'].get_data('working')):
         self.set_data('engine online', True)
         self.remove_thing(self.things['engine.engines.8'])
         self.add_thing(Engines())
         return make_jim_dialog(
             _("The engines are now operational. You"
               " have done a satisfactory job, Prisoner"
               " %s.") % PLAYER_ID, self.game)
示例#5
0
 def interact_without(self):
     if self.game.scenes['bridge'].get_data('ai status') == 'online':
         return make_jim_dialog(
             _("You are not authorized to change the"
               " destination."), self.game)
     if not self.ai_blocked:
         return Result(
             _("There's no good reason to choose to go to the"
               " penal colony."))
     if self.game.scenes['bridge'].get_data('ai status') == 'looping':
         return Result(
             _("You could change the destination, but when JIM"
               " recovers, it'll just get reset."))
     if self.game.scenes['bridge'].get_data('ai status') == 'dead':
         return Result(_("You change the destination."),
                       soundfile="beep550.ogg",
                       end_game=True)
示例#6
0
 def enter(self):
     # Setup music
     pieces = [self.sound.get_music(x) for x in self.MUSIC]
     background_playlist = self.sound.get_playlist(pieces,
                                                   random=True,
                                                   repeat=True)
     self.sound.change_playlist(background_playlist)
     if self.get_data('greet'):
         self.set_data('greet', False)
         return make_jim_dialog(
             _("Greetings, Prisoner %s. I am the Judicial "
               "Incarceration Monitor. "
               "You have been woken early under the terms of the "
               "emergency conscription act to assist with repairs to "
               "the ship. Your behaviour during this time will "
               "be noted on your record and will be relayed to "
               "prison officials when we reach the destination. "
               "Please report to the bridge.") % PLAYER_ID, self.game)
示例#7
0
 def interact_with_machete(self, item):
     if self.get_data('fixed'):
         self.set_data('fixed', False)
         self.game.add_inventory_item('tube_fragment')
         self.set_interact()
         responses = [
             Result(_("It takes more effort than one would expect,"
                      " but eventually the pipe is separated from"
                      " the wall."),
                    soundfile="chop-chop.ogg")
         ]
         if self.game.get_current_scene().get_data('vandalism_warn'):
             self.game.get_current_scene().set_data('vandalism_warn', False)
             responses.append(
                 make_jim_dialog(
                     _("Prisoner %s. Vandalism is an offence punishable by a "
                       "minimum of an additional 6 months to your sentence."
                       ) % PLAYER_ID, self.game))
         return responses
示例#8
0
 def interact_with_stethoscope(self, item):
     if self.get_data('is_cracked'):
         return Result(
             _("It's already unlocked. "
               "There's no more challenge."))
     # TODO: Wax lyrical some more about safecracking.
     self.set_data('is_cracked', True)
     self.set_interact()
     self.state.increase_sentence(20)
     return (Result(
         _("Even after centuries of neglect, the tumblers slide"
           " almost silently into place. Turns out the"
           " combination was '1 2 3 4 5'. An idiot must keep his"
           " luggage in here.")),
             make_jim_dialog(
                 _("Prisoner %s, you have been observed"
                   " committing a felony violation. This will"
                   " go onto your permanent record, and your"
                   " sentence will be extended by twenty"
                   " years.") % PLAYER_ID,
                 self.game), make_sentence_dialog(PLAYER_ID, self.game))