All reconstructors implemented / Balancing

This commit is contained in:
Anuken
2018-08-25 14:52:46 -04:00
parent f60ba8587f
commit e392c8f0e6
24 changed files with 1095 additions and 1057 deletions
@@ -12,7 +12,7 @@ import io.anuke.mindustry.type.ContentList;
public class AmmoTypes implements ContentList{
public static AmmoType bulletCopper, bulletDense, bulletThorium, bulletSilicon, bulletPyratite,
shotgunTungsten, bombExplosive, bombIncendiary, bombOil, shellCarbide, flamerThermite, weaponMissile, weaponMissileSwarm, bulletMech,
healBlaster, bulletHalberd,
healBlaster, bulletGlaive,
flakLead, flakExplosive, flakPlastic, flakSurge, missileExplosive, missileIncindiary, missileSurge,
artilleryDense, artilleryPlastic, artilleryHoming, artilleryIncindiary, artilleryExplosive,
basicFlame, lancerLaser, lightning, spectreLaser, meltdownLaser, fuseShotgun, oil, water, lava, cryofluid;
@@ -30,7 +30,7 @@ public class AmmoTypes implements ContentList{
}};
bulletHalberd = new AmmoType(Items.pyratite, StandardBullets.halberd, 3){{
bulletGlaive = new AmmoType(Items.pyratite, StandardBullets.glaive, 3){{
shootEffect = ShootFx.shootSmall;
smokeEffect = ShootFx.shootSmallSmoke;
inaccuracy = 3f;
@@ -30,7 +30,7 @@ import io.anuke.ucore.util.Mathf;
import static io.anuke.mindustry.Vars.*;
public class Mechs implements ContentList{
public static Mech alpha, delta, tau, omega, dart, javelin, trident, halberd;
public static Mech alpha, delta, tau, omega, dart, javelin, trident, glaive;
/**These are not new mechs, just re-assignments for convenience.*/
public static Mech starterDesktop, starterMobile;
@@ -320,6 +320,7 @@ public class Mechs implements ContentList{
drag = 0.035f;
turnCursor = false;
armor = 20f;
itemCapacity = 30;
trailColor = Color.valueOf("84f491");
weapon = Weapons.bomberTrident;
}
@@ -330,15 +331,16 @@ public class Mechs implements ContentList{
}
};
halberd = new Mech("halberd-ship", true){
glaive = new Mech("glaive-ship", true){
{
weapon = Weapons.halberdBlaster;
weapon = Weapons.glaiveBlaster;
drillPower = 4;
mineSpeed = 1.3f;
speed = 0.3f;
speed = 0.32f;
maxSpeed = 3f;
drag = 0.06f;
armor = 30f;
itemCapacity = 60;
trailColor = Color.valueOf("feb380");
}
};
@@ -128,7 +128,7 @@ public class Recipes implements ContentList{
new Recipe(units, UpgradeBlocks.dartFactory, new ItemStack(Items.lead, 150), new ItemStack(Items.silicon, 200), new ItemStack(Items.titanium, 240)).setDesktop(); //dart is desktop only, because it's the starter mobile ship
new Recipe(units, UpgradeBlocks.javelinFactory, new ItemStack(Items.lead, 200), new ItemStack(Items.silicon, 250), new ItemStack(Items.titanium, 300), new ItemStack(Items.plastanium, 200));
new Recipe(units, UpgradeBlocks.tridentFactory, new ItemStack(Items.lead, 200), new ItemStack(Items.silicon, 250), new ItemStack(Items.titanium, 300), new ItemStack(Items.plastanium, 200));
new Recipe(units, UpgradeBlocks.halberdFactory, new ItemStack(Items.lead, 200), new ItemStack(Items.silicon, 250), new ItemStack(Items.titanium, 300), new ItemStack(Items.plastanium, 200));
new Recipe(units, UpgradeBlocks.glaiveFactory, new ItemStack(Items.lead, 200), new ItemStack(Items.silicon, 250), new ItemStack(Items.titanium, 300), new ItemStack(Items.plastanium, 200));
new Recipe(units, UpgradeBlocks.deltaFactory, new ItemStack(Items.densealloy, 160), new ItemStack(Items.silicon, 220), new ItemStack(Items.titanium, 250)).setDesktop();
new Recipe(units, UpgradeBlocks.omegaFactory, new ItemStack(Items.densealloy, 160), new ItemStack(Items.silicon, 220), new ItemStack(Items.titanium, 250)).setDesktop();
@@ -8,7 +8,7 @@ import io.anuke.mindustry.type.ContentList;
import io.anuke.mindustry.type.Weapon;
public class Weapons implements ContentList{
public static Weapon blaster, halberdBlaster, droneBlaster, healBlaster, chainBlaster, shockgun, sapper, swarmer, bomber, bomberTrident, flakgun, flamethrower, missiles;
public static Weapon blaster, glaiveBlaster, droneBlaster, healBlaster, chainBlaster, shockgun, sapper, swarmer, bomber, bomberTrident, flakgun, flamethrower, missiles;
@Override
public void load(){
@@ -21,12 +21,12 @@ public class Weapons implements ContentList{
ammo = AmmoTypes.bulletMech;
}};
halberdBlaster = new Weapon("bomber"){{
glaiveBlaster = new Weapon("bomber"){{
length = 1.5f;
reload = 12f;
reload = 10f;
roundrobin = true;
ejectEffect = ShootFx.shellEjectSmall;
ammo = AmmoTypes.bulletHalberd;
ammo = AmmoTypes.bulletGlaive;
}};
droneBlaster = new Weapon("blaster"){{
@@ -5,7 +5,7 @@ import io.anuke.mindustry.world.Block;
import io.anuke.mindustry.world.blocks.units.MechFactory;
public class UpgradeBlocks extends BlockList{
public static Block deltaFactory, tauFactory, omegaFactory, dartFactory, javelinFactory, tridentFactory, halberdFactory;
public static Block deltaFactory, tauFactory, omegaFactory, dartFactory, javelinFactory, tridentFactory, glaiveFactory;
@Override
public void load(){
@@ -31,24 +31,28 @@ public class UpgradeBlocks extends BlockList{
mech = Mechs.dart;
size = 2;
powerCapacity = 50f;
shadow = "shadow-rounded-2";
}};
javelinFactory = new MechFactory("javelin-ship-factory"){{
mech = Mechs.javelin;
size = 2;
powerCapacity = 80f;
shadow = "shadow-rounded-2";
}};
tridentFactory = new MechFactory("trident-ship-factory"){{
mech = Mechs.trident;
size = 2;
powerCapacity = 100f;
shadow = "shadow-rounded-2";
}};
halberdFactory = new MechFactory("halberd-ship-factory"){{
mech = Mechs.halberd;
glaiveFactory = new MechFactory("glaive-ship-factory"){{
mech = Mechs.glaive;
size = 3;
powerCapacity = 120f;
shadow = "shadow-round-3";
}};
}
}
@@ -8,7 +8,7 @@ import io.anuke.mindustry.graphics.Palette;
import io.anuke.mindustry.type.ContentList;
public class StandardBullets extends BulletList implements ContentList{
public static BulletType copper, dense, thorium, homing, tracer, mechSmall, halberd;
public static BulletType copper, dense, thorium, homing, tracer, mechSmall, glaive;
@Override
public void load(){
@@ -56,7 +56,7 @@ public class StandardBullets extends BulletList implements ContentList{
}
};
halberd = new BasicBulletType(3.2f, 6, "bullet"){
glaive = new BasicBulletType(4f, 6, "bullet"){
{
bulletWidth = 10f;
bulletHeight = 12f;
@@ -118,7 +118,7 @@ public class NetServer extends Module{
return;
}
boolean preventDuplicates = headless;
boolean preventDuplicates = headless && !debug;
if(preventDuplicates){
for(Player player : playerGroup.all()){
@@ -132,7 +132,7 @@ public class MechFactory extends Block{
public void draw(Tile tile){
MechFactoryEntity entity = tile.entity();
Draw.rect(entity.open ? openRegion : Draw.region(name), tile.drawx(), tile.drawy());
Draw.rect(Draw.region(name), tile.drawx(), tile.drawy(), entity.open ? 180f : 0f);
if(entity.player != null){
TextureRegion region = mech.iconRegion;