Fixed #2556
This commit is contained in:
@@ -87,7 +87,7 @@ public class BuilderAI extends AIController{
|
|||||||
}
|
}
|
||||||
|
|
||||||
//find new request
|
//find new request
|
||||||
if(!unit.team().data().blocks.isEmpty() && following == null){
|
if(!unit.team().data().blocks.isEmpty() && following == null && timer.get(timerTarget3, 60 * 2f)){
|
||||||
Queue<BlockPlan> blocks = unit.team().data().blocks;
|
Queue<BlockPlan> blocks = unit.team().data().blocks;
|
||||||
BlockPlan block = blocks.first();
|
BlockPlan block = blocks.first();
|
||||||
|
|
||||||
|
|||||||
@@ -338,6 +338,8 @@ public class NetClient implements ApplicationListener{
|
|||||||
@Remote(variants = Variant.both)
|
@Remote(variants = Variant.both)
|
||||||
public static void setRules(Rules rules){
|
public static void setRules(Rules rules){
|
||||||
state.rules = rules;
|
state.rules = rules;
|
||||||
|
//campaign is not valid in multiplayer
|
||||||
|
state.rules.sector = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Remote(variants = Variant.both)
|
@Remote(variants = Variant.both)
|
||||||
|
|||||||
@@ -17,6 +17,7 @@ public class AIController implements UnitController{
|
|||||||
protected static final Vec2 vec = new Vec2();
|
protected static final Vec2 vec = new Vec2();
|
||||||
protected static final int timerTarget = 0;
|
protected static final int timerTarget = 0;
|
||||||
protected static final int timerTarget2 = 1;
|
protected static final int timerTarget2 = 1;
|
||||||
|
protected static final int timerTarget3 = 2;
|
||||||
|
|
||||||
protected Unit unit;
|
protected Unit unit;
|
||||||
protected Interval timer = new Interval(4);
|
protected Interval timer = new Interval(4);
|
||||||
|
|||||||
@@ -42,6 +42,8 @@ public class NetworkIO{
|
|||||||
try(DataInputStream stream = new DataInputStream(is)){
|
try(DataInputStream stream = new DataInputStream(is)){
|
||||||
Time.clear();
|
Time.clear();
|
||||||
state.rules = JsonIO.read(Rules.class, stream.readUTF());
|
state.rules = JsonIO.read(Rules.class, stream.readUTF());
|
||||||
|
//campaign is not valid in multiplayer
|
||||||
|
state.rules.sector = null;
|
||||||
state.map = new Map(SaveIO.getSaveWriter().readStringMap(stream));
|
state.map = new Map(SaveIO.getSaveWriter().readStringMap(stream));
|
||||||
|
|
||||||
state.wave = stream.readInt();
|
state.wave = stream.readInt();
|
||||||
|
|||||||
@@ -28,8 +28,8 @@ public class ExtendingItemBridge extends ItemBridge{
|
|||||||
|
|
||||||
int i = tile.absoluteRelativeTo(other.x, other.y);
|
int i = tile.absoluteRelativeTo(other.x, other.y);
|
||||||
|
|
||||||
float ex = other.worldx() - x - Geometry.d4[i].x * tilesize / 2f,
|
float ex = other.worldx() - x - Geometry.d4(i).x * tilesize / 2f,
|
||||||
ey = other.worldy() - y - Geometry.d4[i].y * tilesize / 2f;
|
ey = other.worldy() - y - Geometry.d4(i).y * tilesize / 2f;
|
||||||
|
|
||||||
float uptime = state.isEditor() ? 1f : this.uptime;
|
float uptime = state.isEditor() ? 1f : this.uptime;
|
||||||
|
|
||||||
@@ -42,15 +42,15 @@ public class ExtendingItemBridge extends ItemBridge{
|
|||||||
|
|
||||||
Lines.stroke(8f);
|
Lines.stroke(8f);
|
||||||
Lines.line(bridgeRegion,
|
Lines.line(bridgeRegion,
|
||||||
x + Geometry.d4[i].x * tilesize / 2f,
|
x + Geometry.d4(i).x * tilesize / 2f,
|
||||||
y + Geometry.d4[i].y * tilesize / 2f,
|
y + Geometry.d4(i).y * tilesize / 2f,
|
||||||
x + ex,
|
x + ex,
|
||||||
y + ey, false);
|
y + ey, false);
|
||||||
|
|
||||||
Draw.rect(endRegion, x, y, i * 90 + 90);
|
Draw.rect(endRegion, x, y, i * 90 + 90);
|
||||||
Draw.rect(endRegion,
|
Draw.rect(endRegion,
|
||||||
x + ex + Geometry.d4[i].x * tilesize / 2f,
|
x + ex + Geometry.d4(i).x * tilesize / 2f,
|
||||||
y + ey + Geometry.d4[i].y * tilesize / 2f, i * 90 + 270);
|
y + ey + Geometry.d4(i).y * tilesize / 2f, i * 90 + 270);
|
||||||
|
|
||||||
int dist = Math.max(Math.abs(other.x - tile.x), Math.abs(other.y - tile.y));
|
int dist = Math.max(Math.abs(other.x - tile.x), Math.abs(other.y - tile.y));
|
||||||
|
|
||||||
@@ -61,8 +61,8 @@ public class ExtendingItemBridge extends ItemBridge{
|
|||||||
for(int a = 0; a < arrows; a++){
|
for(int a = 0; a < arrows; a++){
|
||||||
Draw.alpha(Mathf.absin(a / (float)arrows - time / 100f, 0.1f, 1f) * uptime * opacity);
|
Draw.alpha(Mathf.absin(a / (float)arrows - time / 100f, 0.1f, 1f) * uptime * opacity);
|
||||||
Draw.rect(arrowRegion,
|
Draw.rect(arrowRegion,
|
||||||
x + Geometry.d4[i].x * (tilesize / 2f + a * 6f + 2) * uptime,
|
x + Geometry.d4(i).x * (tilesize / 2f + a * 6f + 2) * uptime,
|
||||||
y + Geometry.d4[i].y * (tilesize / 2f + a * 6f + 2) * uptime,
|
y + Geometry.d4(i).y * (tilesize / 2f + a * 6f + 2) * uptime,
|
||||||
i * 90f);
|
i * 90f);
|
||||||
}
|
}
|
||||||
Draw.reset();
|
Draw.reset();
|
||||||
|
|||||||
@@ -99,7 +99,7 @@ public class ItemBridge extends Block{
|
|||||||
float h = (link.y == y ? tilesize : Math.abs(link.y - y) * tilesize - tilesize);
|
float h = (link.y == y ? tilesize : Math.abs(link.y - y) * tilesize - tilesize);
|
||||||
Lines.rect((x + link.x) / 2f * tilesize - w / 2f, (y + link.y) / 2f * tilesize - h / 2f, w, h);
|
Lines.rect((x + link.x) / 2f * tilesize - w / 2f, (y + link.y) / 2f * tilesize - h / 2f, w, h);
|
||||||
|
|
||||||
Draw.rect("bridge-arrow", link.x * tilesize + Geometry.d4[rot].x * tilesize, link.y * tilesize + Geometry.d4[rot].y * tilesize, link.absoluteRelativeTo(x, y) * 90);
|
Draw.rect("bridge-arrow", link.x * tilesize + Geometry.d4(rot).x * tilesize, link.y * tilesize + Geometry.d4(rot).y * tilesize, link.absoluteRelativeTo(x, y) * 90);
|
||||||
}
|
}
|
||||||
Draw.reset();
|
Draw.reset();
|
||||||
}
|
}
|
||||||
@@ -321,8 +321,8 @@ public class ItemBridge extends Block{
|
|||||||
for(int a = 0; a < arrows; a++){
|
for(int a = 0; a < arrows; a++){
|
||||||
Draw.alpha(Mathf.absin(a / (float)arrows - time / 100f, 0.1f, 1f) * uptime * opacity);
|
Draw.alpha(Mathf.absin(a / (float)arrows - time / 100f, 0.1f, 1f) * uptime * opacity);
|
||||||
Draw.rect(arrowRegion,
|
Draw.rect(arrowRegion,
|
||||||
x + Geometry.d4[i].x * (tilesize / 2f + a * 4f + time % 4f),
|
x + Geometry.d4(i).x * (tilesize / 2f + a * 4f + time % 4f),
|
||||||
y + Geometry.d4[i].y * (tilesize / 2f + a * 4f + time % 4f), i * 90f);
|
y + Geometry.d4(i).y * (tilesize / 2f + a * 4f + time % 4f), i * 90f);
|
||||||
}
|
}
|
||||||
Draw.reset();
|
Draw.reset();
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user