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)
self.value = NumberDef(element.text)
def __call__(self, params, rank):
- return self.value(params, rank)
+ return (self.value(params, rank), self.type)
def __repr__(self):
return "%s(%r, type=%r)" % (
self.value = NumberDef(element.text)
def __call__(self, params, rank):
- return self.value(params, rank)
+ return (self.value(params, rank), self.type)
def __repr__(self):
- return "%s(%r, type=%r)" % (
- type(self).__name__, self.value, self.type)
+ return "%s(%r, type=%r)" % (type(self).__name__, self.value, self.type)
class ChangeSpeed(object):
"""Speed change over time."""
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:
- try:
- actions.append((action.params(params), action.action))
- except AttributeError:
- actions.append((params, action))
- return (self.direction and self.direction(params, rank),
- self.speed and self.speed(params, rank),
- actions)
+ actions = [action(params, rank) for action in self.actions]
+ return (
+ self.direction and self.direction(params, rank),
+ self.speed and self.speed(params, rank),
+ actions)
def __repr__(self):
return "%s(direction=%r, speed=%r, actions=%r)" % (
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":