StrengthRune.cpp 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. #include "StrengthRune.h"
  2. #include "Spieler.h"
  3. StrengthRuneEffect::StrengthRuneEffect( ResourceRegistry *zResources, Spieler *zSpieler )
  4. : Effect( zSpieler, 75.f + ( 75.f / 100.f ) * zSpieler->getAbklingZeitVerringerung() )
  5. {
  6. zSpieler->setArmor( zSpieler->getArmor() + 7 );
  7. zSpieler->setSchadenBonus( zSpieler->getSchadenBonus() + 3 );
  8. annimation = zResources->getResource( R_RSTRENGTH_EFFECT, 0 );
  9. effectImage = zResources->zResource( R_RSTRENGTH, 0 )->getImage( 0 );
  10. currentImage = 0;
  11. nextImage = 0.075;
  12. }
  13. StrengthRuneEffect::~StrengthRuneEffect()
  14. {
  15. zSpieler->setArmor( zSpieler->getArmor() - 7 );
  16. zSpieler->setSchadenBonus( zSpieler->getSchadenBonus() - 3 );
  17. annimation->release();
  18. }
  19. bool StrengthRuneEffect::tick( double time, Spiel *zSpiel )
  20. {
  21. nextImage -= time;
  22. if( nextImage <= 0 )
  23. {
  24. nextImage += 0.075;
  25. currentImage++;
  26. }
  27. return Effect::tick( time, zSpiel );
  28. }
  29. void StrengthRuneEffect::renderSpieler( Bild &rObj )
  30. {
  31. if( currentImage >= annimation->getImageCount() )
  32. return;
  33. if( rObj.setDrawOptions( (int)zSpieler->getX(), (int)zSpieler->getY(), (int)zSpieler->getWidth(), (int)zSpieler->getHeight() ) )
  34. {
  35. rObj.alphaBildSkall( 0, 0, (int)zSpieler->getWidth(), (int)zSpieler->getHeight(), *annimation->zImage( currentImage ) );
  36. rObj.releaseDrawOptions();
  37. }
  38. }