diff --git a/core/src/mindustry/content/Blocks.java b/core/src/mindustry/content/Blocks.java index 2ee47743ea..8b85fbf4ab 100644 --- a/core/src/mindustry/content/Blocks.java +++ b/core/src/mindustry/content/Blocks.java @@ -919,9 +919,9 @@ public class Blocks implements ContentList{ size = 3; range = 200f; speedBoost = 2.5f; - useTime = 250f; + useTime = 300f; hasBoost = false; - consumes.item(Items.phasefabric); + consumes.items(ItemStack.with(Items.phasefabric, 1, Items.silicon, 1)); }}; forceProjector = new ForceProjector("force-projector"){{ @@ -1194,8 +1194,8 @@ public class Blocks implements ContentList{ rtgGenerator = new DecayGenerator("rtg-generator"){{ requirements(Category.power, ItemStack.with(Items.lead, 100, Items.silicon, 75, Items.phasefabric, 25, Items.plastanium, 75, Items.thorium, 50)); size = 2; - powerProduction = 3f; - itemDuration = 440f; + powerProduction = 4f; + itemDuration = 500f; }}; solarPanel = new SolarGenerator("solar-panel"){{ @@ -1855,10 +1855,8 @@ public class Blocks implements ContentList{ requirements(Category.effect, BuildVisibility.campaignOnly, ItemStack.with(Items.copper, 350, Items.silicon, 140, Items.lead, 200, Items.titanium, 150)); size = 5; itemCapacity = 500; - hasPower = true; consumes.items(ItemStack.with(Items.copper, 500)); - consumes.power(3f); }}; dataProcessor = new ResearchBlock("data-processor"){{ diff --git a/core/src/mindustry/content/UnitTypes.java b/core/src/mindustry/content/UnitTypes.java index 60d85667c5..55fe471ab0 100644 --- a/core/src/mindustry/content/UnitTypes.java +++ b/core/src/mindustry/content/UnitTypes.java @@ -119,7 +119,7 @@ public class UnitTypes implements ContentList{ }}; crawler = new UnitType("crawler"){{ - speed = 0.65f; + speed = 0.8f; hitsize = 8f; health = 120; sway = 0.25f; @@ -419,14 +419,21 @@ public class UnitTypes implements ContentList{ hitsize = 8f; weapons.add(new Weapon("small-basic-weapon"){{ - reload = 25f; + reload = 15f; x = -1f; y = -1f; shootX = 3.5f; alternate = true; - ejectEffect = Fx.none; - //TODO use different ammo - bullet = Bullets.standardCopper; + + bullet = new BasicBulletType(2.5f, 9){{ + bulletWidth = 7f; + bulletHeight = 9f; + lifetime = 60f; + shootEffect = Fx.shootSmall; + smokeEffect = Fx.shootSmallSmoke; + tileDamageMultiplier = 0.15f; + ammoMultiplier = 2; + }}; }}); }}; diff --git a/core/src/mindustry/entities/bullet/BasicBulletType.java b/core/src/mindustry/entities/bullet/BasicBulletType.java index f4edaf3924..0fc8fe05c9 100644 --- a/core/src/mindustry/entities/bullet/BasicBulletType.java +++ b/core/src/mindustry/entities/bullet/BasicBulletType.java @@ -22,6 +22,11 @@ public class BasicBulletType extends BulletType{ this.bulletSprite = bulletSprite; } + + public BasicBulletType(float speed, float damage){ + this(speed, damage, "bullet"); + } + /** For mods. */ public BasicBulletType(){ this(1f, 1f, "bullet"); diff --git a/core/src/mindustry/entities/bullet/BulletType.java b/core/src/mindustry/entities/bullet/BulletType.java index 758ee7b535..6b53d64e3a 100644 --- a/core/src/mindustry/entities/bullet/BulletType.java +++ b/core/src/mindustry/entities/bullet/BulletType.java @@ -35,6 +35,8 @@ public abstract class BulletType extends Content{ public float ammoMultiplier = 2f; /** Multiplied by turret reload speed to get final shoot speed. */ public float reloadMultiplier = 1f; + /** Multiplier of how much base damage is done to tiles. */ + public float tileDamageMultiplier = 1f; /** Recoil from shooter entities. */ public float recoil; /** Whether to kill the shooter when this is shot. For suicide bombers. */ diff --git a/core/src/mindustry/entities/comp/TileComp.java b/core/src/mindustry/entities/comp/TileComp.java index 3d6f721544..6a05794228 100644 --- a/core/src/mindustry/entities/comp/TileComp.java +++ b/core/src/mindustry/entities/comp/TileComp.java @@ -1037,7 +1037,7 @@ abstract class TileComp implements Posc, Teamc, Healthc, Tilec, Timerc, QuadTree } public void collision(Bulletc other){ - damage(other.damage()); + damage(other.damage() * other.type().tileDamageMultiplier); } public void removeFromProximity(){