BulletML: FromDocument for parity with FromElement.
[python-bulletml.git] / bulletml / impl.py
index a056d6c..98b0ef7 100644 (file)
@@ -73,10 +73,13 @@ class Action(object):
             self.owner.speed += self.speed
 
         if self.direction_frames > 0:
             self.owner.speed += self.speed
 
         if self.direction_frames > 0:
+            # The Noiz implementation was a little weird here, I think
+            # there was a bug in it that prevented it from working if
+            # the frame count was 1. I'm still not sure what the aim
+            # check is supposed to do, exactly.
             self.direction_frames -= 1
             self.direction_frames -= 1
-            if self.direction_frames <= 0:
-                if self.aiming:
-                    self.owner.direction += self.owner.aim
+            if self.aiming and self.direction_frames <= 0:
+                self.owner.direction += self.owner.aim
             else:
                 self.owner.direction += self.direction
 
             else:
                 self.owner.direction += self.direction
 
@@ -305,10 +308,3 @@ class Bullet(object):
         self.y += self.my - math.cos(self.direction) * self.speed
 
         return created
         self.y += self.my - math.cos(self.direction) * self.speed
 
         return created
-
-    @classmethod
-    def FromDoc(cls, doc, params=(), x=0, y=0, speed=0, direction=0,
-                target=None, rank=0.5):
-        """Construct a bullet from top-level actions in a document."""
-        actions = [act(params, rank) for act in doc.top]
-        return cls(x, y, direction, speed, target, actions, rank=rank)