Fixed 116 infinite resources / Fixed #11251

This commit is contained in:
Anuken
2025-09-28 10:42:07 -04:00
parent dbe67b056f
commit d6e408267e
7 changed files with 21 additions and 17 deletions

View File

@@ -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;