Fixed payload calculations not using squares

This commit is contained in:
Anuken
2020-09-06 22:19:30 -04:00
parent 010a1594fa
commit 93d1904978
3 changed files with 7 additions and 7 deletions
+2 -2
View File
@@ -1924,7 +1924,7 @@ public class Blocks implements ContentList{
instructionsPerTick = 5; instructionsPerTick = 5;
range = 8 * 20; range = 8 * 22;
size = 2; size = 2;
}}; }};
@@ -1937,7 +1937,7 @@ public class Blocks implements ContentList{
instructionsPerTick = 25; instructionsPerTick = 25;
range = 8 * 40; range = 8 * 42;
size = 3; size = 3;
}}; }};
+1 -1
View File
@@ -1035,7 +1035,7 @@ public class UnitTypes implements ContentList{
rotateShooting = false; rotateShooting = false;
hitsize = 15f; hitsize = 15f;
engineSize = 3f; engineSize = 3f;
payloadCapacity = 4 * 8; payloadCapacity = 4 * (8 * 8);
weapons.add( weapons.add(
new Weapon("heal-weapon-mount"){{ new Weapon("heal-weapon-mount"){{
@@ -21,19 +21,19 @@ abstract class PayloadComp implements Posc, Rotc, Hitboxc, Unitc{
Seq<Payload> payloads = new Seq<>(); Seq<Payload> payloads = new Seq<>();
float payloadUsed(){ float payloadUsed(){
return payloads.sumf(Payload::size); return payloads.sumf(p -> p.size() * p.size());
} }
boolean canPickup(Unit unit){ boolean canPickup(Unit unit){
return payloadUsed() + unit.hitSize <= type.payloadCapacity; return payloadUsed() + unit.hitSize * unit.hitSize <= type.payloadCapacity;
} }
boolean canPickup(Building build){ boolean canPickup(Building build){
return payloadUsed() + build.block.size * Vars.tilesize <= type.payloadCapacity; return payloadUsed() + build.block.size * build.block.size * Vars.tilesize * Vars.tilesize <= type.payloadCapacity;
} }
boolean canPickupPayload(Payload pay){ boolean canPickupPayload(Payload pay){
return payloadUsed() + pay.size() <= type.payloadCapacity; return payloadUsed() + pay.size()*pay.size() <= type.payloadCapacity;
} }
boolean hasPayload(){ boolean hasPayload(){