This commit is contained in:
@@ -916,7 +916,7 @@ public class Blocks implements ContentList{
|
||||
size = 3;
|
||||
phaseRadiusBoost = 80f;
|
||||
radius = 101.7f;
|
||||
breakage = 750f;
|
||||
shieldHealth = 750f;
|
||||
cooldownNormal = 1.5f;
|
||||
cooldownLiquid = 1.2f;
|
||||
cooldownBrokenBase = 0.35f;
|
||||
|
||||
@@ -478,7 +478,7 @@ public class Bullets implements ContentList{
|
||||
knockback = 1.7f;
|
||||
puddleSize = 8f;
|
||||
drag = 0.001f;
|
||||
ammoMultiplier = 2f;
|
||||
ammoMultiplier = 0.4f;
|
||||
statusDuration = 60f * 4f;
|
||||
damage = 0.2f;
|
||||
}};
|
||||
@@ -489,7 +489,7 @@ public class Bullets implements ContentList{
|
||||
knockback = 1.3f;
|
||||
puddleSize = 8f;
|
||||
drag = 0.001f;
|
||||
ammoMultiplier = 2f;
|
||||
ammoMultiplier = 0.4f;
|
||||
statusDuration = 60f * 4f;
|
||||
damage = 0.2f;
|
||||
}};
|
||||
@@ -499,9 +499,9 @@ public class Bullets implements ContentList{
|
||||
speed = 4f;
|
||||
knockback = 1.3f;
|
||||
puddleSize = 8f;
|
||||
damage = 5f;
|
||||
damage = 4.75f;
|
||||
drag = 0.001f;
|
||||
ammoMultiplier = 2f;
|
||||
ammoMultiplier = 0.4f;
|
||||
statusDuration = 60f * 4f;
|
||||
}};
|
||||
|
||||
@@ -511,7 +511,7 @@ public class Bullets implements ContentList{
|
||||
knockback = 1.3f;
|
||||
puddleSize = 8f;
|
||||
drag = 0.001f;
|
||||
ammoMultiplier = 2f;
|
||||
ammoMultiplier = 0.4f;
|
||||
statusDuration = 60f * 4f;
|
||||
damage = 0.2f;
|
||||
}};
|
||||
|
||||
@@ -268,7 +268,7 @@ public class SectorDamage{
|
||||
}
|
||||
|
||||
if(build.block instanceof ForceProjector f){
|
||||
sumHealth += f.breakage * e;
|
||||
sumHealth += f.shieldHealth * e;
|
||||
sumRps += 1f * e;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -13,6 +13,7 @@ import mindustry.content.*;
|
||||
import mindustry.gen.*;
|
||||
import mindustry.graphics.*;
|
||||
import mindustry.logic.*;
|
||||
import mindustry.ui.*;
|
||||
import mindustry.world.*;
|
||||
import mindustry.world.consumers.*;
|
||||
import mindustry.world.meta.*;
|
||||
@@ -26,7 +27,7 @@ public class ForceProjector extends Block{
|
||||
public float phaseRadiusBoost = 80f;
|
||||
public float phaseShieldBoost = 400f;
|
||||
public float radius = 101.7f;
|
||||
public float breakage = 550f;
|
||||
public float shieldHealth = 700f;
|
||||
public float cooldownNormal = 1.75f;
|
||||
public float cooldownLiquid = 1.5f;
|
||||
public float cooldownBrokenBase = 0.35f;
|
||||
@@ -53,6 +54,12 @@ public class ForceProjector extends Block{
|
||||
consumes.add(new ConsumeLiquidFilter(liquid -> liquid.temperature <= 0.5f && liquid.flammability < 0.1f, 0.1f)).boost().update(false);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setBars(){
|
||||
super.setBars();
|
||||
bars.add("shield", (ForceBuild entity) -> new Bar("stat.shieldhealth", Pal.accent, () -> entity.broken ? 0f : 1f - entity.buildup / (shieldHealth + phaseShieldBoost * entity.phaseHeat)).blink(Color.white));
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean outputsItems(){
|
||||
return false;
|
||||
@@ -61,8 +68,8 @@ public class ForceProjector extends Block{
|
||||
@Override
|
||||
public void setStats(){
|
||||
super.setStats();
|
||||
stats.add(Stat.shieldHealth, breakage, StatUnit.none);
|
||||
stats.add(Stat.cooldownTime, (int) (breakage / cooldownBrokenBase / 60f), StatUnit.seconds);
|
||||
stats.add(Stat.shieldHealth, shieldHealth, StatUnit.none);
|
||||
stats.add(Stat.cooldownTime, (int) (shieldHealth / cooldownBrokenBase / 60f), StatUnit.seconds);
|
||||
stats.add(Stat.powerUse, basePowerDraw * 60f, StatUnit.powerSecond);
|
||||
stats.add(Stat.boostEffect, phaseRadiusBoost / tilesize, StatUnit.blocks);
|
||||
stats.add(Stat.boostEffect, phaseShieldBoost, StatUnit.shieldHealth);
|
||||
@@ -118,7 +125,7 @@ public class ForceProjector extends Block{
|
||||
|
||||
radscl = Mathf.lerpDelta(radscl, broken ? 0f : warmup, 0.05f);
|
||||
|
||||
if(Mathf.chanceDelta(buildup / breakage * 0.1f)){
|
||||
if(Mathf.chanceDelta(buildup / shieldHealth * 0.1f)){
|
||||
Fx.reactorsmoke.at(x + Mathf.range(tilesize / 2f), y + Mathf.range(tilesize / 2f));
|
||||
}
|
||||
|
||||
@@ -139,9 +146,9 @@ public class ForceProjector extends Block{
|
||||
broken = false;
|
||||
}
|
||||
|
||||
if(buildup >= breakage + phaseShieldBoost && !broken){
|
||||
if(buildup >= shieldHealth + phaseShieldBoost * phaseHeat && !broken){
|
||||
broken = true;
|
||||
buildup = breakage;
|
||||
buildup = shieldHealth;
|
||||
Fx.shieldBreak.at(x, y, realRadius(), team.color);
|
||||
}
|
||||
|
||||
@@ -170,7 +177,7 @@ public class ForceProjector extends Block{
|
||||
}
|
||||
|
||||
if(buildup > 0f){
|
||||
Draw.alpha(buildup / breakage * 0.75f);
|
||||
Draw.alpha(buildup / shieldHealth * 0.75f);
|
||||
Draw.blend(Blending.additive);
|
||||
Draw.rect(topRegion, x, y);
|
||||
Draw.blend();
|
||||
|
||||
Reference in New Issue
Block a user