diff --git a/core/assets/bundles/bundle.properties b/core/assets/bundles/bundle.properties index 068068ff94..a5303bc3d6 100644 --- a/core/assets/bundles/bundle.properties +++ b/core/assets/bundles/bundle.properties @@ -23,7 +23,7 @@ gameover.waiting = [accent]Waiting for next map... highscore = [accent]New highscore! copied = Copied. indev.notready = This part of the game isn't ready yet -indev.campaign = [accent]You've reached the end of the campaign![]\n\nThis is as far as the content goes. Interplanetary travel will be added in future updates. +indev.campaign = [accent]Congratulations! You've reached the end of the campaign![]\n\nThis is as far as the content goes right now. Interplanetary travel will be added in future updates. load.sound = Sounds load.map = Maps @@ -149,6 +149,9 @@ unlocked = New content unlocked! available = New research available! completed = [accent]Completed techtree = Tech Tree +research.legacy = [accent]5.0[] research data found.\nDo you want to [accent]load this data[], or [accent]discard it[] and restart research in the new campaign (recommended)? +research.load = Load +research.discard = Discard research.list = [lightgray]Research: research = Research researched = [lightgray]{0} researched. diff --git a/core/src/mindustry/content/TechTree.java b/core/src/mindustry/content/TechTree.java index 98ff7fd6e8..31becb5f57 100644 --- a/core/src/mindustry/content/TechTree.java +++ b/core/src/mindustry/content/TechTree.java @@ -422,7 +422,7 @@ public class TechTree implements ContentList{ node(additiveReconstructor, Seq.with(new SectorComplete(biomassFacility)), () -> { node(multiplicativeReconstructor, () -> { - node(exponentialReconstructor, () -> { + node(exponentialReconstructor, Seq.with(new SectorComplete(overgrowth)), () -> { node(tetrativeReconstructor, () -> { }); diff --git a/core/src/mindustry/content/UnitTypes.java b/core/src/mindustry/content/UnitTypes.java index 023eeb5631..83f3aa3db7 100644 --- a/core/src/mindustry/content/UnitTypes.java +++ b/core/src/mindustry/content/UnitTypes.java @@ -1349,7 +1349,7 @@ public class UnitTypes implements ContentList{ collides = false; healPercent = 15f; - splashDamage = 240f; + splashDamage = 230f; splashDamageRadius = 120f; }}; }}); diff --git a/core/src/mindustry/entities/comp/UnitComp.java b/core/src/mindustry/entities/comp/UnitComp.java index b90afcae56..9451fc7278 100644 --- a/core/src/mindustry/entities/comp/UnitComp.java +++ b/core/src/mindustry/entities/comp/UnitComp.java @@ -397,8 +397,8 @@ abstract class UnitComp implements Healthc, Physicsc, Hitboxc, Statusc, Teamc, I /** Actually destroys the unit, removing it and creating explosions. **/ public void destroy(){ - float explosiveness = 2f + item().explosiveness * stack().amount / 2.4f; - float flammability = item().flammability * stack().amount / 2.4f; + float explosiveness = 2f + item().explosiveness * stack().amount / 3f; + float flammability = item().flammability * stack().amount / 3f; Damage.dynamicExplosion(x, y, flammability, explosiveness, 0f, bounds() / 2f, Pal.darkFlame, state.rules.damageExplosions); float shake = hitSize / 3f; diff --git a/core/src/mindustry/game/Universe.java b/core/src/mindustry/game/Universe.java index b19fcee6da..b57c1fe337 100644 --- a/core/src/mindustry/game/Universe.java +++ b/core/src/mindustry/game/Universe.java @@ -6,7 +6,6 @@ import arc.struct.*; import arc.util.*; import mindustry.content.*; import mindustry.game.EventType.*; -import mindustry.io.legacy.*; import mindustry.maps.*; import mindustry.type.*; import mindustry.world.blocks.storage.*; @@ -27,13 +26,6 @@ public class Universe{ public Universe(){ load(); - //load legacy research - Events.on(ClientLoadEvent.class, e -> { - if(Core.settings.has("unlocks")){ - LegacyIO.readResearch(); - } - }); - //update base coverage on capture Events.on(SectorCaptureEvent.class, e -> { if(!net.client() && state.isCampaign()){ diff --git a/core/src/mindustry/ui/dialogs/PlanetDialog.java b/core/src/mindustry/ui/dialogs/PlanetDialog.java index b3dc7aa135..347c18c4a2 100644 --- a/core/src/mindustry/ui/dialogs/PlanetDialog.java +++ b/core/src/mindustry/ui/dialogs/PlanetDialog.java @@ -23,6 +23,7 @@ import mindustry.gen.*; import mindustry.graphics.*; import mindustry.graphics.g3d.*; import mindustry.input.*; +import mindustry.io.legacy.*; import mindustry.maps.*; import mindustry.type.*; import mindustry.ui.*; @@ -140,6 +141,13 @@ public class PlanetDialog extends BaseDialog implements PlanetInterfaceRenderer{ return this; } + //load legacy research + if(Core.settings.has("unlocks") && !Core.settings.has("junction-unlocked")){ + Core.app.post(() -> { + ui.showCustomConfirm("@research", "@research.legacy", "@research.load", "@research.discard", LegacyIO::readResearch, () -> Core.settings.remove("unlocks")); + }); + } + rebuildButtons(); mode = look; selected = hovered = launchSector = null; diff --git a/core/src/mindustry/world/blocks/defense/turrets/LaserTurret.java b/core/src/mindustry/world/blocks/defense/turrets/LaserTurret.java index 3aefcdd33c..fd971e55d7 100644 --- a/core/src/mindustry/world/blocks/defense/turrets/LaserTurret.java +++ b/core/src/mindustry/world/blocks/defense/turrets/LaserTurret.java @@ -54,6 +54,7 @@ public class LaserTurret extends PowerTurret{ super.updateTile(); if(bulletLife > 0 && bullet != null){ + wasShooting = true; tr.trns(rotation, size * tilesize / 2f, 0f); bullet.rotation(rotation); bullet.set(x + tr.x, y + tr.y); @@ -65,6 +66,7 @@ public class LaserTurret extends PowerTurret{ bullet = null; } }else if(reload > 0){ + wasShooting = true; Liquid liquid = liquids.current(); float maxUsed = consumes.get(ConsumeType.liquid).amount; @@ -76,7 +78,6 @@ public class LaserTurret extends PowerTurret{ coolEffect.at(x + Mathf.range(size * tilesize / 2f), y + Mathf.range(size * tilesize / 2f)); } } - } @Override diff --git a/core/src/mindustry/world/blocks/defense/turrets/Turret.java b/core/src/mindustry/world/blocks/defense/turrets/Turret.java index 9e41023c01..4572852eb2 100644 --- a/core/src/mindustry/world/blocks/defense/turrets/Turret.java +++ b/core/src/mindustry/world/blocks/defense/turrets/Turret.java @@ -205,7 +205,7 @@ public abstract class Turret extends ReloadTurret{ } public boolean isActive(){ - return target != null || (logicControlled() && logicShooting) || (isControlled() && unit.isShooting()); + return target != null || wasShooting; } public void targetPosition(Posc pos){