|
@@ -44,7 +44,7 @@ Spieler::Spieler( SpielerStr *zStr )
|
|
|
wendigkeitStart = zStr->wendigkeit;
|
|
|
antriebEffizienz = zStr->antriebEffizienz;
|
|
|
energieSchild = zStr->energieSchild;
|
|
|
- energieSchildEffizienz = zStr->energieSchild;
|
|
|
+ energieSchildEffizienz = zStr->energieSchildEffizienz;
|
|
|
skillPunkte = zStr->skillPunkte;
|
|
|
schadenBekommen = 0;
|
|
|
schadenGemacht = 0;
|
|
@@ -278,11 +278,11 @@ bool Spieler::setSkill( int art )
|
|
|
team->laserEffizienz = team->getLaserEffizienzBonus();
|
|
|
break;
|
|
|
case 5: // Laser Tempo
|
|
|
- laserTempo += 20;
|
|
|
+ laserTempo += 15;
|
|
|
team->laserTempo = team->getLaserTempoBonus();
|
|
|
break;
|
|
|
case 6: // Beschleunigung
|
|
|
- beschleunigung += 1.75;
|
|
|
+ beschleunigung += 10;
|
|
|
team->beschleunigung = team->getBeschleunigungBonus();
|
|
|
break;
|
|
|
case 7: // Wendigkeit
|
|
@@ -313,11 +313,11 @@ bool Spieler::setSkill( int art )
|
|
|
team->antriebEffizienz = team->getAntriebEffizienzBonus();
|
|
|
break;
|
|
|
case 11: // Energie Schild
|
|
|
- energieSchild += 1;
|
|
|
+ energieSchild += 0.075;
|
|
|
team->energieSchild = team->getEnergieSchildBonus();
|
|
|
break;
|
|
|
case 12: // Energie Schild Effizienz
|
|
|
- energieSchildEffizienz += 2;
|
|
|
+ energieSchildEffizienz += 10;
|
|
|
team->energieSchildEffizienz = team->getEnergieSchildEffizienzBonus();
|
|
|
break;
|
|
|
}
|
|
@@ -328,7 +328,9 @@ Laser *Spieler::getLaser( int sId )
|
|
|
{
|
|
|
if( !amLeben || !tastatur[ T_FEUER ] || schussAbk || !team )
|
|
|
return 0;
|
|
|
- double kosten = ( ( laserIntensity + team->laserIntensity ) / 2 + ( laserTempo + team->laserTempo ) / 13 ) * ( 1 / ( ( laserEffizienz + team->laserEffizienz ) / 25 ) );
|
|
|
+ double kosten = ( ( laserIntensity + team->laserIntensity ) / 2 +
|
|
|
+ ( laserTempo + team->laserTempo ) / 9 ) *
|
|
|
+ ( 1 / ( ( laserEffizienz + team->laserEffizienz ) / 25 ) );
|
|
|
if( kosten < 1 )
|
|
|
kosten = 1;
|
|
|
if( kosten > energie )
|
|
@@ -344,19 +346,18 @@ Laser *Spieler::getLaser( int sId )
|
|
|
|
|
|
bool Spieler::nimmSchaden( double &intensity )
|
|
|
{
|
|
|
- double schieldVal = intensity / 100 * energieSchild;
|
|
|
- double schieldEVal = schieldVal - schieldVal / 100 * energieSchildEffizienz;
|
|
|
+ double schieldVal = intensity - intensity / ( energieSchild + team->energieSchild );
|
|
|
+ double schieldEVal = schieldVal / ( ( energieSchildEffizienz + team->energieSchildEffizienz ) / 100 );
|
|
|
if( schieldEVal > energie )
|
|
|
{
|
|
|
schieldEVal = energie;
|
|
|
- schieldVal = schieldEVal / ( 1 - ( energieSchildEffizienz / 100 ) );
|
|
|
+ schieldVal = schieldEVal * ( ( energieSchildEffizienz + team->energieSchildEffizienz ) / 100 );
|
|
|
}
|
|
|
intensity -= schieldVal;
|
|
|
- std::cout << "Schaden: " << intensity << " ";
|
|
|
energie -= schieldEVal;
|
|
|
stability -= intensity;
|
|
|
- std::cout << "Stabilität: " << stability << "\n";
|
|
|
schadenBekommen += intensity;
|
|
|
+ energieAbk = 1.5;
|
|
|
repAbk = 2;
|
|
|
if( stability <= 0 )
|
|
|
{
|