Core: Acropolis

This commit is contained in:
Anuken
2021-11-10 09:38:18 -05:00
parent da87726176
commit c87bc11ad2
10 changed files with 46 additions and 14 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

View File

@@ -434,3 +434,4 @@
63274=reinforced-bridge-conduit|block-reinforced-bridge-conduit-ui 63274=reinforced-bridge-conduit|block-reinforced-bridge-conduit-ui
63273=core-aegis|block-core-aegis-ui 63273=core-aegis|block-core-aegis-ui
63272=core-citadel|block-core-citadel-ui 63272=core-citadel|block-core-citadel-ui
63271=core-acropolis|block-core-acropolis-ui

Binary file not shown.

View File

@@ -95,7 +95,7 @@ public class Blocks implements ContentList{
//storage //storage
coreShard, coreFoundation, coreNucleus, vault, container, unloader, coreShard, coreFoundation, coreNucleus, vault, container, unloader,
//storage - erekir //storage - erekir
coreBastion, coreAegis, coreCitadel, coreBastion, coreAegis, coreCitadel, coreAcropolis,
//turrets //turrets
duo, scatter, scorch, hail, arc, wave, lancer, swarmer, salvo, fuse, ripple, cyclone, foreshadow, spectre, meltdown, segment, parallax, tsunami, duo, scatter, scorch, hail, arc, wave, lancer, swarmer, salvo, fuse, ripple, cyclone, foreshadow, spectre, meltdown, segment, parallax, tsunami,
@@ -1841,7 +1841,7 @@ public class Blocks implements ContentList{
//TODO cost //TODO cost
requirements(Category.effect, with(Items.beryllium, 7000, Items.graphite, 7000, Items.tungsten, 5000, Items.carbide, 5000)); requirements(Category.effect, with(Items.beryllium, 7000, Items.graphite, 7000, Items.tungsten, 5000, Items.carbide, 5000));
unitType = UnitTypes.gamma; unitType = UnitTypes.evoke;
health = 14000; health = 14000;
itemCapacity = 11000; itemCapacity = 11000;
size = 5; size = 5;
@@ -1851,6 +1851,20 @@ public class Blocks implements ContentList{
researchCostMultiplier = 0.11f; researchCostMultiplier = 0.11f;
}}; }};
coreAcropolis = new CoreBlock("core-acropolis"){{
//TODO cost
requirements(Category.effect, with(Items.beryllium, 11000, Items.graphite, 11000, Items.tungsten, 9000, Items.carbide, 10000));
unitType = UnitTypes.evoke;
health = 22000;
itemCapacity = 16000;
size = 6;
thrusterLength = 48/4f;
unitCapModifier = 40;
researchCostMultiplier = 0.11f;
}};
vault = new StorageBlock("vault"){{ vault = new StorageBlock("vault"){{
requirements(Category.effect, with(Items.titanium, 250, Items.thorium, 125)); requirements(Category.effect, with(Items.titanium, 250, Items.thorium, 125));
size = 3; size = 3;

View File

@@ -2434,16 +2434,12 @@ public class UnitTypes implements ContentList{
commandLimit = 5; commandLimit = 5;
engineSize = 0; engineSize = 0;
//TODO ugly definition... setEnginesMirror(
engines = new UnitEngine[]{
new UnitEngine(21 / 4f, 19 / 4f, 2.2f, 45f), new UnitEngine(21 / 4f, 19 / 4f, 2.2f, 45f),
new UnitEngine(-21 / 4f, 19 / 4f, 2.2f, 135f), new UnitEngine(23 / 4f, -22 / 4f, 2.2f, 315f)
);
new UnitEngine(23 / 4f, -22 / 4f, 2.2f, 315f), weapons.add(new Weapon(){{
new UnitEngine(-23 / 4f, -22 / 4f, 2.2f, 225f)
};
weapons.add(new Weapon(""){{
reload = 55f; reload = 55f;
x = 0f; x = 0f;
y = 1f; y = 1f;

View File

@@ -121,7 +121,7 @@ public class UnitType extends UnlockableContent{
public boolean canDrown = true, naval = false; public boolean canDrown = true, naval = false;
public float drownTimeMultiplier = 1f; public float drownTimeMultiplier = 1f;
public float engineOffset = 5f, engineSize = 2.5f; public float engineOffset = 5f, engineSize = 2.5f;
public UnitEngine[] engines = {}; public Seq<UnitEngine> engines = new Seq<>();
public float strafePenalty = 0.5f; public float strafePenalty = 0.5f;
public float hitSize = 6f; public float hitSize = 6f;
public float itemOffsetY = 3f; public float itemOffsetY = 3f;
@@ -607,6 +607,19 @@ public class UnitType extends UnlockableContent{
return ContentType.unit; return ContentType.unit;
} }
/** Sets up engines, mirroring the contents of the specified array. */
public void setEnginesMirror(UnitEngine... array){
for(var base : array){
engines.add(base);
var engine = base.copy();
engine.x *= -1;
engine.rotation = 180f - engine.rotation;
if(engine.rotation < 0) engine.rotation += 360f;
engines.add(engine);
}
}
//region drawing //region drawing
public void draw(Unit unit){ public void draw(Unit unit){
@@ -657,7 +670,7 @@ public class UnitType extends UnlockableContent{
if(drawBody) drawOutline(unit); if(drawBody) drawOutline(unit);
drawWeaponOutlines(unit); drawWeaponOutlines(unit);
if(engineSize > 0) drawEngine(unit); if(engineSize > 0) drawEngine(unit);
if(engines.length > 0) drawEngines(unit); if(engines.size > 0) drawEngines(unit);
if(drawBody) drawBody(unit); if(drawBody) drawBody(unit);
if(drawCell) drawCell(unit); if(drawCell) drawCell(unit);
drawWeapons(unit); drawWeapons(unit);
@@ -1047,7 +1060,7 @@ public class UnitType extends UnlockableContent{
//endregion //endregion
public static class UnitEngine{ public static class UnitEngine implements Cloneable{
public float x, y, radius, rotation; public float x, y, radius, rotation;
public UnitEngine(float x, float y, float radius, float rotation){ public UnitEngine(float x, float y, float radius, float rotation){
@@ -1059,6 +1072,14 @@ public class UnitType extends UnlockableContent{
public UnitEngine(){ public UnitEngine(){
} }
public UnitEngine copy(){
try{
return (UnitEngine)clone();
}catch(CloneNotSupportedException awful){
throw new RuntimeException("fantastic", awful);
}
}
} }
} }

View File

@@ -24,4 +24,4 @@ android.useAndroidX=true
#used for slow jitpack builds; TODO see if this actually works #used for slow jitpack builds; TODO see if this actually works
org.gradle.internal.http.socketTimeout=100000 org.gradle.internal.http.socketTimeout=100000
org.gradle.internal.http.connectionTimeout=100000 org.gradle.internal.http.connectionTimeout=100000
archash=5e7ddf887d6632c9ca7bd3fa1ef9fef748a3a84e archash=b0c234f0017ca4a7f28a70246e132e58401a7cde