mirror of
https://github.com/Anuken/Mindustry.git
synced 2025-12-06 02:40:23 -08:00
New serpulo core unit bullet effects
This commit is contained in:
parent
7a18e676fd
commit
38d9bc83a3
4 changed files with 61 additions and 27 deletions
BIN
core/assets/sounds/laserbolt.ogg
Normal file
BIN
core/assets/sounds/laserbolt.ogg
Normal file
Binary file not shown.
|
|
@ -2392,14 +2392,22 @@ public class UnitTypes{
|
|||
x = 2.75f;
|
||||
y = 1f;
|
||||
top = false;
|
||||
ejectEffect = Fx.casing1;
|
||||
|
||||
bullet = new BasicBulletType(2.5f, 11){{
|
||||
width = 7f;
|
||||
height = 9f;
|
||||
bullet = new LaserBoltBulletType(2.5f, 11){{
|
||||
shootSound = Sounds.laserbolt;
|
||||
keepVelocity = false;
|
||||
width = 1.5f;
|
||||
height = 4.5f;
|
||||
hitEffect = despawnEffect = Fx.hitBulletColor;
|
||||
trailWidth = 1.2f;
|
||||
trailLength = 3;
|
||||
shootEffect = Fx.shootSmallColor;
|
||||
smokeEffect = Fx.hitLaserColor;
|
||||
backColor = trailColor = Pal.yellowBoltFront;
|
||||
hitColor = Pal.yellowBoltFront;
|
||||
frontColor = Color.white;
|
||||
|
||||
lifetime = 60f;
|
||||
shootEffect = Fx.shootSmall;
|
||||
smokeEffect = Fx.shootSmallSmoke;
|
||||
buildingDamageMultiplier = 0.01f;
|
||||
}};
|
||||
}});
|
||||
|
|
@ -2434,14 +2442,22 @@ public class UnitTypes{
|
|||
rotate = true;
|
||||
shoot.shots = 2;
|
||||
shoot.shotDelay = 4f;
|
||||
ejectEffect = Fx.casing1;
|
||||
|
||||
bullet = new BasicBulletType(3f, 11){{
|
||||
width = 7f;
|
||||
height = 9f;
|
||||
bullet = new LaserBoltBulletType(3f, 11){{
|
||||
shootSound = Sounds.laserbolt;
|
||||
keepVelocity = false;
|
||||
width = 1.5f;
|
||||
height = 4.5f;
|
||||
hitEffect = despawnEffect = Fx.hitBulletColor;
|
||||
trailWidth = 1.2f;
|
||||
trailLength = 3;
|
||||
shootEffect = Fx.shootSmallColor;
|
||||
smokeEffect = Fx.hitLaserColor;
|
||||
backColor = trailColor = Pal.yellowBoltFront;
|
||||
hitColor = Pal.yellowBoltFront;
|
||||
frontColor = Color.white;
|
||||
|
||||
lifetime = 60f;
|
||||
shootEffect = Fx.shootSmall;
|
||||
smokeEffect = Fx.shootSmallSmoke;
|
||||
buildingDamageMultiplier = 0.01f;
|
||||
}};
|
||||
}});
|
||||
|
|
@ -2479,14 +2495,22 @@ public class UnitTypes{
|
|||
}};
|
||||
|
||||
inaccuracy = 3f;
|
||||
ejectEffect = Fx.casing1;
|
||||
|
||||
bullet = new BasicBulletType(3.5f, 11){{
|
||||
width = 6.5f;
|
||||
height = 11f;
|
||||
bullet = new LaserBoltBulletType(3.5f, 11){{
|
||||
shootSound = Sounds.laserbolt;
|
||||
keepVelocity = false;
|
||||
width = 1.5f;
|
||||
height = 5f;
|
||||
hitEffect = despawnEffect = Fx.hitBulletColor;
|
||||
trailWidth = 1.2f;
|
||||
trailLength = 4;
|
||||
shootEffect = Fx.shootSmallColor;
|
||||
smokeEffect = Fx.hitLaserColor;
|
||||
backColor = trailColor = Pal.yellowBoltFront;
|
||||
hitColor = Pal.yellowBoltFront;
|
||||
frontColor = Color.white;
|
||||
|
||||
lifetime = 70f;
|
||||
shootEffect = Fx.shootSmall;
|
||||
smokeEffect = Fx.shootSmallSmoke;
|
||||
buildingDamageMultiplier = 0.01f;
|
||||
homingPower = 0.04f;
|
||||
}};
|
||||
|
|
@ -2799,7 +2823,7 @@ public class UnitTypes{
|
|||
rotateSpeed = 0.8f;
|
||||
floorMultiplier = 0.3f;
|
||||
immunities.addAll(StatusEffects.burning, StatusEffects.melting);
|
||||
|
||||
|
||||
float xo = 231f/2f, yo = 231f/2f;
|
||||
treadRects = new Rect[]{new Rect(27 - xo, 152 - yo, 56, 73), new Rect(24 - xo, 51 - 9 - yo, 29, 17), new Rect(59 - xo, 18 - 9 - yo, 39, 19)};
|
||||
|
||||
|
|
|
|||
|
|
@ -72,6 +72,7 @@ public class Pal{
|
|||
stoneGray = Color.valueOf("8f8f8f"),
|
||||
engine = Color.valueOf("ffbb64"),
|
||||
|
||||
yellowBoltFront = Color.valueOf("ffd27e"),
|
||||
health = Color.valueOf("ff341c"),
|
||||
heal = Color.valueOf("98ffa9"),
|
||||
bar = Color.slate,
|
||||
|
|
|
|||
|
|
@ -47,9 +47,24 @@ public class BaseTurret extends Block{
|
|||
coolant = findConsumer(c -> c instanceof ConsumeCoolant);
|
||||
}
|
||||
|
||||
//just makes things a little more convenient
|
||||
checkInitCoolant();
|
||||
|
||||
if(!disableOverlapCheck){
|
||||
placeOverlapRange = Math.max(placeOverlapRange, range + placeOverlapMargin);
|
||||
}
|
||||
fogRadius = Math.max(Mathf.round(range / tilesize * fogRadiusMultiplier), fogRadius);
|
||||
super.init();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void reinitializeConsumers(){
|
||||
checkInitCoolant();
|
||||
|
||||
super.reinitializeConsumers();
|
||||
}
|
||||
|
||||
void checkInitCoolant(){
|
||||
if(coolant != null){
|
||||
//TODO coolant fix
|
||||
coolant.update = false;
|
||||
coolant.booster = true;
|
||||
coolant.optional = true;
|
||||
|
|
@ -57,12 +72,6 @@ public class BaseTurret extends Block{
|
|||
//json parsing does not add to consumes
|
||||
if(!hasConsumer(coolant)) consume(coolant);
|
||||
}
|
||||
|
||||
if(!disableOverlapCheck){
|
||||
placeOverlapRange = Math.max(placeOverlapRange, range + placeOverlapMargin);
|
||||
}
|
||||
fogRadius = Math.max(Mathf.round(range / tilesize * fogRadiusMultiplier), fogRadius);
|
||||
super.init();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue