DrachenAuge.cpp 937 B

1234567891011121314151617181920212223242526
  1. #include "DrachenAuge.h"
  2. #include "Spieler.h"
  3. DrachenAugeEffect::DrachenAugeEffect( ResourceRegistry *zResources, Spieler *zVerursacher, Spieler *zOpfer )
  4. : Effect( zOpfer, DA_DURATION )
  5. {
  6. this->zVerursacher = zVerursacher;
  7. laufTempoDecrease = DA_MOVEMENT_DECREASE <= zSpieler->getLaufTempo() ? DA_MOVEMENT_DECREASE : zSpieler->getLaufTempo();
  8. zSpieler->setLaufTempo( zSpieler->getLaufTempo() - laufTempoDecrease );
  9. effectImage = zResources->zResource( R_DRACHENAUGE, 0 )->getImage( 0 );
  10. }
  11. DrachenAugeEffect::~DrachenAugeEffect()
  12. {
  13. zSpieler->setLaufTempo( zSpieler->getLaufTempo() + laufTempoDecrease );
  14. }
  15. bool DrachenAugeEffect::tick( double time, Spiel *zSpiel )
  16. {
  17. float damage = DA_MIN_DPS * (float)time;
  18. zSpieler->nimmSchaden( damage, zVerursacher, MITTE, zSpiel );
  19. if( zVerursacher )
  20. zVerursacher->heilung( DA_HEALPS * (float)time, zSpiel );
  21. return Effect::tick( time, zSpiel );
  22. }