More disallowed patcher fields / Continuous liquid turret minimum ammo amount firing threshold

This commit is contained in:
Anuken
2025-10-25 10:34:43 -04:00
parent a305ac31e6
commit 472cacbb3b
4 changed files with 38 additions and 1 deletions

View File

@@ -60,6 +60,7 @@ public class ContinuousLiquidTurret extends ContinuousTurret{
}
public class ContinuousLiquidTurretBuild extends ContinuousTurretBuild{
boolean activated;
@Override
public boolean shouldActiveSound(){
@@ -71,6 +72,13 @@ public class ContinuousLiquidTurret extends ContinuousTurret{
super.updateTile();
unit.ammo(unit.type().ammoCapacity * liquids.currentAmount() / liquidCapacity);
//only allow the turret to begin firing when it can fire for 4 continuous updates
if(liquids.currentAmount() >= liquidConsumed * 4f){
activated = true;
}else if(liquids.currentAmount() < liquidConsumed){
activated = false;
}
}
@Override
@@ -86,6 +94,11 @@ public class ContinuousLiquidTurret extends ContinuousTurret{
return hasCorrectAmmo() && super.canConsume();
}
@Override
public boolean shouldConsume(){
return super.shouldConsume() && activated;
}
@Override
public BulletType useAmmo(){
//does not consume ammo upon firing
@@ -99,7 +112,7 @@ public class ContinuousLiquidTurret extends ContinuousTurret{
@Override
public boolean hasAmmo(){
return hasCorrectAmmo() && ammoTypes.get(liquids.current()) != null && liquids.currentAmount() > 0f;
return hasCorrectAmmo() && ammoTypes.get(liquids.current()) != null && liquids.currentAmount() > 0f && activated;
}
public boolean hasCorrectAmmo(){