|
@@ -200,8 +200,9 @@ bool Spieler::tick( const WeltInfo& info, double zeit )
|
|
|
treibstoffVerbraucht += treibstoff;
|
|
|
float factor = 1;
|
|
|
if( treibstoff > energie )
|
|
|
- factor = (float)(energie / treibstoff);
|
|
|
- impuls( getWorldPos( stM ), getWorldDir( kM ) * (float)zeit * (float)( beschleunigung + team->beschleunigung ) * factor );
|
|
|
+ factor = (float)( energie / treibstoff );
|
|
|
+ if( factor > 0 )
|
|
|
+ impuls( getWorldPos( stM ), getWorldDir( kM ) * (float)zeit * (float)( beschleunigung + team->beschleunigung ) * factor );
|
|
|
energie -= treibstoff * factor;
|
|
|
}
|
|
|
if( tastatur[ T_ROT_R ] )
|
|
@@ -212,7 +213,8 @@ bool Spieler::tick( const WeltInfo& info, double zeit )
|
|
|
float factor = 1;
|
|
|
if( treibstoff > energie )
|
|
|
factor = (float)( energie / treibstoff );
|
|
|
- impuls( getWorldPos( stL ), getWorldDir( kL ) * (float)zeit * (float)( wendigkeit + team->wendigkeit ) * factor );
|
|
|
+ if( factor > 0 )
|
|
|
+ impuls( getWorldPos( stL ), getWorldDir( kL ) * (float)zeit * (float)( wendigkeit + team->wendigkeit ) * factor );
|
|
|
energie -= treibstoff * factor;
|
|
|
}
|
|
|
if( tastatur[ T_ROT_L ] )
|
|
@@ -223,7 +225,8 @@ bool Spieler::tick( const WeltInfo& info, double zeit )
|
|
|
float factor = 1;
|
|
|
if( treibstoff > energie )
|
|
|
factor = (float)( energie / treibstoff );
|
|
|
- impuls( getWorldPos( stR ), getWorldDir( kR ) * (float)zeit * (float)( wendigkeit + team->wendigkeit ) * factor );
|
|
|
+ if( factor > 0 )
|
|
|
+ impuls( getWorldPos( stR ), getWorldDir( kR ) * (float)zeit * (float)( wendigkeit + team->wendigkeit ) * factor );
|
|
|
energie -= treibstoff * factor;
|
|
|
}
|
|
|
Model2DObject::tick( info, zeit );
|