1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 |
- #pragma once
- #include <Bild.h>
- using namespace Framework;
- class ActiveSkill : public virtual ReferenceCounter
- {
- protected:
- struct SkillDataSave
- {
- bool active;
- double time;
- } current, last;
- double maxTime;
- 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();
- };
- class SpeedBoost : public ActiveSkill
- {
- public:
- SpeedBoost( Bild *bild );
- };
- class ShieldBoost : public ActiveSkill
- {
- public:
- ShieldBoost( Bild *bild );
- };
|