Map rule for air spawns (#9922)
* air use spawns Signed-off-by: Jason <131086642+JasonP01@users.noreply.github.com> * add the rule Signed-off-by: Jason <131086642+JasonP01@users.noreply.github.com> * add rule in ui Signed-off-by: Jason <131086642+JasonP01@users.noreply.github.com> * bundle Signed-off-by: Jason <131086642+JasonP01@users.noreply.github.com> * tie it to rules.waves Signed-off-by: Jason <131086642+JasonP01@users.noreply.github.com> * :) Contributing.md says yes Signed-off-by: Jason <131086642+JasonP01@users.noreply.github.com> * indent Signed-off-by: Jason <131086642+JasonP01@users.noreply.github.com> --------- Signed-off-by: Jason <131086642+JasonP01@users.noreply.github.com>
This commit is contained in:
@@ -152,14 +152,21 @@ public class WaveSpawner{
|
||||
}
|
||||
|
||||
private void eachFlyerSpawn(int filterPos, Floatc2 cons){
|
||||
boolean airUseSpawns = state.rules.airUseSpawns;
|
||||
|
||||
for(Tile tile : spawns){
|
||||
if(filterPos != -1 && filterPos != tile.pos()) continue;
|
||||
|
||||
float angle = Angles.angle(world.width() / 2f, world.height() / 2f, tile.x, tile.y);
|
||||
float trns = Math.max(world.width(), world.height()) * Mathf.sqrt2 * tilesize;
|
||||
float spawnX = Mathf.clamp(world.width() * tilesize / 2f + Angles.trnsx(angle, trns), -margin, world.width() * tilesize + margin);
|
||||
float spawnY = Mathf.clamp(world.height() * tilesize / 2f + Angles.trnsy(angle, trns), -margin, world.height() * tilesize + margin);
|
||||
cons.get(spawnX, spawnY);
|
||||
if(!airUseSpawns){
|
||||
|
||||
float angle = Angles.angle(world.width() / 2f, world.height() / 2f, tile.x, tile.y);
|
||||
float trns = Math.max(world.width(), world.height()) * Mathf.sqrt2 * tilesize;
|
||||
float spawnX = Mathf.clamp(world.width() * tilesize / 2f + Angles.trnsx(angle, trns), -margin, world.width() * tilesize + margin);
|
||||
float spawnY = Mathf.clamp(world.height() * tilesize / 2f + Angles.trnsy(angle, trns), -margin, world.height() * tilesize + margin);
|
||||
cons.get(spawnX, spawnY);
|
||||
}else{
|
||||
cons.get(tile.worldx(), tile.worldy());
|
||||
}
|
||||
}
|
||||
|
||||
if(state.rules.attackMode && state.teams.isActive(state.rules.waveTeam)){
|
||||
|
||||
Reference in New Issue
Block a user