# HG changeset patch # User Neil Muller # Date 1336392018 -7200 # Node ID 47c7e96cf9c87f501fd997175b8eb5ee4eaeb429 # Parent e285b1e31a085defecf710a7002c58f2cb7a2616 Change initial mission creation logic to look for leaf classes diff -r e285b1e31a08 -r 47c7e96cf9c8 gamelib/gamestate.py --- a/gamelib/gamestate.py Mon May 07 13:59:50 2012 +0200 +++ b/gamelib/gamestate.py Mon May 07 14:00:18 2012 +0200 @@ -24,8 +24,12 @@ else: self.lab = lab.Lab() # instantiate all the available missions - self.missions = [cls() for cls in - missions.Mission.__subclasses__()] + for cls in missions.Mission.__subclasses__(): + if cls.__subclasses__(): + # Not a leaf class, so base class for other missions + continue + # Add mission to the list + self.missions.append(cls()) def start_turn(self): # Make more flexible?