diff --git a/core/src/mindustry/content/UnitTypes.java b/core/src/mindustry/content/UnitTypes.java index 328c26630f..ea7d9e53d7 100644 --- a/core/src/mindustry/content/UnitTypes.java +++ b/core/src/mindustry/content/UnitTypes.java @@ -2153,13 +2153,15 @@ public class UnitTypes{ abilities.add(new EnergyFieldAbility(40f, 65f, 180f){{ statusDuration = 60f * 6f; maxTargets = 25; + healPercent = 1.5f; + sameTypeHealMult = 0.5f; }}); for(float mountY : new float[]{-18f, 14}){ weapons.add(new PointDefenseWeapon("point-defense-mount"){{ x = 12.5f; y = mountY; - reload = 6f; + reload = 4f; targetInterval = 8f; targetSwitchInterval = 8f; @@ -2167,7 +2169,7 @@ public class UnitTypes{ shootEffect = Fx.sparkShoot; hitEffect = Fx.pointHit; maxRange = 180f; - damage = 25f; + damage = 30f; }}; }}); } diff --git a/core/src/mindustry/entities/abilities/EnergyFieldAbility.java b/core/src/mindustry/entities/abilities/EnergyFieldAbility.java index c8b2452fc3..e12a5959d0 100644 --- a/core/src/mindustry/entities/abilities/EnergyFieldAbility.java +++ b/core/src/mindustry/entities/abilities/EnergyFieldAbility.java @@ -29,6 +29,8 @@ public class EnergyFieldAbility extends Ability{ public boolean targetGround = true, targetAir = true, hitBuildings = true, hitUnits = true; public int maxTargets = 25; public float healPercent = 3f; + /** Multiplies healing to units of the same type by this amount. */ + public float sameTypeHealMult = 1f; public float layer = Layer.bullet - 0.001f, blinkScl = 20f, blinkSize = 0.1f; public float effectRadius = 5f, sectorRad = 0.14f, rotateSpeed = 0.5f; @@ -129,7 +131,8 @@ public class EnergyFieldAbility extends Ability{ if(((Teamc)other).team() == unit.team){ if(other.damaged()){ anyNearby = true; - other.heal(healPercent / 100f * other.maxHealth()); + float healMult = (other instanceof Unit u && u.type == unit.type) ? sameTypeHealMult : 1f; + other.heal(healPercent / 100f * other.maxHealth() * healMult); healEffect.at(other); damageEffect.at(rx, ry, 0f, color, other); hitEffect.at(rx, ry, unit.angleTo(other), color);