Cheaper Erekir cores

This commit is contained in:
Anuken
2022-10-20 00:56:11 -04:00
parent c38a8c3ef4
commit cc7fefc9e2
3 changed files with 13 additions and 12 deletions

View File

@@ -2934,7 +2934,7 @@ public class Blocks{
}};
coreCitadel = new CoreBlock("core-citadel"){{
requirements(Category.effect, with(Items.silicon, 7000, Items.beryllium, 7000, Items.tungsten, 4000, Items.oxide, 2500));
requirements(Category.effect, with(Items.silicon, 4000, Items.beryllium, 5000, Items.tungsten, 3000, Items.oxide, 2000));
unitType = UnitTypes.incite;
health = 16000;
@@ -2945,13 +2945,12 @@ public class Blocks{
incinerateNonBuildable = true;
unitCapModifier = 15;
researchCostMultipliers.put(Items.silicon, 0.4f);
researchCostMultiplier = 0.14f;
researchCostMultipliers.put(Items.silicon, 0.5f);
researchCostMultiplier = 0.17f;
}};
coreAcropolis = new CoreBlock("core-acropolis"){{
//TODO cost
requirements(Category.effect, with(Items.beryllium, 12000, Items.silicon, 11000, Items.tungsten, 9000, Items.carbide, 10000, Items.oxide, 8000));
requirements(Category.effect, with(Items.beryllium, 8000, Items.silicon, 8000, Items.tungsten, 6000, Items.carbide, 5000, Items.oxide, 5000));
unitType = UnitTypes.emanate;
health = 30000;
@@ -2962,7 +2961,7 @@ public class Blocks{
incinerateNonBuildable = true;
unitCapModifier = 15;
researchCostMultipliers.put(Items.silicon, 0.3f);
researchCostMultipliers.put(Items.silicon, 0.4f);
researchCostMultiplier = 0.1f;
}};
@@ -4461,7 +4460,7 @@ public class Blocks{
}};
scathe = new ItemTurret("scathe"){{
requirements(Category.turret, with(Items.silicon, 300, Items.graphite, 400, Items.tungsten, 450, Items.carbide, 250));
requirements(Category.turret, with(Items.silicon, 450, Items.graphite, 400, Items.tungsten, 500, Items.carbide, 300));
ammo(
Items.carbide, new BasicBulletType(0f, 1){{
@@ -4498,7 +4497,7 @@ public class Blocks{
deathExplosionEffect = Fx.massiveExplosion;
shootOnDeath = true;
shake = 10f;
bullet = new ExplosionBulletType(600f, 65f){{
bullet = new ExplosionBulletType(60f, 65f){{
hitColor = Pal.redLight;
shootEffect = new MultiEffect(Fx.massiveExplosion, Fx.scatheExplosion, Fx.scatheLight, new WaveEffect(){{
lifetime = 10f;
@@ -4512,7 +4511,7 @@ public class Blocks{
ammoMultiplier = 1f;
fragLifeMin = 0.1f;
fragBullets = 7;
fragBullet = new ArtilleryBulletType(3.4f, 30){{
fragBullet = new ArtilleryBulletType(3.4f, 32){{
buildingDamageMultiplier = 0.3f;
drag = 0.02f;
hitEffect = Fx.massiveExplosion;
@@ -4594,6 +4593,7 @@ public class Blocks{
recoil = 0.5f;
fogRadiusMultiuplier = 0.45f;
coolantMultiplier = 6f;
shootSound = Sounds.missileLaunch;

View File

@@ -274,7 +274,7 @@ public class Units{
cpriority = -99999f;
nearbyEnemies(team, x - range, y - range, range*2f, range*2f, e -> {
if(e.dead() || !predicate.get(e) || e.team == Team.derelict || !e.targetable(team)) return;
if(e.dead() || !predicate.get(e) || e.team == Team.derelict || !e.targetable(team) || e.inFogTo(team)) return;
float dst2 = e.dst2(x, y) - (e.hitSize * e.hitSize);
if(dst2 < range*range && (result == null || dst2 < cdist || e.type.targetPriority > cpriority) && e.type.targetPriority >= cpriority){
@@ -296,7 +296,7 @@ public class Units{
cpriority = -99999f;
nearbyEnemies(team, x - range, y - range, range*2f, range*2f, e -> {
if(e.dead() || !predicate.get(e) || e.team == Team.derelict || !e.within(x, y, range + e.hitSize/2f) || !e.targetable(team)) return;
if(e.dead() || !predicate.get(e) || e.team == Team.derelict || !e.within(x, y, range + e.hitSize/2f) || !e.targetable(team) || e.inFogTo(team)) return;
float cost = sort.cost(e, x, y);
if((result == null || cost < cdist || e.type.targetPriority > cpriority) && e.type.targetPriority >= cpriority){

View File

@@ -18,6 +18,7 @@ public class BaseTurret extends Block{
public float range = 80f;
public float placeOverlapMargin = 8 * 7f;
public float rotateSpeed = 5;
public float fogRadiusMultiuplier = 1f;
/** Effect displayed when coolant is used. */
public Effect coolEffect = Fx.fuelburn;
@@ -53,7 +54,7 @@ public class BaseTurret extends Block{
}
placeOverlapRange = Math.max(placeOverlapRange, range + placeOverlapMargin);
fogRadius = Math.max(Mathf.round(range / tilesize), fogRadius);
fogRadius = Math.max(Mathf.round(range / tilesize * fogRadiusMultiuplier), fogRadius);
super.init();
}