Bugfixes
|
Before Width: | Height: | Size: 707 B After Width: | Height: | Size: 706 B |
|
Before Width: | Height: | Size: 1.1 MiB After Width: | Height: | Size: 1.1 MiB |
|
Before Width: | Height: | Size: 252 KiB After Width: | Height: | Size: 254 KiB |
|
Before Width: | Height: | Size: 170 KiB After Width: | Height: | Size: 175 KiB |
|
Before Width: | Height: | Size: 220 KiB After Width: | Height: | Size: 222 KiB |
|
Before Width: | Height: | Size: 400 KiB After Width: | Height: | Size: 402 KiB |
|
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);
|
||||||
|
|
||||||
|
|||||||