Misc bugfixes

This commit is contained in:
Anuken
2022-02-13 23:07:45 -05:00
parent 6c30f58507
commit e59e3d82a2
4 changed files with 24 additions and 16 deletions

View File

@@ -3039,7 +3039,7 @@ public class UnitTypes{
unitSpawned = new MissileUnitType("disrupt-missile"){{
speed = 4.5f;
maxRange = 80f;
maxRange = 5f;
outlineColor = Pal.darkOutline;
health = 70;
homingDelay = 10f;
@@ -3072,7 +3072,7 @@ public class UnitTypes{
mirror = false;
reload = 1f;
shootOnDeath = true;
bullet = new ExplosionBulletType(145f, 25f){{
bullet = new ExplosionBulletType(120f, 25f){{
suppressionRange = 140f;
shootEffect = new ExplosionEffect(){{
lifetime = 50f;

View File

@@ -231,19 +231,7 @@ public class DesktopInput extends InputHandler{
Draw.reset();
}
if(!valid && state.rules.placeRangeCheck){
var blocker = Build.getEnemyOverlap(block, player.team(), cursorX, cursorY);
if(blocker != null){
Drawf.selected(blocker, Pal.remove);
Tmp.v1.set(cursorX, cursorY).scl(tilesize).add(block.offset, block.offset).sub(blocker).scl(-1f).nor();
Drawf.dashLineDst(Pal.remove,
cursorX * tilesize + block.offset + Tmp.v1.x * block.size * tilesize/2f,
cursorY * tilesize + block.offset + Tmp.v1.y * block.size * tilesize/2f,
blocker.x + Tmp.v1.x * -blocker.block.size * tilesize/2f,
blocker.y + Tmp.v1.y * -blocker.block.size * tilesize/2f
);
}
}
drawOverlapCheck(block, cursorX, cursorY, valid);
}
}

View File

@@ -719,6 +719,22 @@ public abstract class InputHandler implements InputProcessor, GestureListener{
}
}
public void drawOverlapCheck(Block block, int cursorX, int cursorY, boolean valid){
if(!valid && state.rules.placeRangeCheck){
var blocker = Build.getEnemyOverlap(block, player.team(), cursorX, cursorY);
if(blocker != null){
Drawf.selected(blocker, Pal.remove);
Tmp.v1.set(cursorX, cursorY).scl(tilesize).add(block.offset, block.offset).sub(blocker).scl(-1f).nor();
Drawf.dashLineDst(Pal.remove,
cursorX * tilesize + block.offset + Tmp.v1.x * block.size * tilesize/2f,
cursorY * tilesize + block.offset + Tmp.v1.y * block.size * tilesize/2f,
blocker.x + Tmp.v1.x * -blocker.block.size * tilesize/2f,
blocker.y + Tmp.v1.y * -blocker.block.size * tilesize/2f
);
}
}
}
public boolean requestMatches(BuildPlan request){
Tile tile = world.tile(request.x, request.y);
return tile != null && tile.build instanceof ConstructBuild cons && cons.current == request.block;

View File

@@ -374,8 +374,12 @@ public class MobileInput extends InputHandler implements GestureListener{
//draw last placed request
if(!request.breaking && request == lastPlaced && request.block != null && request.block.drawArrow){
boolean valid = validPlace(tile.x, tile.y, request.block, rotation);
Draw.mixcol();
request.block.drawPlace(tile.x, tile.y, rotation, validPlace(tile.x, tile.y, request.block, rotation));
request.block.drawPlace(tile.x, tile.y, rotation, valid);
drawOverlapCheck(request.block, tile.x, tile.y, valid);
}
}