too many things to list

This commit is contained in:
Anuken
2020-10-15 13:44:20 -04:00
parent fb0179da95
commit 86c2fe8805
52 changed files with 665 additions and 117 deletions

View File

@@ -12,6 +12,7 @@ import mindustry.annotations.Annotations.*;
import mindustry.content.*;
import mindustry.gen.*;
import mindustry.graphics.*;
import mindustry.logic.*;
import mindustry.world.*;
import mindustry.world.consumers.*;
import mindustry.world.meta.*;
@@ -80,11 +81,16 @@ public class ForceProjector extends Block{
Draw.color();
}
public class ForceBuild extends Building{
public class ForceBuild extends Building implements Ranged{
public boolean broken = true;
public float buildup, radscl, hit, warmup, phaseHeat;
public ForceDraw drawer;
@Override
public float range(){
return realRadius();
}
@Override
public void created(){
super.created();

View File

@@ -9,6 +9,7 @@ import mindustry.annotations.Annotations.*;
import mindustry.content.*;
import mindustry.gen.*;
import mindustry.graphics.*;
import mindustry.logic.*;
import mindustry.world.*;
import mindustry.world.meta.*;
@@ -55,11 +56,16 @@ public class MendProjector extends Block{
Drawf.dashCircle(x * tilesize + offset, y * tilesize + offset, range, Pal.accent);
}
public class MendBuild extends Building{
public class MendBuild extends Building implements Ranged{
float heat;
float charge = Mathf.random(reload);
float phaseHeat;
@Override
public float range(){
return range;
}
@Override
public void updateTile(){
heat = Mathf.lerpDelta(heat, consValid() || cheating() ? 1f : 0f, 0.08f);

View File

@@ -8,6 +8,7 @@ import arc.util.io.*;
import mindustry.annotations.Annotations.*;
import mindustry.gen.*;
import mindustry.graphics.*;
import mindustry.logic.*;
import mindustry.world.*;
import mindustry.world.meta.*;
@@ -60,11 +61,16 @@ public class OverdriveProjector extends Block{
}
}
public class OverdriveBuild extends Building{
public class OverdriveBuild extends Building implements Ranged{
float heat;
float charge = Mathf.random(reload);
float phaseHeat;
@Override
public float range(){
return range;
}
@Override
public void drawLight(){
Drawf.light(team, x, y, 50f * efficiency(), baseColor, 0.7f * efficiency());

View File

@@ -19,7 +19,6 @@ import mindustry.world.meta.values.*;
import static mindustry.Vars.*;
public class ItemTurret extends Turret{
public int maxAmmo = 30;
public ObjectMap<Item, BulletType> ammoTypes = new ObjectMap<>();
public ItemTurret(String name){

View File

@@ -8,6 +8,7 @@ import mindustry.entities.bullet.*;
import mindustry.gen.*;
import mindustry.graphics.*;
import mindustry.type.*;
import mindustry.world.*;
import mindustry.world.consumers.*;
import mindustry.world.meta.*;
import mindustry.world.meta.values.*;
@@ -83,7 +84,9 @@ public class LiquidTurret extends Turret{
int tr = (int)(range / tilesize);
for(int x = -tr; x <= tr; x++){
for(int y = -tr; y <= tr; y++){
if(Fires.has(x + tile.x, y + tile.y)){
Tile other = world.tileWorld(x + tile.x, y + tile.y);
//do not extinguish fires on other team blocks
if(other != null && Fires.has(x + tile.x, y + tile.y) && (other.build == null || other.team() == team)){
target = Fires.get(x + tile.x, y + tile.y);
return;
}

View File

@@ -1,6 +1,7 @@
package mindustry.world.blocks.defense.turrets;
import mindustry.entities.bullet.*;
import mindustry.logic.*;
import mindustry.world.meta.*;
public class PowerTurret extends Turret{
@@ -33,6 +34,15 @@ public class PowerTurret extends Turret{
super.updateTile();
}
@Override
public double sense(LAccess sensor){
return switch(sensor){
case ammo -> power.status;
case ammoCapacity -> 1;
default -> super.sense(sensor);
};
}
@Override
public BulletType useAmmo(){
//nothing used directly

View File

@@ -41,6 +41,7 @@ public abstract class Turret extends Block{
public Effect ammoUseEffect = Fx.none;
public Sound shootSound = Sounds.shoot;
public int maxAmmo = 30;
public int ammoPerShot = 1;
public float ammoEjectBack = 1f;
public float range = 50f;
@@ -192,6 +193,8 @@ public abstract class Turret extends Block{
@Override
public double sense(LAccess sensor){
return switch(sensor){
case ammo -> totalAmmo;
case ammoCapacity -> maxAmmo;
case rotation -> rotation;
case shootX -> targetPos.x;
case shootY -> targetPos.y;

View File

@@ -37,6 +37,11 @@ public class SwitchBlock extends Block{
}
}
@Override
public Boolean config(){
return enabled;
}
@Override
public byte version(){
return 1;