Added arc turret
|
Before Width: | Height: | Size: 631 B After Width: | Height: | Size: 624 B |
|
Before Width: | Height: | Size: 93 B After Width: | Height: | Size: 159 B |
|
Before Width: | Height: | Size: 206 B After Width: | Height: | Size: 191 B |
@@ -625,6 +625,7 @@ block.cyclone.name=Cyclone
|
|||||||
block.fuse.name=Fuse
|
block.fuse.name=Fuse
|
||||||
block.shock-mine.name=Shock Mine
|
block.shock-mine.name=Shock Mine
|
||||||
block.overdrive-projector.name=Overdrive Projector
|
block.overdrive-projector.name=Overdrive Projector
|
||||||
|
block.force-projector.name=Force Projector
|
||||||
|
|
||||||
unit.alpha-drone.name=Alpha Drone
|
unit.alpha-drone.name=Alpha Drone
|
||||||
unit.drone.name=Drone
|
unit.drone.name=Drone
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 97 KiB After Width: | Height: | Size: 98 KiB |
@@ -15,7 +15,7 @@ public class AmmoTypes implements ContentList{
|
|||||||
flakExplosive, flakPlastic, flakSurge,
|
flakExplosive, flakPlastic, flakSurge,
|
||||||
missileExplosive, missileIncindiary, missileSurge,
|
missileExplosive, missileIncindiary, missileSurge,
|
||||||
artilleryDense, artilleryPlastic, artilleryHoming, artilleryIncindiary, artilleryExplosive,
|
artilleryDense, artilleryPlastic, artilleryHoming, artilleryIncindiary, artilleryExplosive,
|
||||||
basicFlame, lancerLaser, lightning, spectreLaser, meltdownLaser, fuseShotgun, oil, water, lava, cryofluid;
|
basicFlame, lancerLaser, lightning, spectreLaser, meltdownLaser, fuseShotgun, oil, water, lava, cryofluid, arc;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void load(){
|
public void load(){
|
||||||
@@ -196,6 +196,8 @@ public class AmmoTypes implements ContentList{
|
|||||||
|
|
||||||
lightning = new AmmoType(TurretBullets.lightning);
|
lightning = new AmmoType(TurretBullets.lightning);
|
||||||
|
|
||||||
|
arc = new AmmoType(TurretBullets.arc);
|
||||||
|
|
||||||
spectreLaser = new AmmoType(TurretBullets.lancerLaser);
|
spectreLaser = new AmmoType(TurretBullets.lancerLaser);
|
||||||
|
|
||||||
meltdownLaser = new AmmoType(TurretBullets.lancerLaser);
|
meltdownLaser = new AmmoType(TurretBullets.lancerLaser);
|
||||||
|
|||||||
@@ -44,7 +44,7 @@ public class Recipes implements ContentList{
|
|||||||
|
|
||||||
//TURRETS
|
//TURRETS
|
||||||
new Recipe(weapon, TurretBlocks.duo, new ItemStack(Items.copper, 40));
|
new Recipe(weapon, TurretBlocks.duo, new ItemStack(Items.copper, 40));
|
||||||
new Recipe(weapon, TurretBlocks.scorch, new ItemStack(Items.copper, 50), new ItemStack(Items.densealloy, 20));
|
new Recipe(weapon, TurretBlocks.arc, new ItemStack(Items.copper, 50), new ItemStack(Items.densealloy, 20));
|
||||||
new Recipe(weapon, TurretBlocks.hail, new ItemStack(Items.copper, 60), new ItemStack(Items.densealloy, 35));
|
new Recipe(weapon, TurretBlocks.hail, new ItemStack(Items.copper, 60), new ItemStack(Items.densealloy, 35));
|
||||||
new Recipe(weapon, TurretBlocks.lancer, new ItemStack(Items.copper, 50), new ItemStack(Items.lead, 100), new ItemStack(Items.silicon, 90));
|
new Recipe(weapon, TurretBlocks.lancer, new ItemStack(Items.copper, 50), new ItemStack(Items.lead, 100), new ItemStack(Items.silicon, 90));
|
||||||
new Recipe(weapon, TurretBlocks.wave, new ItemStack(Items.densealloy, 60), new ItemStack(Items.titanium, 70), new ItemStack(Items.lead, 150));
|
new Recipe(weapon, TurretBlocks.wave, new ItemStack(Items.densealloy, 60), new ItemStack(Items.titanium, 70), new ItemStack(Items.lead, 150));
|
||||||
|
|||||||
@@ -29,18 +29,6 @@ public class TurretBlocks extends BlockList implements ContentList{
|
|||||||
inaccuracy = 2f;
|
inaccuracy = 2f;
|
||||||
rotatespeed = 10f;
|
rotatespeed = 10f;
|
||||||
}};
|
}};
|
||||||
/*
|
|
||||||
scatter = new BurstTurret("scatter") {{
|
|
||||||
ammoTypes = new AmmoType[]{AmmoTypes.flakLead, AmmoTypes.flakExplosive, AmmoTypes.flakPlastic};
|
|
||||||
ammoPerShot = 1;
|
|
||||||
shots = 3;
|
|
||||||
reload = 60f;
|
|
||||||
restitution = 0.03f;
|
|
||||||
recoil = 1.5f;
|
|
||||||
burstSpacing = 1f;
|
|
||||||
inaccuracy = 7f;
|
|
||||||
ammoUseEffect = ShootFx.shellEjectSmall;
|
|
||||||
}};*/
|
|
||||||
|
|
||||||
hail = new ArtilleryTurret("hail"){{
|
hail = new ArtilleryTurret("hail"){{
|
||||||
ammoTypes = new AmmoType[]{AmmoTypes.artilleryDense, AmmoTypes.artilleryHoming, AmmoTypes.artilleryIncindiary};
|
ammoTypes = new AmmoType[]{AmmoTypes.artilleryDense, AmmoTypes.artilleryHoming, AmmoTypes.artilleryIncindiary};
|
||||||
@@ -70,7 +58,7 @@ public class TurretBlocks extends BlockList implements ContentList{
|
|||||||
health = 160;
|
health = 160;
|
||||||
|
|
||||||
drawer = (tile, entity) -> Draw.rect(entity.target != null ? shootRegion : region, tile.drawx() + tr2.x, tile.drawy() + tr2.y, entity.rotation - 90);
|
drawer = (tile, entity) -> Draw.rect(entity.target != null ? shootRegion : region, tile.drawx() + tr2.x, tile.drawy() + tr2.y, entity.rotation - 90);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
wave = new LiquidTurret("wave"){{
|
wave = new LiquidTurret("wave"){{
|
||||||
@@ -115,19 +103,15 @@ public class TurretBlocks extends BlockList implements ContentList{
|
|||||||
health = 320;
|
health = 320;
|
||||||
}};
|
}};
|
||||||
|
|
||||||
arc = new LaserTurret("arc"){{
|
arc = new PowerTurret("arc"){{
|
||||||
shootType = AmmoTypes.lightning;
|
shootType = AmmoTypes.arc;
|
||||||
reload = 100f;
|
reload = 30f;
|
||||||
chargeTime = 70f;
|
|
||||||
shootShake = 1f;
|
shootShake = 1f;
|
||||||
chargeMaxDelay = 30f;
|
range = 60f;
|
||||||
chargeEffects = 7;
|
|
||||||
shootEffect = ShootFx.lightningShoot;
|
shootEffect = ShootFx.lightningShoot;
|
||||||
chargeEffect = ShootFx.lightningCharge;
|
|
||||||
chargeBeginEffect = ShootFx.lancerLaserChargeBegin;
|
|
||||||
heatColor = Color.RED;
|
heatColor = Color.RED;
|
||||||
recoil = 3f;
|
recoil = 1f;
|
||||||
size = 2;
|
size = 1;
|
||||||
}};
|
}};
|
||||||
|
|
||||||
swarmer = new BurstTurret("swarmer"){{
|
swarmer = new BurstTurret("swarmer"){{
|
||||||
|
|||||||
@@ -31,7 +31,7 @@ import static io.anuke.mindustry.Vars.content;
|
|||||||
import static io.anuke.mindustry.Vars.world;
|
import static io.anuke.mindustry.Vars.world;
|
||||||
|
|
||||||
public class TurretBullets extends BulletList implements ContentList{
|
public class TurretBullets extends BulletList implements ContentList{
|
||||||
public static BulletType fireball, basicFlame, lancerLaser, fuseShot, waterShot, cryoShot, lavaShot, oilShot, lightning, driverBolt, healBullet;
|
public static BulletType fireball, basicFlame, lancerLaser, fuseShot, waterShot, cryoShot, lavaShot, oilShot, lightning, driverBolt, healBullet, arc;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void load(){
|
public void load(){
|
||||||
@@ -229,6 +229,7 @@ public class TurretBullets extends BulletList implements ContentList{
|
|||||||
statusIntensity = 0.5f;
|
statusIntensity = 0.5f;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
lightning = new BulletType(0.001f, 14){
|
lightning = new BulletType(0.001f, 14){
|
||||||
{
|
{
|
||||||
lifetime = 1;
|
lifetime = 1;
|
||||||
@@ -246,6 +247,23 @@ public class TurretBullets extends BulletList implements ContentList{
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
arc = new BulletType(0.001f, 11){
|
||||||
|
{
|
||||||
|
lifetime = 1;
|
||||||
|
despawneffect = Fx.none;
|
||||||
|
hiteffect = BulletFx.hitLancer;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void draw(Bullet b){
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void init(Bullet b){
|
||||||
|
Lightning.create(b.getTeam(), hiteffect, Palette.lancerLaser, damage, b.x, b.y, b.angle(), 25);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
driverBolt = new BulletType(5.3f, 50){
|
driverBolt = new BulletType(5.3f, 50){
|
||||||
{
|
{
|
||||||
collidesTiles = false;
|
collidesTiles = false;
|
||||||
|
|||||||
@@ -253,8 +253,6 @@ public class FloorRenderer{
|
|||||||
public void clearTiles(){
|
public void clearTiles(){
|
||||||
if(cbatch != null) cbatch.dispose();
|
if(cbatch != null) cbatch.dispose();
|
||||||
|
|
||||||
Timers.mark();
|
|
||||||
|
|
||||||
if(world.getSector() != null){
|
if(world.getSector() != null){
|
||||||
gutter = mapPadding;
|
gutter = mapPadding;
|
||||||
}else{
|
}else{
|
||||||
@@ -266,8 +264,6 @@ public class FloorRenderer{
|
|||||||
cache = new Chunk[chunksx][chunksy];
|
cache = new Chunk[chunksx][chunksy];
|
||||||
cbatch = new CacheBatch(world.width() * world.height() * 4 * 4);
|
cbatch = new CacheBatch(world.width() * world.height() * 4 * 4);
|
||||||
|
|
||||||
Log.info("Time to create: {0}", Timers.elapsed());
|
|
||||||
|
|
||||||
Timers.mark();
|
Timers.mark();
|
||||||
|
|
||||||
for(int x = 0; x < chunksx; x++){
|
for(int x = 0; x < chunksx; x++){
|
||||||
|
|||||||