def _end_action(self): print "Finished produce unit action: ", self.unit.name(self.target_status) self.unit.status = self.target_status self.unit.in_progress = False #if next status is "automatic" add a shceduled action to finnish it if not self.unit.needs_presence(self.unit.next_status()): Scheduler.instance().add_action(ProductUnitAction(self.npc, self.unit)) outputs = self.unit.outputs(self.target_status) for output in outputs: self.npc.possession.add_resource(ResourceFactory.create_resource_from_nothing(output))