From 8ac746188bbafa709000e0514570db95c28ed065 Mon Sep 17 00:00:00 2001 From: Anuken Date: Sat, 8 Jun 2019 17:22:46 -0400 Subject: [PATCH] Unit pad balance --- .../io/anuke/mindustry/content/Blocks.java | 58 ++++++++++--------- .../io/anuke/mindustry/content/Bullets.java | 4 +- .../io/anuke/mindustry/content/UnitTypes.java | 2 + 3 files changed, 35 insertions(+), 29 deletions(-) diff --git a/core/src/io/anuke/mindustry/content/Blocks.java b/core/src/io/anuke/mindustry/content/Blocks.java index 020128e9e9..cdd319c681 100644 --- a/core/src/io/anuke/mindustry/content/Blocks.java +++ b/core/src/io/anuke/mindustry/content/Blocks.java @@ -1,6 +1,7 @@ package io.anuke.mindustry.content; import io.anuke.arc.Core; +import io.anuke.arc.function.BooleanProvider; import io.anuke.arc.graphics.Color; import io.anuke.arc.graphics.g2d.*; import io.anuke.arc.math.Mathf; @@ -1290,7 +1291,7 @@ public class Blocks implements ContentList{ Items.scrap, Bullets.flakScrap, Items.lead, Bullets.flakLead ); - reload = 16f; + reload = 18f; range = 175f; size = 2; burstSpacing = 5f; @@ -1544,6 +1545,8 @@ public class Blocks implements ContentList{ //endregion //region units + BooleanProvider padVisible = () -> state.rules.attackMode || state.rules.pvp; + spiritFactory = new UnitFactory("spirit-factory"){{ requirements(Category.units, ItemStack.with(Items.copper, 70, Items.lead, 110, Items.silicon, 80)); type = UnitTypes.spirit; @@ -1565,67 +1568,68 @@ public class Blocks implements ContentList{ }}; wraithFactory = new UnitFactory("wraith-factory"){{ - requirements(Category.units, ItemStack.with(Items.titanium, 60, Items.lead, 80, Items.silicon, 90)); + requirements(Category.units, padVisible, ItemStack.with(Items.titanium, 60, Items.lead, 80, Items.silicon, 90)); type = UnitTypes.wraith; - produceTime = 1800; + produceTime = 1500; size = 2; - consumes.power(1f); - consumes.items(new ItemStack(Items.silicon, 10), new ItemStack(Items.titanium, 10)); + consumes.power(0.6f); + consumes.items(new ItemStack(Items.silicon, 20), new ItemStack(Items.titanium, 10)); }}; ghoulFactory = new UnitFactory("ghoul-factory"){{ - requirements(Category.units, ItemStack.with(Items.plastanium, 80, Items.titanium, 100, Items.lead, 130, Items.silicon, 220)); + requirements(Category.units, padVisible, ItemStack.with(Items.titanium, 150, Items.lead, 130, Items.silicon, 220)); type = UnitTypes.ghoul; - produceTime = 3600; + produceTime = 2300; size = 3; - consumes.power(2f); - consumes.items(new ItemStack(Items.silicon, 30), new ItemStack(Items.titanium, 30), new ItemStack(Items.plastanium, 20)); + consumes.power(1.2f); + consumes.items(new ItemStack(Items.silicon, 30), new ItemStack(Items.titanium, 20)); }}; revenantFactory = new UnitFactory("revenant-factory"){{ - requirements(Category.units, ItemStack.with(Items.plastanium, 300, Items.titanium, 400, Items.lead, 300, Items.silicon, 400, Items.surgealloy, 100)); + requirements(Category.units, padVisible, ItemStack.with(Items.plastanium, 100, Items.titanium, 300, Items.lead, 300, Items.silicon, 400)); type = UnitTypes.revenant; - produceTime = 8000; + produceTime = 4000; size = 4; consumes.power(3f); - consumes.items(new ItemStack(Items.silicon, 80), new ItemStack(Items.titanium, 80), new ItemStack(Items.plastanium, 50)); + consumes.items(new ItemStack(Items.silicon, 80), new ItemStack(Items.titanium, 80)); }}; daggerFactory = new UnitFactory("dagger-factory"){{ - requirements(Category.units, ItemStack.with(Items.lead, 90, Items.silicon, 70)); + requirements(Category.units, padVisible, ItemStack.with(Items.lead, 110, Items.silicon, 70)); type = UnitTypes.dagger; produceTime = 1700; size = 2; - consumes.power(0.50f); - consumes.items(new ItemStack(Items.silicon, 10)); + consumes.power(0.5f); + consumes.items(new ItemStack(Items.silicon, 15)); }}; crawlerFactory = new UnitFactory("crawler-factory"){{ - requirements(Category.units, ItemStack.with(Items.lead, 100, Items.silicon, 80)); + requirements(Category.units, padVisible, ItemStack.with(Items.lead, 50, Items.silicon, 80)); type = UnitTypes.crawler; - produceTime = 1200; + produceTime = 500; size = 2; - consumes.power(0.4f); - consumes.items(new ItemStack(Items.blastCompound, 10)); + maxSpawn = 5; + consumes.power(0.5f); + consumes.items(new ItemStack(Items.coal, 5), new ItemStack(Items.silicon, 5)); }}; titanFactory = new UnitFactory("titan-factory"){{ - requirements(Category.units, ItemStack.with(Items.thorium, 90, Items.lead, 140, Items.silicon, 90)); + requirements(Category.units, padVisible, ItemStack.with(Items.graphite, 100, Items.lead, 100, Items.silicon, 90)); type = UnitTypes.titan; - produceTime = 3400; + produceTime = 2100; size = 3; - consumes.power(1.50f); - consumes.items(new ItemStack(Items.silicon, 20), new ItemStack(Items.thorium, 30)); + consumes.power(0.60f); + consumes.items(new ItemStack(Items.silicon, 30)); }}; fortressFactory = new UnitFactory("fortress-factory"){{ - requirements(Category.units, ItemStack.with(Items.thorium, 200, Items.lead, 220, Items.silicon, 150, Items.surgealloy, 100, Items.phasefabric, 50)); + requirements(Category.units, padVisible, ItemStack.with(Items.thorium, 80, Items.lead, 220, Items.silicon, 150)); type = UnitTypes.fortress; - produceTime = 5000; + produceTime = 4000; size = 3; maxSpawn = 3; - consumes.power(2f); - consumes.items(new ItemStack(Items.silicon, 40), new ItemStack(Items.thorium, 50)); + consumes.power(1.4f); + consumes.items(new ItemStack(Items.silicon, 40), new ItemStack(Items.graphite, 30)); }}; repairPoint = new RepairPoint("repair-point"){{ diff --git a/core/src/io/anuke/mindustry/content/Bullets.java b/core/src/io/anuke/mindustry/content/Bullets.java index c3e69f9dc1..c1782c3568 100644 --- a/core/src/io/anuke/mindustry/content/Bullets.java +++ b/core/src/io/anuke/mindustry/content/Bullets.java @@ -142,7 +142,7 @@ public class Bullets implements ContentList{ bulletWidth = 6f; bulletHeight = 8f; hitEffect = Fx.flakExplosion; - splashDamage = 35f; + splashDamage = 30f; splashDamageRadius = 15f; }}; @@ -154,7 +154,7 @@ public class Bullets implements ContentList{ bulletWidth = 6f; bulletHeight = 8f; hitEffect = Fx.flakExplosion; - splashDamage = 26f; + splashDamage = 24f; splashDamageRadius = 24f; }}; diff --git a/core/src/io/anuke/mindustry/content/UnitTypes.java b/core/src/io/anuke/mindustry/content/UnitTypes.java index 217e8227ee..fe7e4ed7f6 100644 --- a/core/src/io/anuke/mindustry/content/UnitTypes.java +++ b/core/src/io/anuke/mindustry/content/UnitTypes.java @@ -288,6 +288,7 @@ public class UnitTypes implements ContentList{ reload = 180f; width = 22f; shots = 22; + shootCone = 100f; shotDelay = 2; inaccuracy = 10f; roundrobin = true; @@ -318,6 +319,7 @@ public class UnitTypes implements ContentList{ reload = 10f; width = 32f; shots = 1; + shootCone = 100f; shake = 1f; inaccuracy = 3f;