diff --git a/core/assets-raw/sprites/blocks/logic/reinforced-message.png b/core/assets-raw/sprites/blocks/logic/reinforced-message.png index f029f808e2..3af5734b17 100644 Binary files a/core/assets-raw/sprites/blocks/logic/reinforced-message.png and b/core/assets-raw/sprites/blocks/logic/reinforced-message.png differ diff --git a/core/assets-raw/sprites/blocks/logic/reinforced-messsage.png b/core/assets-raw/sprites/blocks/logic/reinforced-messsage.png deleted file mode 100644 index 3af5734b17..0000000000 Binary files a/core/assets-raw/sprites/blocks/logic/reinforced-messsage.png and /dev/null differ diff --git a/core/src/mindustry/content/ErekirTechTree.java b/core/src/mindustry/content/ErekirTechTree.java index eef33ca2f2..186d0580ce 100644 --- a/core/src/mindustry/content/ErekirTechTree.java +++ b/core/src/mindustry/content/ErekirTechTree.java @@ -58,7 +58,7 @@ public class ErekirTechTree{ costMultipliers.put(Items.oxide, 0.5f); costMultipliers.put(Items.surgeAlloy, 0.7f); costMultipliers.put(Items.carbide, 0.3f); - costMultipliers.put(Items.carbide, 0.2f); + costMultipliers.put(Items.phaseFabric, 0.2f); for(var item : content.items()) costMultipliers.put(item, 0.9f); diff --git a/core/src/mindustry/content/UnitTypes.java b/core/src/mindustry/content/UnitTypes.java index 3f575c5bc5..159e259dd9 100644 --- a/core/src/mindustry/content/UnitTypes.java +++ b/core/src/mindustry/content/UnitTypes.java @@ -3571,7 +3571,7 @@ public class UnitTypes{ shoot = new ShootSpread(2, 11f); - bullet = new BasicBulletType(5f, 17){{ + bullet = new BasicBulletType(5f, 16){{ homingPower = 0.19f; homingDelay = 4f; width = 7f; diff --git a/core/src/mindustry/service/Achievement.java b/core/src/mindustry/service/Achievement.java index d11587fd22..16dab4e64f 100644 --- a/core/src/mindustry/service/Achievement.java +++ b/core/src/mindustry/service/Achievement.java @@ -36,7 +36,7 @@ public enum Achievement{ obtainTitanium, suicideBomb, buildGroundFactory, - issueAttackCommand, //TODO change desc + issueAttackCommand, //TODO - test active100Units(SStat.maxUnitActive, 100), build1000Units(SStat.unitsBuilt, 1000), buildAllUnits(SStat.unitTypesBuilt, 30), @@ -53,36 +53,35 @@ public enum Achievement{ circleConveyor, becomeRouter, create20Schematics(SStat.schematicsCreated, 20), - create500Schematics(SStat.schematicsCreated, 50), //TODO - Steam - icon done + create500Schematics(SStat.schematicsCreated, 500), //TODO - test survive10WavesNoBlocks, captureNoBlocksBroken, useFlameAmmo, coolTurret, enablePixelation, openWiki, - //useAccelerator, //TODO remove from steam - unlockAllZones, //TODO new ones - allTransportOneMap, //TODO - Steam - icon done - buildOverdriveProjector, //TODO - Steam - icon done - buildMendProjector, //TODO - Steam - icon done - buildWexWater, //TODO - Steam - icon done + allTransportOneMap, //TODO - test + buildOverdriveProjector, //TODO - test + buildMendProjector, //TODO - test + buildWexWater, //TODO - test - have10mItems(SStat.totalCampaignItems, 10_000_000), //TODO - Steam - icon done - killEclipseDuo, //TODO - Steam - icon done + have10mItems(SStat.totalCampaignItems, 10_000_000), //TODO - test + killEclipseDuo, //TODO - test - allPresetsErekir, //TODO - Steam - icon done + completeErekir, //TODO - test + completeSerpulo, //TODO - test - launchCoreSchematic, //TODO - Steam - icon done - nucleusGroundZero, //TODO - Steam - icon done + launchCoreSchematic, //TODO - test + nucleusGroundZero, //TODO - test - neoplasmWater, //TODO - Steam - icon done - blastFrozenUnit, //TODO - Steam - icon done + neoplasmWater, //TODO - test + blastFrozenUnit, //TODO - test - allBlocksSerpulo, //TODO - Steam - icon done - allBlocksErekir, //TODO - Steam - icon done + allBlocksSerpulo, //TODO - test + allBlocksErekir, //TODO - test //TODO are these necessary? //allTurretsSerpulo, //TODO @@ -90,19 +89,19 @@ public enum Achievement{ //allTechSerpulo, //TODO //allTechErekir, //TODO - breakForceProjector, //TODO - Steam - icon done - researchLogic, //TODO - Steam - icon done + breakForceProjector, //TODO - test + researchLogic, //TODO - Steam - test - negative10kPower, //TODO - Steam - icon done - positive100kPower, //TODO - Steam - icon done - store1milPower, //TODO - Steam - icon done + negative10kPower, //TODO - test + positive100kPower, //TODO - test + store1milPower, //TODO - test - blastGenerator, //TODO - Steam - icon done - neoplasiaExplosion, //TODO - Steam - icon done + blastGenerator, //TODO - test + neoplasiaExplosion, //TODO - test - installMod, //TODO - Steam - icon done - routerLanguage, //TODO - Steam - icon done - joinCommunityServer, //TODO - Steam - icon done + installMod, //TODO - test + routerLanguage, //TODO - test + joinCommunityServer, //TODO - test openConsole, //TODO - Steam - icon done controlTurret, //TODO - Steam - icon done diff --git a/core/src/mindustry/service/GameService.java b/core/src/mindustry/service/GameService.java index 0942b8dbd1..eb57e938e5 100644 --- a/core/src/mindustry/service/GameService.java +++ b/core/src/mindustry/service/GameService.java @@ -5,7 +5,6 @@ import arc.struct.*; import arc.util.*; import mindustry.*; import mindustry.content.*; -import mindustry.ctype.*; import mindustry.game.EventType.*; import mindustry.game.SectorInfo.*; import mindustry.gen.*; @@ -97,8 +96,13 @@ public class GameService{ if(Items.thorium.unlocked()) obtainThorium.complete(); if(Items.titanium.unlocked()) obtainTitanium.complete(); - if(!content.sectors().contains(UnlockableContent::locked)){ - unlockAllZones.complete(); + + if(SectorPresets.origin.sector.isCaptured()){ + completeErekir.complete(); + } + + if(SectorPresets.planetaryTerminal.sector.isCaptured()){ + completeSerpulo.complete(); } if(mods.list().size > 0){ @@ -325,9 +329,6 @@ public class GameService{ Events.on(UnlockEvent.class, e -> { if(e.content == Items.thorium) obtainThorium.complete(); if(e.content == Items.titanium) obtainTitanium.complete(); - if(e.content instanceof SectorPreset && !content.sectors().contains(s -> s.locked())){ - unlockAllZones.complete(); - } }); Events.run(Trigger.openWiki, openWiki::complete); @@ -477,14 +478,19 @@ public class GameService{ captureBackground.complete(); } - if(!e.sector.planet.sectors.contains(s -> !s.hasBase())){ + if(e.sector.planet == Planets.serpulo && !e.sector.planet.sectors.contains(s -> !s.hasBase())){ captureAllSectors.complete(); } - if(!e.sector.planet.sectors.contains(s -> s.preset != null && !s.hasBase())){ - allPresetsErekir.complete(); + if(e.sector.planet == Planets.erekir && e.sector.preset != null && e.sector.preset.isLastSector){ + completeErekir.complete(); } + if(e.sector.planet == Planets.serpulo && e.sector.preset != null && e.sector.preset.isLastSector){ + completeSerpulo.complete(); + } + + //TODO wrong if(e.sector.planet == Planets.serpulo){ SStat.sectorsControlled.set(e.sector.planet.sectors.count(Sector::hasBase)); } @@ -521,7 +527,7 @@ public class GameService{ for(var up : Groups.powerGraph){ var graph = up.graph(); if(graph.all.size > 0 && graph.all.first().team == player.team()){ - float balance = graph.getPowerBalance(); + float balance = graph.getPowerBalance() * 60f; if(balance < 10_000) negative10kPower.complete(); if(balance > 100_000) positive100kPower.complete(); if(graph.getBatteryStored() > 1_000_000) store1milPower.complete();