Crash fixes
This commit is contained in:
@@ -35,7 +35,9 @@ public class EditorTile extends Tile{
|
|||||||
if(floor == type && overlayID() == 0) return;
|
if(floor == type && overlayID() == 0) return;
|
||||||
if(overlayID() != 0) op(OpType.overlay, overlayID());
|
if(overlayID() != 0) op(OpType.overlay, overlayID());
|
||||||
if(floor != type) op(OpType.floor, floor.id);
|
if(floor != type) op(OpType.floor, floor.id);
|
||||||
super.setFloor(type);
|
|
||||||
|
this.floor = type;
|
||||||
|
this.overlay = (Floor)Blocks.air;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -1758,7 +1758,7 @@ public abstract class InputHandler implements InputProcessor, GestureListener{
|
|||||||
}
|
}
|
||||||
|
|
||||||
boolean canTapPlayer(float x, float y){
|
boolean canTapPlayer(float x, float y){
|
||||||
return player.within(x, y, playerSelectRange) && player.unit().stack.amount > 0;
|
return player.within(x, y, playerSelectRange) && !player.dead() && player.unit().stack.amount > 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Tries to begin mining a tile, returns true if successful. */
|
/** Tries to begin mining a tile, returns true if successful. */
|
||||||
@@ -1788,7 +1788,7 @@ public abstract class InputHandler implements InputProcessor, GestureListener{
|
|||||||
}
|
}
|
||||||
|
|
||||||
boolean tryRepairDerelict(Tile selected){
|
boolean tryRepairDerelict(Tile selected){
|
||||||
if(selected != null && !state.rules.editor && player.team() != Team.derelict && selected.build != null && selected.build.block.unlockedNow() && selected.build.team == Team.derelict &&
|
if(!player.dead() && selected != null && !state.rules.editor && player.team() != Team.derelict && selected.build != null && selected.build.block.unlockedNow() && selected.build.team == Team.derelict &&
|
||||||
Build.validPlace(selected.block(), player.team(), selected.build.tileX(), selected.build.tileY(), selected.build.rotation)){
|
Build.validPlace(selected.block(), player.team(), selected.build.tileX(), selected.build.tileY(), selected.build.rotation)){
|
||||||
|
|
||||||
player.unit().addBuild(new BuildPlan(selected.build.tileX(), selected.build.tileY(), selected.build.rotation, selected.block(), selected.build.config()));
|
player.unit().addBuild(new BuildPlan(selected.build.tileX(), selected.build.tileY(), selected.build.rotation, selected.block(), selected.build.config()));
|
||||||
@@ -1798,12 +1798,13 @@ public abstract class InputHandler implements InputProcessor, GestureListener{
|
|||||||
}
|
}
|
||||||
|
|
||||||
boolean canRepairDerelict(Tile tile){
|
boolean canRepairDerelict(Tile tile){
|
||||||
return tile != null && tile.build != null && !state.rules.editor && player.team() != Team.derelict && tile.build.team == Team.derelict && tile.build.block.unlockedNowHost() &&
|
return tile != null && tile.build != null && !player.dead() && !state.rules.editor && player.team() != Team.derelict && tile.build.team == Team.derelict && tile.build.block.unlockedNowHost() &&
|
||||||
Build.validPlace(tile.block(), player.team(), tile.build.tileX(), tile.build.tileY(), tile.build.rotation);
|
Build.validPlace(tile.block(), player.team(), tile.build.tileX(), tile.build.tileY(), tile.build.rotation);
|
||||||
}
|
}
|
||||||
|
|
||||||
boolean canMine(Tile tile){
|
boolean canMine(Tile tile){
|
||||||
return !Core.scene.hasMouse()
|
return !Core.scene.hasMouse()
|
||||||
|
&& !player.dead()
|
||||||
&& player.unit().validMine(tile)
|
&& player.unit().validMine(tile)
|
||||||
&& player.unit().acceptsItem(player.unit().getMineResult(tile))
|
&& player.unit().acceptsItem(player.unit().getMineResult(tile))
|
||||||
&& !((!Core.settings.getBool("doubletapmine") && tile.floor().playerUnmineable) && tile.overlay().itemDrop == null);
|
&& !((!Core.settings.getBool("doubletapmine") && tile.floor().playerUnmineable) && tile.overlay().itemDrop == null);
|
||||||
|
|||||||
@@ -193,8 +193,8 @@ public class ConstructBlock extends Block{
|
|||||||
@Override
|
@Override
|
||||||
public void tapped(){
|
public void tapped(){
|
||||||
//if the target is constructable, begin constructing
|
//if the target is constructable, begin constructing
|
||||||
if(current.isPlaceable()){
|
if(current.isPlaceable() && player.isBuilder()){
|
||||||
if(control.input.buildWasAutoPaused && !control.input.isBuilding && player.isBuilder()){
|
if(control.input.buildWasAutoPaused && !control.input.isBuilding){
|
||||||
control.input.isBuilding = true;
|
control.input.isBuilding = true;
|
||||||
}
|
}
|
||||||
player.unit().addBuild(new BuildPlan(tile.x, tile.y, rotation, current, lastConfig), false);
|
player.unit().addBuild(new BuildPlan(tile.x, tile.y, rotation, current, lastConfig), false);
|
||||||
|
|||||||
@@ -27,8 +27,10 @@ public class LaserTurret extends PowerTurret{
|
|||||||
super.setStats();
|
super.setStats();
|
||||||
|
|
||||||
stats.remove(Stat.booster);
|
stats.remove(Stat.booster);
|
||||||
|
if(coolant != null){
|
||||||
stats.add(Stat.input, StatValues.boosters(reload, coolant.amount, coolantMultiplier, false, this::consumesLiquid));
|
stats.add(Stat.input, StatValues.boosters(reload, coolant.amount, coolantMultiplier, false, this::consumesLiquid));
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void init(){
|
public void init(){
|
||||||
|
|||||||
Reference in New Issue
Block a user