Merge remote-tracking branch 'origin/master'
This commit is contained in:
@@ -2448,7 +2448,7 @@ unit.collaris.description = Fires long-range fragmenting artillery at enemy targ
|
||||
unit.elude.description = Fires pairs of homing bullets at enemy targets. Can float over bodies of liquid.
|
||||
unit.avert.description = Fires twisting pairs of bullets at enemy targets.
|
||||
unit.obviate.description = Fires twisting pairs of lightning orbs at enemy targets.
|
||||
unit.quell.description = Fires long-range homing missiles at enemy targets. Suppresses enemy structure repair blocks. Only attacks ground targets.
|
||||
unit.quell.description = Fires long-range homing missiles with unstable plasma shielding at enemy targets. Suppresses enemy structure repair blocks. Only attacks ground targets.
|
||||
unit.disrupt.description = Fires long-range homing suppression missiles at enemy targets. Suppresses enemy structure repair blocks. Only attacks ground targets.
|
||||
unit.evoke.description = Builds structures to defend the Bastion core. Repairs structures with a beam. Capable of carrying 2x2 structures.
|
||||
unit.incite.description = Builds structures to defend the Citadel core. Repairs structures with a beam. Capable of carrying 2x2 structures.
|
||||
|
||||
@@ -3829,8 +3829,10 @@ public class UnitTypes{
|
||||
|
||||
engineSize = 4.8f;
|
||||
engineOffset = 61 / 4f;
|
||||
range = 4.3f * 60f * 1.4f;
|
||||
|
||||
abilities.add(new SuppressionFieldAbility(){{
|
||||
reload = 60f * 8f;
|
||||
orbRadius = 5.3f;
|
||||
y = 1f;
|
||||
}});
|
||||
@@ -3846,36 +3848,59 @@ public class UnitTypes{
|
||||
recoil = 1f;
|
||||
rotationLimit = 60f;
|
||||
|
||||
bullet = new BulletType(){{
|
||||
bullet = new BasicBulletType(4.3f, 70f, "missile-large"){{
|
||||
shootEffect = Fx.shootBig;
|
||||
smokeEffect = Fx.shootBigSmoke2;
|
||||
shake = 1f;
|
||||
speed = 0f;
|
||||
lifetime = 60 * 0.496f;
|
||||
rangeOverride = 361.2f;
|
||||
followAimSpeed = 5f;
|
||||
|
||||
width = 12f;
|
||||
height = 22f;
|
||||
hitSize = 7f;
|
||||
hitColor = backColor = trailColor = Pal.sapBulletBack;
|
||||
trailWidth = 3f;
|
||||
trailLength = 12;
|
||||
hitEffect = despawnEffect = Fx.hitBulletColor;
|
||||
|
||||
keepVelocity = false;
|
||||
collidesGround = true;
|
||||
collidesAir = false;
|
||||
|
||||
spawnUnit = new MissileUnitType("quell-missile"){{
|
||||
targetAir = false;
|
||||
speed = 4.3f;
|
||||
maxRange = 6f;
|
||||
lifetime = 60f * 1.4f;
|
||||
outlineColor = Pal.darkOutline;
|
||||
engineColor = trailColor = Pal.sapBulletBack;
|
||||
engineLayer = Layer.effect;
|
||||
health = 45;
|
||||
loopSoundVolume = 0.1f;
|
||||
//workaround to get the missile to behave like in spawnUnit while still spawning on death
|
||||
fragRandomSpread = 0;
|
||||
fragBullets = 1;
|
||||
fragVelocityMin = 1f;
|
||||
fragOffsetMax = 1f;
|
||||
|
||||
weapons.add(new Weapon(){{
|
||||
shootSound = Sounds.none;
|
||||
shootCone = 360f;
|
||||
mirror = false;
|
||||
reload = 1f;
|
||||
shootOnDeath = true;
|
||||
bullet = new ExplosionBulletType(110f, 25f){{
|
||||
shootEffect = Fx.massiveExplosion;
|
||||
collidesAir = false;
|
||||
}};
|
||||
}});
|
||||
fragBullet = new BulletType(){{
|
||||
speed = 0f;
|
||||
keepVelocity = false;
|
||||
collidesAir = false;
|
||||
spawnUnit = new MissileUnitType("quell-missile"){{
|
||||
targetAir = false;
|
||||
speed = 4.3f;
|
||||
maxRange = 6f;
|
||||
lifetime = 60f * (1.4f - 0.496f);
|
||||
outlineColor = Pal.darkOutline;
|
||||
engineColor = trailColor = Pal.sapBulletBack;
|
||||
engineLayer = Layer.effect;
|
||||
health = 45;
|
||||
loopSoundVolume = 0.1f;
|
||||
|
||||
weapons.add(new Weapon() {{
|
||||
shootSound = Sounds.none;
|
||||
shootCone = 360f;
|
||||
mirror = false;
|
||||
reload = 1f;
|
||||
shootOnDeath = true;
|
||||
bullet = new ExplosionBulletType(110f, 25f) {{
|
||||
shootEffect = Fx.massiveExplosion;
|
||||
collidesAir = false;
|
||||
}};
|
||||
}});
|
||||
}};
|
||||
}};
|
||||
}};
|
||||
}});
|
||||
@@ -3909,6 +3934,8 @@ public class UnitTypes{
|
||||
int parts = 10;
|
||||
|
||||
abilities.add(new SuppressionFieldAbility(){{
|
||||
reload = 60 * 15f;
|
||||
range = 320f;
|
||||
orbRadius = orbRad;
|
||||
particleSize = partRad;
|
||||
y = 10f;
|
||||
|
||||
@@ -17,6 +17,7 @@ public class SuppressionFieldAbility extends Ability{
|
||||
protected static Rand rand = new Rand();
|
||||
|
||||
public float reload = 60f * 1.5f;
|
||||
public float maxDelay = 60f * 1.5f;
|
||||
public float range = 200f;
|
||||
|
||||
public float orbRadius = 4.1f, orbMidScl = 0.33f, orbSinScl = 8f, orbSinMag = 1f;
|
||||
@@ -55,9 +56,9 @@ public class SuppressionFieldAbility extends Ability{
|
||||
public void update(Unit unit){
|
||||
if(!active) return;
|
||||
|
||||
if((timer += Time.delta) >= reload){
|
||||
if((timer += Time.delta) >= maxDelay){
|
||||
Tmp.v1.set(x, y).rotate(unit.rotation - 90f).add(unit);
|
||||
Damage.applySuppression(unit.team, Tmp.v1.x, Tmp.v1.y, range, reload, reload, applyParticleChance, unit, effectColor);
|
||||
Damage.applySuppression(unit.team, Tmp.v1.x, Tmp.v1.y, range, reload, maxDelay, applyParticleChance, unit, effectColor);
|
||||
timer = 0f;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -251,12 +251,16 @@ public class PlacementFragment{
|
||||
}
|
||||
|
||||
if(Core.input.keyTap(Binding.blockInfo)){
|
||||
var build = world.buildWorld(Core.input.mouseWorld().x, Core.input.mouseWorld().y);
|
||||
Block hovering = build == null ? null : build instanceof ConstructBuild c ? c.current : build.block;
|
||||
Block displayBlock = menuHoverBlock != null ? menuHoverBlock : input.block != null ? input.block : hovering;
|
||||
if(displayBlock != null && displayBlock.unlockedNow()){
|
||||
ui.content.show(displayBlock);
|
||||
Events.fire(new BlockInfoEvent());
|
||||
if(hovered() instanceof Unit unit && unit.type.unlockedNow()){
|
||||
ui.content.show(unit.type());
|
||||
}else{
|
||||
var build = world.buildWorld(Core.input.mouseWorld().x, Core.input.mouseWorld().y);
|
||||
Block hovering = build == null ? null : build instanceof ConstructBuild c ? c.current : build.block;
|
||||
Block displayBlock = menuHoverBlock != null ? menuHoverBlock : input.block != null ? input.block : hovering;
|
||||
if(displayBlock != null && displayBlock.unlockedNow()){
|
||||
ui.content.show(displayBlock);
|
||||
Events.fire(new BlockInfoEvent());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,27 +1,4 @@
|
||||
[
|
||||
{
|
||||
"name": "EscoCorp",
|
||||
"address": [
|
||||
"121.127.37.17",
|
||||
"121.127.37.17:6568",
|
||||
"121.127.37.17:6569",
|
||||
"121.127.37.17:6570",
|
||||
"121.121.37.17:6571",
|
||||
"121.127.37.17:6572",
|
||||
"121.127.37.17:6573",
|
||||
"31.58.85.20:6567",
|
||||
"194.164.245.218:6567",
|
||||
"194.164.245.218:6568",
|
||||
"194.164.245.218:6569",
|
||||
"194.164.245.218:6570",
|
||||
"194.164.245.218:6571",
|
||||
"194.164.245.218:6572",
|
||||
"194.164.245.218:6573",
|
||||
"194.164.245.218:6574",
|
||||
"194.164.245.218:6575",
|
||||
"194.164.245.218:6576"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "EchoDustry",
|
||||
"address": [
|
||||
@@ -262,7 +239,7 @@
|
||||
{
|
||||
"name": "Kalpe Games",
|
||||
"address": [
|
||||
"mindustry.kalpe.games"
|
||||
"mv7-survival.kalpe.games"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -329,7 +306,12 @@
|
||||
"server.mindustry-tool.com:10002",
|
||||
"server.mindustry-tool.com:10003",
|
||||
"server.mindustry-tool.com:10004",
|
||||
"server.mindustry-tool.com:10005"
|
||||
"server.mindustry-tool.com:10005",
|
||||
"144.76.57.59:14899",
|
||||
"144.76.57.59:24942",
|
||||
"144.76.57.59:19672",
|
||||
"144.76.57.59:12858",
|
||||
"144.76.57.59:14761"
|
||||
]
|
||||
},
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user