Lots of balancing/tweaks

This commit is contained in:
Anuken
2022-05-03 14:42:11 -04:00
parent 459428ef25
commit 210481703f
10 changed files with 67 additions and 31 deletions
@@ -27,10 +27,6 @@ abstract class PayloadComp implements Posc, Rotc, Hitboxc, Unitc{
Seq<Payload> payloads = new Seq<>();
//uncomment for insanity
private transient @Nullable PowerGraph payloadPower;
@Override
@@ -65,12 +61,24 @@ abstract class PayloadComp implements Posc, Rotc, Hitboxc, Unitc{
}
}
@Override
@Replace
public boolean targetable(){
return type.targetable || (type.vulnerableWithPayloads && hasPayload());
}
@Override
@Replace
public boolean hittable(){
return type.hittable || (type.vulnerableWithPayloads && hasPayload());
}
float payloadUsed(){
return payloads.sumf(p -> p.size() * p.size());
}
boolean canPickup(Unit unit){
return payloadUsed() + unit.hitSize * unit.hitSize <= type.payloadCapacity + 0.001f && unit.team == team() && unit.isAI();
return unit.type.pickupUnits && payloadUsed() + unit.hitSize * unit.hitSize <= type.payloadCapacity + 0.001f && unit.team == team() && unit.isAI();
}
boolean canPickup(Building build){
@@ -260,7 +260,7 @@ abstract class UnitComp implements Healthc, Physicsc, Hitboxc, Statusc, Teamc, I
@Override
@Replace
public boolean collides(Hitboxc other){
return type.hittable;
return hittable();
}
@Override
@@ -355,6 +355,14 @@ abstract class UnitComp implements Healthc, Physicsc, Hitboxc, Statusc, Teamc, I
}
}
public boolean targetable(){
return type.targetable;
}
public boolean hittable(){
return type.hittable;
}
@Override
public void afterSync(){
//set up type info after reading