Fixed #5448
This commit is contained in:
@@ -38,7 +38,6 @@ public enum Gamemode{
|
|||||||
rules.infiniteResources = true;
|
rules.infiniteResources = true;
|
||||||
rules.editor = true;
|
rules.editor = true;
|
||||||
rules.waves = false;
|
rules.waves = false;
|
||||||
rules.enemyCoreBuildRadius = 0f;
|
|
||||||
rules.waveTimer = false;
|
rules.waveTimer = false;
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@@ -134,24 +134,26 @@ public class Build{
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
//find closest core, if it doesn't match the team, placing is not legal
|
if(!state.rules.editor){
|
||||||
if(state.rules.polygonCoreProtection){
|
//find closest core, if it doesn't match the team, placing is not legal
|
||||||
float mindst = Float.MAX_VALUE;
|
if(state.rules.polygonCoreProtection){
|
||||||
CoreBuild closest = null;
|
float mindst = Float.MAX_VALUE;
|
||||||
for(TeamData data : state.teams.active){
|
CoreBuild closest = null;
|
||||||
for(CoreBuild tile : data.cores){
|
for(TeamData data : state.teams.active){
|
||||||
float dst = tile.dst2(x * tilesize + type.offset, y * tilesize + type.offset);
|
for(CoreBuild tile : data.cores){
|
||||||
if(dst < mindst){
|
float dst = tile.dst2(x * tilesize + type.offset, y * tilesize + type.offset);
|
||||||
closest = tile;
|
if(dst < mindst){
|
||||||
mindst = dst;
|
closest = tile;
|
||||||
|
mindst = dst;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
if(closest != null && closest.team != team){
|
||||||
if(closest != null && closest.team != team){
|
return false;
|
||||||
|
}
|
||||||
|
}else if(state.teams.eachEnemyCore(team, core -> Mathf.dst(x * tilesize + type.offset, y * tilesize + type.offset, core.x, core.y) < state.rules.enemyCoreBuildRadius + type.size * tilesize / 2f)){
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}else if(state.teams.eachEnemyCore(team, core -> Mathf.dst(x * tilesize + type.offset, y * tilesize + type.offset, core.x, core.y) < state.rules.enemyCoreBuildRadius + type.size * tilesize / 2f)){
|
|
||||||
return false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Tile tile = world.tile(x, y);
|
Tile tile = world.tile(x, y);
|
||||||
|
|||||||
Reference in New Issue
Block a user