diff --git a/annotations/src/main/resources/classids.properties b/annotations/src/main/resources/classids.properties index 6dd36e7b71..ed0e1deade 100644 --- a/annotations/src/main/resources/classids.properties +++ b/annotations/src/main/resources/classids.properties @@ -39,6 +39,7 @@ quasar=32 risso=20 scuttler=35 spiroct=21 +stell=43 timed=38 timedDef=37 toxopid=33 diff --git a/annotations/src/main/resources/revisions/stell/0.json b/annotations/src/main/resources/revisions/stell/0.json new file mode 100644 index 0000000000..545bb6c8ae --- /dev/null +++ b/annotations/src/main/resources/revisions/stell/0.json @@ -0,0 +1 @@ +{fields:[{name:abilities,type:"mindustry.entities.abilities.Ability[]"},{name:ammo,type:float},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:plans,type:arc.struct.Queue},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:updateBuilding,type:boolean},{name:vel,type:arc.math.geom.Vec2},{name:x,type:float},{name:y,type:float}]} \ No newline at end of file diff --git a/core/assets-raw/sprites/blocks/units/command-center-team.png b/core/assets-raw/sprites/blocks/units/command-center-team.png deleted file mode 100644 index b9d27f73c9..0000000000 Binary files a/core/assets-raw/sprites/blocks/units/command-center-team.png and /dev/null differ diff --git a/core/assets-raw/sprites/blocks/units/command-center.png b/core/assets-raw/sprites/blocks/units/command-center.png deleted file mode 100644 index a0de4888a9..0000000000 Binary files a/core/assets-raw/sprites/blocks/units/command-center.png and /dev/null differ diff --git a/core/assets-raw/sprites/units/stell-cell.png b/core/assets-raw/sprites/units/stell-cell.png new file mode 100644 index 0000000000..4483672996 Binary files /dev/null and b/core/assets-raw/sprites/units/stell-cell.png differ diff --git a/core/assets-raw/sprites/units/stell-treads.png b/core/assets-raw/sprites/units/stell-treads.png new file mode 100644 index 0000000000..703ea03dd0 Binary files /dev/null and b/core/assets-raw/sprites/units/stell-treads.png differ diff --git a/core/assets-raw/sprites/units/stell-weapon.png b/core/assets-raw/sprites/units/stell-weapon.png new file mode 100644 index 0000000000..db7c8dc296 Binary files /dev/null and b/core/assets-raw/sprites/units/stell-weapon.png differ diff --git a/core/assets-raw/sprites/units/stell.png b/core/assets-raw/sprites/units/stell.png new file mode 100644 index 0000000000..399880dd0d Binary files /dev/null and b/core/assets-raw/sprites/units/stell.png differ diff --git a/core/assets/icons/icons.properties b/core/assets/icons/icons.properties index d99a3ce968..42c465dcf0 100755 --- a/core/assets/icons/icons.properties +++ b/core/assets/icons/icons.properties @@ -543,3 +543,4 @@ 63160=ore-wall-thorium|block-ore-wall-thorium-ui 63159=core-zone|block-core-zone-ui 63158=fabricator|block-fabricator-ui +63157=stell|unit-stell-ui diff --git a/core/assets/logicids.dat b/core/assets/logicids.dat index a503134147..c913b98106 100644 Binary files a/core/assets/logicids.dat and b/core/assets/logicids.dat differ diff --git a/core/src/mindustry/content/Blocks.java b/core/src/mindustry/content/Blocks.java index 8c717ced4b..389038924f 100644 --- a/core/src/mindustry/content/Blocks.java +++ b/core/src/mindustry/content/Blocks.java @@ -2603,7 +2603,7 @@ public class Blocks{ //TODO should this be higher? buildCostMultiplier = 0.75f; - unitCapModifier = 2; + unitCapModifier = 4; researchCostMultiplier = 0.07f; }}; @@ -2617,7 +2617,7 @@ public class Blocks{ thrusterLength = 40/4f; armor = 10f; - unitCapModifier = 4; + unitCapModifier = 6; researchCostMultipliers.put(Items.silicon, 0.4f); researchCostMultiplier = 0.14f; }}; @@ -2633,7 +2633,7 @@ public class Blocks{ thrusterLength = 48/4f; armor = 15f; - unitCapModifier = 6; + unitCapModifier = 8; researchCostMultipliers.put(Items.silicon, 0.3f); researchCostMultiplier = 0.2f; }}; @@ -3603,7 +3603,7 @@ public class Blocks{ requirements(Category.units, with(Items.silicon, 230, Items.oxide, 50, Items.beryllium, 230)); size = 3; configurable = false; - plans.add(new UnitPlan(UnitTypes.dagger, 60f * 60f, with(Items.oxide, 15f, Items.silicon, 50f))); + plans.add(new UnitPlan(UnitTypes.stell, 60f * 60f, with(Items.oxide, 15f, Items.silicon, 50f))); consumePower(2f); }}; diff --git a/core/src/mindustry/content/UnitTypes.java b/core/src/mindustry/content/UnitTypes.java index 537cd8db5a..8ae8068708 100644 --- a/core/src/mindustry/content/UnitTypes.java +++ b/core/src/mindustry/content/UnitTypes.java @@ -73,7 +73,7 @@ public class UnitTypes{ public static @EntityDef({Unitc.class, BuildingTetherc.class, Payloadc.class}) UnitType manifold, assemblyDrone, effectDrone; //tank - public static @EntityDef({Unitc.class, Tankc.class}) UnitType vanquish, conquer; + public static @EntityDef({Unitc.class, Tankc.class}) UnitType stell, vanquish, conquer; //endregion @@ -2422,6 +2422,46 @@ public class UnitTypes{ //endregion //region erekir - tank + stell = new TankUnitType("stell"){{ + hitSize = 11f; + treadPullOffset = 3; + speed = 0.75f; + rotateSpeed = 3.5f; + health = 800; + armor = 5f; + areaDamage = 5f; + treadRects = new Rect[]{new Rect(12, 7, 14, 51)}; + + weapons.add(new Weapon("stell-weapon"){{ + layerOffset = 0.0001f; + reload = 50f; + shootY = 4.5f; + recoil = 1f; + rotate = true; + rotateSpeed = 1.7f; + mirror = false; + x = 0f; + y = -0.75f; + heatColor = Color.valueOf("f9350f"); + cooldownTime = 30f; + + bullet = new BasicBulletType(4f, 40){{ + sprite = "missile-large"; + smokeEffect = Fx.shootBigSmoke; + shootEffect = Fx.shootBigColor; + width = 5f; + height = 7f; + lifetime = 40f; + hitSize = 4f; + hitColor = backColor = trailColor = Color.valueOf("feb380"); + frontColor = Color.white; + trailWidth = 1.7f; + trailLength = 5; + despawnEffect = hitEffect = Fx.hitBulletColor; + }}; + }}); + }}; + vanquish = new TankUnitType("vanquish"){{ hitSize = 28f; treadPullOffset = 4; diff --git a/core/src/mindustry/world/blocks/defense/turrets/BaseTurret.java b/core/src/mindustry/world/blocks/defense/turrets/BaseTurret.java index fce450e8b3..530ea47040 100644 --- a/core/src/mindustry/world/blocks/defense/turrets/BaseTurret.java +++ b/core/src/mindustry/world/blocks/defense/turrets/BaseTurret.java @@ -43,6 +43,7 @@ public class BaseTurret extends Block{ if(coolant != null){ coolant.update = false; coolant.booster = true; + coolant.optional = true; } placeOverlapRange = Math.max(placeOverlapRange, range + placeOverlapMargin);