def process_beams(self): self.beams = [] for p1 in self.players: for p2 in self.players: if p1.dist_to(p2.pos) < 120.0: beam = Beam() beam.pos1 = p1.pos beam.pos2 = p2.pos beam.damage = 3 self.beams.append(beam) # Make the beams take damage! for beam in self.beams: length = beam.length() for entity in self.entities: if line_circle_intersect(beam.pos1, beam.pos2, entity.pos, entity.radius): beam.make_damage(entity)