#include "DrachenAuge.h"
#include "Spieler.h"


DrachenAugeEffect::DrachenAugeEffect( ResourceRegistry *zResources, Spieler *zVerursacher, Spieler *zOpfer )
    : Effect( zOpfer, DA_DURATION )
{
    this->zVerursacher = zVerursacher;
    laufTempoDecrease = DA_MOVEMENT_DECREASE <= zSpieler->getLaufTempo() ? DA_MOVEMENT_DECREASE : zSpieler->getLaufTempo();
    zSpieler->setLaufTempo( zSpieler->getLaufTempo() - laufTempoDecrease );
    effectImage = zResources->zResource( R_DRACHENAUGE, 0 )->getImage( 0 );
}

DrachenAugeEffect::~DrachenAugeEffect()
{
    zSpieler->setLaufTempo( zSpieler->getLaufTempo() + laufTempoDecrease );
}

bool DrachenAugeEffect::tick( double time, Spiel *zSpiel )
{
    float damage = DA_MIN_DPS * (float)time;
    zSpieler->nimmSchaden( damage, zVerursacher, MITTE, zSpiel );
    if( zVerursacher )
        zVerursacher->heilung( DA_HEALPS * (float)time, zSpiel );
    return Effect::tick( time, zSpiel );
}