X-Git-Url: https://git.yukkurigames.com/?p=python-bulletml.git;a=blobdiff_plain;f=bulletml%2Fparser.py;h=933be80847c0b31c186173b82c2ee418712f93a2;hp=8bea044914be3701d9edf6d99bc447a7cea23fd6;hb=9b5018cadee8ae1f5599b20095f47e4fa8b0bcc0;hpb=a7295f6fd71242322dd1bad19a90462c188f153f diff --git a/bulletml/parser.py b/bulletml/parser.py index 8bea044..933be80 100644 --- a/bulletml/parser.py +++ b/bulletml/parser.py @@ -36,10 +36,7 @@ class ParamList(object): self.params.append(NumberDef(subelem.text)) def __call__(self, params, rank): - new_params = [param(params, rank) for param in self.params] - while len(new_params) < len(params): - new_params.append(params[len(new_params)]) - return new_params + return [param(params, rank) for param in self.params] def __repr__(self): return "%s(%r)" % (type(self).__name__, self.params) @@ -205,14 +202,12 @@ class BulletDef(object): elif tag == "speed": self.speed = Speed(doc, subelem) elif tag == "action": - self.actions.append(ActionDef(doc, element)) + self.actions.append(ActionDef(doc, subelem)) elif tag == "actionRef": - self.actions.append(ActionRef(doc, element)) + self.actions.append(ActionRef(doc, subelem)) def __call__(self, params, rank): - actions = [] - for action in self.actions: - actions.append(action(params, rank)) + actions = [action(params, rank) for action in self.actions] return ( self.direction and self.direction(params, rank), self.speed and self.speed(params, rank), @@ -294,7 +289,7 @@ class FireDef(object): for subelem in element.getchildren(): tag = realtag(subelem) if tag == "direction": - self.direction = Direction(doc, subelem) + self.direction = Direction(doc, subelem, "aim") elif tag == "speed": self.speed = Speed(doc, subelem) elif tag == "bullet":