#include "StrengthRune.h" #include "Spieler.h" StrengthRuneEffect::StrengthRuneEffect( ResourceRegistry *zResources, Spieler *zSpieler ) : Effect( zSpieler, 75.f + ( 75.f / 100.f ) * zSpieler->getAbklingZeitVerringerung() ) { zSpieler->setArmor( zSpieler->getArmor() + 7 ); zSpieler->setSchadenBonus( zSpieler->getSchadenBonus() + 3 ); annimation = zResources->getResource( R_RSTRENGTH_EFFECT, 0 ); effectImage = zResources->zResource( R_RSTRENGTH, 0 )->getImage( 0 ); currentImage = 0; nextImage = 0.075; } StrengthRuneEffect::~StrengthRuneEffect() { zSpieler->setArmor( zSpieler->getArmor() - 7 ); zSpieler->setSchadenBonus( zSpieler->getSchadenBonus() - 3 ); annimation->release(); } bool StrengthRuneEffect::tick( double time, Spiel *zSpiel ) { nextImage -= time; if( nextImage <= 0 ) { nextImage += 0.075; currentImage++; } return Effect::tick( time, zSpiel ); } void StrengthRuneEffect::renderSpieler( Bild &rObj ) { if( currentImage >= annimation->getImageCount() ) return; if( rObj.setDrawOptions( (int)zSpieler->getX(), (int)zSpieler->getY(), (int)zSpieler->getWidth(), (int)zSpieler->getHeight() ) ) { rObj.alphaBildSkall( 0, 0, (int)zSpieler->getWidth(), (int)zSpieler->getHeight(), *annimation->zImage( currentImage ) ); rObj.releaseDrawOptions(); } }