Mercurial > pyntnclick
comparison gamelib/scenes/bridge.py @ 519:8f3c82c685a4
Fix is_interactive() by adding tool param.
author | Jeremy Thurgood <firxen@gmail.com> |
---|---|
date | Tue, 07 Sep 2010 18:13:35 +0200 |
parents | 3e91c82c2240 |
children | 821b322e903b |
comparison
equal
deleted
inserted
replaced
518:3e91c82c2240 | 519:8f3c82c685a4 |
---|---|
168 | 168 |
169 def get_description(self): | 169 def get_description(self): |
170 return self.state.current_scene.things['bridge.massagechair_base'] \ | 170 return self.state.current_scene.things['bridge.massagechair_base'] \ |
171 .get_description() | 171 .get_description() |
172 | 172 |
173 def is_interactive(self): | 173 def is_interactive(self, tool=None): |
174 return False | 174 return False |
175 | 175 |
176 | 176 |
177 class Stethoscope(Item): | 177 class Stethoscope(Item): |
178 "Used for cracking safes. Found on the doctor on the chair" | 178 "Used for cracking safes. Found on the doctor on the chair" |
257 ['stars_%d.png' % (i+1) for i in range(3) + range(1,0,-1)], 30) | 257 ['stars_%d.png' % (i+1) for i in range(3) + range(1,0,-1)], 30) |
258 } | 258 } |
259 | 259 |
260 INITIAL = 'stars' | 260 INITIAL = 'stars' |
261 | 261 |
262 def is_interactive(self): | 262 def is_interactive(self, tool=None): |
263 return False | 263 return False |
264 | 264 |
265 | 265 |
266 class BlinkingLights(Thing): | 266 class BlinkingLights(Thing): |
267 | 267 |
268 def __init__(self): | 268 def __init__(self): |
269 super(BlinkingLights, self).__init__() | 269 super(BlinkingLights, self).__init__() |
270 self.description = None | 270 self.description = None |
271 | 271 |
272 def is_interactive(self): | 272 def is_interactive(self, tool=None): |
273 return False | 273 return False |
274 | 274 |
275 def leave(self): | 275 def leave(self): |
276 self.description = random.choice([ | 276 self.description = random.choice([ |
277 "The lights flash in interesting patterns.", | 277 "The lights flash in interesting patterns.", |
375 'log tab' : InteractNoImage(100, 53, 94, 37) | 375 'log tab' : InteractNoImage(100, 53, 94, 37) |
376 } | 376 } |
377 INITIAL = 'log tab' | 377 INITIAL = 'log tab' |
378 COMPUTER = 'bridge_comp_detail' | 378 COMPUTER = 'bridge_comp_detail' |
379 | 379 |
380 def is_interactive(self): | 380 def is_interactive(self, tool=None): |
381 return self.state.detail_views[self.COMPUTER].get_data('tab') != 'log' | 381 return self.state.detail_views[self.COMPUTER].get_data('tab') != 'log' |
382 | 382 |
383 def interact_without(self): | 383 def interact_without(self): |
384 self.state.detail_views[self.COMPUTER].set_data('tab', 'log') | 384 self.state.detail_views[self.COMPUTER].set_data('tab', 'log') |
385 self.state.detail_views[self.COMPUTER].set_background() | 385 self.state.detail_views[self.COMPUTER].set_background() |
395 'alert tab' : InteractNoImage(12, 53, 88, 37) | 395 'alert tab' : InteractNoImage(12, 53, 88, 37) |
396 } | 396 } |
397 INITIAL = 'alert tab' | 397 INITIAL = 'alert tab' |
398 COMPUTER = 'bridge_comp_detail' | 398 COMPUTER = 'bridge_comp_detail' |
399 | 399 |
400 def is_interactive(self): | 400 def is_interactive(self, tool=None): |
401 return self.state.detail_views[self.COMPUTER].get_data('tab') != 'alert' | 401 return self.state.detail_views[self.COMPUTER].get_data('tab') != 'alert' |
402 | 402 |
403 def interact_without(self): | 403 def interact_without(self): |
404 self.state.detail_views[self.COMPUTER].set_data('tab', 'alert') | 404 self.state.detail_views[self.COMPUTER].set_data('tab', 'alert') |
405 self.state.detail_views[self.COMPUTER].set_background() | 405 self.state.detail_views[self.COMPUTER].set_background() |
414 'nav tab' : InteractNoImage(197, 53, 126, 37), | 414 'nav tab' : InteractNoImage(197, 53, 126, 37), |
415 } | 415 } |
416 INITIAL = 'nav tab' | 416 INITIAL = 'nav tab' |
417 COMPUTER = 'bridge_comp_detail' | 417 COMPUTER = 'bridge_comp_detail' |
418 | 418 |
419 def is_interactive(self): | 419 def is_interactive(self, tool=None): |
420 return self.state.detail_views[self.COMPUTER].get_data('tab') != 'nav' | 420 return self.state.detail_views[self.COMPUTER].get_data('tab') != 'nav' |
421 | 421 |
422 def interact_without(self): | 422 def interact_without(self): |
423 self.state.detail_views[self.COMPUTER].set_data('tab', 'nav') | 423 self.state.detail_views[self.COMPUTER].set_data('tab', 'nav') |
424 self.state.detail_views[self.COMPUTER].set_background() | 424 self.state.detail_views[self.COMPUTER].set_background() |
440 self.interacts['line'] = InteractNoImage(r.x, r.y, r.w, r.h) | 440 self.interacts['line'] = InteractNoImage(r.x, r.y, r.w, r.h) |
441 # Whether JIM blocks this | 441 # Whether JIM blocks this |
442 self.ai_blocked = ai_blocked | 442 self.ai_blocked = ai_blocked |
443 self.set_interact('line') | 443 self.set_interact('line') |
444 | 444 |
445 def is_interactive(self): | 445 def is_interactive(self, tool=None): |
446 return self.state.detail_views[self.COMPUTER].get_data('tab') == 'nav' | 446 return self.state.detail_views[self.COMPUTER].get_data('tab') == 'nav' |
447 | 447 |
448 def interact_without(self): | 448 def interact_without(self): |
449 if self.state.scenes['bridge'].get_data('ai status') == 'online': | 449 if self.state.scenes['bridge'].get_data('ai status') == 'online': |
450 return make_jim_dialog("You are not authorized to change the destination.", self.state) | 450 return make_jim_dialog("You are not authorized to change the destination.", self.state) |
464 'up' : InteractNoImage(594, 82, 30, 58) | 464 'up' : InteractNoImage(594, 82, 30, 58) |
465 } | 465 } |
466 INITIAL = 'up' | 466 INITIAL = 'up' |
467 COMPUTER = 'bridge_comp_detail' | 467 COMPUTER = 'bridge_comp_detail' |
468 | 468 |
469 def is_interactive(self): | 469 def is_interactive(self, tool=None): |
470 tab = self.state.detail_views[self.COMPUTER].get_data('tab') | 470 tab = self.state.detail_views[self.COMPUTER].get_data('tab') |
471 page = self.state.detail_views[self.COMPUTER].get_data('log page') | 471 page = self.state.detail_views[self.COMPUTER].get_data('log page') |
472 return tab == 'log' and page > 0 | 472 return tab == 'log' and page > 0 |
473 | 473 |
474 def interact_without(self): | 474 def interact_without(self): |
487 'down' : InteractNoImage(594, 293, 30, 58) | 487 'down' : InteractNoImage(594, 293, 30, 58) |
488 } | 488 } |
489 INITIAL = 'down' | 489 INITIAL = 'down' |
490 COMPUTER = 'bridge_comp_detail' | 490 COMPUTER = 'bridge_comp_detail' |
491 | 491 |
492 def is_interactive(self): | 492 def is_interactive(self, tool=None): |
493 tab = self.state.detail_views[self.COMPUTER].get_data('tab') | 493 tab = self.state.detail_views[self.COMPUTER].get_data('tab') |
494 page = self.state.detail_views[self.COMPUTER].get_data('log page') | 494 page = self.state.detail_views[self.COMPUTER].get_data('log page') |
495 max_page = self.state.detail_views[self.COMPUTER].get_data('max page') | 495 max_page = self.state.detail_views[self.COMPUTER].get_data('max page') |
496 return tab == 'log' and (page + 1) < max_page | 496 return tab == 'log' and (page + 1) < max_page |
497 | 497 |