many things
This commit is contained in:
@@ -989,6 +989,53 @@ public class Fx{
|
||||
|
||||
}).ground(400f),
|
||||
|
||||
railShoot = new Effect(24f, e -> {
|
||||
e.scaled(10f, b -> {
|
||||
color(Color.white, Color.lightGray, b.fin());
|
||||
stroke(b.fout() * 3f + 0.2f);
|
||||
Lines.circle(b.x, b.y, b.fin() * 50f);
|
||||
});
|
||||
|
||||
color(Pal.orangeSpark);
|
||||
|
||||
for(int i : Mathf.signs){
|
||||
Drawf.tri(e.x, e.y, 13f * e.fout(), 85f, e.rotation + 90f * i);
|
||||
}
|
||||
}),
|
||||
|
||||
railTrail = new Effect(16f, e -> {
|
||||
color(Pal.orangeSpark);
|
||||
|
||||
for(int i : Mathf.signs){
|
||||
Drawf.tri(e.x, e.y, 10f * e.fout(), 24f, e.rotation + 90 + 90f * i);
|
||||
}
|
||||
}),
|
||||
|
||||
railHit = new Effect(18f, 200f, e -> {
|
||||
if(true){
|
||||
color(Pal.orangeSpark);
|
||||
|
||||
for(int i : Mathf.signs){
|
||||
Drawf.tri(e.x, e.y, 10f * e.fout(), 60f, e.rotation + 140f * i);
|
||||
}
|
||||
}else{
|
||||
e.scaled(7f, b -> {
|
||||
color(Color.white, Color.lightGray, b.fin());
|
||||
stroke(b.fout() * 2f + 0.2f);
|
||||
Lines.circle(b.x, b.y, b.fin() * 28f);
|
||||
});
|
||||
|
||||
color(Pal.orangeSpark);
|
||||
float rot = e.rotation + Mathf.randomSeedRange(e.id, 20f);
|
||||
float w = 9f * e.fout();
|
||||
|
||||
Drawf.tri(e.x, e.y, w, 100f, rot);
|
||||
Drawf.tri(e.x, e.y, w, 10f, rot + 180f);
|
||||
}
|
||||
|
||||
|
||||
}),
|
||||
|
||||
lancerLaserShoot = new Effect(21f, e -> {
|
||||
color(Pal.lancerLaser);
|
||||
|
||||
@@ -1070,6 +1117,15 @@ public class Fx{
|
||||
});
|
||||
}),
|
||||
|
||||
cloudsmoke = new Effect(70, e -> {
|
||||
randLenVectors(e.id, 12, 15f + e.fin() * 45f, (x, y) -> {
|
||||
float size = e.fslope() * 2f;
|
||||
color(Color.gray);
|
||||
alpha(e.fslope());
|
||||
Fill.circle(e.x + x, e.y + y, size);
|
||||
});
|
||||
}),
|
||||
|
||||
nuclearcloud = new Effect(90, 200f, e -> {
|
||||
randLenVectors(e.id, 10, e.finpow() * 90f, (x, y) -> {
|
||||
float size = e.fout() * 14f;
|
||||
@@ -1295,10 +1351,11 @@ public class Fx{
|
||||
|
||||
}),
|
||||
|
||||
//TODO fix false in constructor
|
||||
ripple = new Effect(30, e -> {
|
||||
e.lifetime = 30f*e.rotation;
|
||||
|
||||
color(Tmp.c1.set(e.color).mul(1.5f));
|
||||
stroke(e.fout() + 0.4f);
|
||||
stroke(e.fout() * 1.4f);
|
||||
Lines.circle(e.x, e.y, (2f + e.fin() * 4f) * e.rotation);
|
||||
}).ground(),
|
||||
|
||||
|
||||
@@ -2,6 +2,7 @@ package mindustry.content;
|
||||
|
||||
import arc.graphics.*;
|
||||
import arc.struct.*;
|
||||
import arc.util.*;
|
||||
import mindustry.ai.types.*;
|
||||
import mindustry.annotations.Annotations.*;
|
||||
import mindustry.ctype.*;
|
||||
@@ -42,7 +43,7 @@ public class UnitTypes implements ContentList{
|
||||
public static @EntityDef({Unitc.class, Builderc.class, Minerc.class}) UnitType alpha, beta, gamma;
|
||||
|
||||
//water + commander
|
||||
public static @EntityDef({Unitc.class, WaterMovec.class, Commanderc.class}) UnitType risso, minke, bryde;
|
||||
public static @EntityDef({Unitc.class, WaterMovec.class, Commanderc.class}) UnitType risso, minke, bryde, omura;
|
||||
|
||||
//special block unit type
|
||||
public static @EntityDef({Unitc.class, BlockUnitc.class}) UnitType block;
|
||||
@@ -668,8 +669,8 @@ public class UnitTypes implements ContentList{
|
||||
width = height = 25f;
|
||||
collidesTiles = collides = true;
|
||||
ammoMultiplier = 4f;
|
||||
splashDamageRadius = 95f;
|
||||
splashDamage = 90f;
|
||||
splashDamageRadius = 90f;
|
||||
splashDamage = 75f;
|
||||
backColor = Pal.sapBulletBack;
|
||||
frontColor = lightningColor = Pal.sapBullet;
|
||||
lightning = 5;
|
||||
@@ -690,7 +691,7 @@ public class UnitTypes implements ContentList{
|
||||
width = height = 20f;
|
||||
collidesTiles = false;
|
||||
splashDamageRadius = 80f;
|
||||
splashDamage = 45f;
|
||||
splashDamage = 40f;
|
||||
backColor = Pal.sapBulletBack;
|
||||
frontColor = lightningColor = Pal.sapBullet;
|
||||
lightning = 2;
|
||||
@@ -1164,7 +1165,7 @@ public class UnitTypes implements ContentList{
|
||||
accel = 0.2f;
|
||||
rotateSpeed = 1.8f;
|
||||
drag = 0.17f;
|
||||
hitsize = 14f;
|
||||
hitsize = 16f;
|
||||
armor = 6f;
|
||||
immunities = ObjectSet.with(StatusEffects.wet);
|
||||
rotateShooting = false;
|
||||
@@ -1252,6 +1253,55 @@ public class UnitTypes implements ContentList{
|
||||
}});
|
||||
}};
|
||||
|
||||
omura = new UnitType("omura"){{
|
||||
health = 20000;
|
||||
speed = 0.62f;
|
||||
drag = 0.18f;
|
||||
hitsize = 50f;
|
||||
armor = 15f;
|
||||
accel = 0.19f;
|
||||
rotateSpeed = 0.9f;
|
||||
immunities = ObjectSet.with(StatusEffects.wet);
|
||||
|
||||
float spawnTime = 0.75f * Time.toMinutes;
|
||||
|
||||
abilities.add(new UnitSpawnAbility(flare, spawnTime, 19.25f, -31.75f), new UnitSpawnAbility(flare, spawnTime, -19.25f, -31.75f));
|
||||
|
||||
trailLength = 70;
|
||||
trailX = 23f;
|
||||
trailY = -32f;
|
||||
trailScl = 3.5f;
|
||||
|
||||
weapons.add(new Weapon("omura-cannon"){{
|
||||
reload = 110f;
|
||||
cooldownTime = 90f;
|
||||
mirror = false;
|
||||
x = 0f;
|
||||
y = -3.5f;
|
||||
rotateSpeed = 1.4f;
|
||||
rotate = true;
|
||||
shootY = 23f;
|
||||
shake = 6f;
|
||||
recoil = 10.5f;
|
||||
occlusion = 42f;
|
||||
|
||||
shots = 1;
|
||||
ejectEffect = Fx.none;
|
||||
|
||||
bullet = new RailBulletType(){{
|
||||
shootEffect = Fx.railShoot;
|
||||
speed = 65f;
|
||||
lifetime = 8f;
|
||||
pierceEffect = Fx.railHit;
|
||||
updateEffect = Fx.railTrail;
|
||||
hitEffect = Fx.massiveExplosion;
|
||||
smokeEffect = Fx.shootBig2;
|
||||
damage = 1200;
|
||||
pierceDamageFactor = 0.5f;
|
||||
}};
|
||||
}});
|
||||
}};
|
||||
|
||||
//endregion
|
||||
//region core
|
||||
|
||||
|
||||
Reference in New Issue
Block a user