This commit is contained in:
Anuken
2019-06-16 23:38:50 -04:00
parent 9e97b5851e
commit 897c55c410
11 changed files with 17 additions and 9 deletions
Binary file not shown.

Before

Width:  |  Height:  |  Size: 707 B

After

Width:  |  Height:  |  Size: 706 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 MiB

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 252 KiB

After

Width:  |  Height:  |  Size: 254 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 170 KiB

After

Width:  |  Height:  |  Size: 175 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 220 KiB

After

Width:  |  Height:  |  Size: 222 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 400 KiB

After

Width:  |  Height:  |  Size: 402 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 292 KiB

After

Width:  |  Height:  |  Size: 294 KiB

@@ -669,7 +669,7 @@ public class Player extends Unit implements BuilderMinerTrait, ShooterTrait{
} }
if(dst(moveTarget) <= 2f * Time.delta()){ if(dst(moveTarget) <= 2f * Time.delta()){
if(tapping){ if(tapping && !isDead()){
Tile tile = ((TileEntity)moveTarget).tile; Tile tile = ((TileEntity)moveTarget).tile;
tile.block().tapped(tile, this); tile.block().tapped(tile, this);
} }
@@ -51,6 +51,7 @@ public class HudFragment extends Fragment{
private float coreAttackTime; private float coreAttackTime;
private float lastCoreHP; private float lastCoreHP;
private Team lastTeam;
private float coreAttackOpacity = 0f; private float coreAttackOpacity = 0f;
public void build(Group parent){ public void build(Group parent){
@@ -314,13 +315,19 @@ public class HudFragment extends Fragment{
}); });
t.top().visible(() -> { t.top().visible(() -> {
if(state.is(State.menu) || state.teams.get(player.getTeam()).cores.size == 0 || if(state.is(State.menu) || state.teams.get(player.getTeam()).cores.size == 0 || state.teams.get(player.getTeam()).cores.first().entity == null){
state.teams.get(player.getTeam()).cores.first().entity == null){
coreAttackTime = 0f; coreAttackTime = 0f;
return false; return false;
} }
float curr = state.teams.get(player.getTeam()).cores.first().entity.health; float curr = state.teams.get(player.getTeam()).cores.first().entity.health;
if(lastTeam != player.getTeam()){
lastCoreHP = curr;
lastTeam = player.getTeam();
return false;
}
if(!Float.isNaN(lastCoreHP) && curr < lastCoreHP){ if(!Float.isNaN(lastCoreHP) && curr < lastCoreHP){
coreAttackTime = notifDuration; coreAttackTime = notifDuration;
} }
@@ -334,6 +341,7 @@ public class HudFragment extends Fragment{
} }
coreAttackTime -= Time.delta(); coreAttackTime -= Time.delta();
lastTeam = player.getTeam();
return coreAttackOpacity > 0; return coreAttackOpacity > 0;
}); });
@@ -538,6 +546,7 @@ public class HudFragment extends Fragment{
} }
shown = !shown; shown = !shown;
flip.getParent().act(Core.graphics.getDeltaTime());
} }
private void addWaveTable(TextButton table){ private void addWaveTable(TextButton table){
@@ -193,7 +193,11 @@ public abstract class Turret extends Block{
protected void findTarget(Tile tile){ protected void findTarget(Tile tile){
TurretEntity entity = tile.entity(); TurretEntity entity = tile.entity();
entity.target = Units.closestTarget(tile.getTeam(), tile.drawx(), tile.drawy(), range, e -> !e.isDead() && (!e.isFlying() || targetAir) && (e.isFlying() || targetGround)); if(targetAir && !targetGround){
entity.target = Units.closestEnemy(tile.getTeam(), tile.drawx(), tile.drawy(), range, e -> !e.isDead() && e.isFlying());
}else{
entity.target = Units.closestTarget(tile.getTeam(), tile.drawx(), tile.drawy(), range, e -> !e.isDead() && (!e.isFlying() || targetAir) && (e.isFlying() || targetGround));
}
} }
protected void turnToTarget(Tile tile, float targetRot){ protected void turnToTarget(Tile tile, float targetRot){
@@ -187,11 +187,6 @@ public class PowerGraph{
} }
public void add(Tile tile){ public void add(Tile tile){
if(tile.block().consumes.hasPower() && !tile.block().consumes.getPower().buffered){
//reset satisfaction to zero in case of direct consumer. There is no reason to clear power from buffered consumers.
tile.entity.power.satisfaction = 0.0f;
}
tile.entity.power.graph = this; tile.entity.power.graph = this;
all.add(tile); all.add(tile);