From d9a66278fffa75a8b7c6cb99004c6a99ec226d11 Mon Sep 17 00:00:00 2001 From: Anuken Date: Sun, 26 Nov 2017 22:40:43 -0500 Subject: [PATCH] Added sandbox mode and new fortress enemy --- .../sprites/enemies/fortressenemy-t1.png | Bin 0 -> 451 bytes .../sprites/enemies/fortressenemy-t2.png | Bin 0 -> 447 bytes .../sprites/enemies/fortressenemy-t3.png | Bin 0 -> 470 bytes core/assets/sprites/sprites.atlas | 477 +++++++++--------- core/assets/sprites/sprites.png | Bin 50433 -> 51732 bytes core/src/io/anuke/mindustry/Mindustry.java | 1 + core/src/io/anuke/mindustry/ai/Pathfind.java | 2 +- core/src/io/anuke/mindustry/core/Control.java | 27 +- .../anuke/mindustry/entities/BulletType.java | 34 +- .../mindustry/entities/effect/DamageArea.java | 2 +- .../anuke/mindustry/entities/effect/Fx.java | 34 ++ .../mindustry/entities/enemies/Enemy.java | 31 +- .../entities/enemies/FortressEnemy.java | 62 +++ .../entities/enemies/HealerEnemy.java | 1 + .../mindustry/entities/enemies/TankEnemy.java | 4 +- core/src/io/anuke/mindustry/io/SaveIO.java | 33 +- .../io/anuke/mindustry/ui/LevelDialog.java | 22 +- .../src/io/anuke/mindustry/ui/LoadDialog.java | 4 +- .../ui/fragments/BlocksFragment.java | 2 +- .../mindustry/ui/fragments/HudFragment.java | 16 +- .../io/anuke/mindustry/world/GameMode.java | 5 + .../mindustry/world/blocks/WeaponBlocks.java | 21 +- .../world/blocks/types/defense/Turret.java | 18 +- desktop/mindustry-saves/0.mins | Bin 2553 -> 1399 bytes desktop/mindustry-saves/1.mins | Bin 2338 -> 2085 bytes 25 files changed, 510 insertions(+), 286 deletions(-) create mode 100644 core/assets-raw/sprites/enemies/fortressenemy-t1.png create mode 100644 core/assets-raw/sprites/enemies/fortressenemy-t2.png create mode 100644 core/assets-raw/sprites/enemies/fortressenemy-t3.png create mode 100644 core/src/io/anuke/mindustry/entities/enemies/FortressEnemy.java create mode 100644 core/src/io/anuke/mindustry/world/GameMode.java diff --git a/core/assets-raw/sprites/enemies/fortressenemy-t1.png b/core/assets-raw/sprites/enemies/fortressenemy-t1.png new file mode 100644 index 0000000000000000000000000000000000000000..08af9a95b3f55d380c334e945302879447244e6a GIT binary patch literal 451 zcmV;!0X+VRP)e zSad^gZEa<4bO1wgWnpw>WFU8GbZ8()Nlj2!fese{00ApWL_t(I%hgn|al-K}-=n4}!=fO^V=7M-T)a4-gdaZ={rhQi`|LQc4}| zdlHOZx32{Qz~%AaJ{WzN!~#M@(A#g!*YA9~fHtd$KvfTCstOUosPqHiGo{L`X00Mp zoej^F>W_eA!F7qT*_Rl1XG4Z8(e~v$&pZ7*&yAhc>BANT%gSf9z&)T|+z9}3&J&p~ zG2&uC0N^cr<^5RK9XQ*;_y$P2%>GIV=Xr*zHZTH{%_}8{o7tT66l{5(zAw+)=x=S4 zpFKNkl=s^W0C2xv5A#T!WuHcGk^!pPfUNB|Z@D@4N*$H%!5g5xDYj$u^t`X#2Y=u$ tX7U5fVETFRUJs`Y-2Q0}(y8cge zSad^gZEa<4bO1wgWnpw>WFU8GbZ8()Nlj2!fese{00AdSL_t(I%e7RyZNxAPeHLy4 zW|FH_UMXk|&!7=F!>!@gE?s+)XaqY&K!c(w2MBPi#NXqiND26)F!RC8$A5JI2--d zM2E38_j}7wnAKXb#CY157#m-gp`9=h;WH z)`~4>*nJK54!jkbQ^K55cU3fo`<98Q**_~wjAxtOx9qSSdQZ>BUZ&h**&E3F{qDB^ paBKqrjN=FZgZ%^)n`U=ECO<07&WCY&erf;!002ovPDHLkV1kF6vM>Mu literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/enemies/fortressenemy-t3.png b/core/assets-raw/sprites/enemies/fortressenemy-t3.png new file mode 100644 index 0000000000000000000000000000000000000000..7beb99e5f70a3f7b006775b24bf7b0175945fc26 GIT binary patch literal 470 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 B9U$8&}LuKZX`b+ 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 Q7TUn@sL7E6J*ON02VLmj(*OVf literal 50433 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 weapons = new Array<>(); @@ -51,6 +51,7 @@ public class Control extends Module{ float wavetime; float extrawavetime; int enemies = 0; + GameMode mode = GameMode.waves; Tile core; Array spawnpoints = new Array<>(); @@ -162,7 +163,7 @@ public class Control extends Module{ public void reset(){ weapons.clear(); - Vars.renderer.clearTiles(); + renderer.clearTiles(); weapons.add(Weapon.blaster); player.weapon = weapons.first(); @@ -187,7 +188,7 @@ public class Control extends Module{ } public void play(){ - Vars.renderer.clearTiles(); + renderer.clearTiles(); player.x = core.worldx(); player.y = core.worldy() - Vars.tilesize*2 - ((int)(Gdx.graphics.getWidth() / (float)Core.cameraScale * 2) % 2 == 0 ? 0.5f : 0); @@ -232,6 +233,14 @@ public class Control extends Module{ }); } + public GameMode getMode(){ + return mode; + } + + public void setMode(GameMode mode){ + this.mode = mode; + } + public boolean hasWeapon(Weapon weapon){ return weapons.contains(weapon, true); } @@ -443,7 +452,7 @@ public class Control extends Module{ if(Inputs.keyDown(Keys.SHIFT_LEFT)){ new HealerEnemy(0).set(player.x, player.y).add(); }else{ - new TitanEnemy(0).set(player.x, player.y).add(); + new FortressEnemy(0).set(player.x, player.y).add(); } } } @@ -479,17 +488,19 @@ public class Control extends Module{ } } - if(!tutorial.active()){ + if(tutorial.active()){ + tutorial.update(); + } + + if(!tutorial.active() && mode != GameMode.sandbox){ extrawavetime -= delta(); if(enemies <= 0){ wavetime -= delta(); } - }else{ - tutorial.update(); } - if(wavetime <= 0 || (debug && Inputs.keyUp(Keys.F)) || extrawavetime <= 0){ + if(wavetime <= 0){ runWave(); } diff --git a/core/src/io/anuke/mindustry/entities/BulletType.java b/core/src/io/anuke/mindustry/entities/BulletType.java index 0db38cca5a..12de2f69d5 100644 --- a/core/src/io/anuke/mindustry/entities/BulletType.java +++ b/core/src/io/anuke/mindustry/entities/BulletType.java @@ -20,6 +20,7 @@ public abstract class BulletType extends BaseBulletType{ static Color lightRed = Hue.mix(Color.WHITE, Color.FIREBRICK, 0.1f); static Color lightOrange = Color.valueOf("f68021"); static Color whiteOrange = Hue.mix(lightOrange, Color.WHITE, 0.6f); + static Color whiteYellow = Hue.mix(Color.YELLOW, Color.WHITE, 0.6f); public static final BulletType @@ -128,7 +129,7 @@ public abstract class BulletType extends BaseBulletType{ Effects.effect(Fx.shellsmoke, b); Effects.effect(Fx.shellexplosion, b); - DamageArea.damage(b.owner instanceof Enemy, b.x, b.y, 25f, (int)(damage * 2f/3f)); + DamageArea.damage(!(b.owner instanceof Enemy), b.x, b.y, 25f, (int)(damage * 2f/3f)); } }, titanshell = new BulletType(1.8f, 60){ @@ -162,6 +163,37 @@ public abstract class BulletType extends BaseBulletType{ DamageArea.damage(!(b.owner instanceof Enemy), b.x, b.y, 25f, (int)(damage * 2f/3f)); } }, + yellowshell = new BulletType(1.2f, 20){ + { + lifetime = 60f; + hitsize = 11f; + } + + public void draw(Bullet b){ + Draw.color(whiteYellow); + Draw.rect("titanshell", b.x, b.y, b.angle()); + Draw.reset(); + } + + public void update(Bullet b){ + if(Timers.get(b, "smoke", 4)){ + Effects.effect(Fx.smoke, b.x + Mathf.range(2), b.y + Mathf.range(2)); + } + } + + public void despawned(Bullet b){ + removed(b); + } + + public void removed(Bullet b){ + Effects.shake(3f, 3f, b); + + Effects.effect(Fx.shellsmoke, b); + Effects.effect(Fx.shockwaveSmall, b); + + DamageArea.damage(!(b.owner instanceof Enemy), b.x, b.y, 25f, (int)(damage * 2f/3f)); + } + }, blast = new BulletType(1.1f, 80){ { lifetime = 0f; diff --git a/core/src/io/anuke/mindustry/entities/effect/DamageArea.java b/core/src/io/anuke/mindustry/entities/effect/DamageArea.java index 0a270326c0..51f8415b2a 100644 --- a/core/src/io/anuke/mindustry/entities/effect/DamageArea.java +++ b/core/src/io/anuke/mindustry/entities/effect/DamageArea.java @@ -14,7 +14,7 @@ public class DamageArea{ public static void damage(boolean enemies, float x, float y, float radius, int damage){ if(enemies){ - Entities.getNearby(x, y, radius*2, entity->{ + Entities.getNearby(Entities.getGroup(Enemy.class), x, y, radius*2, entity->{ if(entity instanceof Enemy){ Enemy enemy = (Enemy)entity; if(enemy.distanceTo(x, y) > radius){ diff --git a/core/src/io/anuke/mindustry/entities/effect/Fx.java b/core/src/io/anuke/mindustry/entities/effect/Fx.java index f305b020a0..feec4f2403 100644 --- a/core/src/io/anuke/mindustry/entities/effect/Fx.java +++ b/core/src/io/anuke/mindustry/entities/effect/Fx.java @@ -13,6 +13,7 @@ public class Fx{ static Color lightRed = Hue.mix(Color.WHITE, Color.FIREBRICK, 0.1f); static Color lightOrange = Color.valueOf("f68021"); static Color whiteOrange = Hue.mix(lightOrange, Color.WHITE, 0.6f); + static Color whiteYellow = Hue.mix(Color.YELLOW, Color.WHITE, 0.6f); public static final Effect @@ -34,6 +35,28 @@ public class Fx{ Draw.reset(); }), + mortarshot = new Effect(10f, e -> { + Draw.color(Color.WHITE, Color.DARK_GRAY, e.ifract()); + Draw.thick(e.fract()*6f); + Draw.lineAngle(e.x, e.y, e.rotation, e.fract()*10f); + Draw.thick(e.fract()*5f); + Draw.lineAngle(e.x, e.y, e.rotation, e.fract()*14f); + Draw.thick(e.fract()*1f); + Draw.lineAngle(e.x, e.y, e.rotation, e.fract()*16f); + Draw.reset(); + }), + + railshot = new Effect(9f, e -> { + Draw.color(Color.WHITE, Color.DARK_GRAY, e.ifract()); + Draw.thick(e.fract()*5f); + Draw.lineAngle(e.x, e.y, e.rotation, e.fract()*8f); + Draw.thick(e.fract()*4f); + Draw.lineAngle(e.x, e.y, e.rotation, e.fract()*12f); + Draw.thick(e.fract()*1f); + Draw.lineAngle(e.x, e.y, e.rotation, e.fract()*14f); + Draw.reset(); + }), + titanshot = new Effect(12f, e -> { Draw.color(Color.WHITE, lightOrange, e.ifract()); Draw.thick(e.fract()*7f); @@ -45,6 +68,17 @@ public class Fx{ Draw.reset(); }), + largeCannonShot = new Effect(11f, e -> { + Draw.color(Color.WHITE, whiteYellow, e.ifract()); + Draw.thick(e.fract()*6f); + Draw.lineAngle(e.x, e.y, e.rotation, e.fract()*12f); + Draw.thick(e.fract()*3f); + Draw.lineAngle(e.x, e.y, e.rotation, e.fract()*16f); + Draw.thick(e.fract()*1f); + Draw.lineAngle(e.x, e.y, e.rotation, e.fract()*18f); + Draw.reset(); + }), + shockwave = new Effect(10f, e -> { Draw.color(Color.WHITE, Color.LIGHT_GRAY, e.ifract()); Draw.thick(e.fract()*2f + 0.2f); diff --git a/core/src/io/anuke/mindustry/entities/enemies/Enemy.java b/core/src/io/anuke/mindustry/entities/enemies/Enemy.java index e510681f7a..91ba5b1e25 100644 --- a/core/src/io/anuke/mindustry/entities/enemies/Enemy.java +++ b/core/src/io/anuke/mindustry/entities/enemies/Enemy.java @@ -11,8 +11,10 @@ import io.anuke.mindustry.entities.Player; import io.anuke.mindustry.entities.effect.Fx; import io.anuke.mindustry.entities.effect.Shaders; import io.anuke.mindustry.world.Tile; +import io.anuke.ucore.UCore; import io.anuke.ucore.core.*; import io.anuke.ucore.entities.*; +import io.anuke.ucore.util.Angles; import io.anuke.ucore.util.Mathf; import io.anuke.ucore.util.Tmp; @@ -24,18 +26,21 @@ public class Enemy extends DestructibleEntity{ protected float reload = 32; protected float range = 60; protected float length = 4; - protected float rotatespeed = 7f; + protected float rotatespeed = 0.1f; protected float turretrotatespeed = 0.2f; protected boolean alwaysRotate = false; protected BulletType bullet = BulletType.small; protected String shootsound = "enemyshoot"; protected int damage; + protected Enemy spawner; + protected int spawned = 0; + protected float angle; + protected boolean targetCore = false; public int spawn; public int node = -1; public Tile[] path; - public Vector2 direction = new Vector2(); public float xvelocity, yvelocity; public Entity target; public int tier = 1; @@ -63,7 +68,7 @@ public class Enemy extends DestructibleEntity{ if(nearCore){ vec = Tmp.v2.setZero(); - target = core.entity; + if(targetCore) target = core.entity; }else{ vec = Vars.world.pathfinder().find(this); vec.sub(x, y).setLength(speed); @@ -94,7 +99,6 @@ public class Enemy extends DestructibleEntity{ move(vec.x * Timers.delta(), vec.y * Timers.delta()); - updateTargeting(nearCore); } @@ -107,6 +111,10 @@ public class Enemy extends DestructibleEntity{ target = Entities.getClosest(Entities.defaultGroup(), x, y, range, e -> e instanceof Player); } } + + if(target instanceof Enemy){ + UCore.log(target); + } if(target != null && bullet != null){ updateShooting(); @@ -125,8 +133,8 @@ public class Enemy extends DestructibleEntity{ } void shoot(BulletType bullet, float rotation){ - vector.set(length, 0).rotate(direction.angle() + rotation); - Bullet out = new Bullet(bullet, this, x + vector.x, y + vector.y, direction.angle() + rotation).add(); + Angles.translation(angle + rotation, length); + Bullet out = new Bullet(bullet, this, x + Angles.x(), y + Angles.y(), this.angle + rotation).add(); out.damage = (int) (damage * Vars.multiplier); } @@ -195,6 +203,9 @@ public class Enemy extends DestructibleEntity{ public void removed(){ if(!dead){ Vars.control.enemyDeath(); + if(spawner != null){ + spawner.spawned --; + } } } @@ -208,11 +219,9 @@ public class Enemy extends DestructibleEntity{ yvelocity = (y - lasty) / Timers.delta(); if(target == null || alwaysRotate){ - direction.add(xvelocity * Timers.delta() / 3f, yvelocity * Timers.delta() / 3f); - direction.limit(speed * rotatespeed); + angle = Mathf.slerp(angle, 180f+Mathf.atan2(xvelocity, yvelocity), rotatespeed * Timers.delta()); }else{ - float angle = angleTo(target); - direction.lerp(vector.set(1f, 0f).rotate(angle), turretrotatespeed * Timers.delta()); + angle = Mathf.slerp(angle, angleTo(target), turretrotatespeed * Timers.delta()); } } @@ -226,7 +235,7 @@ public class Enemy extends DestructibleEntity{ Shaders.outline.apply(); Draw.color(); - Draw.rect(region, x, y, direction.angle() - 90); + Draw.rect(region, x, y, this.angle - 90); Graphics.flush(); diff --git a/core/src/io/anuke/mindustry/entities/enemies/FortressEnemy.java b/core/src/io/anuke/mindustry/entities/enemies/FortressEnemy.java new file mode 100644 index 0000000000..9a387c5c22 --- /dev/null +++ b/core/src/io/anuke/mindustry/entities/enemies/FortressEnemy.java @@ -0,0 +1,62 @@ +package io.anuke.mindustry.entities.enemies; + +import io.anuke.mindustry.Vars; +import io.anuke.mindustry.entities.BulletType; +import io.anuke.mindustry.entities.effect.Fx; +import io.anuke.ucore.core.Effects; +import io.anuke.ucore.core.Timers; +import io.anuke.ucore.util.Angles; + +public class FortressEnemy extends Enemy{ + static int maxSpawn = 6; + + float spawnTime = 240; + boolean deployed; + + public FortressEnemy(int spawn) { + super(spawn); + + speed = 0.1f; + reload = 90; + maxhealth = 700; + range = 70f; + bullet = BulletType.yellowshell; + hitbox.setSize(9f); + turretrotatespeed = rotatespeed = 0.08f; + length = 7f; + + heal(); + } + + @Override + public void move(){ + super.move(); + + if(deployed){ + + if(Timers.get(this, "spawn", spawnTime) && spawned < maxSpawn){ + Angles.translation(angle, 20f); + + FastEnemy enemy = new FastEnemy(spawn); + enemy.tier = this.tier; + enemy.spawner = this; + enemy.set(x + Angles.x(), y + Angles.y()); + Effects.effect(Fx.spawn, enemy); + enemy.add(); + spawned ++; + } + }else if(distanceTo(Vars.control.getCore().worldx(), + Vars.control.getCore().worldy()) <= 120f){ + deployed = true; + speed = 0.001f; + } + } + + @Override + public void shoot(BulletType type){ + super.shoot(bullet); + Effects.effect(Fx.largeCannonShot, x + Angles.x(), y + Angles.y(), angle); + Effects.shake(3f, 3f, this); + } + +} diff --git a/core/src/io/anuke/mindustry/entities/enemies/HealerEnemy.java b/core/src/io/anuke/mindustry/entities/enemies/HealerEnemy.java index 7f46b9c607..ae3ab9675c 100644 --- a/core/src/io/anuke/mindustry/entities/enemies/HealerEnemy.java +++ b/core/src/io/anuke/mindustry/entities/enemies/HealerEnemy.java @@ -23,6 +23,7 @@ public class HealerEnemy extends Enemy{ bullet = BulletType.shot; range = 30f; alwaysRotate = false; + targetCore = false; heal(); } diff --git a/core/src/io/anuke/mindustry/entities/enemies/TankEnemy.java b/core/src/io/anuke/mindustry/entities/enemies/TankEnemy.java index 0558d950c5..153e79471c 100644 --- a/core/src/io/anuke/mindustry/entities/enemies/TankEnemy.java +++ b/core/src/io/anuke/mindustry/entities/enemies/TankEnemy.java @@ -18,9 +18,9 @@ public class TankEnemy extends Enemy{ } void shoot(){ - vector.set(length, 0).rotate(direction.angle()); + Angles.translation(angle, 8f); - Angles.shotgun(3, 8f, direction.angle(), f->{ + Angles.shotgun(3, 8f, angle, f->{ Bullet out = new Bullet(bullet, this, x+vector.x, y+vector.y, f).add(); out.damage = (int)(damage*Vars.multiplier); }); diff --git a/core/src/io/anuke/mindustry/io/SaveIO.java b/core/src/io/anuke/mindustry/io/SaveIO.java index bdfbf2bddc..990ae1fac7 100644 --- a/core/src/io/anuke/mindustry/io/SaveIO.java +++ b/core/src/io/anuke/mindustry/io/SaveIO.java @@ -19,9 +19,7 @@ import io.anuke.mindustry.Vars; import io.anuke.mindustry.entities.enemies.*; import io.anuke.mindustry.resource.Item; import io.anuke.mindustry.resource.Weapon; -import io.anuke.mindustry.world.Block; -import io.anuke.mindustry.world.Map; -import io.anuke.mindustry.world.Tile; +import io.anuke.mindustry.world.*; import io.anuke.mindustry.world.blocks.Blocks; import io.anuke.ucore.core.Core; import io.anuke.ucore.entities.Entities; @@ -38,6 +36,8 @@ import io.anuke.ucore.entities.Entities; * Wave (int) * Wave countdown time (float) * + * Gamemode Ordinal (byte) + * * Player X (float) * Player Y (float) * Player health (int) @@ -82,7 +82,7 @@ import io.anuke.ucore.entities.Entities; */ public class SaveIO{ /**Save file version ID. Should be incremented every breaking release.*/ - private static final int fileVersionID = 9; + private static final int fileVersionID = 10; //TODO automatic registration of types? private static final Array> enemyIDs = Array.with( @@ -135,9 +135,21 @@ public class SaveIO{ public static int getWave(int slot){ try(DataInputStream stream = new DataInputStream(fileFor(slot).read())){ - stream.readInt(); - stream.readLong(); - return stream.readInt(); + stream.readInt(); //read version + stream.readLong(); //read last saved time + stream.readByte(); //read the gamemode + return stream.readInt(); //read the wave + }catch (IOException e){ + throw new RuntimeException(e); + } + } + + public static GameMode getMode(int slot){ + + try(DataInputStream stream = new DataInputStream(fileFor(slot).read())){ + stream.readInt(); //read version + stream.readLong(); //read last saved time + return GameMode.values()[stream.readByte()]; //read the gamemode }catch (IOException e){ throw new RuntimeException(e); } @@ -151,10 +163,13 @@ public class SaveIO{ try(DataOutputStream stream = new DataOutputStream(file.write(false))){ + //--META-- stream.writeInt(fileVersionID); //version id - stream.writeLong(TimeUtils.millis()); + stream.writeLong(TimeUtils.millis()); //last saved //--GENERAL STATE-- + stream.writeByte(Vars.control.getMode().ordinal()); //gamemode + stream.writeInt(Vars.control.getWave()); //wave stream.writeFloat(Vars.control.getWaveCountdown()); //wave countdown @@ -270,6 +285,7 @@ public class SaveIO{ } //general state + byte mode = stream.readByte(); int wave = stream.readInt(); float wavetime = stream.readFloat(); @@ -282,6 +298,7 @@ public class SaveIO{ Vars.player.x = playerx; Vars.player.y = playery; Vars.player.health = playerhealth; + Vars.control.setMode(GameMode.values()[mode]); Core.camera.position.set(playerx, playery, 0); //weapons diff --git a/core/src/io/anuke/mindustry/ui/LevelDialog.java b/core/src/io/anuke/mindustry/ui/LevelDialog.java index a6cd5f6c85..e19f697798 100644 --- a/core/src/io/anuke/mindustry/ui/LevelDialog.java +++ b/core/src/io/anuke/mindustry/ui/LevelDialog.java @@ -3,15 +3,16 @@ package io.anuke.mindustry.ui; import com.badlogic.gdx.graphics.g2d.TextureRegion; import io.anuke.mindustry.Vars; +import io.anuke.mindustry.world.GameMode; import io.anuke.mindustry.world.Map; import io.anuke.ucore.core.Core; import io.anuke.ucore.core.Settings; import io.anuke.ucore.core.Timers; import io.anuke.ucore.function.StringSupplier; -import io.anuke.ucore.scene.ui.ImageButton; -import io.anuke.ucore.scene.ui.ScrollPane; +import io.anuke.ucore.scene.ui.*; import io.anuke.ucore.scene.ui.layout.Table; import io.anuke.ucore.scene.ui.layout.Unit; +import io.anuke.ucore.scene.utils.Elements; public class LevelDialog extends FloatingDialog{ private Map selectedMap = Map.delta; @@ -31,6 +32,21 @@ public class LevelDialog extends FloatingDialog{ int maxwidth = 4; + Table selmode = new Table(); + ButtonGroup group = new ButtonGroup<>(); + selmode.add("Gamemode: ").padRight(10f).units(Unit.dp); + + for(GameMode mode : GameMode.values()){ + TextButton b = Elements.newButton(mode.toString(), "toggle", ()->{ + Vars.control.setMode(mode); + }); + group.add(b); + selmode.add(b).size(130f, 54f).units(Unit.dp); + } + + content().add(selmode); + content().row(); + for(int i = 0; i < Map.values().length; i ++){ Map map = Map.values()[i]; @@ -61,7 +77,7 @@ public class LevelDialog extends FloatingDialog{ maps.add(image).width(170).pad(4f).units(Unit.dp); } - content().add(pane); + content().add(pane).uniformX(); shown(()->{ //this is necessary for some reason? diff --git a/core/src/io/anuke/mindustry/ui/LoadDialog.java b/core/src/io/anuke/mindustry/ui/LoadDialog.java index 26b874ad68..1e69e792f6 100644 --- a/core/src/io/anuke/mindustry/ui/LoadDialog.java +++ b/core/src/io/anuke/mindustry/ui/LoadDialog.java @@ -46,8 +46,8 @@ public class LoadDialog extends FloatingDialog{ button.row(); - Label info = new Label("[gray]" + (!SaveIO.isSaveValid(i) ? "" : "Wave " + - SaveIO.getWave(slot)+"\nLast Saved: " + SaveIO.getTimeString(i))); + Label info = new Label("[gray]" + (!SaveIO.isSaveValid(i) ? "" : SaveIO.getMode(slot) + ", Wave " + + SaveIO.getWave(slot) + "\nLast Saved: " + SaveIO.getTimeString(i))); info.setAlignment(Align.center, Align.center); button.add(info).padBottom(2).padTop(6); diff --git a/core/src/io/anuke/mindustry/ui/fragments/BlocksFragment.java b/core/src/io/anuke/mindustry/ui/fragments/BlocksFragment.java index f7f7ab3261..e77c6ef22a 100644 --- a/core/src/io/anuke/mindustry/ui/fragments/BlocksFragment.java +++ b/core/src/io/anuke/mindustry/ui/fragments/BlocksFragment.java @@ -100,7 +100,7 @@ public class BlocksFragment implements Fragment{ image.update(()->{ - boolean canPlace = !control.tutorial.active() || control.tutorial.canPlace(); + boolean canPlace = !control.getTutorial().active() || control.getTutorial().canPlace(); boolean has = control.hasItems(r.requirements) && canPlace; //image.setDisabled(!has); image.setChecked(player.recipe == r); diff --git a/core/src/io/anuke/mindustry/ui/fragments/HudFragment.java b/core/src/io/anuke/mindustry/ui/fragments/HudFragment.java index 581e389c41..e6df62fe3c 100644 --- a/core/src/io/anuke/mindustry/ui/fragments/HudFragment.java +++ b/core/src/io/anuke/mindustry/ui/fragments/HudFragment.java @@ -12,6 +12,7 @@ import io.anuke.mindustry.core.GameState; import io.anuke.mindustry.core.GameState.State; import io.anuke.mindustry.entities.enemies.Enemy; import io.anuke.mindustry.resource.Item; +import io.anuke.mindustry.world.GameMode; import io.anuke.ucore.core.Core; import io.anuke.ucore.core.Draw; import io.anuke.ucore.core.Settings; @@ -73,9 +74,9 @@ public class HudFragment implements Fragment{ //ui table new table(){{ - control.tutorial.buildUI(this); + control.getTutorial().buildUI(this); - visible(()->control.tutorial.active()); + visible(()->control.getTutorial().active()); }}.end(); //paused table @@ -92,6 +93,13 @@ public class HudFragment implements Fragment{ new table(){{ atop(); aright(); + + float uheight = 72f; + + new imagebutton("icon-play", Unit.dp.inPixels(30f), ()->{ + Vars.control.runWave(); + }).size(uheight).uniformY().units(Unit.dp) + .visible(()-> Vars.control.getMode() == GameMode.sandbox && Vars.control.getEnemiesRemaining() <= 0); new table("button"){{ @@ -101,11 +109,11 @@ public class HudFragment implements Fragment{ new label(()-> control.getEnemiesRemaining() > 0 ? control.getEnemiesRemaining() + " Enemies remaining" : - control.tutorial.active() ? "waiting..." : "New wave in " + (int) (control.getWaveCountdown() / 60f)) + (control.getTutorial().active() || Vars.control.getMode() == GameMode.sandbox) ? "waiting..." : "New wave in " + (int) (control.getWaveCountdown() / 60f)) .minWidth(150); get().pad(Unit.dp.inPixels(12)); - }}; + }}.height(uheight).units(Unit.dp); visible(()->!GameState.is(State.menu)); }}.end(); diff --git a/core/src/io/anuke/mindustry/world/GameMode.java b/core/src/io/anuke/mindustry/world/GameMode.java new file mode 100644 index 0000000000..62405136fd --- /dev/null +++ b/core/src/io/anuke/mindustry/world/GameMode.java @@ -0,0 +1,5 @@ +package io.anuke.mindustry.world; + +public enum GameMode{ + waves, sandbox; +} diff --git a/core/src/io/anuke/mindustry/world/blocks/WeaponBlocks.java b/core/src/io/anuke/mindustry/world/blocks/WeaponBlocks.java index b205926b2d..ac4f3969fa 100644 --- a/core/src/io/anuke/mindustry/world/blocks/WeaponBlocks.java +++ b/core/src/io/anuke/mindustry/world/blocks/WeaponBlocks.java @@ -103,6 +103,7 @@ public class WeaponBlocks{ bullet = BulletType.sniper; ammo = Item.steel; health = 70; + shootEffect = Fx.railshot; fullDescription = "Advanced long-range turret. Uses steel for ammo. Very high damage, but low fire rate. " + "Expensive to use, but can be placed far away from enemy lines due to its range."; } @@ -121,6 +122,8 @@ public class WeaponBlocks{ fullDescription = "Advanced splash-damage turret. Uses coal for ammo. " + "Very slow fire rate and bullets, but very high single-target and splash damage. " + "Useful for large crowds of enemies."; + shootEffect = Fx.mortarshot; + shootShake = 2f; } }, @@ -189,6 +192,7 @@ public class WeaponBlocks{ shots = 2; fullDescription = "The ultimate rapid-fire turret. Uses uranium as ammo. Shoots large slugs at a high fire rate. " + "Medium range. Spans multiple tiles. Extremely tough."; + shootEffect = Fx.chainshot; } //TODO specify turret shoot effect in turret instead of doing it manually @@ -203,7 +207,7 @@ public class WeaponBlocks{ for(int i = -1; i < 1; i ++){ Angles.vector.set(len, Mathf.sign(i) * space).rotate(entity.rotation); bullet(tile, entity.rotation); - Effects.effect(Fx.chainshot, tile.worldx() + Angles.x() + offset.x, + Effects.effect(shootEffect, tile.worldx() + Angles.x() + offset.x, tile.worldy()+ Angles.y() + offset.y, entity.rotation); } @@ -225,19 +229,8 @@ public class WeaponBlocks{ shootCone = 9f; fullDescription = "The ultimate long-range turret. Uses uranium as ammo. Shoots large splash-damage shells at a medium rate of fire. " + "Long range. Spans multiple tiles. Extremely tough."; - } - - @Override - protected void shoot(Tile tile){ - TurretEntity entity = tile.entity(); - Vector2 offset = getPlaceOffset(); - - Angles.translation(entity.rotation, 14f); - bullet(tile, entity.rotation); - Effects.effect(Fx.titanshot, tile.worldx() + Angles.x() + offset.x, - tile.worldy()+ Angles.y() + offset.y, entity.rotation); - - Effects.shake(3f, 3f, tile.worldx(), tile.worldy()); + shootEffect = Fx.titanshot; + shootShake = 3f; } }; } diff --git a/core/src/io/anuke/mindustry/world/blocks/types/defense/Turret.java b/core/src/io/anuke/mindustry/world/blocks/types/defense/Turret.java index 83bab1a746..32ef2ec8e8 100644 --- a/core/src/io/anuke/mindustry/world/blocks/types/defense/Turret.java +++ b/core/src/io/anuke/mindustry/world/blocks/types/defense/Turret.java @@ -19,6 +19,7 @@ import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.Tile; import io.anuke.ucore.core.Draw; import io.anuke.ucore.core.Effects; +import io.anuke.ucore.core.Effects.Effect; import io.anuke.ucore.core.Timers; import io.anuke.ucore.entities.Entities; import io.anuke.ucore.util.Angles; @@ -41,6 +42,8 @@ public class Turret extends Block{ protected int maxammo = 400; protected float rotatespeed = 0.2f; protected float shootCone = 5f; + protected Effect shootEffect = null; + protected float shootShake = 0f; public Turret(String name) { super(name); @@ -216,6 +219,8 @@ public class Turret extends Block{ protected void shoot(Tile tile){ TurretEntity entity = tile.entity(); + Vector2 offset = getPlaceOffset(); + Angles.translation(entity.rotation, width * Vars.tilesize / 2f); for(int i = 0; i < shots; i ++){ @@ -228,12 +233,21 @@ public class Turret extends Block{ } } + + if(shootEffect != null){ + Effects.effect(shootEffect, tile.worldx() + Angles.x() + offset.x, + tile.worldy()+ Angles.y() + offset.y, entity.rotation); + } + + if(shootShake > 0){ + Effects.shake(shootShake, shootShake, tile.entity); + } } protected void bullet(Tile tile, float angle){ Vector2 offset = getPlaceOffset(); - Bullet out = new Bullet(bullet, tile.entity, tile.worldx() + Angles.x() + offset.x, tile.worldy() + Angles.y() + offset.y, angle).add(); - out.damage = (int)(bullet.damage*Vars.multiplier); + Bullet out = new Bullet(bullet, tile.entity, tile.worldx() + Angles.x() + offset.x, tile.worldy() + Angles.y() + offset.y, angle).add(); + out.damage = (int)(bullet.damage*Vars.multiplier); } public static class TurretEntity extends TileEntity{ diff --git a/desktop/mindustry-saves/0.mins b/desktop/mindustry-saves/0.mins index 7bf59da2b401cf2fffaca7fcf3a6b5da0f8dc37f..5df3888dda46cb0f06dc9b5ea5019507a7044e69 100644 GIT binary patch literal 1399 zcmZXTOKTKC5XWmaYeY@l3>%Z6PEW67HrZr-Wff6YvyTMDw>NKI#ETG*K0px^#804p z0P!N?`-!?qe4v7Y2S0=t2_C&z)ieJJJJW}nU;nGR`aj(>M6{a7JN56{xh3M^%@+Th znaL5g|8``4npS#bu3znyKoWW+{O6g`7B^&Hgy0yMk}R90=^CA2}M(cRFt zzXJ8W28}3H_dpwd12RfArJYLlE$T-1f+|YEKJr+tOGXYgc-K8QseIqGRLX7mO2M>S zQvVe>|^B8;z1U&(ZcP7Z0k-!TNVW54uW>dheu29YVhOj56V z@ecW4tjG0ro;nXQ`vn4uN)j1Jw?L3P(T{rAej!@5uT`K_%4+ b$DsK?K#|gB)wyBxvRM6JiTD7I3qE@RY_-K6) z1Qii{(T7$kRY9#6v<0z>KD0K8lwR?!h?F8iQ4xyILR|abv$pAE&co!}YyG#q&z>YA z(k;?)-=%G@d>|s7jlCj`(G3?HtM;77dY4?aMEqyZbcz4m<0Ag^T^*nuSK{NDD`3oa z8bV+P(w5Bq+vwgt2b8rax*-lYDN-E5PZ4~MIU0AA-sjwFNd-?SA(A{m%Dh208&JzT z^4_F28j?b*p;IbDZFyD+TH!5H-`k|TCDZpEW<-t#4>E52UAq2z)Pf?Zw?sGdK51l( z?s7*%A5rsGGH&n?wbBH&L`1E4m^4r!^?yuCI4W1E4ShmNtWv_>vPY;*IPyNF8(P8% zUGo_=&r!}%;s#a;K4)C-YSQo*q>|OliLYTsWi2T+MM^u0AElOBXYQ4#V~#g<^zyae z;^)>eGjcVCkEw=zr*72jf+=ZV7PMoFHNP2W@)+maxT&tD7PP4qw5b)^xSLI_>r7*P zF5#OrZ5x|4n*`HOnkB-5FZVPloPMfFE2a&YuTlSTC2VP^MoL-@u3u}}66!tu2=wDE zI`;Cwevvf=kt4WHLG1-o4AFs&G?%Dz2R_2ui%n;sZa~o4uiI*!Si1S^`;2QU%)Hv9 zu>M+;vNHxuZfd>FMWD+~%`VpbX57LazKxq=ZqTMy(56;sO430l?BunuQlaPcIol&ps7 zCLP62(H(SDxkV=|8E2>3B9&9B)%DJHm_x)9oYo&`l6O?HgeGGf=~gzj6hwg&AEM~# zHbwKBT-v6^X}dE>JJTjDan_~X+L8vNa&|!q);;Gm8dF}qnG|i-7=3Z0y2XLIw*{Mv z&e?)y?>vvP4K6v&Z0S3Za+}ynYb@$i+Qg0ArlX+a^^WpiQ(IvPBlm2jHvSDM+Nv`~ z_A1wc9^AKbQ!_C|sd*P(7KwkW8K~mjPD)!1ePh@G9=QHCC1?|tpbdXdckB+jy+2Tk z?$imknDt9id;Q^uFoD$~y)|N|>b{E^%N+GtLO0)OIj0qW)C{AMAmVJGcAz?>X3ETL;b94T4LT1 z%W`8q(}40`$S@&~1;y6Yglw4=Z$?&Zfy`E@z)Jd%%atN!v-7VlQ85y-AFGe)1tvV6wqoGmN*)K*aUij6JuDz3{LpVnO_GwkgDyLoh0i_P@=h9S==)XTa!hRn}uh#||2LycYYV3$7*|k%=Z`?RHsGWEz9aur$uIy&oFP5HMM~3-XhfZ92$QCWmw%yDiga<)DkNf zUSZxq3e`*jS$Y-97NOW1sOK#-#tOVcmUs_EK0qTMq4X!H_cQdGmHvWk=qnWZ24#Oh Rp`TEgHTnx#ZVf8f`Um?y&7=ST literal 2338 zcmZvcU2Kz87{{NEx!G+UEo-}_AE$4>*0R!e9ot~A={gSD5!{3uMN}MW{JN0Hg^(EK z!o+xCqKTr5M!ayaJ5WQ^XvX+Zi3$=8s5nH>L=7f>AQzgTKIfeN53+3+XTRtFf4<(2 zzC`3Ea&7u``z>)Is+T*7q$koLD?5MT_#UdSCGq5r1?nI^F1i%espA@T)To1qye^WV z;g{vI?{~X66mF8KV--2tFu|egS#Fwqt3j?E=}>MzhpA<)@}?1w4!KsG*&qiu7j-R% z;i-4!idP$TSj)91Ps(*iW;k@+$+ekH^>Y2han!~=r{xWM>vS^DO{9C|nzQ{XSg~Wn+Zc}dj(oZfW&KX+YNC=I1aa9X;A`N zz*0PkTHouSR!brcEqjF~p!s)e;%Qk!yuE)9+_0r&26-8yafNRZdHF2d(qd?V4rp0R zMN5SoT>lbKE)Vh+L0P`T{Ks1bJE65(@|B?F-vD(PQrFR~HKuM$&HJGhdq9z1koRp+ ztEGkSXpOJ8XE~_Y2MVmPv=ZbP;<+8~X^qMAK1dkienm^c0k~mHQA3>PSjt;BJcVh| z>qxzl+EI@oI(2m{X8YG`KckAwW8<0wb2U-TQ*)3fOy0nPsur84S8R4K{=z)5i~ibj zhAxeLMn8;|s2j^8lr%`om#j%se@!zn*qb-GM{p42j=BsEhE znO-#<+I@#!RIciE=%p$-L;7RDnsZ1=s&Q z|W|w?W2WTR#NlWa{6=RV{-bo(#6zK`p0{L{nA;1(^lo`u$J zsqH&xxw}AlL);}WrZuL;=inALgL3zRTJA$$=toe&XuNaN{m65Eg4_5rw9Et0(hq`~ hF2D^M;td?DwLgTs=7*8z{|%b|cW9nRK)$WU{SWO_;8y?u