def use(self, target): if target.team == self.actor.team: return False actor_lib.apply_damage(target, self.damage) self.generate_effect(target) self.charge = 0
def explode(self, actors): for a in actors: if vectors.distance(self.pos, a.pos) <= self.blast_radius: actor_lib.apply_damage(a, dissipate( self.damage, vectors.distance(self.pos, a.pos), self.blast_radius, self.dissipation_func) ) return self.generate_effect()