Cheaper Erekir cores
This commit is contained in:
@@ -2934,7 +2934,7 @@ public class Blocks{
|
|||||||
}};
|
}};
|
||||||
|
|
||||||
coreCitadel = new CoreBlock("core-citadel"){{
|
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;
|
unitType = UnitTypes.incite;
|
||||||
health = 16000;
|
health = 16000;
|
||||||
@@ -2945,13 +2945,12 @@ public class Blocks{
|
|||||||
incinerateNonBuildable = true;
|
incinerateNonBuildable = true;
|
||||||
|
|
||||||
unitCapModifier = 15;
|
unitCapModifier = 15;
|
||||||
researchCostMultipliers.put(Items.silicon, 0.4f);
|
researchCostMultipliers.put(Items.silicon, 0.5f);
|
||||||
researchCostMultiplier = 0.14f;
|
researchCostMultiplier = 0.17f;
|
||||||
}};
|
}};
|
||||||
|
|
||||||
coreAcropolis = new CoreBlock("core-acropolis"){{
|
coreAcropolis = new CoreBlock("core-acropolis"){{
|
||||||
//TODO cost
|
requirements(Category.effect, with(Items.beryllium, 8000, Items.silicon, 8000, Items.tungsten, 6000, Items.carbide, 5000, Items.oxide, 5000));
|
||||||
requirements(Category.effect, with(Items.beryllium, 12000, Items.silicon, 11000, Items.tungsten, 9000, Items.carbide, 10000, Items.oxide, 8000));
|
|
||||||
|
|
||||||
unitType = UnitTypes.emanate;
|
unitType = UnitTypes.emanate;
|
||||||
health = 30000;
|
health = 30000;
|
||||||
@@ -2962,7 +2961,7 @@ public class Blocks{
|
|||||||
incinerateNonBuildable = true;
|
incinerateNonBuildable = true;
|
||||||
|
|
||||||
unitCapModifier = 15;
|
unitCapModifier = 15;
|
||||||
researchCostMultipliers.put(Items.silicon, 0.3f);
|
researchCostMultipliers.put(Items.silicon, 0.4f);
|
||||||
researchCostMultiplier = 0.1f;
|
researchCostMultiplier = 0.1f;
|
||||||
}};
|
}};
|
||||||
|
|
||||||
@@ -4461,7 +4460,7 @@ public class Blocks{
|
|||||||
}};
|
}};
|
||||||
|
|
||||||
scathe = new ItemTurret("scathe"){{
|
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(
|
ammo(
|
||||||
Items.carbide, new BasicBulletType(0f, 1){{
|
Items.carbide, new BasicBulletType(0f, 1){{
|
||||||
@@ -4498,7 +4497,7 @@ public class Blocks{
|
|||||||
deathExplosionEffect = Fx.massiveExplosion;
|
deathExplosionEffect = Fx.massiveExplosion;
|
||||||
shootOnDeath = true;
|
shootOnDeath = true;
|
||||||
shake = 10f;
|
shake = 10f;
|
||||||
bullet = new ExplosionBulletType(600f, 65f){{
|
bullet = new ExplosionBulletType(60f, 65f){{
|
||||||
hitColor = Pal.redLight;
|
hitColor = Pal.redLight;
|
||||||
shootEffect = new MultiEffect(Fx.massiveExplosion, Fx.scatheExplosion, Fx.scatheLight, new WaveEffect(){{
|
shootEffect = new MultiEffect(Fx.massiveExplosion, Fx.scatheExplosion, Fx.scatheLight, new WaveEffect(){{
|
||||||
lifetime = 10f;
|
lifetime = 10f;
|
||||||
@@ -4512,7 +4511,7 @@ public class Blocks{
|
|||||||
ammoMultiplier = 1f;
|
ammoMultiplier = 1f;
|
||||||
fragLifeMin = 0.1f;
|
fragLifeMin = 0.1f;
|
||||||
fragBullets = 7;
|
fragBullets = 7;
|
||||||
fragBullet = new ArtilleryBulletType(3.4f, 30){{
|
fragBullet = new ArtilleryBulletType(3.4f, 32){{
|
||||||
buildingDamageMultiplier = 0.3f;
|
buildingDamageMultiplier = 0.3f;
|
||||||
drag = 0.02f;
|
drag = 0.02f;
|
||||||
hitEffect = Fx.massiveExplosion;
|
hitEffect = Fx.massiveExplosion;
|
||||||
@@ -4594,6 +4593,7 @@ public class Blocks{
|
|||||||
|
|
||||||
recoil = 0.5f;
|
recoil = 0.5f;
|
||||||
|
|
||||||
|
fogRadiusMultiuplier = 0.45f;
|
||||||
coolantMultiplier = 6f;
|
coolantMultiplier = 6f;
|
||||||
shootSound = Sounds.missileLaunch;
|
shootSound = Sounds.missileLaunch;
|
||||||
|
|
||||||
|
|||||||
@@ -274,7 +274,7 @@ public class Units{
|
|||||||
cpriority = -99999f;
|
cpriority = -99999f;
|
||||||
|
|
||||||
nearbyEnemies(team, x - range, y - range, range*2f, range*2f, e -> {
|
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);
|
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){
|
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;
|
cpriority = -99999f;
|
||||||
|
|
||||||
nearbyEnemies(team, x - range, y - range, range*2f, range*2f, e -> {
|
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);
|
float cost = sort.cost(e, x, y);
|
||||||
if((result == null || cost < cdist || e.type.targetPriority > cpriority) && e.type.targetPriority >= cpriority){
|
if((result == null || cost < cdist || e.type.targetPriority > cpriority) && e.type.targetPriority >= cpriority){
|
||||||
|
|||||||
@@ -18,6 +18,7 @@ public class BaseTurret extends Block{
|
|||||||
public float range = 80f;
|
public float range = 80f;
|
||||||
public float placeOverlapMargin = 8 * 7f;
|
public float placeOverlapMargin = 8 * 7f;
|
||||||
public float rotateSpeed = 5;
|
public float rotateSpeed = 5;
|
||||||
|
public float fogRadiusMultiuplier = 1f;
|
||||||
|
|
||||||
/** Effect displayed when coolant is used. */
|
/** Effect displayed when coolant is used. */
|
||||||
public Effect coolEffect = Fx.fuelburn;
|
public Effect coolEffect = Fx.fuelburn;
|
||||||
@@ -53,7 +54,7 @@ public class BaseTurret extends Block{
|
|||||||
}
|
}
|
||||||
|
|
||||||
placeOverlapRange = Math.max(placeOverlapRange, range + placeOverlapMargin);
|
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();
|
super.init();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user