

def trigger(self, ui):
    '\n        Trigger this animation\n        '
    damage_counter = DamageCounter(damage=str(self.damage), colour=self.colour, parent=ui)
    ui.view.scene().addItem(damage_counter)
    damage_counter.setZValue(zorder_counter)
    bounds = damage_counter.boundingRect()
    width = bounds.width()
    rand = Random()
    damage_counter.setPos((((((self.location[0] * 32) + 16) - (width / 2)) + rand.randint((- 16), 16)) + self.offset[0]), ((self.location[1] * 32) + self.offset[1]))
    animation = QSequentialAnimationGroup()
    moving = QPropertyAnimation(damage_counter.adapter, 'y_location')
    moving.setDuration(750)
    moving.setStartValue(((self.location[1] * 32) + self.offset[1]))
    moving.setEndValue((((self.location[1] * 32) - 32) + self.offset[1]))
    curve = QEasingCurve(QEasingCurve.OutElastic)
    moving.setEasingCurve(curve)
    animation.addAnimation(moving)
    fading = QPropertyAnimation(damage_counter.adapter, 'opacity')
    fading.setDuration(750)
    fading.setStartValue(1.0)
    fading.setEndValue(0.0)
    animation.addAnimation(fading)

    def clean_up():
        animation.stop()
        ui.animations.remove(animation)
        ui.view.items().remove(damage_counter)
        ui.remove_finished_animation()
    ui.animations.append(animation)
    animation.start()

dataset/ETHPy150Open tuturto/pyherc/src/herculeum/ui/gui/animations/healing.py HealTriggeredAnimation.trigger/original