range display got more op

This commit is contained in:
Sharlotte
2021-07-25 15:54:30 +09:00
parent cc5dbec832
commit 72c697e68c

View File

@@ -27,7 +27,9 @@ import mindustry.logic.Ranged;
import mindustry.mod.Mod; import mindustry.mod.Mod;
import mindustry.ui.Fonts; import mindustry.ui.Fonts;
import mindustry.world.Block; import mindustry.world.Block;
import mindustry.world.blocks.ConstructBlock;
import mindustry.world.blocks.defense.turrets.BaseTurret; import mindustry.world.blocks.defense.turrets.BaseTurret;
import mindustry.world.blocks.defense.turrets.PointDefenseTurret;
import mindustry.world.blocks.defense.turrets.Turret; import mindustry.world.blocks.defense.turrets.Turret;
import static UnitInfo.SVars.*; import static UnitInfo.SVars.*;
@@ -113,8 +115,16 @@ public class Main extends Mod {
Groups.all.each(entityc -> Groups.all.each(entityc ->
(entityc instanceof BaseTurret.BaseTurretBuild || (settings.getBool("unitRange") && entityc instanceof Unit)) && player != null (entityc instanceof BaseTurret.BaseTurretBuild || (settings.getBool("unitRange") && entityc instanceof Unit)) && player != null
&& (settings.getBool("allTeamRange") || (player.team() != ((Ranged) entityc).team() && ((Ranged) entityc).team() != Team.derelict)), entityc -> { && (settings.getBool("allTeamRange") || (player.team() != ((Ranged) entityc).team() && ((Ranged) entityc).team() != Team.derelict)), entityc -> {
if(entityc instanceof Turret.TurretBuild if(entityc instanceof PointDefenseTurret.PointDefenseBuild || ((entityc instanceof ConstructBlock.ConstructBuild && ((ConstructBlock.ConstructBuild)entityc).current instanceof Turret && (settings.getBool("allTargetRange") ||
&& (settings.getBool("allTargetRange") || !(player.unit().isFlying() && ((Turret)((Turret.TurretBuild) entityc).block).targetAir || !(player.unit().isFlying()) && ((Turret)((Turret.TurretBuild) entityc).block).targetGround))) return; !(player.unit().isFlying() && ((Turret)((ConstructBlock.ConstructBuild)entityc).current).targetAir) ||
!(player.unit().isFlying() && ((Turret)((ConstructBlock.ConstructBuild)entityc).current).targetGround))) ||
(entityc instanceof Turret.TurretBuild && (settings.getBool("allTargetRange") ||
!(player.unit().isFlying() && ((Turret)((Turret.TurretBuild) entityc).block).targetAir) ||
!(player.unit().isFlying() && ((Turret)((Turret.TurretBuild) entityc).block).targetGround) ||
!((Turret.TurretBuild) entityc).hasAmmo())))) {
Drawf.dashCircle(((Ranged) entityc).x(), ((Ranged) entityc).y(), ((Ranged) entityc).range(), Color.gray);
return;
};
float range = ((Ranged) entityc).range(); float range = ((Ranged) entityc).range();
float margin = settings.getInt("rangeRadius") * tilesize; float margin = settings.getInt("rangeRadius") * tilesize;
if(Vars.player.dst((Position) entityc) <= range + margin) if(Vars.player.dst((Position) entityc) <= range + margin)