From 31149c08eaa15e75e5519719f660bc2b663aa92b Mon Sep 17 00:00:00 2001 From: MEEPofFaith <54301439+MEEPofFaith@users.noreply.github.com> Date: Wed, 7 Sep 2022 15:54:26 -0700 Subject: [PATCH 1/4] More control over wave sending (#7442) * Wave send rule * Send natural wave command * Use a boolean * boolean selection * Revert "boolean selection" This reverts commit 01e7a8f0e0bf4c98122e1ae27f91d31022c6d8a5. * Natural wave last * I don't see why it wouldn't --- core/assets/bundles/bundle.properties | 3 ++- core/src/mindustry/game/Rules.java | 2 ++ core/src/mindustry/logic/LExecutor.java | 14 +++++++++++--- core/src/mindustry/logic/LStatements.java | 14 ++++++++------ core/src/mindustry/logic/LogicRule.java | 1 + .../mindustry/ui/dialogs/CustomRulesDialog.java | 1 + core/src/mindustry/ui/fragments/HudFragment.java | 2 +- 7 files changed, 26 insertions(+), 11 deletions(-) diff --git a/core/assets/bundles/bundle.properties b/core/assets/bundles/bundle.properties index c23c4eea49..510b62a8ca 100644 --- a/core/assets/bundles/bundle.properties +++ b/core/assets/bundles/bundle.properties @@ -1153,6 +1153,7 @@ rules.coreincinerates = Core Incinerates Overflow rules.disableworldprocessors = Disable World Processors rules.schematic = Schematics Allowed rules.wavetimer = Wave Timer +rules.wavesending = Wave Sending rules.waves = Waves rules.attack = Attack Mode rules.rtsai = RTS AI @@ -2114,7 +2115,7 @@ lst.getblock = Get tile data at any location. lst.setblock = Set tile data at any location. lst.spawnunit = Spawn unit at a location. lst.applystatus = Apply or clear a status effect from a unit. -lst.spawnwave = Simulate a wave being spawned at an arbitrary location.\nWill not increment the wave counter. +lst.spawnwave = Spawn a wave. lst.explosion = Create an explosion at a location. lst.setrate = Set processor execution speed in instructions/tick. lst.fetch = Lookup units, cores, players or buildings by index.\nIndices start at 0 and end at their returned count. diff --git a/core/src/mindustry/game/Rules.java b/core/src/mindustry/game/Rules.java index 0f3a658652..c912b59196 100644 --- a/core/src/mindustry/game/Rules.java +++ b/core/src/mindustry/game/Rules.java @@ -25,6 +25,8 @@ public class Rules{ public TeamRules teams = new TeamRules(); /** Whether the waves come automatically on a timer. If not, waves come when the play button is pressed. */ public boolean waveTimer = true; + /** Whether the waves can be manually summoned with the play button. */ + public boolean waveSending = true; /** Whether waves are spawnable at all. */ public boolean waves; /** Whether the game objective is PvP. Note that this enables automatic hosting. */ diff --git a/core/src/mindustry/logic/LExecutor.java b/core/src/mindustry/logic/LExecutor.java index 3df0e3edf6..e6b5d3c4bf 100644 --- a/core/src/mindustry/logic/LExecutor.java +++ b/core/src/mindustry/logic/LExecutor.java @@ -1409,6 +1409,7 @@ public class LExecutor{ case wave -> state.wave = exec.numi(value); case currentWaveTime -> state.wavetime = exec.numf(value) * 60f; case waves -> state.rules.waves = exec.bool(value); + case waveSending -> state.rules.waveSending = exec.bool(value); case attackMode -> state.rules.attackMode = exec.bool(value); case waveSpacing -> state.rules.waveSpacing = exec.numf(value) * 60f; case enemyCoreBuildRadius -> state.rules.enemyCoreBuildRadius = exec.numf(value) * 8f; @@ -1641,12 +1642,14 @@ public class LExecutor{ } public static class SpawnWaveI implements LInstruction{ + public int natural; public int x, y; public SpawnWaveI(){ } - public SpawnWaveI(int x, int y){ + public SpawnWaveI(int natural, int x, int y){ + this.natural = natural; this.x = x; this.y = y; } @@ -1655,9 +1658,14 @@ public class LExecutor{ public void run(LExecutor exec){ if(net.client()) return; + if(exec.bool(natural)){ + logic.skipWave(); + return; + } + float - spawnX = World.unconv(exec.numf(x)), - spawnY = World.unconv(exec.numf(y)); + spawnX = World.unconv(exec.numf(x)), + spawnY = World.unconv(exec.numf(y)); int packed = Point2.pack(exec.numi(x), exec.numi(y)); for(SpawnGroup group : state.rules.spawns){ diff --git a/core/src/mindustry/logic/LStatements.java b/core/src/mindustry/logic/LStatements.java index b57b1b3fa6..c3eb6119f8 100644 --- a/core/src/mindustry/logic/LStatements.java +++ b/core/src/mindustry/logic/LStatements.java @@ -1309,16 +1309,18 @@ public class LStatements{ @RegisterStatement("spawnwave") public static class SpawnWaveStatement extends LStatement{ - public String x = "10", y = "10"; + public String x = "10", y = "10", natural = "false"; @Override public void build(Table table){ + table.add("natural "); + fields(table, natural, str -> natural = str); - table.add("x "); - fields(table, x, str -> x = str); + table.add("x ").visible(() -> natural.equals("false")); + fields(table, x, str -> x = str).visible(() -> natural.equals("false")); - table.add(" y "); - fields(table, y, str -> y = str); + table.add(" y ").visible(() -> natural.equals("false")); + fields(table, y, str -> y = str).visible(() -> natural.equals("false")); } @Override @@ -1328,7 +1330,7 @@ public class LStatements{ @Override public LInstruction build(LAssembler builder){ - return new SpawnWaveI(builder.var(x), builder.var(y)); + return new SpawnWaveI(builder.var(natural), builder.var(x), builder.var(y)); } @Override diff --git a/core/src/mindustry/logic/LogicRule.java b/core/src/mindustry/logic/LogicRule.java index 44329eb627..8314707ff4 100644 --- a/core/src/mindustry/logic/LogicRule.java +++ b/core/src/mindustry/logic/LogicRule.java @@ -6,6 +6,7 @@ public enum LogicRule{ waves, wave, waveSpacing, + waveSending, attackMode, enemyCoreBuildRadius, dropZoneRadius, diff --git a/core/src/mindustry/ui/dialogs/CustomRulesDialog.java b/core/src/mindustry/ui/dialogs/CustomRulesDialog.java index 2e3057b2d8..a203563b20 100644 --- a/core/src/mindustry/ui/dialogs/CustomRulesDialog.java +++ b/core/src/mindustry/ui/dialogs/CustomRulesDialog.java @@ -139,6 +139,7 @@ public class CustomRulesDialog extends BaseDialog{ title("@rules.title.waves"); check("@rules.waves", b -> rules.waves = b, () -> rules.waves); check("@rules.wavetimer", b -> rules.waveTimer = b, () -> rules.waveTimer); + check("@rules.wavesending", b -> rules.waveSending = b, () -> rules.waveSending); check("@rules.waitForWaveToEnd", b -> rules.waitEnemies = b, () -> rules.waitEnemies); number("@rules.wavespacing", false, f -> rules.waveSpacing = f * 60f, () -> rules.waveSpacing / 60f, () -> rules.waveTimer, 1, Float.MAX_VALUE); //this is experimental, because it's not clear that 0 makes it default. diff --git a/core/src/mindustry/ui/fragments/HudFragment.java b/core/src/mindustry/ui/fragments/HudFragment.java index eb6c32e54c..4e0ffdd302 100644 --- a/core/src/mindustry/ui/fragments/HudFragment.java +++ b/core/src/mindustry/ui/fragments/HudFragment.java @@ -908,7 +908,7 @@ public class HudFragment{ } private boolean canSkipWave(){ - return state.rules.waves && ((net.server() || player.admin) || !net.active()) && state.enemies == 0 && !spawner.isSpawning(); + return state.rules.waves && state.rules.waveSending && ((net.server() || player.admin) || !net.active()) && state.enemies == 0 && !spawner.isSpawning(); } } From 4410e90b9ebe84ba93fb4e8af6f761479303c694 Mon Sep 17 00:00:00 2001 From: Github Actions Date: Wed, 7 Sep 2022 22:55:23 +0000 Subject: [PATCH 2/4] Automatic bundle update --- core/assets/bundles/bundle_be.properties | 1 + core/assets/bundles/bundle_bg.properties | 1 + core/assets/bundles/bundle_ca.properties | 1 + core/assets/bundles/bundle_cs.properties | 1 + core/assets/bundles/bundle_da.properties | 1 + core/assets/bundles/bundle_de.properties | 1 + core/assets/bundles/bundle_es.properties | 1 + core/assets/bundles/bundle_et.properties | 1 + core/assets/bundles/bundle_eu.properties | 1 + core/assets/bundles/bundle_fi.properties | 1 + core/assets/bundles/bundle_fil.properties | 1 + core/assets/bundles/bundle_fr.properties | 1 + core/assets/bundles/bundle_hu.properties | 1 + core/assets/bundles/bundle_id_ID.properties | 1 + core/assets/bundles/bundle_it.properties | 1 + core/assets/bundles/bundle_ja.properties | 1 + core/assets/bundles/bundle_ko.properties | 1 + core/assets/bundles/bundle_lt.properties | 1 + core/assets/bundles/bundle_nl.properties | 1 + core/assets/bundles/bundle_nl_BE.properties | 1 + core/assets/bundles/bundle_pl.properties | 1 + core/assets/bundles/bundle_pt_BR.properties | 1 + core/assets/bundles/bundle_pt_PT.properties | 1 + core/assets/bundles/bundle_ro.properties | 1 + core/assets/bundles/bundle_ru.properties | 1 + core/assets/bundles/bundle_sr.properties | 1 + core/assets/bundles/bundle_sv.properties | 1 + core/assets/bundles/bundle_th.properties | 1 + core/assets/bundles/bundle_tk.properties | 1 + core/assets/bundles/bundle_tr.properties | 1 + core/assets/bundles/bundle_uk_UA.properties | 1 + core/assets/bundles/bundle_vi.properties | 1 + core/assets/bundles/bundle_zh_CN.properties | 1 + core/assets/bundles/bundle_zh_TW.properties | 1 + 34 files changed, 34 insertions(+) diff --git a/core/assets/bundles/bundle_be.properties b/core/assets/bundles/bundle_be.properties index 7afc417ffc..0fdfb3c886 100644 --- a/core/assets/bundles/bundle_be.properties +++ b/core/assets/bundles/bundle_be.properties @@ -1132,6 +1132,7 @@ rules.coreincinerates = Core Incinerates Overflow rules.disableworldprocessors = Disable World Processors rules.schematic = Schematics Allowed rules.wavetimer = Інтэрвал хваляў +rules.wavesending = Wave Sending rules.waves = Хвалі rules.attack = Рэжым атакі rules.rtsai = RTS AI diff --git a/core/assets/bundles/bundle_bg.properties b/core/assets/bundles/bundle_bg.properties index e37e6f3745..7c9a52a5de 100644 --- a/core/assets/bundles/bundle_bg.properties +++ b/core/assets/bundles/bundle_bg.properties @@ -1142,6 +1142,7 @@ rules.coreincinerates = Унищожаване на Ресурси при Пре rules.disableworldprocessors = Disable World Processors rules.schematic = Позволена Употребата на Схеми rules.wavetimer = Таймер за Вълни +rules.wavesending = Wave Sending rules.waves = Вълни rules.attack = Режим Атака rules.rtsai = RTS AI diff --git a/core/assets/bundles/bundle_ca.properties b/core/assets/bundles/bundle_ca.properties index 4d8503450e..653cb89d05 100644 --- a/core/assets/bundles/bundle_ca.properties +++ b/core/assets/bundles/bundle_ca.properties @@ -1147,6 +1147,7 @@ rules.coreincinerates = El nucli incinera els excedents rules.disableworldprocessors = Desactiva els processadors integrats rules.schematic = Permetre l’ús d’esquemes rules.wavetimer = Temporitzador d’onades +rules.wavesending = Wave Sending rules.waves = Onades rules.attack = Mode d’atac rules.rtsai = IA avançada (RTS AI) diff --git a/core/assets/bundles/bundle_cs.properties b/core/assets/bundles/bundle_cs.properties index 25d31ea05d..d6b495334e 100644 --- a/core/assets/bundles/bundle_cs.properties +++ b/core/assets/bundles/bundle_cs.properties @@ -1144,6 +1144,7 @@ rules.coreincinerates = Jádro Spaluje Nadbytečné Suroviny rules.disableworldprocessors = Disable World Processors rules.schematic = Šablony povoleny rules.wavetimer = Časovač vln +rules.wavesending = Wave Sending rules.waves = Vlny rules.attack = Režim útoku rules.rtsai = RTS AI diff --git a/core/assets/bundles/bundle_da.properties b/core/assets/bundles/bundle_da.properties index 46fa3e1130..1c92d0bcc9 100644 --- a/core/assets/bundles/bundle_da.properties +++ b/core/assets/bundles/bundle_da.properties @@ -1132,6 +1132,7 @@ rules.coreincinerates = Core Incinerates Overflow rules.disableworldprocessors = Disable World Processors rules.schematic = Skabeloner tilladt rules.wavetimer = Bølge-æggeur +rules.wavesending = Wave Sending rules.waves = Bølger rules.attack = Angrebsmode rules.rtsai = RTS AI diff --git a/core/assets/bundles/bundle_de.properties b/core/assets/bundles/bundle_de.properties index bc5739296c..5513a1b530 100644 --- a/core/assets/bundles/bundle_de.properties +++ b/core/assets/bundles/bundle_de.properties @@ -1147,6 +1147,7 @@ rules.coreincinerates = Kern verbrennt überflüssige Materialien rules.disableworldprocessors = Deaktiviere Weltprozessoren rules.schematic = Entwürfe erlaubt rules.wavetimer = Wellen-Timer +rules.wavesending = Wave Sending rules.waves = Wellen rules.attack = Angriff-Modus rules.rtsai = RTS AI diff --git a/core/assets/bundles/bundle_es.properties b/core/assets/bundles/bundle_es.properties index 81e7c648f4..feede6e420 100644 --- a/core/assets/bundles/bundle_es.properties +++ b/core/assets/bundles/bundle_es.properties @@ -1152,6 +1152,7 @@ rules.coreincinerates = Incinerar exceso de recursos en el Núcleo rules.disableworldprocessors = Desactivar procesadores integrados rules.schematic = Permitir esquemas rules.wavetimer = Temporizador de oleadas +rules.wavesending = Wave Sending rules.waves = Oleadas rules.attack = Modo de ataque rules.rtsai = IA enemiga avanzada (RTS AI) diff --git a/core/assets/bundles/bundle_et.properties b/core/assets/bundles/bundle_et.properties index 5a82042e83..5830db3cf4 100644 --- a/core/assets/bundles/bundle_et.properties +++ b/core/assets/bundles/bundle_et.properties @@ -1132,6 +1132,7 @@ rules.coreincinerates = Core Incinerates Overflow rules.disableworldprocessors = Disable World Processors rules.schematic = Schematics Allowed rules.wavetimer = Kasuta taimerit +rules.wavesending = Wave Sending rules.waves = Kasuta lahingulaineid rules.attack = Mänguviis "Rünnak" rules.rtsai = RTS AI diff --git a/core/assets/bundles/bundle_eu.properties b/core/assets/bundles/bundle_eu.properties index 92bc020928..0c90d4a39e 100644 --- a/core/assets/bundles/bundle_eu.properties +++ b/core/assets/bundles/bundle_eu.properties @@ -1132,6 +1132,7 @@ rules.coreincinerates = Core Incinerates Overflow rules.disableworldprocessors = Disable World Processors rules.schematic = Schematics Allowed rules.wavetimer = Boladen denboragailua +rules.wavesending = Wave Sending rules.waves = Boladak rules.attack = Eraso modua rules.rtsai = RTS AI diff --git a/core/assets/bundles/bundle_fi.properties b/core/assets/bundles/bundle_fi.properties index c5a40272fc..5752e998a7 100644 --- a/core/assets/bundles/bundle_fi.properties +++ b/core/assets/bundles/bundle_fi.properties @@ -1132,6 +1132,7 @@ rules.coreincinerates = Ydin höyrystää ylivuodon rules.disableworldprocessors = Poista maailmaprosessorit käytöstä rules.schematic = Salli kaaviot rules.wavetimer = Tasojen aikaraja +rules.wavesending = Wave Sending rules.waves = Tasot rules.attack = Hyökkäystila rules.rtsai = RTS AI diff --git a/core/assets/bundles/bundle_fil.properties b/core/assets/bundles/bundle_fil.properties index 9ad4ba43e9..f4fbdf8e37 100644 --- a/core/assets/bundles/bundle_fil.properties +++ b/core/assets/bundles/bundle_fil.properties @@ -1132,6 +1132,7 @@ rules.coreincinerates = Core Incinerates Overflow rules.disableworldprocessors = Disable World Processors rules.schematic = Schematics Allowed rules.wavetimer = Wave Timer +rules.wavesending = Wave Sending rules.waves = Waves rules.attack = Attack Mode rules.rtsai = RTS AI diff --git a/core/assets/bundles/bundle_fr.properties b/core/assets/bundles/bundle_fr.properties index 3a127d78ec..9792cb65e5 100644 --- a/core/assets/bundles/bundle_fr.properties +++ b/core/assets/bundles/bundle_fr.properties @@ -1152,6 +1152,7 @@ rules.coreincinerates = Incinération des surplus du Noyau rules.disableworldprocessors = Désactiver les Processeurs Globaux rules.schematic = Schémas autorisés rules.wavetimer = Compte à rebours des vagues +rules.wavesending = Wave Sending rules.waves = Vagues rules.attack = Mode « Attaque » rules.rtsai = IA de RTS diff --git a/core/assets/bundles/bundle_hu.properties b/core/assets/bundles/bundle_hu.properties index 838eb7ecc4..ca8d7fb7b8 100644 --- a/core/assets/bundles/bundle_hu.properties +++ b/core/assets/bundles/bundle_hu.properties @@ -1141,6 +1141,7 @@ rules.coreincinerates = Túlcsorduló itemek megsemmisítse a magban rules.disableworldprocessors = Disable World Processors rules.schematic = Schematicok rules.wavetimer = Hullám időzítő +rules.wavesending = Wave Sending rules.waves = Hullámok rules.attack = Támadás mód rules.rtsai = RTS AI diff --git a/core/assets/bundles/bundle_id_ID.properties b/core/assets/bundles/bundle_id_ID.properties index 2910da04dd..fbb5b4ca4e 100644 --- a/core/assets/bundles/bundle_id_ID.properties +++ b/core/assets/bundles/bundle_id_ID.properties @@ -1152,6 +1152,7 @@ rules.coreincinerates = Penghangusan Luapan Inti rules.disableworldprocessors = Nonaktifkan Prosesor Dunia rules.schematic = Bagan Diperbolehkan rules.wavetimer = Pengaturan Waktu Gelombang +rules.wavesending = Wave Sending rules.waves = Gelombang rules.attack = Mode Penyerangan rules.rtsai = A.I. RTS diff --git a/core/assets/bundles/bundle_it.properties b/core/assets/bundles/bundle_it.properties index 9ea16f5055..d87d1374e5 100644 --- a/core/assets/bundles/bundle_it.properties +++ b/core/assets/bundles/bundle_it.properties @@ -1139,6 +1139,7 @@ rules.coreincinerates = Core Incinerates Overflow rules.disableworldprocessors = Disabilita processori rules.schematic = Schematiche Consentite rules.wavetimer = Timer Ondate +rules.wavesending = Wave Sending rules.waves = Ondate rules.attack = Modalità Attacco rules.rtsai = RTS AI diff --git a/core/assets/bundles/bundle_ja.properties b/core/assets/bundles/bundle_ja.properties index 5c2983e8d5..aa500b618d 100644 --- a/core/assets/bundles/bundle_ja.properties +++ b/core/assets/bundles/bundle_ja.properties @@ -1144,6 +1144,7 @@ rules.coreincinerates = 余剰アイテムの焼却 rules.disableworldprocessors = Disable World Processors rules.schematic = 設計図を許可 rules.wavetimer = ウェーブの自動進行 +rules.wavesending = Wave Sending rules.waves = ウェーブ rules.attack = アタックモード rules.rtsai = RTS AI diff --git a/core/assets/bundles/bundle_ko.properties b/core/assets/bundles/bundle_ko.properties index 186b369758..47095375f9 100644 --- a/core/assets/bundles/bundle_ko.properties +++ b/core/assets/bundles/bundle_ko.properties @@ -1145,6 +1145,7 @@ rules.coreincinerates = 코어 방화 비허용 rules.disableworldprocessors = 월드 프로세서 비활성화 rules.schematic = 설계도 허용 rules.wavetimer = 시간 제한이 있는 단계 +rules.wavesending = Wave Sending rules.waves = 단계 rules.attack = 공격 모드 rules.rtsai = RTS AI diff --git a/core/assets/bundles/bundle_lt.properties b/core/assets/bundles/bundle_lt.properties index ea58d58879..74b2d16cfb 100644 --- a/core/assets/bundles/bundle_lt.properties +++ b/core/assets/bundles/bundle_lt.properties @@ -1132,6 +1132,7 @@ rules.coreincinerates = Core Incinerates Overflow rules.disableworldprocessors = Disable World Processors rules.schematic = Schematics Allowed rules.wavetimer = Bangų Laikmatis +rules.wavesending = Wave Sending rules.waves = Bangos rules.attack = Puolimo Režimas rules.rtsai = RTS AI diff --git a/core/assets/bundles/bundle_nl.properties b/core/assets/bundles/bundle_nl.properties index f1ed26e7f3..5cf2ae2464 100644 --- a/core/assets/bundles/bundle_nl.properties +++ b/core/assets/bundles/bundle_nl.properties @@ -1132,6 +1132,7 @@ rules.coreincinerates = Core Incinerates Overflow rules.disableworldprocessors = Disable World Processors rules.schematic = Schematics Allowed rules.wavetimer = Ronde timer +rules.wavesending = Wave Sending rules.waves = Rondes rules.attack = Aanval modus rules.rtsai = RTS AI diff --git a/core/assets/bundles/bundle_nl_BE.properties b/core/assets/bundles/bundle_nl_BE.properties index 07cdaf74b4..4cb1683f6c 100644 --- a/core/assets/bundles/bundle_nl_BE.properties +++ b/core/assets/bundles/bundle_nl_BE.properties @@ -1132,6 +1132,7 @@ rules.coreincinerates = Core Incinerates Overflow rules.disableworldprocessors = Disable World Processors rules.schematic = Schematics Allowed rules.wavetimer = Wave Timer +rules.wavesending = Wave Sending rules.waves = Waves rules.attack = Attack Mode rules.rtsai = RTS AI diff --git a/core/assets/bundles/bundle_pl.properties b/core/assets/bundles/bundle_pl.properties index 6aedef913b..2cbe2bfcfb 100644 --- a/core/assets/bundles/bundle_pl.properties +++ b/core/assets/bundles/bundle_pl.properties @@ -1143,6 +1143,7 @@ rules.coreincinerates = Rdzeń Spala Nadmiarowe Przedmioty rules.disableworldprocessors = Wyłącz Procesor Świata rules.schematic = Zezwalaj na schematy rules.wavetimer = Zegar Fal +rules.wavesending = Wave Sending rules.waves = Fale rules.attack = Tryb Ataku rules.rtsai = RTS SI diff --git a/core/assets/bundles/bundle_pt_BR.properties b/core/assets/bundles/bundle_pt_BR.properties index 3f2aaa251a..5b9263f5f5 100644 --- a/core/assets/bundles/bundle_pt_BR.properties +++ b/core/assets/bundles/bundle_pt_BR.properties @@ -1139,6 +1139,7 @@ rules.coreincinerates = Core Incinerates Overflow rules.disableworldprocessors = Disable World Processors rules.schematic = Permitir Esquemas rules.wavetimer = Tempo de horda +rules.wavesending = Wave Sending rules.waves = Hordas rules.attack = Modo de ataque rules.rtsai = RTS AI diff --git a/core/assets/bundles/bundle_pt_PT.properties b/core/assets/bundles/bundle_pt_PT.properties index e44df384dd..4f141cbc61 100644 --- a/core/assets/bundles/bundle_pt_PT.properties +++ b/core/assets/bundles/bundle_pt_PT.properties @@ -1132,6 +1132,7 @@ rules.coreincinerates = Core Incinerates Overflow rules.disableworldprocessors = Disable World Processors rules.schematic = Schematics Allowed rules.wavetimer = Tempo de horda +rules.wavesending = Wave Sending rules.waves = Hordas rules.attack = Modo de ataque rules.rtsai = RTS AI diff --git a/core/assets/bundles/bundle_ro.properties b/core/assets/bundles/bundle_ro.properties index 3d5609f215..d231303b8a 100644 --- a/core/assets/bundles/bundle_ro.properties +++ b/core/assets/bundles/bundle_ro.properties @@ -1144,6 +1144,7 @@ rules.coreincinerates = Nucleul Incinerează Resursele în Plus rules.disableworldprocessors = Disable World Processors rules.schematic = Se Pot Folosi Scheme rules.wavetimer = Valuri pe Timp +rules.wavesending = Wave Sending rules.waves = Valuri rules.attack = Modul Atac rules.rtsai = RTS AI diff --git a/core/assets/bundles/bundle_ru.properties b/core/assets/bundles/bundle_ru.properties index 6673a007a4..5af0a2fe55 100644 --- a/core/assets/bundles/bundle_ru.properties +++ b/core/assets/bundles/bundle_ru.properties @@ -1142,6 +1142,7 @@ rules.coreincinerates = Ядро сжигает избыток ресурсов rules.disableworldprocessors = Отключить мировые процессоры rules.schematic = Схемы разрешены rules.wavetimer = Интервал волн +rules.wavesending = Wave Sending rules.waves = Волны rules.attack = Режим атаки rules.rtsai = ИИ в реальном времени diff --git a/core/assets/bundles/bundle_sr.properties b/core/assets/bundles/bundle_sr.properties index 0ade7cd964..828256f469 100644 --- a/core/assets/bundles/bundle_sr.properties +++ b/core/assets/bundles/bundle_sr.properties @@ -1144,6 +1144,7 @@ rules.coreincinerates = Core Incinerates Overflow rules.disableworldprocessors = Onesposobi Svetovne Procesore rules.schematic = Šeme Su Dozvoljene rules.wavetimer = Wave Timer +rules.wavesending = Wave Sending rules.waves = Talasi rules.attack = Mod Napada rules.rtsai = RTS AI diff --git a/core/assets/bundles/bundle_sv.properties b/core/assets/bundles/bundle_sv.properties index 450e1cf97f..0e8e056faa 100644 --- a/core/assets/bundles/bundle_sv.properties +++ b/core/assets/bundles/bundle_sv.properties @@ -1132,6 +1132,7 @@ rules.coreincinerates = Core Incinerates Overflow rules.disableworldprocessors = Disable World Processors rules.schematic = Schematics Allowed rules.wavetimer = Vågtimer +rules.wavesending = Wave Sending rules.waves = Vågor rules.attack = Attack Mode rules.rtsai = RTS AI diff --git a/core/assets/bundles/bundle_th.properties b/core/assets/bundles/bundle_th.properties index 927542a119..3e43e5051b 100644 --- a/core/assets/bundles/bundle_th.properties +++ b/core/assets/bundles/bundle_th.properties @@ -1144,6 +1144,7 @@ rules.coreincinerates = แกนกลางเผาทรัพยากร rules.disableworldprocessors = ปิดการทำงานของตัวประมวลผลโลก rules.schematic = อนุญาตแผนผัง rules.wavetimer = นับถอยหลังการปล่อยคลื่น +rules.wavesending = Wave Sending rules.waves = คลื่น rules.attack = โหมดการโจมตี rules.rtsai = RTS AI diff --git a/core/assets/bundles/bundle_tk.properties b/core/assets/bundles/bundle_tk.properties index ce08902a48..a14cad3d95 100644 --- a/core/assets/bundles/bundle_tk.properties +++ b/core/assets/bundles/bundle_tk.properties @@ -1132,6 +1132,7 @@ rules.coreincinerates = Core Incinerates Overflow rules.disableworldprocessors = Disable World Processors rules.schematic = Schematics Allowed rules.wavetimer = Wave Timer +rules.wavesending = Wave Sending rules.waves = Waves rules.attack = Attack Mode rules.rtsai = RTS AI diff --git a/core/assets/bundles/bundle_tr.properties b/core/assets/bundles/bundle_tr.properties index 62526fd138..e4bae55d42 100644 --- a/core/assets/bundles/bundle_tr.properties +++ b/core/assets/bundles/bundle_tr.properties @@ -1144,6 +1144,7 @@ rules.coreincinerates = Merkez Taşanları Eritir rules.disableworldprocessors = Evrensel İşlemcileri Devredışı Bırak rules.schematic = Şema Kullanılabilir rules.wavetimer = Dalga Zamanlayıcısı +rules.wavesending = Wave Sending rules.waves = Dalgalar rules.attack = Saldırı Modu rules.rtsai = RTS AI diff --git a/core/assets/bundles/bundle_uk_UA.properties b/core/assets/bundles/bundle_uk_UA.properties index 552949708e..cb5219c894 100644 --- a/core/assets/bundles/bundle_uk_UA.properties +++ b/core/assets/bundles/bundle_uk_UA.properties @@ -1147,6 +1147,7 @@ rules.coreincinerates = Ядро спалює надлишкові предме rules.disableworldprocessors = Вимкнути світові процесори rules.schematic = Використання схем дозволено rules.wavetimer = Таймер для хвиль +rules.wavesending = Wave Sending rules.waves = Хвилі rules.attack = Режим атаки rules.rtsai = ШІ зі стратегій реального часу diff --git a/core/assets/bundles/bundle_vi.properties b/core/assets/bundles/bundle_vi.properties index 347f9c66bf..ae40d10fd3 100644 --- a/core/assets/bundles/bundle_vi.properties +++ b/core/assets/bundles/bundle_vi.properties @@ -1144,6 +1144,7 @@ rules.coreincinerates = Hủy vật phẩm khi căn cứ đầy rules.disableworldprocessors = Disable World Processors rules.schematic = Cho phép dùng bản thiết kế rules.wavetimer = Đếm ngược đợt +rules.wavesending = Wave Sending rules.waves = Đợt rules.attack = Chế độ tấn công rules.rtsai = RTS AI diff --git a/core/assets/bundles/bundle_zh_CN.properties b/core/assets/bundles/bundle_zh_CN.properties index cc9e79713f..f01e877e52 100644 --- a/core/assets/bundles/bundle_zh_CN.properties +++ b/core/assets/bundles/bundle_zh_CN.properties @@ -1145,6 +1145,7 @@ rules.coreincinerates = 核心焚烧 rules.disableworldprocessors = 禁用世界处理器 rules.schematic = 允许使用蓝图 rules.wavetimer = 波次计时器 +rules.wavesending = Wave Sending rules.waves = 波次 rules.attack = 进攻模式 rules.rtsai = RTS AI diff --git a/core/assets/bundles/bundle_zh_TW.properties b/core/assets/bundles/bundle_zh_TW.properties index b3a7fcfc2e..8dec2ae36a 100644 --- a/core/assets/bundles/bundle_zh_TW.properties +++ b/core/assets/bundles/bundle_zh_TW.properties @@ -1152,6 +1152,7 @@ rules.coreincinerates = 核心銷毀物品 rules.disableworldprocessors = 停用世界處理器 rules.schematic = 允許使用藍圖 rules.wavetimer = 波次時間 +rules.wavesending = Wave Sending rules.waves = 波次 rules.attack = 攻擊模式 rules.rtsai = RTS AI From b7e8c211f755e912db2cc0742da1ff9168104380 Mon Sep 17 00:00:00 2001 From: MEEPofFaith <54301439+MEEPofFaith@users.noreply.github.com> Date: Wed, 7 Sep 2022 19:50:06 -0700 Subject: [PATCH 3/4] Countdowns on other objectives. (#7528) * Destroy units objective countdown * Countdown on other objectives --- core/src/mindustry/game/MapObjectives.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/core/src/mindustry/game/MapObjectives.java b/core/src/mindustry/game/MapObjectives.java index 916fa5863a..0f1bc4b269 100644 --- a/core/src/mindustry/game/MapObjectives.java +++ b/core/src/mindustry/game/MapObjectives.java @@ -380,7 +380,7 @@ public class MapObjectives implements Iterable, Eachable, Eachable, Eachable Date: Thu, 8 Sep 2022 09:58:29 -0700 Subject: [PATCH 4/4] Make missile units not be affected by map border. (#7530) * Unbounded units * Unbound missiles --- core/src/mindustry/entities/comp/BoundedComp.java | 4 ++++ core/src/mindustry/type/UnitType.java | 2 ++ core/src/mindustry/type/unit/MissileUnitType.java | 1 + 3 files changed, 7 insertions(+) diff --git a/core/src/mindustry/entities/comp/BoundedComp.java b/core/src/mindustry/entities/comp/BoundedComp.java index 11a99c7e82..8fc1927bc0 100644 --- a/core/src/mindustry/entities/comp/BoundedComp.java +++ b/core/src/mindustry/entities/comp/BoundedComp.java @@ -5,6 +5,7 @@ import arc.util.*; import mindustry.annotations.Annotations.*; import mindustry.game.*; import mindustry.gen.*; +import mindustry.type.*; import static mindustry.Vars.*; @@ -12,11 +13,14 @@ import static mindustry.Vars.*; abstract class BoundedComp implements Velc, Posc, Healthc, Flyingc{ static final float warpDst = 30f; + @Import UnitType type; @Import float x, y; @Import Team team; @Override public void update(){ + if(!type.bounded) return; + float bot = 0f, left = 0f, top = world.unitHeight(), right = world.unitWidth(); //TODO hidden map rules only apply to player teams? should they? diff --git a/core/src/mindustry/type/UnitType.java b/core/src/mindustry/type/UnitType.java index c06290cd28..eac7325f0e 100644 --- a/core/src/mindustry/type/UnitType.java +++ b/core/src/mindustry/type/UnitType.java @@ -208,6 +208,8 @@ public class UnitType extends UnlockableContent{ hidden = false, /** if true, this unit is for internal use only and does not have a sprite generated. */ internal = false, + /** If false, this unit is not pushed away from map edges. */ + bounded = true, /** if true, this unit is detected as naval - do NOT assign this manually! Initialized in init() */ naval = false, diff --git a/core/src/mindustry/type/unit/MissileUnitType.java b/core/src/mindustry/type/unit/MissileUnitType.java index a34ca8b559..7142064995 100644 --- a/core/src/mindustry/type/unit/MissileUnitType.java +++ b/core/src/mindustry/type/unit/MissileUnitType.java @@ -25,6 +25,7 @@ public class MissileUnitType extends UnitType{ envEnabled = Env.any; envDisabled = Env.none; physics = false; + bounded = false; trailLength = 7; hidden = true; speed = 4f;