Merge branch 'new-sounds' of https://github.com/Anuken/Mindustry
This commit is contained in:
@@ -3298,6 +3298,7 @@ public class Blocks{
|
||||
}
|
||||
}};
|
||||
|
||||
shootSound = Sounds.shootDuo;
|
||||
recoil = 0.5f;
|
||||
shootY = 3f;
|
||||
reload = 20f;
|
||||
@@ -3501,7 +3502,7 @@ public class Blocks{
|
||||
inaccuracy = 1f;
|
||||
shootCone = 10f;
|
||||
health = 260;
|
||||
shootSound = Sounds.bang;
|
||||
shootSound = Sounds.artillerySmall;
|
||||
coolant = consumeCoolant(0.1f);
|
||||
limitRange(0f);
|
||||
}};
|
||||
@@ -3538,7 +3539,6 @@ public class Blocks{
|
||||
flags = EnumSet.of(BlockFlag.turret, BlockFlag.extinguisher);
|
||||
}};
|
||||
|
||||
//TODO these may work in space, but what's the point?
|
||||
lancer = new PowerTurret("lancer"){{
|
||||
requirements(Category.turret, with(Items.copper, 60, Items.lead, 70, Items.silicon, 60, Items.titanium, 30));
|
||||
range = 165f;
|
||||
@@ -3558,6 +3558,7 @@ public class Blocks{
|
||||
accurateDelay = false;
|
||||
shootSound = Sounds.laser;
|
||||
coolant = consumeCoolant(0.2f);
|
||||
chargeSound = Sounds.lasercharge3;
|
||||
|
||||
consumePower(6f);
|
||||
|
||||
@@ -3800,7 +3801,7 @@ public class Blocks{
|
||||
|
||||
ammoUseEffect = Fx.casing2;
|
||||
scaledHealth = 240;
|
||||
shootSound = Sounds.shootBig;
|
||||
shootSound = Sounds.shootSalvo;
|
||||
|
||||
limitRange();
|
||||
coolant = consumeCoolant(0.2f);
|
||||
@@ -3835,7 +3836,7 @@ public class Blocks{
|
||||
damage = 0.2f;
|
||||
layer = Layer.bullet - 2f;
|
||||
}},
|
||||
Liquids.slag, new LiquidBulletType(Liquids.slag){{
|
||||
Liquids.slag, new LiquidBulletType(Liquids.slag){{
|
||||
lifetime = 49f;
|
||||
speed = 4f;
|
||||
knockback = 1.3f;
|
||||
@@ -3900,6 +3901,7 @@ public class Blocks{
|
||||
|
||||
scaledHealth = 220;
|
||||
shootSound = Sounds.shotgun;
|
||||
shootSoundVolume = 0.9f;
|
||||
coolant = consumeCoolant(0.3f);
|
||||
|
||||
float brange = range + 10f;
|
||||
@@ -3925,25 +3927,31 @@ public class Blocks{
|
||||
ripple = new ItemTurret("ripple"){{
|
||||
requirements(Category.turret, with(Items.copper, 150, Items.graphite, 135, Items.titanium, 60));
|
||||
ammo(
|
||||
Items.graphite, new ArtilleryBulletType(3f, 20){{
|
||||
Items.graphite, new ArtilleryBulletType(3f, 40){{
|
||||
hitEffect = new MultiEffect(Fx.flakExplosion, Fx.shockwaveSmaller);
|
||||
knockback = 0.8f;
|
||||
lifetime = 80f;
|
||||
width = height = 11f;
|
||||
width = 12f;
|
||||
height = 14f;
|
||||
collidesTiles = false;
|
||||
splashDamageRadius = 25f * 0.75f;
|
||||
splashDamage = 33f;
|
||||
splashDamageRadius = 30f * 0.75f;
|
||||
splashDamage = 70f;
|
||||
|
||||
backColor = hitColor = trailColor = Pal.graphiteAmmoBack;
|
||||
frontColor = Pal.graphiteAmmoFront;
|
||||
despawnEffect = Fx.hitBulletColor;
|
||||
lifeScaleRandMax = 1.08f;
|
||||
lifeScaleRandMin = 0.95f;
|
||||
}},
|
||||
Items.silicon, new ArtilleryBulletType(3f, 20){{
|
||||
Items.silicon, new ArtilleryBulletType(3f, 40){{
|
||||
hitEffect = new MultiEffect(Fx.flakExplosion, Fx.shockwaveSmaller);
|
||||
knockback = 0.8f;
|
||||
lifetime = 80f;
|
||||
width = height = 11f;
|
||||
width = 12f;
|
||||
height = 14f;
|
||||
collidesTiles = false;
|
||||
splashDamageRadius = 25f * 0.75f;
|
||||
splashDamage = 33f;
|
||||
splashDamageRadius = 30f * 0.75f;
|
||||
splashDamage = 70f;
|
||||
reloadMultiplier = 1.2f;
|
||||
ammoMultiplier = 3f;
|
||||
homingPower = 0.08f;
|
||||
@@ -3955,15 +3963,18 @@ public class Blocks{
|
||||
despawnEffect = Fx.hitBulletColor;
|
||||
backColor = hitColor = trailColor = Pal.siliconAmmoBack;
|
||||
frontColor = Pal.siliconAmmoFront;
|
||||
lifeScaleRandMax = 1.08f;
|
||||
lifeScaleRandMin = 0.95f;
|
||||
}},
|
||||
Items.pyratite, new ArtilleryBulletType(3f, 24){{
|
||||
hitEffect = Fx.blastExplosion;
|
||||
Items.pyratite, new ArtilleryBulletType(3f, 48){{
|
||||
hitEffect = new MultiEffect(Fx.blastExplosion, Fx.shockwave);
|
||||
knockback = 0.8f;
|
||||
lifetime = 80f;
|
||||
width = height = 13f;
|
||||
width = 13f;
|
||||
height = 15f;
|
||||
collidesTiles = false;
|
||||
splashDamageRadius = 25f * 0.75f;
|
||||
splashDamage = 45f;
|
||||
splashDamageRadius = 30f * 0.75f;
|
||||
splashDamage = 90f;
|
||||
status = StatusEffects.burning;
|
||||
statusDuration = 60f * 12f;
|
||||
frontColor = Pal.lightishOrange;
|
||||
@@ -3972,32 +3983,38 @@ public class Blocks{
|
||||
trailEffect = Fx.incendTrail;
|
||||
ammoMultiplier = 4f;
|
||||
despawnEffect = Fx.hitBulletColor;
|
||||
lifeScaleRandMax = 1.08f;
|
||||
lifeScaleRandMin = 0.95f;
|
||||
}},
|
||||
Items.blastCompound, new ArtilleryBulletType(2f, 20, "shell"){{
|
||||
hitEffect = Fx.blastExplosion;
|
||||
Items.blastCompound, new ArtilleryBulletType(2f, 40, "shell"){{
|
||||
hitEffect = new MultiEffect(Fx.blastExplosion, Fx.shockwave);
|
||||
knockback = 0.8f;
|
||||
lifetime = 80f;
|
||||
width = height = 14f;
|
||||
width = 14f;
|
||||
height = 16f;
|
||||
collidesTiles = false;
|
||||
ammoMultiplier = 4f;
|
||||
splashDamageRadius = 45f * 0.75f;
|
||||
splashDamage = 55f;
|
||||
splashDamageRadius = 50f * 0.75f;
|
||||
splashDamage = 90f;
|
||||
|
||||
status = StatusEffects.blasted;
|
||||
lifeScaleRandMax = 1.08f;
|
||||
lifeScaleRandMin = 0.95f;
|
||||
|
||||
despawnEffect = Fx.hitBulletColor;
|
||||
despawnEffect = Fx.hitBulletColor;
|
||||
backColor = hitColor = trailColor = Pal.blastAmmoBack;
|
||||
frontColor = Pal.blastAmmoFront;
|
||||
}},
|
||||
Items.plastanium, new ArtilleryBulletType(3.4f, 20, "shell"){{
|
||||
hitEffect = Fx.plasticExplosion;
|
||||
Items.plastanium, new ArtilleryBulletType(3.4f, 40, "shell"){{
|
||||
hitEffect = new MultiEffect(Fx.plasticExplosion, Fx.shockwave);
|
||||
knockback = 1f;
|
||||
lifetime = 80f;
|
||||
width = height = 13f;
|
||||
width = 13f;
|
||||
height = 15f;
|
||||
collidesTiles = false;
|
||||
splashDamageRadius = 35f * 0.75f;
|
||||
splashDamage = 45f;
|
||||
fragBullet = new BasicBulletType(2.5f, 10, "bullet"){{
|
||||
splashDamageRadius = 40f * 0.75f;
|
||||
splashDamage = 90f;
|
||||
fragBullet = new BasicBulletType(2.5f, 14, "bullet"){{
|
||||
width = 10f;
|
||||
height = 12f;
|
||||
shrinkY = 1f;
|
||||
@@ -4007,21 +4024,24 @@ public class Blocks{
|
||||
despawnEffect = Fx.none;
|
||||
collidesAir = false;
|
||||
}};
|
||||
fragBullets = 10;
|
||||
fragBullets = 15;
|
||||
backColor = Pal.plastaniumBack;
|
||||
frontColor = Pal.plastaniumFront;
|
||||
lifeScaleRandMax = 1.08f;
|
||||
lifeScaleRandMin = 0.95f;
|
||||
}}
|
||||
);
|
||||
|
||||
targetAir = false;
|
||||
size = 3;
|
||||
shoot.shots = 4;
|
||||
inaccuracy = 12f;
|
||||
reload = 60f;
|
||||
inaccuracy = 11f;
|
||||
reload = 120f;
|
||||
ammoEjectBack = 5f;
|
||||
ammoUseEffect = Fx.casing3Double;
|
||||
ammoPerShot = 2;
|
||||
velocityRnd = 0.2f;
|
||||
|
||||
scaleLifetimeOffset = 1f / 9f;
|
||||
recoil = 6f;
|
||||
shake = 2f;
|
||||
@@ -4030,7 +4050,7 @@ public class Blocks{
|
||||
coolant = consumeCoolant(0.3f);
|
||||
|
||||
scaledHealth = 130;
|
||||
shootSound = Sounds.artillery;
|
||||
shootSound = Sounds.shootRipple;
|
||||
}};
|
||||
|
||||
cyclone = new ItemTurret("cyclone"){{
|
||||
@@ -4143,7 +4163,7 @@ public class Blocks{
|
||||
rotateSpeed = 10f;
|
||||
inaccuracy = 10f;
|
||||
shootCone = 30f;
|
||||
shootSound = Sounds.shootSnap;
|
||||
shootSound = Sounds.shootCyclone;
|
||||
coolant = consumeCoolant(0.3f);
|
||||
|
||||
scaledHealth = 145;
|
||||
@@ -4251,7 +4271,7 @@ public class Blocks{
|
||||
shake = 2f;
|
||||
size = 4;
|
||||
shootCone = 24f;
|
||||
shootSound = Sounds.shootBig;
|
||||
shootSound = Sounds.shootSpectre;
|
||||
|
||||
scaledHealth = 160;
|
||||
coolant = consumeCoolant(1f);
|
||||
|
||||
@@ -1530,6 +1530,12 @@ public class Fx{
|
||||
Lines.circle(e.x, e.y, e.fin() * 28f);
|
||||
}),
|
||||
|
||||
shockwaveSmaller = new Effect(9f, 80f, e -> {
|
||||
color(Color.white, Color.lightGray, e.fin());
|
||||
stroke(e.fout() * 2f + 0.2f);
|
||||
Lines.circle(e.x, e.y, e.fin() * 22f);
|
||||
}),
|
||||
|
||||
bigShockwave = new Effect(10f, 80f, e -> {
|
||||
color(Color.white, Color.lightGray, e.fin());
|
||||
stroke(e.fout() * 3f);
|
||||
@@ -2017,18 +2023,18 @@ public class Fx{
|
||||
shootSmallFlame = new Effect(32f, 80f, e -> {
|
||||
color(Pal.lightFlame, Pal.darkFlame, Color.gray, e.fin());
|
||||
|
||||
randLenVectors(e.id, 8, e.finpow() * 60f, e.rotation, 10f, (x, y) -> {
|
||||
randLenVectors(e.id, 12, e.finpow() * 60f, e.rotation, 10f, (x, y) -> {
|
||||
Fill.circle(e.x + x, e.y + y, 0.65f + e.fout() * 1.5f);
|
||||
});
|
||||
}),
|
||||
}).followParent(false),
|
||||
|
||||
shootPyraFlame = new Effect(33f, 80f, e -> {
|
||||
color(Pal.lightPyraFlame, Pal.darkPyraFlame, Color.gray, e.fin());
|
||||
|
||||
randLenVectors(e.id, 10, e.finpow() * 70f, e.rotation, 10f, (x, y) -> {
|
||||
randLenVectors(e.id, 13, e.finpow() * 70f, e.rotation, 10f, (x, y) -> {
|
||||
Fill.circle(e.x + x, e.y + y, 0.65f + e.fout() * 1.6f);
|
||||
});
|
||||
}),
|
||||
}).followParent(false),
|
||||
|
||||
shootLiquid = new Effect(15f, 80f, e -> {
|
||||
color(e.color);
|
||||
|
||||
@@ -103,6 +103,7 @@ public class UnitTypes{
|
||||
hitSize = 8f;
|
||||
health = 150;
|
||||
weapons.add(new Weapon("large-weapon"){{
|
||||
shootSound = Sounds.shootDagger;
|
||||
reload = 13f;
|
||||
x = 4f;
|
||||
y = 2f;
|
||||
@@ -122,24 +123,23 @@ public class UnitTypes{
|
||||
health = 550;
|
||||
armor = 4f;
|
||||
ammoType = new ItemAmmoType(Items.coal);
|
||||
|
||||
immunities.add(StatusEffects.burning);
|
||||
|
||||
weapons.add(new Weapon("flamethrower"){{
|
||||
top = false;
|
||||
shootSound = Sounds.flame;
|
||||
shootY = 2f;
|
||||
reload = 11f;
|
||||
reload = 22f;
|
||||
recoil = 1f;
|
||||
ejectEffect = Fx.none;
|
||||
bullet = new BulletType(4.2f, 37f){{
|
||||
bullet = new BulletType(4.2f, 37f*2f){{
|
||||
ammoMultiplier = 3f;
|
||||
hitSize = 7f;
|
||||
lifetime = 13f;
|
||||
pierce = true;
|
||||
pierceBuilding = true;
|
||||
pierceCap = 2;
|
||||
statusDuration = 60f * 4;
|
||||
statusDuration = 60f * 5;
|
||||
shootEffect = Fx.shootSmallFlame;
|
||||
hitEffect = Fx.hitFlameSmall;
|
||||
despawnEffect = Fx.none;
|
||||
@@ -197,6 +197,8 @@ public class UnitTypes{
|
||||
stepShake = 0.15f;
|
||||
singleTarget = true;
|
||||
drownTimeMultiplier = 1.5f;
|
||||
stepSound = Sounds.mechStep;
|
||||
stepSoundVolume = 0.25f;
|
||||
|
||||
abilities.add(new ShieldRegenFieldAbility(25f, 250f, 60f * 1, 60f));
|
||||
|
||||
@@ -216,7 +218,7 @@ public class UnitTypes{
|
||||
recoil = 5f;
|
||||
shake = 2f;
|
||||
ejectEffect = Fx.casing3;
|
||||
shootSound = Sounds.bang;
|
||||
shootSound = Sounds.shootScepter;
|
||||
inaccuracy = 3f;
|
||||
|
||||
shoot.shots = 3;
|
||||
@@ -232,6 +234,7 @@ public class UnitTypes{
|
||||
lightningColor = Pal.surge;
|
||||
//standard bullet damage is far too much for lightning
|
||||
lightningDamage = 20;
|
||||
despawnSound = Sounds.sparkBullet;
|
||||
}};
|
||||
}},
|
||||
|
||||
@@ -242,6 +245,7 @@ public class UnitTypes{
|
||||
rotate = true;
|
||||
ejectEffect = Fx.casing1;
|
||||
bullet = smallBullet;
|
||||
shootSound = Sounds.shootDagger;
|
||||
}},
|
||||
new Weapon("mount-weapon"){{
|
||||
reload = 16f;
|
||||
@@ -250,6 +254,7 @@ public class UnitTypes{
|
||||
rotate = true;
|
||||
ejectEffect = Fx.casing1;
|
||||
bullet = smallBullet;
|
||||
shootSound = Sounds.shootDagger;
|
||||
}}
|
||||
);
|
||||
}};
|
||||
@@ -266,6 +271,7 @@ public class UnitTypes{
|
||||
mechFrontSway = 1.9f;
|
||||
mechSideSway = 0.6f;
|
||||
ammoType = new ItemAmmoType(Items.thorium);
|
||||
stepSound = Sounds.mechStep;
|
||||
|
||||
weapons.add(
|
||||
new Weapon("reign-weapon"){{
|
||||
@@ -277,7 +283,7 @@ public class UnitTypes{
|
||||
recoil = 5f;
|
||||
shake = 2f;
|
||||
ejectEffect = Fx.casing4;
|
||||
shootSound = Sounds.bang;
|
||||
shootSound = Sounds.shootReign;
|
||||
|
||||
bullet = new BasicBulletType(13f, 80){{
|
||||
pierce = true;
|
||||
@@ -295,6 +301,7 @@ public class UnitTypes{
|
||||
fragBullets = 3;
|
||||
fragLifeMin = 0f;
|
||||
fragRandomSpread = 30f;
|
||||
despawnSound = Sounds.explosion;
|
||||
|
||||
fragBullet = new BasicBulletType(9f, 20){{
|
||||
width = 10f;
|
||||
@@ -380,7 +387,7 @@ public class UnitTypes{
|
||||
|
||||
ejectEffect = Fx.none;
|
||||
recoil = 2.5f;
|
||||
shootSound = Sounds.spark;
|
||||
shootSound = Sounds.shock;
|
||||
|
||||
bullet = new LightningBulletType(){{
|
||||
lightningColor = hitColor = Pal.heal;
|
||||
@@ -475,6 +482,8 @@ public class UnitTypes{
|
||||
immunities = ObjectSet.with(StatusEffects.burning);
|
||||
|
||||
singleTarget = true;
|
||||
stepSound = Sounds.mechStep;
|
||||
stepSoundVolume = 0.25f;
|
||||
|
||||
weapons.add(new Weapon("vela-weapon"){{
|
||||
mirror = false;
|
||||
@@ -489,7 +498,8 @@ public class UnitTypes{
|
||||
reload = 155f;
|
||||
recoil = 0f;
|
||||
chargeSound = Sounds.lasercharge2;
|
||||
shootSound = Sounds.beam;
|
||||
shootSound = Sounds.beamPlasma;
|
||||
initialShootSound = Sounds.beamPlasmaFire;
|
||||
continuous = true;
|
||||
cooldownTime = 200f;
|
||||
|
||||
@@ -541,6 +551,10 @@ public class UnitTypes{
|
||||
rotateSpeed = 1.5f;
|
||||
drownTimeMultiplier = 1.6f;
|
||||
|
||||
stepSound = Sounds.walkerStep;
|
||||
stepSoundVolume = 1.1f;
|
||||
stepSoundPitch = 0.9f;
|
||||
|
||||
legCount = 4;
|
||||
legLength = 14f;
|
||||
legBaseOffset = 11f;
|
||||
@@ -623,13 +637,13 @@ public class UnitTypes{
|
||||
reload = 24f;
|
||||
shootCone = 180f;
|
||||
ejectEffect = Fx.none;
|
||||
shootSound = Sounds.explosion;
|
||||
shootSound = Sounds.crawlerExplosion;
|
||||
shootSoundVolume = 0.4f;
|
||||
x = shootY = 0f;
|
||||
mirror = false;
|
||||
bullet = new BulletType(){{
|
||||
collidesTiles = false;
|
||||
collides = false;
|
||||
hitSound = Sounds.explosion;
|
||||
|
||||
rangeOverride = 25f;
|
||||
hitEffect = Fx.pulverize;
|
||||
@@ -671,7 +685,7 @@ public class UnitTypes{
|
||||
ejectEffect = Fx.none;
|
||||
recoil = 1f;
|
||||
x = 7f;
|
||||
shootSound = Sounds.flame;
|
||||
shootSound = Sounds.shootAtrax;
|
||||
|
||||
bullet = new LiquidBulletType(Liquids.slag){{
|
||||
damage = 13;
|
||||
@@ -768,6 +782,10 @@ public class UnitTypes{
|
||||
legSpeed = 0.2f;
|
||||
ammoType = new PowerAmmoType(2000);
|
||||
|
||||
stepSound = Sounds.walkerStep;
|
||||
stepSoundVolume = 0.75f;
|
||||
stepSoundPitch = 1.1f;
|
||||
|
||||
legSplashDamage = 32;
|
||||
legSplashRange = 30;
|
||||
|
||||
@@ -820,13 +838,14 @@ public class UnitTypes{
|
||||
shake = 3f;
|
||||
rotateSpeed = 2f;
|
||||
ejectEffect = Fx.casing1;
|
||||
shootSound = Sounds.artillery;
|
||||
shootSound = Sounds.artillerySap;
|
||||
rotate = true;
|
||||
shadow = 8f;
|
||||
recoil = 3f;
|
||||
|
||||
bullet = new ArtilleryBulletType(2f, 12){{
|
||||
hitEffect = Fx.sapExplosion;
|
||||
despawnSound = Sounds.artilleryShockExplosion;
|
||||
knockback = 0.8f;
|
||||
lifetime = 70f;
|
||||
width = height = 19f;
|
||||
@@ -854,6 +873,8 @@ public class UnitTypes{
|
||||
health = 22000;
|
||||
armor = 13f;
|
||||
lightRadius = 140f;
|
||||
stepSound = Sounds.walkerStep;
|
||||
stepSoundVolume = 1.1f;
|
||||
|
||||
rotateSpeed = 1.9f;
|
||||
|
||||
@@ -885,7 +906,8 @@ public class UnitTypes{
|
||||
shake = 4f;
|
||||
rotateSpeed = 2f;
|
||||
ejectEffect = Fx.casing1;
|
||||
shootSound = Sounds.shootBig;
|
||||
shootSound = Sounds.shotgunSap;
|
||||
shootSoundVolume = 0.8f;
|
||||
rotate = true;
|
||||
shadow = 12f;
|
||||
recoil = 3f;
|
||||
@@ -917,13 +939,14 @@ public class UnitTypes{
|
||||
recoil = 10f;
|
||||
rotateSpeed = 1f;
|
||||
ejectEffect = Fx.casing3;
|
||||
shootSound = Sounds.artillery;
|
||||
shootSound = Sounds.artillerySapBig;
|
||||
rotate = true;
|
||||
shadow = 30f;
|
||||
|
||||
rotationLimit = 80f;
|
||||
|
||||
bullet = new ArtilleryBulletType(3f, 50){{
|
||||
despawnSound = Sounds.artilleryShockExplosionBig;
|
||||
hitEffect = Fx.sapExplosion;
|
||||
knockback = 0.8f;
|
||||
lifetime = 80f;
|
||||
@@ -949,6 +972,7 @@ public class UnitTypes{
|
||||
fragBullets = 9;
|
||||
|
||||
fragBullet = new ArtilleryBulletType(2.3f, 30){{
|
||||
despawnSound = Sounds.artilleryShockExplosion;
|
||||
hitEffect = Fx.sapExplosion;
|
||||
knockback = 0.8f;
|
||||
lifetime = 90f;
|
||||
@@ -984,18 +1008,25 @@ public class UnitTypes{
|
||||
flying = true;
|
||||
health = 70;
|
||||
engineOffset = 5.75f;
|
||||
//TODO balance
|
||||
//targetAir = false;
|
||||
targetFlags = new BlockFlag[]{BlockFlag.generator, null};
|
||||
hitSize = 9;
|
||||
itemCapacity = 10;
|
||||
circleTarget = true;
|
||||
omniMovement = false;
|
||||
rotateSpeed = 5f;
|
||||
circleTargetRadius = 60f;
|
||||
|
||||
weapons.add(new Weapon(){{
|
||||
y = 0f;
|
||||
x = 2f;
|
||||
reload = 20f;
|
||||
y = 1f;
|
||||
x = 0f;
|
||||
minShootVelocity = 2f;
|
||||
shootCone = 10f;
|
||||
reload = 80f;
|
||||
shoot.shots = 3;
|
||||
shoot.shotDelay = 3f;
|
||||
ejectEffect = Fx.casing1;
|
||||
bullet = new BasicBulletType(2.5f, 9){{
|
||||
mirror = false;
|
||||
bullet = new BasicBulletType(2.5f, 16){{
|
||||
width = 7f;
|
||||
height = 9f;
|
||||
lifetime = 45f;
|
||||
@@ -1003,7 +1034,7 @@ public class UnitTypes{
|
||||
smokeEffect = Fx.shootSmallSmoke;
|
||||
ammoMultiplier = 2;
|
||||
}};
|
||||
shootSound = Sounds.pew;
|
||||
shootSound = Sounds.shootDagger;
|
||||
}});
|
||||
}};
|
||||
|
||||
@@ -1024,9 +1055,12 @@ public class UnitTypes{
|
||||
targetFlags = new BlockFlag[]{BlockFlag.factory, null};
|
||||
circleTarget = true;
|
||||
ammoType = new ItemAmmoType(Items.graphite);
|
||||
omniMovement = false;
|
||||
rotateSpeed = 4.5f;
|
||||
circleTargetRadius = 40f;
|
||||
|
||||
weapons.add(new Weapon(){{
|
||||
minShootVelocity = 0.75f;
|
||||
minShootVelocity = 1f;
|
||||
x = 3f;
|
||||
shootY = 0f;
|
||||
reload = 12f;
|
||||
@@ -1034,7 +1068,8 @@ public class UnitTypes{
|
||||
ejectEffect = Fx.none;
|
||||
inaccuracy = 15f;
|
||||
ignoreRotation = true;
|
||||
shootSound = Sounds.none;
|
||||
shootSound = Sounds.bombDrop;
|
||||
soundPitchMax = 1.2f;
|
||||
bullet = new BombBulletType(27f, 25f){{
|
||||
width = 10f;
|
||||
height = 14f;
|
||||
@@ -1074,7 +1109,7 @@ public class UnitTypes{
|
||||
shoot.shots = 2;
|
||||
inaccuracy = 5f;
|
||||
velocityRnd = 0.2f;
|
||||
shootSound = Sounds.missile;
|
||||
shootSound = Sounds.missileLong;
|
||||
|
||||
bullet = new MissileBulletType(3f, 14){{
|
||||
width = 8f;
|
||||
@@ -1159,7 +1194,7 @@ public class UnitTypes{
|
||||
shake = 1f;
|
||||
rotateSpeed = 2f;
|
||||
ejectEffect = Fx.casing1;
|
||||
shootSound = Sounds.shootBig;
|
||||
shootSound = Sounds.shootSpectre;
|
||||
rotate = true;
|
||||
shadow = 8f;
|
||||
bullet = new BasicBulletType(7f, 55){{
|
||||
@@ -1208,7 +1243,7 @@ public class UnitTypes{
|
||||
rotateSpeed = 2f;
|
||||
reload = 45f;
|
||||
recoil = 4f;
|
||||
shootSound = Sounds.laser;
|
||||
shootSound = Sounds.laser2;
|
||||
shadow = 20f;
|
||||
rotate = true;
|
||||
|
||||
@@ -1228,7 +1263,7 @@ public class UnitTypes{
|
||||
y = 27f;
|
||||
rotateSpeed = 2f;
|
||||
reload = 9f;
|
||||
shootSound = Sounds.shoot;
|
||||
shootSound = Sounds.shootCyclone;
|
||||
shadow = 7f;
|
||||
rotate = true;
|
||||
recoil = 0.5f;
|
||||
@@ -1242,7 +1277,7 @@ public class UnitTypes{
|
||||
ejectEffect = Fx.casing1;
|
||||
rotateSpeed = 7f;
|
||||
shake = 1f;
|
||||
shootSound = Sounds.shoot;
|
||||
shootSound = Sounds.shootCyclone;
|
||||
rotate = true;
|
||||
shadow = 12f;
|
||||
shootY = 7.25f;
|
||||
@@ -1301,7 +1336,7 @@ public class UnitTypes{
|
||||
reload = 30f;
|
||||
ejectEffect = Fx.none;
|
||||
recoil = 2f;
|
||||
shootSound = Sounds.missile;
|
||||
shootSound = Sounds.missilePlasmaShort;
|
||||
velocityRnd = 0.5f;
|
||||
inaccuracy = 15f;
|
||||
alternate = true;
|
||||
@@ -1498,6 +1533,7 @@ public class UnitTypes{
|
||||
y = 1.5f;
|
||||
rotate = true;
|
||||
ejectEffect = Fx.casing1;
|
||||
shootSound = Sounds.shootDagger;
|
||||
bullet = new BasicBulletType(2.5f, 9){{
|
||||
width = 7f;
|
||||
height = 9f;
|
||||
@@ -1513,7 +1549,7 @@ public class UnitTypes{
|
||||
y = -5f;
|
||||
rotate = true;
|
||||
ejectEffect = Fx.casing1;
|
||||
shootSound = Sounds.missile;
|
||||
shootSound = Sounds.missileShort;
|
||||
bullet = new MissileBulletType(2.7f, 12, "missile"){{
|
||||
keepVelocity = true;
|
||||
width = 8f;
|
||||
@@ -1559,7 +1595,7 @@ public class UnitTypes{
|
||||
rotateSpeed = 5f;
|
||||
inaccuracy = 8f;
|
||||
ejectEffect = Fx.casing1;
|
||||
shootSound = Sounds.shoot;
|
||||
shootSound = Sounds.shootDuo;
|
||||
bullet = new FlakBulletType(4.2f, 3){{
|
||||
lifetime = 60f;
|
||||
ammoMultiplier = 4f;
|
||||
@@ -1581,7 +1617,7 @@ public class UnitTypes{
|
||||
rotateSpeed = 2f;
|
||||
shake = 1.5f;
|
||||
ejectEffect = Fx.casing2;
|
||||
shootSound = Sounds.bang;
|
||||
shootSound = Sounds.artillerySmall;
|
||||
bullet = new ArtilleryBulletType(3f, 20, "shell"){{
|
||||
hitEffect = Fx.flakExplosion;
|
||||
knockback = 0.8f;
|
||||
@@ -1665,7 +1701,7 @@ public class UnitTypes{
|
||||
|
||||
inaccuracy = 5f;
|
||||
velocityRnd = 0.1f;
|
||||
shootSound = Sounds.missile;
|
||||
shootSound = Sounds.missileShort;
|
||||
ammoType = new ItemAmmoType(Items.thorium);
|
||||
|
||||
ejectEffect = Fx.none;
|
||||
@@ -1724,7 +1760,7 @@ public class UnitTypes{
|
||||
inaccuracy = 7f;
|
||||
ejectEffect = Fx.none;
|
||||
shake = 1f;
|
||||
shootSound = Sounds.missile;
|
||||
shootSound = Sounds.missileLong;
|
||||
|
||||
shoot = new ShootAlternate(){{
|
||||
shots = 6;
|
||||
@@ -1766,7 +1802,7 @@ public class UnitTypes{
|
||||
recoil = 3f;
|
||||
shadow = 12f;
|
||||
ejectEffect = Fx.casing3;
|
||||
shootSound = Sounds.shootBig;
|
||||
shootSound = Sounds.shootSpectre;
|
||||
|
||||
shoot.shots = 3;
|
||||
shoot.shotDelay = 4f;
|
||||
@@ -1792,10 +1828,6 @@ public class UnitTypes{
|
||||
faceTarget = false;
|
||||
ammoType = new PowerAmmoType(4000);
|
||||
|
||||
float spawnTime = 60f * 15f;
|
||||
|
||||
abilities.add(new UnitSpawnAbility(flare, spawnTime, 19.25f, -31.75f), new UnitSpawnAbility(flare, spawnTime, -19.25f, -31.75f));
|
||||
|
||||
trailLength = 70;
|
||||
waveTrailX = 23f;
|
||||
waveTrailY = -32f;
|
||||
@@ -1813,7 +1845,7 @@ public class UnitTypes{
|
||||
shake = 6f;
|
||||
recoil = 10.5f;
|
||||
shadow = 50f;
|
||||
shootSound = Sounds.railgun;
|
||||
shootSound = Sounds.shootOmura;
|
||||
|
||||
ejectEffect = Fx.none;
|
||||
|
||||
@@ -1886,8 +1918,9 @@ public class UnitTypes{
|
||||
rotate = true;
|
||||
reload = 90f;
|
||||
x = y = shootX = shootY = 0f;
|
||||
shootSound = Sounds.mineDeploy;
|
||||
shootSound = Sounds.missilePlasmaShort;
|
||||
rotateSpeed = 180f;
|
||||
shootSoundVolume = 0.9f;
|
||||
|
||||
shoot.shots = 3;
|
||||
shoot.shotDelay = 7f;
|
||||
@@ -1906,7 +1939,7 @@ public class UnitTypes{
|
||||
frontColor = Color.white;
|
||||
mixColorTo = Color.white;
|
||||
|
||||
hitSound = Sounds.plasmaboom;
|
||||
hitSound = Sounds.explosionPlasmaSmall;
|
||||
underwater = true;
|
||||
|
||||
ejectEffect = Fx.none;
|
||||
@@ -1968,7 +2001,8 @@ public class UnitTypes{
|
||||
rotateSpeed = 5f;
|
||||
inaccuracy = 10f;
|
||||
ejectEffect = Fx.casing1;
|
||||
shootSound = Sounds.flame;
|
||||
shootSound = Sounds.flamePlasma;
|
||||
shootSoundVolume = 0.9f;
|
||||
shootCone = 30f;
|
||||
|
||||
bullet = new BulletType(3.4f, 23f){{
|
||||
@@ -2057,7 +2091,7 @@ public class UnitTypes{
|
||||
rotate = true;
|
||||
inaccuracy = 1f;
|
||||
velocityRnd = 0.1f;
|
||||
shootSound = Sounds.missile;
|
||||
shootSound = Sounds.missilePlasma;
|
||||
|
||||
ejectEffect = Fx.none;
|
||||
bullet = new FlakBulletType(2.5f, 25){{
|
||||
@@ -2073,6 +2107,7 @@ public class UnitTypes{
|
||||
lightRadius = 60f;
|
||||
lightOpacity = 0.7f;
|
||||
lightColor = Pal.heal;
|
||||
despawnSound = Sounds.explosion;
|
||||
|
||||
splashDamageRadius = 30f;
|
||||
splashDamage = 25f;
|
||||
@@ -2240,7 +2275,8 @@ public class UnitTypes{
|
||||
rotateSpeed = 3.5f;
|
||||
reload = 170f;
|
||||
recoil = 1f;
|
||||
shootSound = Sounds.beam;
|
||||
shootSound = Sounds.beamPlasmaSmall;
|
||||
initialShootSound = Sounds.beamPlasmaFireSmall;
|
||||
continuous = true;
|
||||
cooldownTime = reload;
|
||||
immunities.add(StatusEffects.burning);
|
||||
@@ -2291,8 +2327,7 @@ public class UnitTypes{
|
||||
shootY = 7f;
|
||||
recoil = 4f;
|
||||
cooldownTime = reload - 10f;
|
||||
//TODO better sound
|
||||
shootSound = Sounds.laser;
|
||||
shootSound = Sounds.shootNavanax;
|
||||
|
||||
bullet = new EmpBulletType(){{
|
||||
float rad = 100f;
|
||||
@@ -2326,7 +2361,7 @@ public class UnitTypes{
|
||||
hitShake = 4f;
|
||||
trailRotation = true;
|
||||
status = StatusEffects.electrified;
|
||||
hitSound = Sounds.plasmaboom;
|
||||
hitSound = Sounds.empBlast;
|
||||
|
||||
trailEffect = new Effect(16f, e -> {
|
||||
color(Pal.heal);
|
||||
@@ -2431,15 +2466,14 @@ public class UnitTypes{
|
||||
health = 170f;
|
||||
engineOffset = 6f;
|
||||
hitSize = 9f;
|
||||
faceTarget = false;
|
||||
lowAltitude = true;
|
||||
|
||||
weapons.add(new Weapon("small-mount-weapon"){{
|
||||
top = false;
|
||||
reload = 20f;
|
||||
x = 3f;
|
||||
y = 0.5f;
|
||||
rotate = true;
|
||||
y = 1f;
|
||||
recoil = 1f;
|
||||
shoot.shots = 2;
|
||||
shoot.shotDelay = 4f;
|
||||
|
||||
@@ -2533,6 +2567,7 @@ public class UnitTypes{
|
||||
researchCostMultiplier = 0f;
|
||||
|
||||
weapons.add(new Weapon("stell-weapon"){{
|
||||
shootSound = Sounds.shootStell;
|
||||
layerOffset = 0.0001f;
|
||||
reload = 50f;
|
||||
shootY = 4.5f;
|
||||
@@ -2797,6 +2832,7 @@ public class UnitTypes{
|
||||
recoil = 2f;
|
||||
rotate = true;
|
||||
rotateSpeed = 2f;
|
||||
shootSound = Sounds.shootStell;
|
||||
|
||||
bullet = new BasicBulletType(4.5f, 25){{
|
||||
width = 6.5f;
|
||||
@@ -3349,6 +3385,10 @@ public class UnitTypes{
|
||||
legMaxLength = 1.3f;
|
||||
researchCostMultiplier = 0f;
|
||||
|
||||
stepSound = Sounds.walkerStep;
|
||||
stepSoundVolume = 1f;
|
||||
stepSoundPitch = 1f;
|
||||
|
||||
abilities.add(new ShieldArcAbility(){{
|
||||
region = "tecta-shield";
|
||||
radius = 45f;
|
||||
@@ -3452,6 +3492,10 @@ public class UnitTypes{
|
||||
legStraightness = 0.6f;
|
||||
baseLegStraightness = 0.5f;
|
||||
|
||||
stepSound = Sounds.walkerStep;
|
||||
stepSoundVolume = 1.1f;
|
||||
stepSoundPitch = 0.9f;
|
||||
|
||||
legCount = 8;
|
||||
legLength = 30f;
|
||||
legForwardScl = 2.1f;
|
||||
|
||||
Reference in New Issue
Block a user