Interesting Times - It got better

Well, I managed to make some considerable improvements in the last few hours.
The best thing is that it's now possible to win -- I've proven it by beating my test level.

Even better, it's not easy!

(log in to comment)


Just starting the first game:

Traceback (most recent call last):
  File "", line 12, in <module>
    import main
  File "Game/Code/", line 13, in <module>
  File "Game/Code/humerus/", line 44, in run
  File "Game/Code/albow/", line 112, in run
  File "Game/Code/albow/", line 258, in run_modal
    clicked_widget.handle_mouse('mouse_drag', event)
  File "Game/Code/albow/", line 311, in handle_mouse
    self.call_handler(name, event)
  File "Game/Code/albow/", line 394, in call_handler
    return method(*args)
  File "Game/Code/", line 67, in mouse_drag
  File "Game/Code/", line 101, in route_edit_drag
    cell1 = self.route_edit_cell
AttributeError: 'LevelPlayView' object has no attribute 'route_edit_cell'
Later (I think I accidentally right clicked)

 Traceback (most recent call last):
  File "", line 12, in <module>
    import main
  File "Game/Code/", line 13, in <module>
  File "Game/Code/humerus/", line 44, in run
  File "Game/Code/albow/", line 112, in run
  File "Game/Code/albow/", line 149, in run_modal
    timer_event.dict['local'] = last_mouse_event.local
AttributeError: event member not defined
Okay, the first one seems to happen if you click and drag. Here's a patch to fix it:

--- InterestingTimes-1.1/Game/Code/    2011-04-10 11:12:34.000000000 +1200
+++ Source/Game/Code/    2011-04-10 16:52:14.000000000 +1200
@@ -37,6 +37,8 @@
     level = property(lambda self: game.playing_level)
+    route_edit_cell = None
     def draw(self, surf):
         CityView.draw(self, surf)
         selected_actor = self.level.selected_actor

I don't know what you did to make the second one happen, but here's another patch that might fix it:

--- InterestingTimes-1.1/Game/Code/albow/    2011-04-06 19:15:12.000000000 +1200
+++ Source/Game/Code/albow/    2011-04-10 17:06:07.000000000 +1200
@@ -207,6 +207,7 @@
                     for event in events:
                         t = timestamp()
                         event.dict['time'] = t
+                        event.dict['local'] = getattr(event, 'pos', (0, 0))
                         type = event.type
                         if type == QUIT:

I'll upload a bugfix release incorporating those shortly. Thanks for the feedback.