Fixed missile unit DPS calculation
This commit is contained in:
@@ -3161,6 +3161,8 @@ public class UnitTypes{
|
||||
rotationLimit = 70f;
|
||||
rotateSpeed = 2f;
|
||||
inaccuracy = 20f;
|
||||
shootStatus = StatusEffects.slow;
|
||||
alwaysShootWhenMoving = true;
|
||||
|
||||
rotate = true;
|
||||
|
||||
|
||||
@@ -314,6 +314,10 @@ public class BulletType extends Content implements Cloneable{
|
||||
|
||||
/** @return estimated damage per shot. this can be very inaccurate. */
|
||||
public float estimateDPS(){
|
||||
if(spawnUnit != null){
|
||||
return spawnUnit.estimateDps();
|
||||
}
|
||||
|
||||
float sum = damage + splashDamage*0.75f;
|
||||
if(fragBullet != null && fragBullet != this){
|
||||
sum += fragBullet.estimateDPS() * fragBullets / 2f;
|
||||
|
||||
@@ -828,6 +828,13 @@ public class UnitType extends UnlockableContent{
|
||||
ammoCapacity = Math.max(1, (int)(shotsPerSecond * targetSeconds));
|
||||
}
|
||||
|
||||
estimateDps();
|
||||
|
||||
//only do this after everything else was initialized
|
||||
sample = constructor.get();
|
||||
}
|
||||
|
||||
public float estimateDps(){
|
||||
//calculate estimated DPS for one target based on weapons
|
||||
if(dpsEstimate < 0){
|
||||
dpsEstimate = weapons.sumf(Weapon::dps);
|
||||
@@ -838,9 +845,8 @@ public class UnitType extends UnlockableContent{
|
||||
dpsEstimate /= 25f;
|
||||
}
|
||||
}
|
||||
|
||||
//only do this after everything else was initialized
|
||||
sample = constructor.get();
|
||||
|
||||
return dpsEstimate;
|
||||
}
|
||||
|
||||
@CallSuper
|
||||
|
||||
Reference in New Issue
Block a user