Example #1
0
 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
Example #2
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()