mirror of
https://github.com/Anuken/Mindustry.git
synced 2026-04-27 16:00:51 -07:00
Wave balancing / Fixed wave not extinguishing fire
This commit is contained in:
parent
cb12501d5b
commit
a815c564fb
4 changed files with 8 additions and 48 deletions
|
|
@ -23,6 +23,7 @@ import io.anuke.mindustry.entities.traits.SyncTrait;
|
|||
import io.anuke.mindustry.gen.Call;
|
||||
import io.anuke.mindustry.net.Net;
|
||||
import io.anuke.mindustry.world.Block;
|
||||
import io.anuke.mindustry.world.Pos;
|
||||
import io.anuke.mindustry.world.Tile;
|
||||
|
||||
import java.io.DataInput;
|
||||
|
|
@ -64,10 +65,10 @@ public class Fire extends TimedEntity implements SaveTrait, SyncTrait, Poolable{
|
|||
}
|
||||
|
||||
public static boolean has(int x, int y){
|
||||
if(!Structs.inBounds(x, y, world.width(), world.height()) || !map.containsKey(x + y * world.width())){
|
||||
if(!Structs.inBounds(x, y, world.width(), world.height()) || !map.containsKey(Pos.get(x, y))){
|
||||
return false;
|
||||
}
|
||||
Fire fire = map.get(x + y * world.width());
|
||||
Fire fire = map.get(Pos.get(x, y));
|
||||
return fire.isAdded() && fire.fin() < 1f && fire.tile != null && fire.tile.x == x && fire.tile.y == y;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -14,12 +14,13 @@ public class DefaultWaves{
|
|||
spawns = Array.with(
|
||||
new SpawnGroup(UnitTypes.dagger){{
|
||||
end = 8;
|
||||
unitScaling = 3;
|
||||
unitScaling = 2;
|
||||
}},
|
||||
|
||||
new SpawnGroup(UnitTypes.wraith){{
|
||||
begin = 12;
|
||||
end = 14;
|
||||
unitScaling = 2;
|
||||
}},
|
||||
|
||||
new SpawnGroup(UnitTypes.dagger){{
|
||||
|
|
@ -48,7 +49,7 @@ public class DefaultWaves{
|
|||
new SpawnGroup(UnitTypes.titan){{
|
||||
begin = 28;
|
||||
spacing = 3;
|
||||
unitScaling = 2;
|
||||
unitScaling = 1;
|
||||
end = 40;
|
||||
}},
|
||||
|
||||
|
|
@ -138,7 +139,7 @@ public class DefaultWaves{
|
|||
|
||||
new SpawnGroup(UnitTypes.revenant){{
|
||||
begin = 50;
|
||||
unitAmount = 4;
|
||||
unitAmount = 2;
|
||||
unitScaling = 3;
|
||||
spacing = 5;
|
||||
max = 8;
|
||||
|
|
|
|||
|
|
@ -2,7 +2,6 @@ package io.anuke.mindustry.world.blocks.defense.turrets;
|
|||
|
||||
import io.anuke.arc.collection.ObjectMap;
|
||||
import io.anuke.mindustry.entities.Effects;
|
||||
import io.anuke.mindustry.Vars;
|
||||
import io.anuke.mindustry.entities.bullet.BulletType;
|
||||
import io.anuke.mindustry.entities.effect.Fire;
|
||||
import io.anuke.mindustry.type.Item;
|
||||
|
|
@ -11,10 +10,6 @@ import io.anuke.mindustry.world.Tile;
|
|||
import io.anuke.mindustry.world.meta.BlockStat;
|
||||
import io.anuke.mindustry.world.meta.values.LiquidFilterValue;
|
||||
|
||||
import java.io.DataInput;
|
||||
import java.io.DataOutput;
|
||||
import java.io.IOException;
|
||||
|
||||
import static io.anuke.mindustry.Vars.tilesize;
|
||||
import static io.anuke.mindustry.Vars.world;
|
||||
|
||||
|
|
@ -112,41 +107,4 @@ public abstract class LiquidTurret extends Turret{
|
|||
&& (tile.entity.liquids.current() == liquid || (ammo.containsKey(tile.entity.liquids.current()) && tile.entity.liquids.get(tile.entity.liquids.current()) <= ammo.get(tile.entity.liquids.current()).ammoMultiplier + 0.001f));
|
||||
}
|
||||
|
||||
public class LiquidTurretEntity extends TurretEntity{
|
||||
@Override
|
||||
public void write(DataOutput stream) throws IOException{
|
||||
stream.writeByte(ammo.size);
|
||||
for(AmmoEntry entry : ammo){
|
||||
LiquidEntry i = (LiquidEntry)entry;
|
||||
stream.writeByte(i.liquid.id);
|
||||
stream.writeShort(i.amount);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void read(DataInput stream) throws IOException{
|
||||
byte amount = stream.readByte();
|
||||
for(int i = 0; i < amount; i++){
|
||||
Liquid liquid = Vars.content.liquid(stream.readByte());
|
||||
short a = stream.readShort();
|
||||
totalAmmo += a;
|
||||
ammo.add(new LiquidEntry(liquid, a));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
class LiquidEntry extends AmmoEntry{
|
||||
protected Liquid liquid;
|
||||
|
||||
LiquidEntry(Liquid liquid, int amount){
|
||||
this.liquid = liquid;
|
||||
this.amount = amount;
|
||||
}
|
||||
|
||||
@Override
|
||||
public BulletType type(){
|
||||
return ammo.get(liquid);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -156,7 +156,7 @@ public class Conveyor extends Block{
|
|||
|
||||
entity.noSleep();
|
||||
|
||||
float speed = this.speed * tilesize / 2.3f;
|
||||
float speed = this.speed * tilesize / 2.4f;
|
||||
float centerSpeed = 0.1f;
|
||||
float centerDstScl = 3f;
|
||||
float tx = Geometry.d4[tile.getRotation()].x, ty = Geometry.d4[tile.getRotation()].y;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue