Core launch capacity tweaks
This commit is contained in:
@@ -94,6 +94,8 @@ public class Vars implements Loadable{
|
||||
public static final float buildingRange = 220f;
|
||||
/** range for moving items */
|
||||
public static final float itemTransferRange = 220f;
|
||||
/** multiplier for core item capacity when launching */
|
||||
public static final float launchCapacityMultiplier = 0.25f;
|
||||
/** range for moving items for logic units */
|
||||
public static final float logicItemTransferRange = 45f;
|
||||
/** duration of time between turns in ticks */
|
||||
|
||||
@@ -90,6 +90,7 @@ public class Planets{
|
||||
atmosphereRadOut = 0.3f;
|
||||
}};
|
||||
|
||||
//TODO hide beryllium and others on load in rules
|
||||
serpulo = new Planet("serpulo", sun, 1f, 3){{
|
||||
generator = new SerpuloPlanetGenerator();
|
||||
meshLoader = () -> new HexMesh(this, 6);
|
||||
|
||||
@@ -6,6 +6,7 @@ import arc.scene.ui.*;
|
||||
import arc.scene.ui.layout.*;
|
||||
import arc.struct.*;
|
||||
import arc.util.*;
|
||||
import mindustry.*;
|
||||
import mindustry.content.*;
|
||||
import mindustry.ctype.*;
|
||||
import mindustry.game.*;
|
||||
@@ -26,6 +27,8 @@ public class LaunchLoadoutDialog extends BaseDialog{
|
||||
Schematic selected;
|
||||
//validity of loadout items
|
||||
boolean valid;
|
||||
//last calculated capacity
|
||||
int lastCapacity;
|
||||
|
||||
public LaunchLoadoutDialog(){
|
||||
super("@configure");
|
||||
@@ -44,7 +47,7 @@ public class LaunchLoadoutDialog extends BaseDialog{
|
||||
|
||||
//updates sum requirements
|
||||
Runnable update = () -> {
|
||||
int cap = selected.findCore().itemCapacity;
|
||||
int cap = lastCapacity = (int)(Vars.launchCapacityMultiplier * selected.findCore().itemCapacity);
|
||||
|
||||
//cap resources based on core type
|
||||
ItemSeq resources = universe.getLaunchResources();
|
||||
@@ -91,7 +94,7 @@ public class LaunchLoadoutDialog extends BaseDialog{
|
||||
ItemSeq realItems = sitems.copy();
|
||||
selected.requirements().each(realItems::remove);
|
||||
|
||||
loadout.show(selected.findCore().itemCapacity, realItems, out, UnlockableContent::unlocked, out::clear, () -> {}, () -> {
|
||||
loadout.show(lastCapacity, realItems, out, UnlockableContent::unlocked, out::clear, () -> {}, () -> {
|
||||
universe.updateLaunchResources(new ItemSeq(out));
|
||||
update.run();
|
||||
rebuildItems.run();
|
||||
@@ -139,6 +142,8 @@ public class LaunchLoadoutDialog extends BaseDialog{
|
||||
|
||||
}).growX().scrollX(false);
|
||||
|
||||
cont.row();
|
||||
cont.label(() -> Core.bundle.format("launch.capacity", lastCapacity)).row();
|
||||
cont.row();
|
||||
cont.pane(items);
|
||||
cont.row();
|
||||
|
||||
@@ -880,7 +880,7 @@ public class Block extends UnlockableContent{
|
||||
public ItemStack[] researchRequirements(){
|
||||
ItemStack[] out = new ItemStack[requirements.length];
|
||||
for(int i = 0; i < out.length; i++){
|
||||
int quantity = 60 + Mathf.round(Mathf.pow(requirements[i].amount, 1.1f) * 20 * researchCostMultiplier, 10);
|
||||
int quantity = 60 + Mathf.round(Mathf.pow(requirements[i].amount, 1.11f) * 20 * researchCostMultiplier, 10);
|
||||
|
||||
out[i] = new ItemStack(requirements[i].item, UI.roundAmount(quantity));
|
||||
}
|
||||
|
||||
@@ -56,6 +56,9 @@ public class LaunchPad extends Block{
|
||||
super.setBars();
|
||||
|
||||
bars.add("items", entity -> new Bar(() -> Core.bundle.format("bar.items", entity.items.total()), () -> Pal.items, () -> (float)entity.items.total() / itemCapacity));
|
||||
|
||||
//TODO is "bar.launchcooldown" the right terminology?
|
||||
bars.add("progress", (LaunchPadBuild build) -> new Bar(() -> Core.bundle.get("bar.launchcooldown"), () -> Pal.ammo, () -> Mathf.clamp(build.launchCounter / launchTime)));
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -73,8 +76,8 @@ public class LaunchPad extends Block{
|
||||
|
||||
@Override
|
||||
public boolean shouldConsume(){
|
||||
//TODO do not consume after reload / disable?
|
||||
return true;
|
||||
//TODO add launch costs, maybe legacy version
|
||||
return launchCounter < launchTime && enabled;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Reference in New Issue
Block a user