Fixed 116 infinite resources / Fixed #11251
This commit is contained in:
@@ -134,6 +134,7 @@ public class Logic implements ApplicationListener{
|
||||
//enable building AI on campaign unless the preset disables it
|
||||
|
||||
state.rules.coreIncinerates = true;
|
||||
state.rules.infiniteResources = false;
|
||||
state.rules.allowEditRules = false;
|
||||
state.rules.allowEditWorldProcessors = false;
|
||||
state.rules.waveTeam.rules().infiniteResources = true;
|
||||
|
||||
@@ -49,7 +49,7 @@ public class ShieldArcAbility extends Ability{
|
||||
b.absorb();
|
||||
Fx.absorb.at(b);
|
||||
}
|
||||
|
||||
|
||||
// break shield
|
||||
if(paramField.data <= b.damage()){
|
||||
paramField.data -= paramField.cooldown * paramField.regen;
|
||||
@@ -69,7 +69,7 @@ public class ShieldArcAbility extends Ability{
|
||||
!(unit.within(paramPos, paramField.radius - paramField.width) && paramPos.within(unit.x - unit.deltaX, unit.y - unit.deltaY, paramField.radius - paramField.width)) &&
|
||||
(Tmp.v1.set(unit).add(unit.deltaX, unit.deltaY).within(paramPos, paramField.radius + paramField.width) || unit.within(paramPos, paramField.radius + paramField.width)) &&
|
||||
(Angles.within(paramPos.angleTo(unit), paramUnit.rotation + paramField.angleOffset, paramField.angle / 2f) || Angles.within(paramPos.angleTo(unit.x + unit.deltaX, unit.y + unit.deltaY), paramUnit.rotation + paramField.angleOffset, paramField.angle / 2f))){
|
||||
|
||||
|
||||
if(unit.isMissile() && unit.killable() && paramField.missileUnitMultiplier >= 0f){
|
||||
|
||||
unit.remove();
|
||||
@@ -77,17 +77,17 @@ public class ShieldArcAbility extends Ability{
|
||||
unit.type.deathExplosionEffect.at(unit);
|
||||
Fx.absorb.at(unit);
|
||||
Fx.circleColorSpark.at(unit.x, unit.y,paramUnit.team.color);
|
||||
|
||||
|
||||
// consider missile hp and gamerule to damage the shield
|
||||
paramField.data -= unit.health() * paramField.missileUnitMultiplier * Vars.state.rules.unitDamage(unit.team);
|
||||
paramField.alpha = 1f;
|
||||
|
||||
}else{
|
||||
}else if(paramField.pushUnits && !(!unit.isFlying() && paramUnit.isFlying())){
|
||||
|
||||
float reach = paramField.radius + paramField.width;
|
||||
float overlapDst = reach - unit.dst(paramPos.x,paramPos.y);
|
||||
|
||||
if(overlapDst>0){
|
||||
if(overlapDst > 0){
|
||||
//stop
|
||||
unit.vel.setZero();
|
||||
// get out
|
||||
@@ -132,6 +132,8 @@ public class ShieldArcAbility extends Ability{
|
||||
public @Nullable Color color;
|
||||
/** If true, sprite position will be influenced by x/y. */
|
||||
public boolean offsetRegion = false;
|
||||
/** If true, enemy units are pushed out. */
|
||||
public boolean pushUnits = true;
|
||||
|
||||
/** State. */
|
||||
protected float widthScale, alpha;
|
||||
|
||||
@@ -21,7 +21,6 @@ public class Junction extends Block{
|
||||
underBullets = true;
|
||||
group = BlockGroup.transportation;
|
||||
unloadable = false;
|
||||
floating = true;
|
||||
noUpdateDisabled = true;
|
||||
}
|
||||
|
||||
|
||||
@@ -298,18 +298,16 @@ public class StackConveyor extends Block implements Autotiler{
|
||||
}
|
||||
}else{ //transfer
|
||||
if(state != stateLoad || (items.total() >= getMaximumAccepted(lastItem))){
|
||||
if(front() instanceof StackConveyorBuild e && e.team == team){
|
||||
if(e.link == -1){
|
||||
e.items.add(items);
|
||||
e.lastItem = lastItem;
|
||||
e.link = tile.pos();
|
||||
//▲ to | from ▼
|
||||
link = -1;
|
||||
items.clear();
|
||||
if(front() instanceof StackConveyorBuild e && e.team == team && e.link == -1){
|
||||
e.items.add(items);
|
||||
e.lastItem = lastItem;
|
||||
e.link = tile.pos();
|
||||
//▲ to | from ▼
|
||||
link = -1;
|
||||
items.clear();
|
||||
|
||||
cooldown = recharge;
|
||||
e.cooldown = 1;
|
||||
}
|
||||
cooldown = recharge;
|
||||
e.cooldown = 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -10,6 +10,7 @@ public class LiquidJunction extends LiquidBlock{
|
||||
|
||||
public LiquidJunction(String name){
|
||||
super(name);
|
||||
floating = true;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Reference in New Issue
Block a user