diff --git a/assets/bundles/bundle.properties b/assets/bundles/bundle.properties index 45716df8..5408b747 100644 --- a/assets/bundles/bundle.properties +++ b/assets/bundles/bundle.properties @@ -57,19 +57,19 @@ block.uaw-composite-heat-node.description = Durable heat node that transfers pow ## endregion Heat ## region Liquid -block.uaw-pressurized-conduit.name = Pressurized Conduit +block.uaw-pressurized-conduit.name = Stoutsteel Conduit block.uaw-pressurized-conduit.description = Rapidly moves liquid forward, has a very high flow rate and can handle high-temperature liquid. Does not leak.\n\nCan be deployed on [blue]water[] -block.uaw-plated-pressurized-conduit.name = Plated Pressurized Conduit +block.uaw-plated-pressurized-conduit.name = Plated Stoutsteel Conduit block.uaw-plated-pressurized-conduit.description = Rapidly moves liquid forward, has a very high flow rate and can handle high-temperature liquid.\nDoes not accept input from the sides. Does not leak.\n\nCan be deployed on [blue]water[] -block.uaw-pressurized-liquid-router.name = Pressurized Liquid Router +block.uaw-pressurized-liquid-router.name = Stoutsteel Liquid Router block.uaw-pressurized-liquid-router.description = Accepts liquids from one direction and outputs them equally to up to 3 other directions. It can keep up with Pressurized Conduit output. Heavily Armoured. -block.uaw-pressurized-liquid-junction.name = Pressurized Liquid Junction +block.uaw-pressurized-liquid-junction.name = Stoutsteel Liquid Junction block.uaw-pressurized-liquid-junction.description = Rapidly moves liquids forward. Used in conjunction with pumps and other conduits. Heavily Armoured. -block.uaw-pressurized-liquid-bridge.name = Pressurized Liquid Bridge +block.uaw-pressurized-liquid-bridge.name = Stoutsteel Liquid Bridge block.uaw-pressurized-liquid-bridge.description = Transports liquids over terrain or buildings faster and farther than a standard Liquid Bridge. Heavily Armoured. ## endregion Liquid @@ -82,10 +82,10 @@ block.uaw-petroleum-generator.name = Petroleum Generator block.uaw-petroleum-generator.description = Generate lots of power from burning oil. Explodes when destroyed. \nRequires a bit of power to kickstart the process. block.uaw-steam-turbine.name = Steam Turbine -block.uaw-steam-turbine.description = Uses steam to generate power. Requires time to warm up. +block.uaw-steam-turbine.description = Uses steam to generate power. The steam is then condensed back into water. block.uaw-advanced-steam-turbine.name = Advanced Steam Turbine -block.uaw-advanced-steam-turbine.description = Uses steam to generate lots of power. Requires time to warm up. +block.uaw-advanced-steam-turbine.description = Uses steam to generate lots of power. The steam is then condensed back into water. ## endregion Power ## region Steam @@ -368,19 +368,30 @@ unit.uaw-caernarvon.name = Caernarvon unit.uaw-caernarvon.description = Fires powerful armour-piercing composite 'dart' at targets that ignores armour and pierces through force shields, also launches missiles and barrages enemy with bullets.\n\nHas a very thick composite armour, rendering most incoming shots ineffective.\n\nSuffer less movement penalty on liquid and muddy terrain. ## endregion Ground - Main Battle Tanks +## region Ground - Flamethrower Tanks +unit.uaw-cavalierF.name = Cavalier Pyrite +unit.uaw-cavalierF.description = Armed with a small flamethrower and a main gun that fires short-range incendiary shotgun blasts. + +unit.uaw-centurionF.name = Centurion Phlogiston +unit.uaw-centurionF.description = [EMPTY] + +unit.uaw-caernarvonF.name = Caernarvon Pentecost +unit.uaw-caernarvonF.description = [EMPTY] +## endregion Ground - Main Battle Tanks + ## region Ground - SPG unit.uaw-abbot.name = Abbot -unit.uaw-abbot.description = Fires high-explosive shells and a barrage of bullets at targets.\n\nSuffer less movement penalty on liquid and muddy terrain. +unit.uaw-abbot.description = [EMPTY] unit.uaw-archer.name = Archer -unit.uaw-archer.description = Fires armor-piercing shells, launches missiles, and barrages of bullets at target.\n\nSuffer less movement penalty on liquid and muddy terrain. +unit.uaw-archer.description = [EMPTY] unit.uaw-arbalester.name = Arbalester -unit.uaw-arbalester.description = Fires powerful armour-piercing composite 'dart' at targets that ignores armour and pierces through force shields, also launches missiles and barrages enemy with bullets.\n\nHas a very thick composite armour, rendering most incoming shots ineffective.\n\nSuffer less movement penalty on liquid and muddy terrain. +unit.uaw-arbalester.description = [EMPTY] unit.uaw-arbiter.name = Arbiter -unit.uaw-arbiter.description = Fires powerful armour-piercing composite 'dart' at targets that ignores armour and pierces through force shields, also launches missiles and barrages enemy with bullets.\n\nHas a very thick composite armour, rendering most incoming shots ineffective.\n\nSuffer less movement penalty on liquid and muddy terrain. +unit.uaw-arbiter.description = [EMPTY] ## endregion Ground - SPG diff --git a/src/UAW/Vars.java b/src/UAW/Vars.java index 16dbd0d1..2defe842 100644 --- a/src/UAW/Vars.java +++ b/src/UAW/Vars.java @@ -6,7 +6,9 @@ public class Vars implements Loadable { // Stuff public static final float tick = 60f; public static final float px = 0.25f; - public static final float liquidConsumption = 60; + public static final float steamConversionScl = 3; + public static final float steamLoseScl= 0.5f; + public static final String modName = "uaw-"; public static final String modTurretBase = "armored-"; diff --git a/src/UAW/content/UAWUnitTypes.java b/src/UAW/content/UAWUnitTypes.java index 652473de..1c175941 100644 --- a/src/UAW/content/UAWUnitTypes.java +++ b/src/UAW/content/UAWUnitTypes.java @@ -5,6 +5,7 @@ import UAW.entities.abilities.RazorRotorAbility; import UAW.entities.bullet.*; import UAW.entities.bullet.ModdedVanillaBullet.SplashArtilleryBulletType; +import UAW.entities.effects.*; import UAW.entities.units.*; import UAW.entities.units.entity.*; import UAW.type.Rotor; @@ -56,6 +57,9 @@ public class UAWUnitTypes { // Tanks - MBT cavalier, centurion, caernarvon, challenger, + // Tanks- Flamer + cavalierF, centurionF, caernarvonF, + // Tanks - SPG abbot, archer, arbalester, arbiter; @@ -589,7 +593,12 @@ public static void load() { backColor = UAWPal.cryoBack; trailEffect = new MultiEffect( Fx.disperseTrail, - UAWFx.statusEffectCircle.wrap(frontColor) + new StatusHitEffect() {{ + color = frontColor; + sizeMax = 1.25f; + square = true; + circle = false; + }} ); trailChance = 0.5f; shootEffect = Fx.shootBigColor; @@ -604,6 +613,13 @@ public static void load() { sparkColor = UAWPal.cryoMiddle; waveRad = splashDamageRadius; smokeRad = splashDamageRadius * 1.2f; + }}, + new SparkEffect() {{ + size = 4; + lifetime = 60; + amount = 20; + spreadRad = splashDamageRadius * 0.8f; + sparkColor = frontColor; }} ); smokeEffect = Fx.shootBigSmoke; @@ -613,7 +629,7 @@ public static void load() { }}; cantankerous = new AirshipUnitType("cantankerous") {{ float unitRange = 35 * tilesize; - health = 5250; + health = 5000; armor = 15f; hitSize = 20; @@ -681,13 +697,19 @@ public static void load() { }}; bullet = new StatusEffectBulletType(UAWStatusEffects.cryoBurn, 8 * tick) {{ lifetime = unitRange / speed; - splashDamage = 90; + // Fires twice, damage is doubled + splashDamage = 80; splashDamageRadius = 6.5f * tilesize; frontColor = UAWPal.cryoFront; backColor = UAWPal.cryoBack; trailEffect = new MultiEffect( Fx.disperseTrail, - UAWFx.statusEffectCircle.wrap(frontColor) + new StatusHitEffect() {{ + color = frontColor; + sizeMax = 2; + square = true; + circle = false; + }} ); trailChance = 0.5f; shootEffect = Fx.shootBigColor; @@ -702,6 +724,14 @@ public static void load() { sparkColor = UAWPal.cryoMiddle; waveRad = splashDamageRadius; smokeRad = splashDamageRadius * 1.2f; + smokeSize = 6f; + }}, + new SparkEffect() {{ + size = 4; + lifetime = 60; + amount = 20; + spreadRad = splashDamageRadius * 0.8f; + sparkColor = frontColor; }} ); smokeEffect = Fx.shootBigSmoke; @@ -768,7 +798,7 @@ public static void load() { weapons.add(new SuicideWeapon() {{ float splashRad = 4 * tilesize; - bullet = new ExplosionBulletType(health * 0.6f, splashRad) {{ + bullet = new ExplosionBulletType(95, splashRad) {{ status = UAWStatusEffects.cryoBurn; statusDuration = 5 * tick; makeFire = true; diff --git a/src/UAW/content/blocks/UAWBlocksDefense.java b/src/UAW/content/blocks/UAWBlocksDefense.java index e6756688..30977493 100644 --- a/src/UAW/content/blocks/UAWBlocksDefense.java +++ b/src/UAW/content/blocks/UAWBlocksDefense.java @@ -32,11 +32,11 @@ public class UAWBlocksDefense { public static Block placeholder, // Tier 2 - quadra, ashlock, buckshot, + quadra, ashlock, buckshot, skeeter, // Tier 3 - spitfire, longbow, tempest, strikeforce, zounderkite, + spitfire, longbow, tempest, strikeforce, zounderkite, redeemer, // Tier 4 - deadeye, skyhammer, + deadeye, skyhammer, hellseeker, // Tier 5 // Energy @@ -275,18 +275,20 @@ Items.surgeAlloy, new BasicBulletType(8, 15) {{ limitRange(2 * tilesize); squareSprite = false; + cooldownTime = 2 * tick; drawer = new DrawTurret(modTurretBase) {{ parts.addAll( new RegionPart("-barrel") {{ + heatProgress = PartProgress.heat.add(PartProgress.heat); progress = PartProgress.warmup.add(PartProgress.reload.add(-2.5f)); moveY = 4 * px; - heatProgress = PartProgress.reload; }}, new RegionPart("-side") {{ progress = PartProgress.warmup; mirror = true; moveX = 2f * px; - moveY = -16 * px; + moveY = -4 * px; + moveRot = -22f; }}, new RegionPart("-blade") {{ progress = PartProgress.warmup; @@ -583,6 +585,7 @@ UAWItems.stoutsteel, new HighVelocityShellBulletType(25f, 12500) {{ consumePowerCond(15f, TurretBuild::isActive); squareSprite = false; + cooldownTime = reload * 0.8f; drawer = new DrawTurret(modTurretBase) {{ parts.addAll( new RegionPart("-barrel") {{ diff --git a/src/UAW/content/blocks/UAWBlocksLogistic.java b/src/UAW/content/blocks/UAWBlocksLogistic.java index 69de37b4..f2a736c1 100644 --- a/src/UAW/content/blocks/UAWBlocksLogistic.java +++ b/src/UAW/content/blocks/UAWBlocksLogistic.java @@ -2,7 +2,6 @@ import UAW.content.UAWItems; import UAW.world.blocks.liquid.*; -import UAW.world.blocks.power.heat.HeatConduit; import mindustry.content.Items; import mindustry.type.Category; import mindustry.world.Block; @@ -20,7 +19,7 @@ public class UAWBlocksLogistic { copperHeatNode, compositeHeatNode, // Liquid - pressurizedConduit, platedPressurizedConduit, pressurizedLiquidRouter, pressurizedLiquidJunction, pressurizedLiquidBridge, + pressurizedLiquidRouter, pressurizedLiquidJunction, pressurizedLiquidBridge, pressurizedConduit, platedPressurizedConduit, // Payload heavyDutyPayloadConveyor; @@ -56,7 +55,7 @@ public static void load() { // Liquid - pressurizedConduit = new PressurizedConduit("pressurized-conduit") {{ + pressurizedConduit = new PrzConduit("pressurized-conduit") {{ requirements(Category.liquid, with( Items.titanium, 3, Items.metaglass, 2, @@ -64,8 +63,10 @@ public static void load() { )); health = 550; baseExplosiveness = 8f; + junctionReplacement = pressurizedLiquidJunction; + rotBridgeReplacement = pressurizedLiquidBridge; }}; - platedPressurizedConduit = new PlatedPressurizedConduit("plated-pressurized-conduit") {{ + platedPressurizedConduit = new PrzPlatedConduit("plated-pressurized-conduit") {{ requirements(Category.liquid, with( Items.titanium, 3, Items.metaglass, 2, @@ -74,6 +75,8 @@ public static void load() { )); health = 850; baseExplosiveness = 8f; + junctionReplacement = pressurizedLiquidJunction; + rotBridgeReplacement = pressurizedLiquidBridge; }}; pressurizedLiquidRouter = new LiquidRouter("pressurized-liquid-router") {{ requirements(Category.liquid, with( @@ -118,11 +121,8 @@ public static void load() { baseExplosiveness = 8f; squareSprite = false; - - ((PressurizedConduit)pressurizedConduit).rotBridgeReplacement = this; }}; - } } diff --git a/src/UAW/content/blocks/UAWBlocksPower.java b/src/UAW/content/blocks/UAWBlocksPower.java index 9832165e..78bf7de1 100644 --- a/src/UAW/content/blocks/UAWBlocksPower.java +++ b/src/UAW/content/blocks/UAWBlocksPower.java @@ -12,6 +12,7 @@ import mindustry.world.draw.*; import mindustry.world.meta.Attribute; +import static UAW.Vars.*; import static mindustry.type.ItemStack.with; /** Contains Power Blocks or Blocks that produces Power */ @@ -28,7 +29,6 @@ public class UAWBlocksPower { coalBurner, vapourHeater, LPGHeater, geothermalHeater; public static void load() { - float steamConversionScl = 3f; // Steam to Power steamTurbine = new ConsumeGenerator("steam-turbine") {{ @@ -41,7 +41,7 @@ public static void load() { size = 3; squareSprite = false; powerProduction = 8.5f; - liquidCapacity = 120f; + liquidCapacity = 90f; generateEffect = Fx.steam; effectChance = 0.1f; @@ -53,7 +53,9 @@ public static void load() { new DrawDefault(), new DrawBlurSpin("-rotator", 6) ); - consumeLiquid(UAWLiquids.steam, 0.625f); + float steamInput = 45 / tick; + consumeLiquid(UAWLiquids.steam, steamInput); + outputLiquid = new LiquidStack(Liquids.water, (steamInput / steamConversionScl) * 0.8f); }}; advancedSteamTurbine = new ConsumeGenerator("advanced-steam-turbine") {{ requirements(Category.power, with( @@ -67,7 +69,7 @@ public static void load() { size = 4; squareSprite = false; powerProduction = 13.5f; - liquidCapacity = 320f; + liquidCapacity = 270f; generateEffect = Fx.steam; effectChance = 0.1f; @@ -79,7 +81,9 @@ public static void load() { new DrawDefault(), new DrawBlurSpin("-rotator", 7) ); - consumeLiquid(UAWLiquids.steam, 1.2f); + float steamInput = 135 / tick; + consumeLiquid(UAWLiquids.steam, steamInput); + outputLiquid = new LiquidStack(Liquids.water, (steamInput / steamConversionScl) * 0.8f); }}; // Steam Production @@ -90,8 +94,9 @@ public static void load() { )); size = 1; - consumeLiquid(Liquids.water, 0.25f); - outputLiquid = new LiquidStack(UAWLiquids.steam, 0.25f * steamConversionScl); + float steamOutput = 15 / tick; + consumeLiquid(Liquids.water, steamOutput); + outputLiquid = new LiquidStack(UAWLiquids.steam, steamOutput * steamConversionScl); liquidCapacity = 180f; squareSprite = false; @@ -116,8 +121,9 @@ public static void load() { )); size = 2; - consumeLiquids(new LiquidStack(Liquids.water, 0.5f)); - outputLiquid = new LiquidStack(UAWLiquids.steam, 0.5f * steamConversionScl); + float steamOutput = 30 / tick; + consumeLiquid(Liquids.water, steamOutput); + outputLiquid = new LiquidStack(UAWLiquids.steam, steamOutput * steamConversionScl); liquidCapacity = steamKettle.liquidCapacity * 2; squareSprite = false; @@ -146,8 +152,9 @@ public static void load() { )); size = 4; - consumeLiquid(Liquids.water, 2f); - outputLiquid = new LiquidStack(UAWLiquids.steam, 2f * steamConversionScl); + float steamOutput = 120 / tick; + consumeLiquid(Liquids.water, steamOutput); + outputLiquid = new LiquidStack(UAWLiquids.steam, steamOutput * steamConversionScl); liquidCapacity = steamKettle.liquidCapacity * 4; squareSprite = false; @@ -183,8 +190,9 @@ public static void load() { }} ); attribute = Attribute.heat; - consumeLiquid(Liquids.water, 0.5f); - outputLiquid = new LiquidStack(UAWLiquids.steam, 0.5f * steamConversionScl); + float steamOutput = 90 / tick; + consumeLiquid(Liquids.water, steamOutput); + outputLiquid = new LiquidStack(UAWLiquids.steam, steamOutput * steamConversionScl); }}; // Heat Generation diff --git a/src/UAW/content/blocks/UAWBlocksProduction.java b/src/UAW/content/blocks/UAWBlocksProduction.java index 60bc32f9..c4269469 100644 --- a/src/UAW/content/blocks/UAWBlocksProduction.java +++ b/src/UAW/content/blocks/UAWBlocksProduction.java @@ -28,13 +28,13 @@ public class UAWBlocksProduction { oilDerrick, steamPump, pulsometerPump, // General Crafter - gelatinizer, alloyCrucible, + gelatinizer, alloyCrucible, alloyBlastCrucible, // Steam Crafters steamPress, plastFabricator, // Petroleum Crafter - petroleumCrucible, + petroleumCrucible, petroleumPress, // Petroleum petrochemicalRefinery, petroleumDistillery, @@ -118,26 +118,27 @@ public static void load() { // Frackers oilDerrick = new Fracker("oil-derrick") {{ requirements(Category.production, with( - Items.copper, 200, - Items.graphite, 150, - Items.lead, 100, - Items.silicon, 75, - Items.metaglass, 75 + Items.copper, 225, + Items.graphite, 300, + Items.titanium, 230, + UAWItems.stoutsteel, 100, + Items.silicon, 120 )); size = 4; - result = Liquids.oil; + updateEffect = UAWFx.cloudPuff(5, UAWPal.steamMid); updateEffectChance = 0.05f; - pumpAmount = 0.5f; liquidCapacity = 360f; attribute = Attribute.oil; - baseEfficiency = 0.5f; + baseEfficiency = 0.25f; rotateSpeed = -2.5f; hasPower = false; squareSprite = false; - consumeLiquid(UAWLiquids.steam, pumpAmount / 2.5f); + result = Liquids.oil; + pumpAmount = 135 / tick; + consumeLiquid(UAWLiquids.steam, 144 / tick); }}; // Pumps @@ -319,18 +320,19 @@ public static void load() { steamPress = new GenericCrafter("steam-press") {{ requirements(Category.crafting, with( - Items.titanium, 120, - Items.silicon, 55, - Items.copper, 150, - Items.graphite, 80 + Items.titanium, 180, + Items.copper, 350, + Items.silicon, 144, + Items.lead, 150, + Items.graphite, 100 )); size = 3; hasItems = true; hasLiquids = true; - itemCapacity = 40; + itemCapacity = 72; liquidCapacity = 320; - craftTime = 90f; + craftTime = 120f; craftEffect = new RadialEffect() {{ effect = UAWFx.crucibleSmoke(220, 3, UAWPal.steamMid); amount = 4; @@ -339,13 +341,14 @@ public static void load() { rotationOffset = 45; }}; - consumeLiquid(UAWLiquids.steam, 1.8f); - consumeItem(Items.coal, 5); + float steamInput = 180f / tick; + consumeLiquid(UAWLiquids.steam, steamInput); + consumeItem(Items.coal, 18); outputItem = new ItemStack(Items.graphite, 12); ignoreLiquidFullness = false; - outputLiquid = new LiquidStack(Liquids.water, 0.6f); + outputLiquid = new LiquidStack(Liquids.water, (steamInput / steamConversionScl) * steamLoseScl); squareSprite = false; drawer = new DrawMulti( diff --git a/src/UAW/entities/effects/SparkEffect.java b/src/UAW/entities/effects/SparkEffect.java new file mode 100644 index 00000000..3178759a --- /dev/null +++ b/src/UAW/entities/effects/SparkEffect.java @@ -0,0 +1,33 @@ +package UAW.entities.effects; + +import arc.graphics.Color; +import arc.graphics.g2d.Fill; +import mindustry.entities.Effect; +import mindustry.graphics.Pal; + +import static arc.graphics.g2d.Draw.*; +import static arc.math.Angles.randLenVectors; + +public class SparkEffect extends Effect { + public Color sparkColor = Pal.bulletYellow, lerpColor = Color.lightGray; + public float alpha = 1f; + public float size = 3, life = 90, spreadBase = 5, spreadRad = 22; + public int amount = 5; + + public boolean circle = false, square = true; + + public SparkEffect() { + clip = spreadRad * 5; + lifetime = life; + + renderer = e -> { + alpha(alpha); + color(sparkColor, lerpColor, e.fin()); + randLenVectors(e.id, amount > 0 ? amount : (int) (size * 1.6f), spreadBase + e.finpow() * spreadRad, (x, y) -> { + if (circle) Fill.circle(e.x + x, e.y + y, e.fout() * size); + if (square) Fill.square(e.x + x, e.y + y, e.fout() * size, 45); + }); + }; + + } +} diff --git a/src/UAW/entities/effects/SparkTrailEffect.java b/src/UAW/entities/effects/SparkTrailEffect.java new file mode 100644 index 00000000..4f83ba07 --- /dev/null +++ b/src/UAW/entities/effects/SparkTrailEffect.java @@ -0,0 +1,36 @@ +package UAW.entities.effects; + +import UAW.audiovisual.UAWPal; +import arc.graphics.Color; +import arc.math.Rand; +import arc.math.geom.Vec2; +import mindustry.entities.Effect; + +import static arc.graphics.g2d.Draw.color; +import static arc.graphics.g2d.Lines.*; + +public class SparkTrailEffect extends Effect { + public static final Rand rand = new Rand(); + public static final Vec2 v = new Vec2(); + + public Color color = UAWPal.graphiteFront; + public float life = 13, baseSize = 1.5f, minSize = 2f, maxSize = 7f; + public int amount = 2; + + public boolean line = true, circle = false, square = false; + + public SparkTrailEffect() { + lifetime = life; + renderer = e -> { + color(Color.white, e.color, e.fin()); + stroke(0.6f + e.fout() * 1.7f); + rand.setSeed(e.id); + + for (int i = 0; i < amount; i++) { + float rot = e.rotation + rand.range(15f) + 180f; + v.trns(rot, rand.random(e.fin() * 27f)); + lineAngle(e.x + v.x, e.y + v.y, rot, e.fout() * rand.random(minSize, maxSize) + baseSize); + } + }; + } +} diff --git a/src/UAW/entities/effects/StatusHitEffect.java b/src/UAW/entities/effects/StatusHitEffect.java new file mode 100644 index 00000000..53ab63c6 --- /dev/null +++ b/src/UAW/entities/effects/StatusHitEffect.java @@ -0,0 +1,32 @@ +package UAW.entities.effects; + +import arc.graphics.Color; +import arc.graphics.g2d.Fill; +import mindustry.entities.Effect; +import mindustry.graphics.Pal; + +import static arc.graphics.g2d.Draw.color; +import static arc.math.Angles.randLenVectors; + +public class StatusHitEffect extends Effect { + public Color color = Pal.bulletYellow; + public float alpha = 1f; + public float sizeMin = 0.2f, sizeMax = 1.5f, life = 35, spreadBase = 2f, spreadRad = 7f; + public int amount = 3; + + public boolean circle = true, square = false; + + /** Based on {@link mindustry.content.Fx#freezing} */ + public StatusHitEffect() { + clip = spreadRad * 5; + lifetime = life; + renderer = e -> { + color(color); + + randLenVectors(e.id, amount, spreadBase + e.fin() * spreadRad, (x, y) -> { + if (circle) Fill.circle(e.x + x, e.y + y, sizeMin + e.fslope() * sizeMax); + if (square) Fill.square(e.x + x, e.y + y, sizeMin + e.fslope() * sizeMax, 45); + }); + }; + } +} diff --git a/src/UAW/world/blocks/liquid/PressurizedConduit.java b/src/UAW/world/blocks/liquid/PrzConduit.java similarity index 95% rename from src/UAW/world/blocks/liquid/PressurizedConduit.java rename to src/UAW/world/blocks/liquid/PrzConduit.java index 2fe2180d..3dfe7059 100644 --- a/src/UAW/world/blocks/liquid/PressurizedConduit.java +++ b/src/UAW/world/blocks/liquid/PrzConduit.java @@ -12,12 +12,12 @@ import static mindustry.Vars.tilesize; -public class PressurizedConduit extends Conduit { +public class PrzConduit extends Conduit { public float explosionDamage = 45f; public float maxTemperature = 6f; public float maxFlammability = 3f; - public PressurizedConduit(String name) { + public PrzConduit(String name) { super(name); botColor = Color.valueOf("4a4b53"); health = 350; @@ -34,7 +34,7 @@ public void init() { bridgeReplacement = UAWBlocksLogistic.pressurizedLiquidBridge; } - public class PressurizedConduitBuild extends ConduitBuild { + public class PrzConduitBuild extends ConduitBuild { @Override public void onDestroyed() { diff --git a/src/UAW/world/blocks/liquid/PlatedPressurizedConduit.java b/src/UAW/world/blocks/liquid/PrzPlatedConduit.java similarity index 53% rename from src/UAW/world/blocks/liquid/PlatedPressurizedConduit.java rename to src/UAW/world/blocks/liquid/PrzPlatedConduit.java index 263952bc..08443a0a 100644 --- a/src/UAW/world/blocks/liquid/PlatedPressurizedConduit.java +++ b/src/UAW/world/blocks/liquid/PrzPlatedConduit.java @@ -3,23 +3,24 @@ import mindustry.gen.Building; import mindustry.type.Liquid; import mindustry.world.*; -import mindustry.world.blocks.liquid.Conduit; +import mindustry.world.blocks.distribution.DirectionLiquidBridge; +import mindustry.world.blocks.liquid.*; -public class PlatedPressurizedConduit extends PressurizedConduit { - public PlatedPressurizedConduit(String name) { +public class PrzPlatedConduit extends PrzConduit { + public PrzPlatedConduit(String name) { super(name); } @Override - public boolean blends(Tile tile, int rotation, int otherx, int othery, int otherrot, Block otherblock){ + public boolean blends(Tile tile, int rotation, int otherx, int othery, int otherrot, Block otherblock) { return (otherblock.outputsLiquid && blendsArmored(tile, rotation, otherx, othery, otherrot, otherblock)) || (lookingAt(tile, rotation, otherx, othery, otherblock) && otherblock.hasLiquids); } - public class PlatedPressurizedConduitBuild extends PressurizedConduitBuild { + public class PrzPlatedConduitBuild extends PrzConduitBuild { @Override - public boolean acceptLiquid(Building source, Liquid liquid){ - return super.acceptLiquid(source, liquid) && (tile == null || source.block instanceof Conduit || + public boolean acceptLiquid(Building source, Liquid liquid) { + return super.acceptLiquid(source, liquid) && (tile == null || source.block instanceof Conduit || source.block instanceof DirectionLiquidBridge || source.block instanceof LiquidJunction || source.tile.absoluteRelativeTo(tile.x, tile.y) == rotation); } }