def get_action(self, requester=None): # TODO: Put this specialization into player.py? if self.isinstance('Player') and requester.isinstance('Player'): return swappositionaction.SwapPositionAction(requester, self) direction = utils.math.sub(self.position, requester.position) return attackaction.AttackAction(requester, self, direction)
def prerequisite(self): # Build a list of sub actions coords = list(map(lambda x: utils.math.add(x, self.performer.position), helpers.DirectionHelper.directions)) entities = instances.scene_root.get_entities(coords) for entity in entities: attack = attackaction.AttackAction(self.performer, target=entity, direction=None) self.sub_actions.append(attack) self.sub_actions = [a for a in self.sub_actions if a.prerequisite()] if len(self.sub_actions) > 0: self.performer.weapon.damage = self.performer.weapon.total_damage // len(self.sub_actions) return True self.performer.weapon.damage = self.performer.weapon.total_damage return False
def get_action(self, requester=None): direction = utils.math.sub(self.position, requester.position) return attackaction.AttackAction(requester, self, direction)
def get_perform_action(self, requester, target): direction = utils.math.sub(target.position, self.position) return attackaction.AttackAction(requester, target, direction)
def get_action(self, requester=None): if requester.weapon.isinstance('PickAxe'): direction = utils.math.sub(self.position, requester.position) return attackaction.AttackAction(requester, self, direction) return action.IdleAction(requester)