From b589d8a1df5f1382826cb214610a4901ba5d976a Mon Sep 17 00:00:00 2001 From: Anuken Date: Sun, 29 Apr 2018 01:22:26 -0400 Subject: [PATCH] Added VTOL animation --- .../sprites/units/vtol-booster-1.png | Bin 203 -> 203 bytes .../sprites/units/vtol-booster-2.png | Bin 191 -> 185 bytes core/assets/sprites/sprites.png | Bin 108834 -> 108832 bytes .../mindustry/content/blocks/UnitBlocks.java | 6 ++ .../src/io/anuke/mindustry/content/fx/Fx.java | 8 +-- .../io/anuke/mindustry/content/fx/UnitFx.java | 20 ++++++ .../anuke/mindustry/core/ContentLoader.java | 4 +- core/src/io/anuke/mindustry/core/Control.java | 2 +- .../src/io/anuke/mindustry/core/Renderer.java | 37 ++++++---- .../io/anuke/mindustry/entities/Player.java | 32 ++++----- .../anuke/mindustry/entities/SyncEntity.java | 4 +- .../src/io/anuke/mindustry/entities/Unit.java | 4 +- .../mindustry/entities/units/BaseUnit.java | 15 +++++ .../entities/units/FlyingUnitType.java | 9 +-- .../mindustry/entities/units/UnitType.java | 2 + .../mindustry/entities/units/types/Vtol.java | 63 +++++++++++++++++- .../io/anuke/mindustry/graphics/Palette.java | 1 + .../blocks/types/units/ResupplyPoint.java | 48 ++++++++++++- .../world/blocks/types/units/UnitFactory.java | 2 +- 19 files changed, 201 insertions(+), 56 deletions(-) create mode 100644 core/src/io/anuke/mindustry/content/fx/UnitFx.java diff --git a/core/assets-raw/sprites/units/vtol-booster-1.png b/core/assets-raw/sprites/units/vtol-booster-1.png index bddcf0738a4281be787ae665e8b4080dad623766..509bba3e21d2e61abc8ddadc389c0f211a6b6a10 100644 GIT binary patch delta 101 zcmX@jc$#s7BZn*tGw0OcDuIcf20{HBIS)ASFrSY+@Zjl|+3hA7O-sCP@i)FNn(NRm z@Fzzhto5Cpu`q*Y;hL722ft08?i5<6zek86M_JQu?mmXg?|C1F%S;qzU|?YIboFyt I=akR{01iJV+W-In delta 101 zcmX@jc$#s7BZmYdi@_GAFt&-F20^_Wc^e#fj{MOP&^&!N@20|O*HbM1?JlAkFA8eE z9X!vzCR0H0_8Eo=Tlzd#XsN_L3@j)&Dz+D6*!BC{r!L`VoA@3^znHX@fq{X+)78&q Iol`;+0PvwHssI20 diff --git a/core/assets-raw/sprites/units/vtol-booster-2.png b/core/assets-raw/sprites/units/vtol-booster-2.png index af530d4dd1de8590f1eea1b03acc96f81a3899ee..c98ed041f537d706b42addd050edf92072368b29 100644 GIT binary patch delta 58 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

}TN-3vyI)#v^!zL+u7q2y=#@&6WoWfxzp-D%07 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 diff --git a/core/src/io/anuke/mindustry/content/blocks/UnitBlocks.java b/core/src/io/anuke/mindustry/content/blocks/UnitBlocks.java index 3b79d0e3d6..d50d6944b4 100644 --- a/core/src/io/anuke/mindustry/content/blocks/UnitBlocks.java +++ b/core/src/io/anuke/mindustry/content/blocks/UnitBlocks.java @@ -4,6 +4,7 @@ import io.anuke.mindustry.content.Items; import io.anuke.mindustry.content.UnitTypes; import io.anuke.mindustry.resource.ItemStack; import io.anuke.mindustry.world.Block; +import io.anuke.mindustry.world.blocks.types.units.ResupplyPoint; import io.anuke.mindustry.world.blocks.types.units.UnitFactory; public class UnitBlocks { @@ -34,5 +35,10 @@ public class UnitBlocks { requirements = new ItemStack[]{ new ItemStack(Items.stone, 1) }; + }}, + + resupplyPoint = new ResupplyPoint("resupplypoint"){{ + size = 2; + itemCapacity = 30; }}; } diff --git a/core/src/io/anuke/mindustry/content/fx/Fx.java b/core/src/io/anuke/mindustry/content/fx/Fx.java index 1fbe04b74c..e2be53d3bf 100644 --- a/core/src/io/anuke/mindustry/content/fx/Fx.java +++ b/core/src/io/anuke/mindustry/content/fx/Fx.java @@ -2,6 +2,7 @@ package io.anuke.mindustry.content.fx; import com.badlogic.gdx.graphics.Color; import com.badlogic.gdx.graphics.Colors; +import io.anuke.mindustry.graphics.Palette; import io.anuke.ucore.core.Effects.Effect; import io.anuke.ucore.graphics.Draw; import io.anuke.ucore.graphics.Fill; @@ -36,13 +37,6 @@ public class Fx{ Draw.reset(); }), - dash = new Effect(30, e -> { - Draw.color(Color.CORAL, Color.GRAY, e.fin()); - float size = e.fout()*4f; - Draw.rect("circle", e.x, e.y, size, size); - Draw.reset(); - }), - spawn = new Effect(23, e -> { Lines.stroke(2f); Draw.color(Color.DARK_GRAY, Color.SCARLET, e.fin()); diff --git a/core/src/io/anuke/mindustry/content/fx/UnitFx.java b/core/src/io/anuke/mindustry/content/fx/UnitFx.java new file mode 100644 index 0000000000..92664c373a --- /dev/null +++ b/core/src/io/anuke/mindustry/content/fx/UnitFx.java @@ -0,0 +1,20 @@ +package io.anuke.mindustry.content.fx; + +import io.anuke.mindustry.graphics.Palette; +import io.anuke.ucore.core.Effects.Effect; +import io.anuke.ucore.graphics.Draw; +import io.anuke.ucore.graphics.Fill; +import io.anuke.ucore.util.Angles; +import io.anuke.ucore.util.Mathf; + +public class UnitFx { + public static final Effect + + vtolHover = new Effect(40f, e -> { + float len = e.finpow()*10f; + float ang = e.rotation + Mathf.randomSeedRange(e.id, 30f); + Draw.color(Palette.lightFlame); + Fill.circle(e.x + Angles.trnsx(ang, len), e.y + Angles.trnsy(ang, len), 2f * e.fout()); + Draw.reset(); + }); +} diff --git a/core/src/io/anuke/mindustry/core/ContentLoader.java b/core/src/io/anuke/mindustry/core/ContentLoader.java index cfc252588f..55f9aa8fce 100644 --- a/core/src/io/anuke/mindustry/core/ContentLoader.java +++ b/core/src/io/anuke/mindustry/core/ContentLoader.java @@ -60,9 +60,9 @@ public class ContentLoader { //TODO 128 blocks! Log.info("--- CONTENT INFO ---"); - Log.info("Blocks loaded: {0}\nItems loaded: {1}\nLiquids loaded: {2}\nUpgrades loaded: {3}\nUnits loaded: {4}\nAmmo types loaded: {5}\nStatus effects loaded: {6}", + Log.info("Blocks loaded: {0}\nItems loaded: {1}\nLiquids loaded: {2}\nUpgrades loaded: {3}\nUnits loaded: {4}\nAmmo types loaded: {5}\nStatus effects loaded: {6}\nTotal content classes: {7}", Block.getAllBlocks().size, Item.getAllItems().size, Liquid.getAllLiquids().size, - Mech.getAllUpgrades().size, UnitType.getAllTypes().size, AmmoType.getAllTypes().size, StatusEffect.getAllEffects().size); + Mech.getAllUpgrades().size, UnitType.getAllTypes().size, AmmoType.getAllTypes().size, StatusEffect.getAllEffects().size, content.length); Log.info("-------------------"); } diff --git a/core/src/io/anuke/mindustry/core/Control.java b/core/src/io/anuke/mindustry/core/Control.java index f8247f08e3..c7ed0d553d 100644 --- a/core/src/io/anuke/mindustry/core/Control.java +++ b/core/src/io/anuke/mindustry/core/Control.java @@ -33,7 +33,7 @@ import static io.anuke.mindustry.Vars.*; /**Control module. * Handles all input, saving, keybinds and keybinds. - * Should not handle any game-critical state. + * Should not handle any logic-critical state. * This class is not created in the headless server.*/ public class Control extends Module{ private Tutorial tutorial = new Tutorial(); diff --git a/core/src/io/anuke/mindustry/core/Renderer.java b/core/src/io/anuke/mindustry/core/Renderer.java index 3c6bd27b26..37a6d1f22c 100644 --- a/core/src/io/anuke/mindustry/core/Renderer.java +++ b/core/src/io/anuke/mindustry/core/Renderer.java @@ -251,22 +251,21 @@ public class Renderer extends RendererModule{ if(group.count(p -> p.isFlying() == flying) + playerGroup.count(p -> p.isFlying() == flying && p.team == team) == 0 && flying) continue; + Entities.drawWith(unitGroups[team.ordinal()], u -> u.isFlying() == flying, Unit::drawUnder); + Entities.drawWith(playerGroup, p -> p.isFlying() == flying && p.team == team, Unit::drawUnder); + Shaders.outline.color.set(team.color); Graphics.beginShaders(Shaders.outline); Graphics.shader(Shaders.hit, false); - drawTeam(team, flying); + Entities.draw(unitGroups[team.ordinal()], u -> u.isFlying() == flying); + Entities.draw(playerGroup, p -> p.isFlying() == flying && p.team == team); Graphics.shader(); blocks.drawTeamBlocks(Layer.turret, team); Graphics.endShaders(); } } - private void drawTeam(Team team, boolean flying){ - Entities.draw(unitGroups[team.ordinal()], u -> u.isFlying() == flying); - Entities.draw(playerGroup, p -> p.isFlying() == flying && p.team == team); - } - @Override public void resize(int width, int height){ super.resize(width, height); @@ -533,6 +532,8 @@ public class Renderer extends RendererModule{ } void drawStats(Unit unit){ + if(unit.isDead()) return; + float x = unit.getDrawPosition().x; float y = unit.getDrawPosition().y; @@ -541,8 +542,9 @@ public class Renderer extends RendererModule{ y = (int)y; } - drawBar(Color.SCARLET, x, y - 7f, unit.health / unit.maxhealth); - drawBar(Color.valueOf("32cf6d"), x, y - 8f, unit.inventory.totalAmmo() / (float) unit.inventory.ammoCapacity()); + drawEncloser(x, y - 8f, 2f); + drawBar(Color.SCARLET, x, y - 8f, unit.health / unit.maxhealth); + drawBar(Color.valueOf("32cf6d"), x, y - 9f, unit.inventory.totalAmmo() / (float) unit.inventory.ammoCapacity()); } //TODO optimize! @@ -557,12 +559,6 @@ public class Renderer extends RendererModule{ x -= 0.5f; y += 0.5f; - /* - Lines.stroke(3f); - Draw.color(Color.SLATE); - Lines.line(x - len + 1, y, x + len + 1.5f, y); - - Lines.stroke(1f);*/ Draw.color(Color.BLACK); Lines.line(x - len + 1, y, x + len + 0.5f, y); @@ -572,6 +568,19 @@ public class Renderer extends RendererModule{ Draw.reset(); } + public void drawEncloser(float x, float y, float height){ + x -= 0.5f; + y += 0.5f - (height-1f)/2f; + + float len = 3; + + Lines.stroke(2f + height); + Draw.color(Color.SLATE); + Lines.line(x - len - 0.5f, y, x + len + 1.5f, y, CapStyle.none); + + Draw.reset(); + } + public void setCameraScale(int amount){ targetscale = amount; clampScale(); diff --git a/core/src/io/anuke/mindustry/entities/Player.java b/core/src/io/anuke/mindustry/entities/Player.java index 301abeffe5..805d398a72 100644 --- a/core/src/io/anuke/mindustry/entities/Player.java +++ b/core/src/io/anuke/mindustry/entities/Player.java @@ -6,7 +6,6 @@ import com.badlogic.gdx.utils.Array; import io.anuke.mindustry.content.Mechs; import io.anuke.mindustry.content.Weapons; import io.anuke.mindustry.content.fx.ExplosionFx; -import io.anuke.mindustry.content.fx.Fx; import io.anuke.mindustry.entities.effect.DamageArea; import io.anuke.mindustry.game.Team; import io.anuke.mindustry.graphics.Palette; @@ -271,10 +270,6 @@ public class Player extends Unit{ weapon.update(player, false); } - if(dashing && timer.get(timerDash, 3) && movement.len() > 0){ - Effects.effect(Fx.dash, x + Angles.trnsx(rotation + 180f, 3f), y + Angles.trnsy(rotation + 180f, 3f)); - } - movement.limit(speed); velocity.add(movement); @@ -326,6 +321,11 @@ public class Player extends Unit{ if(isLocal){ super.writeSave(stream); + + stream.writeByte(upgrades.size); + for(Upgrade u : upgrades){ + stream.writeByte(u.id); + } } } @@ -340,13 +340,18 @@ public class Player extends Unit{ private void readSaveSuper(DataInputStream stream) throws IOException { super.readSave(stream); + + byte uamount = stream.readByte(); + for (int i = 0; i < uamount; i++) { + upgrades.add(Upgrade.getByID(stream.readByte())); + } + add(); } @Override public void writeSpawn(ByteBuffer buffer) { - buffer.put((byte)name.getBytes().length); - buffer.put(name.getBytes()); + IOUtils.writeString(buffer, name); buffer.put(weapon.id); buffer.put(mech.id); buffer.put(isAdmin ? 1 : (byte)0); @@ -358,10 +363,7 @@ public class Player extends Unit{ @Override public void readSpawn(ByteBuffer buffer) { - byte nlength = buffer.get(); - byte[] n = new byte[nlength]; - buffer.get(n); - name = new String(n); + name = IOUtils.readString(buffer); weapon = Upgrade.getByID(buffer.get()); mech = Upgrade.getByID(buffer.get()); isAdmin = buffer.get() == 1; @@ -410,14 +412,6 @@ public class Player extends Unit{ float tx = x + Angles.trnsx(rotation + 180f, 4f); float ty = y + Angles.trnsy(rotation + 180f, 4f); - - if(mech.flying && i.target.dst(i.last) > 2f && timer.get(timerDash, 1)){ - Effects.effect(Fx.dash, tx, ty); - } - - if(dashing && !dead && timer.get(timerDash, 3) && i.target.dst(i.last) > 1f){ - Effects.effect(Fx.dash, tx, ty); - } } public Color getColor(){ diff --git a/core/src/io/anuke/mindustry/entities/SyncEntity.java b/core/src/io/anuke/mindustry/entities/SyncEntity.java index 3dea8724de..164c5e797c 100644 --- a/core/src/io/anuke/mindustry/entities/SyncEntity.java +++ b/core/src/io/anuke/mindustry/entities/SyncEntity.java @@ -20,9 +20,9 @@ public abstract class SyncEntity extends DestructibleEntity{ private Vector3 spos = new Vector3(); /**rotation of the top, usually used as the 'shoot' direction.*/ - public float rotation; + public float rotation = 90; /**rotation of the base, usually leg rotation for mechs.*/ - public float baseRotation; + public float baseRotation = 90; /**Called when a death event is recieved remotely.*/ public abstract void onRemoteDeath(); diff --git a/core/src/io/anuke/mindustry/entities/Unit.java b/core/src/io/anuke/mindustry/entities/Unit.java index bb5dd5fc0a..ec86539f62 100644 --- a/core/src/io/anuke/mindustry/entities/Unit.java +++ b/core/src/io/anuke/mindustry/entities/Unit.java @@ -26,7 +26,7 @@ public abstract class Unit extends SyncEntity implements SerializableEntity { public UnitInventory inventory = new UnitInventory(100, 100); public Team team = Team.blue; - public Vector2 velocity = new Vector2(); + public Vector2 velocity = new Vector2(0f, 0.0001f); public float hitTime; public float drownTime; @@ -148,6 +148,8 @@ public abstract class Unit extends SyncEntity implements SerializableEntity { } } + public void drawUnder(){} + public abstract boolean acceptsAmmo(Item item); public abstract void addAmmo(Item item); public abstract float getMass(); diff --git a/core/src/io/anuke/mindustry/entities/units/BaseUnit.java b/core/src/io/anuke/mindustry/entities/units/BaseUnit.java index 897b19cebf..6edb24f2b2 100644 --- a/core/src/io/anuke/mindustry/entities/units/BaseUnit.java +++ b/core/src/io/anuke/mindustry/entities/units/BaseUnit.java @@ -7,7 +7,10 @@ import io.anuke.mindustry.entities.BulletType; import io.anuke.mindustry.entities.Unit; import io.anuke.mindustry.game.Team; import io.anuke.mindustry.resource.Item; +import io.anuke.ucore.core.Effects; +import io.anuke.ucore.core.Effects.Effect; import io.anuke.ucore.entities.Entity; +import io.anuke.ucore.util.Angles; import io.anuke.ucore.util.Mathf; import io.anuke.ucore.util.Timer; @@ -40,6 +43,12 @@ public class BaseUnit extends Unit{ rotation = Mathf.slerpDelta(rotation, angle, type.rotatespeed); } + public void effectAt(Effect effect, float rotation, float dx, float dy){ + Effects.effect(effect, + x + Angles.trnsx(rotation, dx, dy), + y + Angles.trnsy(rotation, dx, dy), Mathf.atan2(dx, dy)); + } + @Override public boolean acceptsAmmo(Item item) { return type.ammo.containsKey(item) && inventory.canAcceptAmmo(type.ammo.get(item)); @@ -81,6 +90,12 @@ public class BaseUnit extends Unit{ type.draw(this); } + @Override + public void drawUnder(){ + type.drawUnder(this); + } + + @Override public float drawSize(){ return 14; diff --git a/core/src/io/anuke/mindustry/entities/units/FlyingUnitType.java b/core/src/io/anuke/mindustry/entities/units/FlyingUnitType.java index 41b80b547f..4735c8706e 100644 --- a/core/src/io/anuke/mindustry/entities/units/FlyingUnitType.java +++ b/core/src/io/anuke/mindustry/entities/units/FlyingUnitType.java @@ -2,20 +2,17 @@ package io.anuke.mindustry.entities.units; import com.badlogic.gdx.math.Vector2; import com.badlogic.gdx.utils.ObjectSet; -import io.anuke.mindustry.content.fx.Fx; import io.anuke.mindustry.entities.Unit; import io.anuke.mindustry.game.TeamInfo.TeamData; import io.anuke.mindustry.resource.AmmoType; import io.anuke.mindustry.world.Tile; -import io.anuke.ucore.core.Effects; import io.anuke.ucore.core.Timers; import io.anuke.ucore.graphics.Draw; -import io.anuke.ucore.util.Angles; import static io.anuke.mindustry.Vars.state; public class FlyingUnitType extends UnitType { - private static Vector2 vec = new Vector2(); + protected static Vector2 vec = new Vector2(); protected float boosterLength = 4.5f; @@ -34,8 +31,8 @@ public class FlyingUnitType extends UnitType { unit.rotation = unit.velocity.angle(); if(unit.velocity.len() > 0.2f && unit.timer.get(timerBoost, 2f)){ - Effects.effect(Fx.dash, unit.x + Angles.trnsx(unit.rotation + 180f, boosterLength), - unit.y + Angles.trnsy(unit.rotation + 180f, boosterLength)); + //Effects.effect(UnitFx.vtolHover, unit.x + Angles.trnsx(unit.rotation + 180f, boosterLength), + // unit.y + Angles.trnsy(unit.rotation + 180f, boosterLength)); } } diff --git a/core/src/io/anuke/mindustry/entities/units/UnitType.java b/core/src/io/anuke/mindustry/entities/units/UnitType.java index f17b736a03..4b63e6b62f 100644 --- a/core/src/io/anuke/mindustry/entities/units/UnitType.java +++ b/core/src/io/anuke/mindustry/entities/units/UnitType.java @@ -59,6 +59,8 @@ public abstract class UnitType { public abstract void draw(BaseUnit unit); + public void drawUnder(BaseUnit unit){} + public boolean isFlying(){ return isFlying; } diff --git a/core/src/io/anuke/mindustry/entities/units/types/Vtol.java b/core/src/io/anuke/mindustry/entities/units/types/Vtol.java index d1446f4551..5438e971f1 100644 --- a/core/src/io/anuke/mindustry/entities/units/types/Vtol.java +++ b/core/src/io/anuke/mindustry/entities/units/types/Vtol.java @@ -1,10 +1,15 @@ package io.anuke.mindustry.entities.units.types; +import com.badlogic.gdx.graphics.Color; import io.anuke.mindustry.content.AmmoTypes; import io.anuke.mindustry.entities.Unit; import io.anuke.mindustry.entities.units.BaseUnit; import io.anuke.mindustry.entities.units.FlyingUnitType; +import io.anuke.mindustry.graphics.Palette; +import io.anuke.ucore.core.Timers; import io.anuke.ucore.graphics.Draw; +import io.anuke.ucore.graphics.Fill; +import io.anuke.ucore.util.Angles; import io.anuke.ucore.util.Mathf; public class Vtol extends FlyingUnitType { @@ -14,16 +19,70 @@ public class Vtol extends FlyingUnitType { setAmmo(AmmoTypes.basicIron); } + @Override + public void drawUnder(BaseUnit unit) { + + + for(int i : Mathf.signs) { + + float rotation = unit.rotation - 90; + float dx = 5f * i, dx2 = 6f * i; + float dy = 4f, dy2 = -5f; + + float rad = 1.5f + Mathf.absin(Timers.time(), 3f, 0.6f); + float ds = 1.2f; + + Draw.color(Palette.lightishOrange, Palette.lightFlame, Mathf.absin(Timers.time(), 3f, 0.3f)); + + Fill.circle( + unit.x + Angles.trnsx(rotation, dx, dy), + unit.y + Angles.trnsy(rotation, dx, dy), rad); + + Fill.circle( + unit.x + Angles.trnsx(rotation, dx2, dy2), + unit.y + Angles.trnsy(rotation, dx2, dy2), rad); + + Draw.color(Color.GRAY); + + Fill.circle( + unit.x + Angles.trnsx(rotation, dx, dy)/ds, + unit.y + Angles.trnsy(rotation, dx, dy)/ds, 2f); + + Fill.circle( + unit.x + Angles.trnsx(rotation, dx2, dy2)/ds, + unit.y + Angles.trnsy(rotation, dx2, dy2)/ds, 2f); + + Draw.color(Color.WHITE); + } + + + } + @Override public void draw(BaseUnit unit) { Draw.alpha(unit.hitTime / Unit.hitDuration); Draw.rect(name, unit.x, unit.y, unit.rotation - 90); for(int i : Mathf.signs){ - Draw.rect(name + "-booster-1", unit.x, unit.y, 12*i, 12, unit.rotation - 90); - Draw.rect(name + "-booster-2", unit.x, unit.y, 12*i, 12, unit.rotation - 90); + Draw.rect(name + "-booster-1", unit.x + i, unit.y, 12*i, 12, unit.rotation - 90); + Draw.rect(name + "-booster-2", unit.x + i, unit.y, 12*i, 12, unit.rotation - 90); } Draw.alpha(1f); } + + @Override + public void update(BaseUnit unit) { + super.update(unit); + + unit.x += Mathf.sin(Timers.time() + unit.id*999, 25f, 0.07f); + unit.y += Mathf.cos(Timers.time() + unit.id*999, 25f, 0.07f); + unit.rotation += Mathf.sin(Timers.time() + unit.id*99, 10f, 8f); + } + + @Override + public void behavior(BaseUnit unit) { + //super.behavior(unit); + + } } diff --git a/core/src/io/anuke/mindustry/graphics/Palette.java b/core/src/io/anuke/mindustry/graphics/Palette.java index 3ff88162c5..22937e2a21 100644 --- a/core/src/io/anuke/mindustry/graphics/Palette.java +++ b/core/src/io/anuke/mindustry/graphics/Palette.java @@ -12,6 +12,7 @@ public class Palette { public static final Color turretHeat = Color.valueOf("ab3400"); public static final Color lightOrange = Color.valueOf("f68021"); + public static final Color lightishOrange = Color.valueOf("f8ad42"); public static final Color lighterOrange = Color.valueOf("f6e096"); public static final Color lightishGray = Color.valueOf("a2a2a2"); diff --git a/core/src/io/anuke/mindustry/world/blocks/types/units/ResupplyPoint.java b/core/src/io/anuke/mindustry/world/blocks/types/units/ResupplyPoint.java index f4b5548bc3..aaa98a189d 100644 --- a/core/src/io/anuke/mindustry/world/blocks/types/units/ResupplyPoint.java +++ b/core/src/io/anuke/mindustry/world/blocks/types/units/ResupplyPoint.java @@ -1,4 +1,50 @@ package io.anuke.mindustry.world.blocks.types.units; -public class ResupplyPoint { +import com.badlogic.gdx.math.Rectangle; +import io.anuke.mindustry.entities.Units; +import io.anuke.mindustry.entities.effect.ItemTransferEffect; +import io.anuke.mindustry.resource.Item; +import io.anuke.mindustry.world.Block; +import io.anuke.mindustry.world.Tile; + +public class ResupplyPoint extends Block{ + private static Rectangle rect = new Rectangle(); + + protected int timerSupply = timers ++; + + protected float supplyRadius = 50f; + protected float supplyInterval = 5f; + + public ResupplyPoint(String name) { + super(name); + update = true; + solid = true; + } + + @Override + public void update(Tile tile) { + + if(tile.entity.timer.get(timerSupply, supplyInterval)){ + rect.setSize(supplyRadius*2).setCenter(tile.drawx(), tile.drawy()); + + Units.getNearby(tile.getTeam(), rect, unit -> { + if(unit.distanceTo(tile.drawx(), tile.drawy()) > supplyRadius) return; + + for(int i = 0; i < tile.entity.items.items.length; i ++){ + Item item = Item.getByID(i); + if(tile.entity.items.items[i] > 0 && unit.acceptsAmmo(item)){ + tile.entity.items.items[i] --; + unit.addAmmo(item); + new ItemTransferEffect(item, tile.drawx(), tile.drawy(), unit).add(); + return; + } + } + }); + } + } + + @Override + public boolean acceptItem(Item item, Tile tile, Tile source) { + return tile.entity.items.totalItems() < itemCapacity; + } } diff --git a/core/src/io/anuke/mindustry/world/blocks/types/units/UnitFactory.java b/core/src/io/anuke/mindustry/world/blocks/types/units/UnitFactory.java index e4be3463e1..cc32202952 100644 --- a/core/src/io/anuke/mindustry/world/blocks/types/units/UnitFactory.java +++ b/core/src/io/anuke/mindustry/world/blocks/types/units/UnitFactory.java @@ -38,7 +38,7 @@ public class UnitFactory extends Block { protected float produceTime = 1000f; protected float powerUse = 0.1f; protected float openDuration = 50f; - protected float launchVelocity = 4f; + protected float launchVelocity = 0f; protected String unitRegion; public UnitFactory(String name) {