Fixed puddles not appearing / Oil extractors not working

This commit is contained in:
Anuken
2018-10-10 08:57:07 -04:00
parent 87c8293c78
commit 6b4983537e
3 changed files with 18 additions and 10 deletions

View File

@@ -22,7 +22,7 @@ import io.anuke.mindustry.world.Tile;
import io.anuke.ucore.core.Effects; import io.anuke.ucore.core.Effects;
import io.anuke.ucore.core.Timers; import io.anuke.ucore.core.Timers;
import io.anuke.ucore.entities.EntityGroup; import io.anuke.ucore.entities.EntityGroup;
import io.anuke.ucore.entities.impl.BaseEntity; import io.anuke.ucore.entities.impl.SolidEntity;
import io.anuke.ucore.entities.trait.DrawTrait; import io.anuke.ucore.entities.trait.DrawTrait;
import io.anuke.ucore.graphics.Draw; import io.anuke.ucore.graphics.Draw;
import io.anuke.ucore.graphics.Fill; import io.anuke.ucore.graphics.Fill;
@@ -36,11 +36,9 @@ import java.io.DataInput;
import java.io.DataOutput; import java.io.DataOutput;
import java.io.IOException; import java.io.IOException;
import static io.anuke.mindustry.Vars.content; import static io.anuke.mindustry.Vars.*;
import static io.anuke.mindustry.Vars.puddleGroup;
import static io.anuke.mindustry.Vars.world;
public class Puddle extends BaseEntity implements SaveTrait, Poolable, DrawTrait, SyncTrait{ public class Puddle extends SolidEntity implements SaveTrait, Poolable, DrawTrait, SyncTrait{
private static final IntMap<Puddle> map = new IntMap<>(); private static final IntMap<Puddle> map = new IntMap<>();
private static final float maxLiquid = 70f; private static final float maxLiquid = 70f;
private static final int maxGeneration = 2; private static final int maxGeneration = 2;
@@ -166,6 +164,16 @@ public class Puddle extends BaseEntity implements SaveTrait, Poolable, DrawTrait
return liquid.flammability * amount; return liquid.flammability * amount;
} }
@Override
public void getHitbox(Rectangle rectangle){
rectangle.setCenter(x, y).setSize(tilesize);
}
@Override
public void getHitboxTile(Rectangle rectangle){
rectangle.setCenter(x, y).setSize(0f);
}
@Override @Override
public void update(){ public void update(){

View File

@@ -5,7 +5,6 @@ import com.badlogic.gdx.utils.Array;
import io.anuke.mindustry.Vars; import io.anuke.mindustry.Vars;
import io.anuke.mindustry.game.GameMode; import io.anuke.mindustry.game.GameMode;
import io.anuke.mindustry.game.Team; import io.anuke.mindustry.game.Team;
import io.anuke.mindustry.maps.generation.FortressGenerator;
import io.anuke.mindustry.maps.generation.Generation; import io.anuke.mindustry.maps.generation.Generation;
import io.anuke.ucore.util.Bundles; import io.anuke.ucore.util.Bundles;
@@ -26,10 +25,10 @@ public class BattleMission extends Mission{
public void generate(Generation gen){ public void generate(Generation gen){
int enemyX = gen.width-1-coreX, enemyY = gen.height-1-coreX; int enemyX = gen.width-1-coreX, enemyY = gen.height-1-coreX;
generateCoreAt(gen, coreX, coreY, Team.blue); //generateCoreAt(gen, coreX, coreY, Team.blue);
generateCoreAt(gen, enemyX, enemyY, Team.red); //generateCoreAt(gen, enemyX, enemyY, Team.red);
new FortressGenerator().generate(gen, Team.red, coreX, coreY, enemyX, enemyY); //new FortressGenerator().generate(gen, Team.red, coreX, coreY, enemyX, enemyY);
} }
@Override @Override

View File

@@ -6,6 +6,7 @@ import io.anuke.mindustry.graphics.Layer;
import io.anuke.mindustry.type.Liquid; import io.anuke.mindustry.type.Liquid;
import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.Tile;
import io.anuke.mindustry.world.blocks.LiquidBlock; import io.anuke.mindustry.world.blocks.LiquidBlock;
import io.anuke.mindustry.world.consumers.ConsumeLiquid;
import io.anuke.mindustry.world.meta.BlockGroup; import io.anuke.mindustry.world.meta.BlockGroup;
import io.anuke.mindustry.world.meta.BlockStat; import io.anuke.mindustry.world.meta.BlockStat;
import io.anuke.mindustry.world.meta.StatUnit; import io.anuke.mindustry.world.meta.StatUnit;
@@ -109,7 +110,7 @@ public class Pump extends LiquidBlock{
@Override @Override
public boolean acceptLiquid(Tile tile, Tile source, Liquid liquid, float amount){ public boolean acceptLiquid(Tile tile, Tile source, Liquid liquid, float amount){
return false; return consumes.has(ConsumeLiquid.class) && consumes.liquid() == liquid && super.acceptLiquid(tile, source, liquid, amount);
} }
protected boolean isValid(Tile tile){ protected boolean isValid(Tile tile){