From 27c8efc672fa91d6e885606466a17e5a8f9af5c8 Mon Sep 17 00:00:00 2001 From: Anuken Date: Thu, 11 Feb 2021 10:12:07 -0500 Subject: [PATCH] Better targeting range calculation --- core/assets/bundles/bundle.properties | 1 + core/assets/maps/mudFlats.msav | Bin 28161 -> 28248 bytes core/src/mindustry/ai/BlockIndexer.java | 9 ++++----- core/src/mindustry/content/Blocks.java | 1 + core/src/mindustry/entities/Units.java | 7 ++++--- .../mindustry/entities/comp/BuildingComp.java | 7 ++++++- .../mindustry/entities/comp/HitboxComp.java | 7 ++++++- core/src/mindustry/entities/comp/Sized.java | 5 +++++ gradle.properties | 2 +- ios/robovm.xml | 1 - 10 files changed, 28 insertions(+), 12 deletions(-) create mode 100644 core/src/mindustry/entities/comp/Sized.java diff --git a/core/assets/bundles/bundle.properties b/core/assets/bundles/bundle.properties index bcb64901f8..9b3a8136b5 100644 --- a/core/assets/bundles/bundle.properties +++ b/core/assets/bundles/bundle.properties @@ -1563,6 +1563,7 @@ lenum.len = Length of vector. lenum.sin = Sine, in degrees. lenum.cos = Cosine, in degrees. lenum.tan = Tangent, in degrees. +#not a typo, look up 'range notation' lenum.rand = Random number in range [0, value). lenum.log = Natural logarithm (ln). lenum.log10 = Base 10 logarithm. diff --git a/core/assets/maps/mudFlats.msav b/core/assets/maps/mudFlats.msav index 1ba2e25cebe9b0156113552fa4253da48cf15071..adca422b83795cdeb581b64ca6a8ec805ea7ab72 100644 GIT binary patch delta 28191 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 r7g`+9cC|3&M{*Gb6hpJ&~4b+VJ` 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 delta 27958 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 pred, boolean usePriority){ Building closest = null; float dst = 0; - float range2 = range * range; for(int rx = Math.max((int)((x - range) / tilesize / quadrantSize), 0); rx <= (int)((x + range) / tilesize / quadrantSize) && rx < quadWidth(); rx++){ for(int ry = Math.max((int)((y - range) / tilesize / quadrantSize), 0); ry <= (int)((y + range) / tilesize / quadrantSize) && ry < quadHeight(); ry++){ @@ -282,13 +281,13 @@ public class BlockIndexer{ if(e == null || e.team != team || !pred.get(e) || !e.block.targetable || e.team == Team.derelict) continue; - float ndst = e.dst2(x, y); - if(ndst < range2 && (closest == null || + float bdst = e.dst(x, y) - e.hitSize() / 2f; + if(bdst < range && (closest == null || //this one is closer, and it is at least of equal priority - (ndst < dst && (!usePriority || closest.block.priority.ordinal() <= e.block.priority.ordinal())) || + (bdst < dst && (!usePriority || closest.block.priority.ordinal() <= e.block.priority.ordinal())) || //priority is used, and new block has higher priority regardless of range (usePriority && closest.block.priority.ordinal() < e.block.priority.ordinal()))){ - dst = ndst; + dst = bdst; closest = e; } } diff --git a/core/src/mindustry/content/Blocks.java b/core/src/mindustry/content/Blocks.java index e73ffc89db..e9f8abf2a4 100644 --- a/core/src/mindustry/content/Blocks.java +++ b/core/src/mindustry/content/Blocks.java @@ -2047,6 +2047,7 @@ public class Blocks implements ContentList{ hasPower = true; consumes.power(10f); buildCostMultiplier = 0.5f; + health = size * size * 80; }}; //endregion campaign diff --git a/core/src/mindustry/entities/Units.java b/core/src/mindustry/entities/Units.java index cd602327a6..3d73faebd6 100644 --- a/core/src/mindustry/entities/Units.java +++ b/core/src/mindustry/entities/Units.java @@ -6,6 +6,7 @@ import arc.math.geom.*; import arc.struct.*; import mindustry.annotations.Annotations.*; import mindustry.content.*; +import mindustry.entities.comp.*; import mindustry.game.*; import mindustry.game.Teams.*; import mindustry.gen.*; @@ -93,7 +94,7 @@ public class Units{ * @return whether the target is invalid */ public static boolean invalidateTarget(Posc target, Team team, float x, float y, float range){ - return target == null || (range != Float.MAX_VALUE && !target.within(x, y, range)) || (target instanceof Teamc && ((Teamc)target).team() == team) || (target instanceof Healthc && !((Healthc)target).isValid()); + return target == null || (range != Float.MAX_VALUE && !target.within(x, y, range + (target instanceof Sized hb ? hb.hitSize()/2f : 0f))) || (target instanceof Teamc t && t.team() == team) || (target instanceof Healthc h && !h.isValid()); } /** See {@link #invalidateTarget(Posc, Team, float, float, float)} */ @@ -217,7 +218,7 @@ public class Units{ cdist = 0f; nearbyEnemies(team, x - range, y - range, range*2f, range*2f, e -> { - if(e.dead() || !predicate.get(e) || !e.within(x, y, range)) return; + if(e.dead() || !predicate.get(e) || !e.within(x, y, range + e.hitSize/2f)) return; float cost = sort.cost(e, x, y); if(result == null || cost < cdist){ @@ -292,7 +293,7 @@ public class Units{ /** Iterates over all units in a circle around this position. */ public static void nearby(Team team, float x, float y, float radius, Cons cons){ nearby(team, x - radius, y - radius, radius*2f, radius*2f, unit -> { - if(unit.within(x, y, radius)){ + if(unit.within(x, y, radius + unit.hitSize/2f)){ cons.get(unit); } }); diff --git a/core/src/mindustry/entities/comp/BuildingComp.java b/core/src/mindustry/entities/comp/BuildingComp.java index 747defe555..b368d060e0 100644 --- a/core/src/mindustry/entities/comp/BuildingComp.java +++ b/core/src/mindustry/entities/comp/BuildingComp.java @@ -43,7 +43,7 @@ import static mindustry.Vars.*; @EntityDef(value = {Buildingc.class}, isFinal = false, genio = false, serialize = false) @Component(base = true) -abstract class BuildingComp implements Posc, Teamc, Healthc, Buildingc, Timerc, QuadTreeObject, Displayable, Senseable, Controllable{ +abstract class BuildingComp implements Posc, Teamc, Healthc, Buildingc, Timerc, QuadTreeObject, Displayable, Senseable, Controllable, Sized{ //region vars and initialization static final float timeToSleep = 60f * 1, timeToUncontrol = 60f * 6; static final ObjectSet tmpTiles = new ObjectSet<>(); @@ -1277,6 +1277,11 @@ abstract class BuildingComp implements Posc, Teamc, Healthc, Buildingc, Timerc, return tile.build == self() && !dead(); } + @Override + public float hitSize(){ + return tile.block().size * tilesize; + } + @Replace @Override public void kill(){ diff --git a/core/src/mindustry/entities/comp/HitboxComp.java b/core/src/mindustry/entities/comp/HitboxComp.java index f44270ebed..82576686fe 100644 --- a/core/src/mindustry/entities/comp/HitboxComp.java +++ b/core/src/mindustry/entities/comp/HitboxComp.java @@ -8,7 +8,7 @@ import mindustry.annotations.Annotations.*; import mindustry.gen.*; @Component -abstract class HitboxComp implements Posc, QuadTreeObject{ +abstract class HitboxComp implements Posc, Sized, QuadTreeObject{ @Import float x, y; transient float lastX, lastY, deltaX, deltaY, hitSize; @@ -28,6 +28,11 @@ abstract class HitboxComp implements Posc, QuadTreeObject{ updateLastPosition(); } + @Override + public float hitSize(){ + return hitSize; + } + void getCollisions(Cons consumer){ } diff --git a/core/src/mindustry/entities/comp/Sized.java b/core/src/mindustry/entities/comp/Sized.java new file mode 100644 index 0000000000..5fd73efa42 --- /dev/null +++ b/core/src/mindustry/entities/comp/Sized.java @@ -0,0 +1,5 @@ +package mindustry.entities.comp; + +public interface Sized{ + float hitSize(); +} diff --git a/gradle.properties b/gradle.properties index fbe236418e..88888d07c9 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,3 +1,3 @@ org.gradle.daemon=true org.gradle.jvmargs=-Xms256m -Xmx1024m -archash=8b6d59e004463585b333c8cda9ea91dd66f3bcee +archash=5b04a94d53e279e3af3a2654978fff5ab16e7cb8 diff --git a/ios/robovm.xml b/ios/robovm.xml index e792b258a8..c82b246fad 100644 --- a/ios/robovm.xml +++ b/ios/robovm.xml @@ -2,7 +2,6 @@ ${app.executable} ${app.mainclass} ios - thumbv7 ios Info.plist.xml