123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899 |
- #pragma once
- #include <Bild.h>
- using namespace Framework;
- class ActiveSkill
- {
- protected:
- struct SkillDataSave
- {
- bool active;
- double time;
- } current, last;
- double maxTime;
- int ref;
- double reloadTimeFactor;
- Bild *bild;
- // skill bonus added when active
- double beschleunigungBonus;
- double reparaturBonus;
- double laserIntensitätBonus;
- double laserEffizienzBonus;
- double akkuLeistungBonus;
- double maxEnergieBonus;
- double maxStabilitätBonus;
- double laserTempoBonus;
- double wendigkeitBonus;
- double antriebEffizienzBonus;
- double energieSchildBonus;
- double energieSchildEffizienzBonus;
- // skil multiplier when active
- double beschleunigungFactor;
- double reparaturFactor;
- double laserIntensitätFactor;
- double laserEffizienzFactor;
- double akkuLeistungFactor;
- double maxEnergieFactor;
- double maxStabilitätFactor;
- double laserTempoFactor;
- double wendigkeitFactor;
- double antriebEffizienzFactor;
- double energieSchildFactor;
- double energieSchildEffizienzFactor;
- public:
- ActiveSkill( Bild *bild );
- ~ActiveSkill();
- void save();
- void load();
- void tick( double time );
- void render( int x, int y, Bild &zRObj );
- bool isActive() const;
- void activate();
- void reset();
- double getBeschleunigungBonus();
- double getReparaturBonus();
- double getLaserIntensitätBonus();
- double getLaserEffizienzBonus();
- double getAkkuLeistungBonus();
- double getMaxEnergieBonus();
- double getMaxStabilitätBonus();
- double getLaserTempoBonus();
- double getWendigkeitBonus();
- double getAntriebEffizienzBonus();
- double getEnergieSchildBonus();
- double getEnergieSchildEffizienzBonus();
- double getBeschleunigungFactor();
- double getReparaturFactor();
- double getLaserIntensitätFactor();
- double getLaserEffizienzFactor();
- double getAkkuLeistungFactor();
- double getMaxEnergieFactor();
- double getMaxStabilitätFactor();
- double getLaserTempoFactor();
- double getWendigkeitFactor();
- double getAntriebEffizienzFactor();
- double getEnergieSchildFactor();
- double getEnergieSchildEffizienzFactor();
- ActiveSkill *getThis();
- ActiveSkill *release();
- };
- class SpeedBoost : public ActiveSkill
- {
- public:
- SpeedBoost( Bild *bild );
- };
- class ShieldBoost : public ActiveSkill
- {
- public:
- ShieldBoost( Bild *bild );
- };
|