diff --git a/src/newhorizon/block/defence/HyperSpaceWarper.java b/src/newhorizon/block/defence/HyperSpaceWarper.java index 9062b53e..265d9730 100644 --- a/src/newhorizon/block/defence/HyperSpaceWarper.java +++ b/src/newhorizon/block/defence/HyperSpaceWarper.java @@ -21,7 +21,6 @@ import arc.scene.ui.layout.Table; import arc.struct.IntSeq; import arc.struct.Seq; -import arc.util.Log; import arc.util.Time; import arc.util.Tmp; import arc.util.io.Reads; @@ -392,8 +391,8 @@ public void teleport(int spawnRange){ for(int id : selects.items){ Unit u = Groups.unit.getByID(id); if(u != null){ - if(!u.type.flying)grounds++; - else air++; + if(!u.type.flying){grounds++;} + else {air++;} selectUnits.add(u); } } @@ -470,8 +469,6 @@ public boolean targetValid(int tx, int ty){ } public void transport(Unit u, float tx, float ty, float angle){ - Log.info(tx + " | " + ty); - Unit unit = u.type.create(team); unit.set(tx, ty); unit.rotation = angle; diff --git a/src/newhorizon/content/NHBlocks.java b/src/newhorizon/content/NHBlocks.java index 78ef138b..335a1fa9 100644 --- a/src/newhorizon/content/NHBlocks.java +++ b/src/newhorizon/content/NHBlocks.java @@ -139,6 +139,7 @@ private static void loadTurrets(){ inaccuracy = 6f; maxAmmo = 40; smokeEffect = Fx.shootBigSmoke2; + consumes.powerCond(3f, TurretBuild::isActive); ammo( Items.silicon, new LaserBulletType(80){{ colors = new Color[]{Pal.bulletYellowBack.cpy().mul(1f, 1f, 1f, 0.45f), Pal.bulletYellowBack, Color.white}; @@ -1126,8 +1127,8 @@ public void load() { hasPower = hasItems = true; flameColor = NHItems.darkEnergy.color; - consumes.items(new ItemStack(NHItems.upgradeSort, 2), new ItemStack(NHItems.thermoCoreNegative, 1), new ItemStack(NHItems.thermoCorePositive, 1)); - consumes.power(15f); + consumes.items(new ItemStack(NHItems.thermoCoreNegative, 1), new ItemStack(NHItems.thermoCorePositive, 1)); + consumes.power(20f); } }; diff --git a/src/newhorizon/content/NHBullets.java b/src/newhorizon/content/NHBullets.java index f990e833..46075152 100644 --- a/src/newhorizon/content/NHBullets.java +++ b/src/newhorizon/content/NHBullets.java @@ -541,15 +541,16 @@ public void hitEntity(Bullet b, Hitboxc other, float initialHealth){ speed = 620; }}; - warperBullet = new TextureMissileType(2.5f, 20f, "ann-missile-atlas@@404049"){ + warperBullet = new SpeedUpBulletType(0.35f, 10f, CIRCLE_BOLT){ @Override public float range(){return 180f;} { - trailLength = 5; + shrinkX = shrinkY = 0.35f; buildingDamageMultiplier = 3.5f; keepVelocity = true; - velocityEnd = 14f; + + velocityEnd = 4f; accelerateBegin = 0.01f; accelerateEnd = 0.9f; @@ -558,9 +559,11 @@ public void hitEntity(Bullet b, Hitboxc other, float initialHealth){ splashDamageRadius = 20; splashDamage = damage * 0.3f; - width = height = 1f; - trailChance = 0; - lifetime = 30f; + width = height = 8f; + trailChance = 0.2f; + trailParam = 1.75f; + trailEffect = NHFx.trail; + lifetime = 60f; collidesAir = false; diff --git a/src/newhorizon/content/NHFx.java b/src/newhorizon/content/NHFx.java index 065bfc7c..6a7a0e26 100644 --- a/src/newhorizon/content/NHFx.java +++ b/src/newhorizon/content/NHFx.java @@ -306,7 +306,7 @@ public static Effect square(Color color, float lifetime, int num, float range, f Draw.z(Layer.effect); Draw.color(unit.team.color.cpy().mul(1.15f), Pal.gray, (1 - unit.elevation + new Rand(e.id).random(-0.25f, 0.25f)) / 4f); - Fill.rect(e.x, e.y, Draw.scl * unit.type.shadowRegion.width * width + 1f, Draw.scl * unit.type.shadowRegion.height * height, e.rotation); + Fill.rect(e.x, e.y, Draw.scl * unit.type.shadowRegion.height * width + 1f, Draw.scl * unit.type.shadowRegion.width * height, e.rotation); }), poly = new Effect(25f, e -> { @@ -314,6 +314,7 @@ public static Effect square(Color color, float lifetime, int num, float range, f Lines.stroke(e.fout() * 2.0F); Lines.poly(e.x, e.y, 6, 2.0F + e.finpow() * e.rotation); }), + healEffect = new Effect(11.0F, (e) -> { Draw.color(NHColor.lightSky); Lines.stroke(e.fout() * 2.0F); diff --git a/src/newhorizon/content/NHUnits.java b/src/newhorizon/content/NHUnits.java index 63a87bef..56540101 100644 --- a/src/newhorizon/content/NHUnits.java +++ b/src/newhorizon/content/NHUnits.java @@ -204,53 +204,53 @@ public void load() { }}; annihilation = new AutoOutlineUnitType("annihilation", - new AutoOutlineWeapon("large-launcher"){{ - top = false; - rotate = false; - alternate = true; - shake = 3.5f; - shootY = 16f; - x = 20f; - recoil = 5.4f; - - shootCone = 30f; - reload = 30f; - shots = 4; - inaccuracy = 4.0F; - ejectEffect = Fx.none; - bullet = new ShrapnelBulletType() {{ - length = 280; - damage = 160.0F; - status = StatusEffects.shocked; - statusDuration = 60f; - fromColor = NHColor.lightSky.cpy().lerp(Color.white, 0.3f); - toColor = NHColor.lightSky; - shootEffect = NHFx.lightningHitSmall(NHColor.lightSky); - smokeEffect = new MultiEffect(NHFx.lightSkyCircleSplash, new Effect(lifetime + 10f, e -> { - Draw.color(fromColor, toColor, e.fin()); - Fill.circle(e.x, e.y, (width / 1.75f) * e.fout()); - })); - }}; - shootSound = Sounds.shotgun; - }}, - new AutoOutlineWeapon(){{ - mirror = false; - rotate = true; - alternate = true; - rotateSpeed = 25f; - x = 0; - y = 8f; - recoil = 2.7f; - shootY = 7f; - shootCone = 40f; - reload = 60f; - shots = 2; - shotDelay = 8f; - inaccuracy = 5.0F; - ejectEffect = Fx.none; - bullet = NHBullets.annMissile; - shootSound = NHSounds.launch; - }} + new AutoOutlineWeapon("large-launcher"){{ + top = false; + rotate = false; + alternate = true; + shake = 3.5f; + shootY = 16f; + x = 20f; + recoil = 5.4f; + + shootCone = 30f; + reload = 30f; + shots = 4; + inaccuracy = 4.0F; + ejectEffect = Fx.none; + bullet = new ShrapnelBulletType() {{ + length = 280; + damage = 160.0F; + status = StatusEffects.shocked; + statusDuration = 60f; + fromColor = NHColor.lightSky.cpy().lerp(Color.white, 0.3f); + toColor = NHColor.lightSky; + shootEffect = NHFx.lightningHitSmall(NHColor.lightSky); + smokeEffect = new MultiEffect(NHFx.lightSkyCircleSplash, new Effect(lifetime + 10f, e -> { + Draw.color(fromColor, toColor, e.fin()); + Fill.circle(e.x, e.y, (width / 1.75f) * e.fout()); + })); + }}; + shootSound = Sounds.shotgun; + }}, + new AutoOutlineWeapon(){{ + mirror = false; + rotate = true; + alternate = true; + rotateSpeed = 25f; + x = 0; + y = 8f; + recoil = 2.7f; + shootY = 7f; + shootCone = 40f; + reload = 60f; + shots = 2; + shotDelay = 8f; + inaccuracy = 5.0F; + ejectEffect = Fx.none; + bullet = NHBullets.annMissile; + shootSound = NHSounds.launch; + }} ){{ constructor = EntityMapping.map(32); abilities.add( @@ -280,18 +280,14 @@ public void load() { warper = new AutoOutlineUnitType("warper"){{ constructor = EntityMapping.map(3); weapons.add(new Weapon(){{ - minShootVelocity = 0.01F; top = true; - rotate = false; + rotate = true; alternate = true; mirror = false; x = 0f; y = -10f; - shootCone = 60f; - reload = 60f; - shots = 5; - shotDelay = 7f; - inaccuracy = 6f; + reload = 6f; + inaccuracy = 3f; ejectEffect = Fx.none; bullet = NHBullets.warperBullet; shootSound = NHSounds.launch;