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
- 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
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)