Skill.h 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. #pragma once
  2. class ActiveSkill
  3. {
  4. protected:
  5. bool active;
  6. double time;
  7. double maxTime;
  8. int ref;
  9. double reloadTimeFactor;
  10. // skill bonus added when active
  11. double beschleunigungBonus;
  12. double reparaturBonus;
  13. double laserIntensityBonus;
  14. double laserEffizienzBonus;
  15. double akkuLeistungBonus;
  16. double maxEnergieBonus;
  17. double maxStabilityBonus;
  18. double laserTempoBonus;
  19. double wendigkeitBonus;
  20. double antriebEffizienzBonus;
  21. double energieSchildBonus;
  22. double energieSchildEffizienzBonus;
  23. // skil multiplier when active
  24. double beschleunigungFactor;
  25. double reparaturFactor;
  26. double laserIntensityFactor;
  27. double laserEffizienzFactor;
  28. double akkuLeistungFactor;
  29. double maxEnergieFactor;
  30. double maxStabilityFactor;
  31. double laserTempoFactor;
  32. double wendigkeitFactor;
  33. double antriebEffizienzFactor;
  34. double energieSchildFactor;
  35. double energieSchildEffizienzFactor;
  36. public:
  37. ActiveSkill();
  38. ~ActiveSkill();
  39. void tick( double time );
  40. bool isActive() const;
  41. void activate();
  42. void reset();
  43. double getBeschleunigungBonus();
  44. double getReparaturBonus();
  45. double getLaserIntensityBonus();
  46. double getLaserEffizienzBonus();
  47. double getAkkuLeistungBonus();
  48. double getMaxEnergieBonus();
  49. double getMaxStabilityBonus();
  50. double getLaserTempoBonus();
  51. double getWendigkeitBonus();
  52. double getAntriebEffizienzBonus();
  53. double getEnergieSchildBonus();
  54. double getEnergieSchildEffizienzBonus();
  55. double getBeschleunigungFactor();
  56. double getReparaturFactor();
  57. double getLaserIntensityFactor();
  58. double getLaserEffizienzFactor();
  59. double getAkkuLeistungFactor();
  60. double getMaxEnergieFactor();
  61. double getMaxStabilityFactor();
  62. double getLaserTempoFactor();
  63. double getWendigkeitFactor();
  64. double getAntriebEffizienzFactor();
  65. double getEnergieSchildFactor();
  66. double getEnergieSchildEffizienzFactor();
  67. ActiveSkill *getThis();
  68. ActiveSkill *release();
  69. };
  70. class SpeedBoost : public ActiveSkill
  71. {
  72. public:
  73. SpeedBoost();
  74. };
  75. class ShieldBoost : public ActiveSkill
  76. {
  77. public:
  78. ShieldBoost();
  79. };