Bugfixes
This commit is contained in:
@@ -19,7 +19,10 @@ public class SuicideAI extends GroundAI{
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void updateUnit(){
|
public void updateUnit(){
|
||||||
if(disabled()) return;
|
if(disabled()){
|
||||||
|
stopShooting();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if(Units.invalidateTarget(target, unit.team, unit.x, unit.y, Float.MAX_VALUE)){
|
if(Units.invalidateTarget(target, unit.team, unit.x, unit.y, Float.MAX_VALUE)){
|
||||||
target = null;
|
target = null;
|
||||||
|
|||||||
@@ -2131,7 +2131,7 @@ public class Blocks{
|
|||||||
laserRange = 1000f;
|
laserRange = 1000f;
|
||||||
autolink = false;
|
autolink = false;
|
||||||
laserColor2 = Color.valueOf("ffd9c2");
|
laserColor2 = Color.valueOf("ffd9c2");
|
||||||
laserScale = 0.65f;
|
laserScale = 0.8f;
|
||||||
}};
|
}};
|
||||||
|
|
||||||
combustionGenerator = new BurnerGenerator("combustion-generator"){{
|
combustionGenerator = new BurnerGenerator("combustion-generator"){{
|
||||||
|
|||||||
@@ -181,7 +181,7 @@ public class Units{
|
|||||||
if(check.get(unit)){
|
if(check.get(unit)){
|
||||||
unit.hitboxTile(hitrect);
|
unit.hitboxTile(hitrect);
|
||||||
|
|
||||||
if(hitrect.overlaps(aeX, aeY, aeW, aeH)){
|
if(hitrect.overlaps(x, y, width, height)){
|
||||||
boolResult = true;
|
boolResult = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -34,6 +34,7 @@ public class AIController implements UnitController{
|
|||||||
@Override
|
@Override
|
||||||
public void updateUnit(){
|
public void updateUnit(){
|
||||||
if(disabled()){
|
if(disabled()){
|
||||||
|
stopShooting();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -49,6 +50,13 @@ public class AIController implements UnitController{
|
|||||||
updateMovement();
|
updateMovement();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void stopShooting(){
|
||||||
|
for(var mount : unit.mounts){
|
||||||
|
//ignore mount controllable stats too, they should not shoot either
|
||||||
|
mount.shoot = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public boolean disabled(){
|
public boolean disabled(){
|
||||||
return !unit.team.isAI() && !unit.type.defaultAI;
|
return !unit.team.isAI() && !unit.type.defaultAI;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -447,8 +447,9 @@ public class UnitAssembler extends PayloadBlock{
|
|||||||
public boolean checkSolid(Vec2 v, boolean same){
|
public boolean checkSolid(Vec2 v, boolean same){
|
||||||
var output = unit();
|
var output = unit();
|
||||||
float hsize = output.hitSize * 1.4f;
|
float hsize = output.hitSize * 1.4f;
|
||||||
return !output.flying && (collisions.overlapsTile(Tmp.r1.setCentered(v.x, v.y, output.hitSize), EntityCollisions::solid) ||
|
return ((!output.flying && collisions.overlapsTile(Tmp.r1.setCentered(v.x, v.y, output.hitSize), EntityCollisions::solid)) ||
|
||||||
(!same ? Units.anyEntities(v.x, v.y, hsize) : Units.anyEntities(v.x - hsize/2f, v.y - hsize/2f, hsize, hsize, u -> u.type != output && u.isGrounded())));
|
Units.anyEntities(v.x - hsize/2f, v.y - hsize/2f, hsize, hsize, u -> (!same || u.type != output) &&
|
||||||
|
((u.type.allowLegStep && output.allowLegStep) || (output.flying && u.isFlying()) || (!output.flying && u.isGrounded()))));
|
||||||
}
|
}
|
||||||
|
|
||||||
/** @return true if this block is ready to produce units, e.g. requirements met */
|
/** @return true if this block is ready to produce units, e.g. requirements met */
|
||||||
|
|||||||
Reference in New Issue
Block a user