Wave balancing / Fixed wave not extinguishing fire

This commit is contained in:
Anuken 2019-02-19 09:28:27 -05:00
parent cb12501d5b
commit a815c564fb
4 changed files with 8 additions and 48 deletions

View file

@ -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;
}

View file

@ -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;

View file

@ -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);
}
}
}

View file

@ -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;