Better heal FX / Lower wall priority

This commit is contained in:
Anuken 2022-04-11 14:01:00 -04:00
parent 12eddd131b
commit ea9e5ae632
11 changed files with 17 additions and 9 deletions

Binary file not shown.

View file

@ -1589,12 +1589,14 @@ public class Blocks{
requirements(Category.defense, with(Items.beryllium, 6));
health = 130 * wallHealthMultiplier;
armor = 2f;
buildCostMultiplier = 6.5f;
}};
berylliumWallLarge = new Wall("beryllium-wall-large"){{
requirements(Category.defense, ItemStack.mult(berylliumWall.requirements, 4));
health = 130 * wallHealthMultiplier * 4;
armor = 2f;
buildCostMultiplier = 5f;
size = 2;
}};
@ -1602,12 +1604,14 @@ public class Blocks{
requirements(Category.defense, with(Items.tungsten, 6));
health = 180 * wallHealthMultiplier;
armor = 14f;
buildCostMultiplier = 6.5f;
}};
tungstenWallLarge = new Wall("tungsten-wall-large"){{
requirements(Category.defense, ItemStack.mult(tungstenWall.requirements, 4));
health = 180 * wallHealthMultiplier * 4;
armor = 14f;
buildCostMultiplier = 5f;
size = 2;
}};

View file

@ -2192,9 +2192,11 @@ public class Fx{
}),
healBlockFull = new Effect(20, e -> {
color(e.color);
if(!(e.data instanceof Block block)) return;
mixcol(e.color, 1f);
alpha(e.fout());
Fill.square(e.x, e.y, e.rotation * tilesize / 2f);
Draw.rect(block.fullIcon, e.x, e.y);
}),
rotateBlock = new Effect(30, e -> {

View file

@ -3,6 +3,7 @@ package mindustry.entities;
/** Higher priority blocks will always get targeted over those of lower priority, regardless of distance. */
public class TargetPriority{
public static final float
wall = -1f,
base = 0f,
constructing = 1f,
turret = 2f,

View file

@ -135,7 +135,7 @@ public class EnergyFieldAbility extends Ability{
hitEffect.at(rx, ry, unit.angleTo(other), color);
if(other instanceof Building b){
Fx.healBlockFull.at(b.x, b.y, b.block.size, color);
Fx.healBlockFull.at(b.x, b.y, 0f, color, b.block);
}
}
}else{

View file

@ -265,7 +265,7 @@ public class BulletType extends Content implements Cloneable{
}
if(heals() && build.team == b.team && !(build.block instanceof ConstructBlock)){
healEffect.at(build.x, build.y, build.block.size, healColor);
healEffect.at(build.x, build.y, 0f, healColor, build.block);
build.heal(healPercent / 100f * build.maxHealth + healAmount);
}else if(build.team != b.team && direct){
hit(b);
@ -337,7 +337,7 @@ public class BulletType extends Content implements Cloneable{
if(heals()){
indexer.eachBlock(b.team, x, y, splashDamageRadius, Building::damaged, other -> {
healEffect.at(other.x, other.y, other.block.size, healColor);
healEffect.at(other.x, other.y, 0f, healColor, other.block);
other.heal(healPercent / 100f * other.maxHealth() + healAmount);
});
}

View file

@ -28,7 +28,7 @@ public class EmpBulletType extends BasicBulletType{
if(other.block.hasPower && other.damaged()){
other.heal(healPercent / 100f * other.maxHealth() + healAmount);
Fx.healBlockFull.at(other.x, other.y, other.block.size, hitColor);
Fx.healBlockFull.at(other.x, other.y, other.block.size, hitColor, other.block);
applyEffect.at(other, other.block.size * 7f);
}
}else if(other.power != null){

View file

@ -109,7 +109,7 @@ abstract class TankComp implements Posc, Flyingc, Hitboxc, Unitc, ElevationMovec
@Override
public void moveAt(Vec2 vector, float acceleration){
//mark walking state when moving in a controlled manner
if(!vector.isZero()){
if(!vector.isZero(0.001f)){
walked = true;
}
}

View file

@ -146,7 +146,7 @@ public class RepairBeamWeapon extends Weapon{
//create heal effect periodically
if(canShoot && mount.target instanceof Building b && b.damaged() && (heal.effectTimer += Time.delta) >= reload){
healEffect.at(b.x, b.y, b.block.size, healColor);
healEffect.at(b.x, b.y, 0f, healColor, b.block);
heal.effectTimer = 0f;
}

View file

@ -95,7 +95,7 @@ public class MendProjector extends Block{
indexer.eachBlock(this, realRange, b -> b.damaged() && !b.isHealSuppressed(), other -> {
other.heal(other.maxHealth() * (healPercent + phaseHeat * phaseBoost) / 100f * efficiency);
other.recentlyHealed();
Fx.healBlockFull.at(other.x, other.y, other.block.size, baseColor);
Fx.healBlockFull.at(other.x, other.y, other.block.size, baseColor, other.block);
});
}
}

View file

@ -37,6 +37,7 @@ public class Wall extends Block{
canOverdrive = false;
drawDisabled = false;
crushDamageMultiplier = 5f;
priority = TargetPriority.wall;
//it's a wall of course it's supported everywhere
envEnabled = Env.any;