Wave balancing / Fixed wave not extinguishing fire
This commit is contained in:
@@ -23,6 +23,7 @@ import io.anuke.mindustry.entities.traits.SyncTrait;
|
|||||||
import io.anuke.mindustry.gen.Call;
|
import io.anuke.mindustry.gen.Call;
|
||||||
import io.anuke.mindustry.net.Net;
|
import io.anuke.mindustry.net.Net;
|
||||||
import io.anuke.mindustry.world.Block;
|
import io.anuke.mindustry.world.Block;
|
||||||
|
import io.anuke.mindustry.world.Pos;
|
||||||
import io.anuke.mindustry.world.Tile;
|
import io.anuke.mindustry.world.Tile;
|
||||||
|
|
||||||
import java.io.DataInput;
|
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){
|
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;
|
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;
|
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(
|
spawns = Array.with(
|
||||||
new SpawnGroup(UnitTypes.dagger){{
|
new SpawnGroup(UnitTypes.dagger){{
|
||||||
end = 8;
|
end = 8;
|
||||||
unitScaling = 3;
|
unitScaling = 2;
|
||||||
}},
|
}},
|
||||||
|
|
||||||
new SpawnGroup(UnitTypes.wraith){{
|
new SpawnGroup(UnitTypes.wraith){{
|
||||||
begin = 12;
|
begin = 12;
|
||||||
end = 14;
|
end = 14;
|
||||||
|
unitScaling = 2;
|
||||||
}},
|
}},
|
||||||
|
|
||||||
new SpawnGroup(UnitTypes.dagger){{
|
new SpawnGroup(UnitTypes.dagger){{
|
||||||
@@ -48,7 +49,7 @@ public class DefaultWaves{
|
|||||||
new SpawnGroup(UnitTypes.titan){{
|
new SpawnGroup(UnitTypes.titan){{
|
||||||
begin = 28;
|
begin = 28;
|
||||||
spacing = 3;
|
spacing = 3;
|
||||||
unitScaling = 2;
|
unitScaling = 1;
|
||||||
end = 40;
|
end = 40;
|
||||||
}},
|
}},
|
||||||
|
|
||||||
@@ -138,7 +139,7 @@ public class DefaultWaves{
|
|||||||
|
|
||||||
new SpawnGroup(UnitTypes.revenant){{
|
new SpawnGroup(UnitTypes.revenant){{
|
||||||
begin = 50;
|
begin = 50;
|
||||||
unitAmount = 4;
|
unitAmount = 2;
|
||||||
unitScaling = 3;
|
unitScaling = 3;
|
||||||
spacing = 5;
|
spacing = 5;
|
||||||
max = 8;
|
max = 8;
|
||||||
|
|||||||
@@ -2,7 +2,6 @@ package io.anuke.mindustry.world.blocks.defense.turrets;
|
|||||||
|
|
||||||
import io.anuke.arc.collection.ObjectMap;
|
import io.anuke.arc.collection.ObjectMap;
|
||||||
import io.anuke.mindustry.entities.Effects;
|
import io.anuke.mindustry.entities.Effects;
|
||||||
import io.anuke.mindustry.Vars;
|
|
||||||
import io.anuke.mindustry.entities.bullet.BulletType;
|
import io.anuke.mindustry.entities.bullet.BulletType;
|
||||||
import io.anuke.mindustry.entities.effect.Fire;
|
import io.anuke.mindustry.entities.effect.Fire;
|
||||||
import io.anuke.mindustry.type.Item;
|
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.BlockStat;
|
||||||
import io.anuke.mindustry.world.meta.values.LiquidFilterValue;
|
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.tilesize;
|
||||||
import static io.anuke.mindustry.Vars.world;
|
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));
|
&& (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();
|
entity.noSleep();
|
||||||
|
|
||||||
float speed = this.speed * tilesize / 2.3f;
|
float speed = this.speed * tilesize / 2.4f;
|
||||||
float centerSpeed = 0.1f;
|
float centerSpeed = 0.1f;
|
||||||
float centerDstScl = 3f;
|
float centerDstScl = 3f;
|
||||||
float tx = Geometry.d4[tile.getRotation()].x, ty = Geometry.d4[tile.getRotation()].y;
|
float tx = Geometry.d4[tile.getRotation()].x, ty = Geometry.d4[tile.getRotation()].y;
|
||||||
|
|||||||
Reference in New Issue
Block a user