From cbb3afa95c88aec6197275bc1ec86c5bd4d3a121 Mon Sep 17 00:00:00 2001 From: Matthew Peng <54301439+MEEPofFaith@users.noreply.github.com> Date: Sun, 19 Sep 2021 21:10:43 -0700 Subject: [PATCH 1/2] Add `boolean[]` to `TypeIO` (#6026) * Add `boolean[]` to `TypeIO` I'm too lazy to convert `byte[]` in my code. * Order --- core/src/mindustry/io/TypeIO.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/core/src/mindustry/io/TypeIO.java b/core/src/mindustry/io/TypeIO.java index b42be76a48..107aa9a4d2 100644 --- a/core/src/mindustry/io/TypeIO.java +++ b/core/src/mindustry/io/TypeIO.java @@ -95,6 +95,12 @@ public class TypeIO{ }else if(object instanceof BuildingBox b){ write.b(12); write.i(b.pos); + }else if(object instanceof boolean[] b){ + write.b(16); + write.i(b.length); + for(boolean bool : b){ + write.bool(bool); + } }else{ throw new IllegalArgumentException("Unknown object type: " + object.getClass()); } @@ -126,6 +132,7 @@ public class TypeIO{ case 13: return LAccess.all[read.s()]; case 14: int blen = read.i(); byte[] bytes = new byte[blen]; read.b(bytes); return bytes; case 15: return UnitCommand.all[read.b()]; + case 16: int boollen = read.i(); boolean[] bools = new boolean[boollen]; for(int i = 0; i < boollen; i ++) bools[i] = read.bool(); return bools; default: throw new IllegalArgumentException("Unknown object type: " + type); } } From 4886ee35e99c6d03627134677322fbe64b576f6a Mon Sep 17 00:00:00 2001 From: Matthew Peng <54301439+MEEPofFaith@users.noreply.github.com> Date: Mon, 20 Sep 2021 06:32:30 -0700 Subject: [PATCH 2/2] Status Field Effect X/Y (#6009) * Status Field Effect X/Y * h * aaaaaaaaaaaaaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA --- .../src/mindustry/entities/abilities/StatusFieldAbility.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/core/src/mindustry/entities/abilities/StatusFieldAbility.java b/core/src/mindustry/entities/abilities/StatusFieldAbility.java index 4c1d2e3c78..73a9a614cb 100644 --- a/core/src/mindustry/entities/abilities/StatusFieldAbility.java +++ b/core/src/mindustry/entities/abilities/StatusFieldAbility.java @@ -1,6 +1,7 @@ package mindustry.entities.abilities; import arc.*; +import arc.math.*; import arc.util.*; import mindustry.content.*; import mindustry.entities.*; @@ -12,6 +13,7 @@ public class StatusFieldAbility extends Ability{ public float duration = 60, reload = 100, range = 20; public Effect applyEffect = Fx.none; public Effect activeEffect = Fx.overdriveWave; + public float effectX, effectY; public boolean parentizeEffects; protected float timer; @@ -40,7 +42,8 @@ public class StatusFieldAbility extends Ability{ applyEffect.at(other, parentizeEffects); }); - activeEffect.at(unit, parentizeEffects); + float x = unit.x + Angles.trnsx(unit.rotation, effectY, effectX), y = unit.y + Angles.trnsy(unit.rotation, effectY, effectX); + activeEffect.at(x, y, unit.rotation, parentizeEffects ? unit : null); timer = 0f; }