Added power booster block
This commit is contained in:
Binary file not shown.
|
Before Width: | Height: | Size: 232 B After Width: | Height: | Size: 254 B |
BIN
core/assets-raw/sprites/blocks/powerbooster.png
Normal file
BIN
core/assets-raw/sprites/blocks/powerbooster.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 234 B |
@@ -417,27 +417,34 @@ blocks/plasmaturret
|
|||||||
orig: 10, 10
|
orig: 10, 10
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
blocks/poweredconveyor
|
blocks/powerbooster
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 489, 397
|
xy: 489, 397
|
||||||
size: 8, 8
|
size: 8, 8
|
||||||
orig: 8, 8
|
orig: 8, 8
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
blocks/poweredconveyormove
|
blocks/poweredconveyor
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 499, 397
|
xy: 499, 397
|
||||||
size: 8, 8
|
size: 8, 8
|
||||||
orig: 8, 8
|
orig: 8, 8
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
blocks/pump
|
blocks/poweredconveyormove
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 479, 387
|
xy: 479, 387
|
||||||
size: 8, 8
|
size: 8, 8
|
||||||
orig: 8, 8
|
orig: 8, 8
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
|
blocks/pump
|
||||||
|
rotate: false
|
||||||
|
xy: 489, 387
|
||||||
|
size: 8, 8
|
||||||
|
orig: 8, 8
|
||||||
|
offset: 0, 0
|
||||||
|
index: -1
|
||||||
blocks/repairturret
|
blocks/repairturret
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 177, 2
|
xy: 177, 2
|
||||||
@@ -447,35 +454,35 @@ blocks/repairturret
|
|||||||
index: -1
|
index: -1
|
||||||
blocks/rock
|
blocks/rock
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 499, 387
|
xy: 389, 224
|
||||||
size: 8, 8
|
size: 8, 8
|
||||||
orig: 8, 8
|
orig: 8, 8
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
blocks/rock2
|
blocks/rock2
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 389, 224
|
xy: 389, 214
|
||||||
size: 8, 8
|
size: 8, 8
|
||||||
orig: 8, 8
|
orig: 8, 8
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
blocks/rock2shadow
|
blocks/rock2shadow
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 389, 214
|
xy: 389, 204
|
||||||
size: 8, 8
|
size: 8, 8
|
||||||
orig: 8, 8
|
orig: 8, 8
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
blocks/rockshadow
|
blocks/rockshadow
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 389, 204
|
xy: 332, 197
|
||||||
size: 8, 8
|
size: 8, 8
|
||||||
orig: 8, 8
|
orig: 8, 8
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
blocks/router
|
blocks/router
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 332, 197
|
xy: 332, 187
|
||||||
size: 8, 8
|
size: 8, 8
|
||||||
orig: 8, 8
|
orig: 8, 8
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
@@ -489,7 +496,7 @@ blocks/shadow
|
|||||||
index: -1
|
index: -1
|
||||||
blocks/shieldgenerator
|
blocks/shieldgenerator
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 332, 187
|
xy: 342, 197
|
||||||
size: 8, 8
|
size: 8, 8
|
||||||
orig: 8, 8
|
orig: 8, 8
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
@@ -503,21 +510,21 @@ blocks/shotgunturret
|
|||||||
index: -1
|
index: -1
|
||||||
blocks/shrub
|
blocks/shrub
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 342, 197
|
xy: 332, 177
|
||||||
size: 8, 8
|
size: 8, 8
|
||||||
orig: 8, 8
|
orig: 8, 8
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
blocks/shrubshadow
|
blocks/shrubshadow
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 332, 177
|
xy: 342, 187
|
||||||
size: 8, 8
|
size: 8, 8
|
||||||
orig: 8, 8
|
orig: 8, 8
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
blocks/smelter
|
blocks/smelter
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 342, 187
|
xy: 342, 177
|
||||||
size: 8, 8
|
size: 8, 8
|
||||||
orig: 8, 8
|
orig: 8, 8
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
@@ -531,21 +538,21 @@ blocks/sniperturret
|
|||||||
index: -1
|
index: -1
|
||||||
blocks/steelconveyor
|
blocks/steelconveyor
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 342, 177
|
xy: 352, 192
|
||||||
size: 8, 8
|
size: 8, 8
|
||||||
orig: 8, 8
|
orig: 8, 8
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
blocks/steelconveyormove
|
blocks/steelconveyormove
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 352, 192
|
xy: 352, 182
|
||||||
size: 8, 8
|
size: 8, 8
|
||||||
orig: 8, 8
|
orig: 8, 8
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
blocks/steelwall
|
blocks/steelwall
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 352, 182
|
xy: 362, 192
|
||||||
size: 8, 8
|
size: 8, 8
|
||||||
orig: 8, 8
|
orig: 8, 8
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
@@ -559,49 +566,49 @@ blocks/stone
|
|||||||
index: -1
|
index: -1
|
||||||
blocks/stone1
|
blocks/stone1
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 362, 192
|
xy: 362, 182
|
||||||
size: 8, 8
|
size: 8, 8
|
||||||
orig: 8, 8
|
orig: 8, 8
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
blocks/stone2
|
blocks/stone2
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 362, 182
|
xy: 372, 192
|
||||||
size: 8, 8
|
size: 8, 8
|
||||||
orig: 8, 8
|
orig: 8, 8
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
blocks/stone3
|
blocks/stone3
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 372, 192
|
xy: 372, 182
|
||||||
size: 8, 8
|
size: 8, 8
|
||||||
orig: 8, 8
|
orig: 8, 8
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
blocks/stoneblock
|
blocks/stoneblock
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 372, 182
|
xy: 382, 192
|
||||||
size: 8, 8
|
size: 8, 8
|
||||||
orig: 8, 8
|
orig: 8, 8
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
blocks/stoneblock2
|
blocks/stoneblock2
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 382, 192
|
xy: 382, 182
|
||||||
size: 8, 8
|
size: 8, 8
|
||||||
orig: 8, 8
|
orig: 8, 8
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
blocks/stoneblock3
|
blocks/stoneblock3
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 382, 182
|
xy: 352, 172
|
||||||
size: 8, 8
|
size: 8, 8
|
||||||
orig: 8, 8
|
orig: 8, 8
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
blocks/stonedrill
|
blocks/stonedrill
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 352, 172
|
xy: 362, 172
|
||||||
size: 8, 8
|
size: 8, 8
|
||||||
orig: 8, 8
|
orig: 8, 8
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
@@ -615,63 +622,63 @@ blocks/stoneedge
|
|||||||
index: -1
|
index: -1
|
||||||
blocks/stonewall
|
blocks/stonewall
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 362, 172
|
xy: 372, 172
|
||||||
size: 8, 8
|
size: 8, 8
|
||||||
orig: 8, 8
|
orig: 8, 8
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
blocks/thermalgenerator
|
blocks/thermalgenerator
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 372, 172
|
xy: 382, 172
|
||||||
size: 8, 8
|
size: 8, 8
|
||||||
orig: 8, 8
|
orig: 8, 8
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
blocks/titanium1
|
blocks/titanium1
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 382, 172
|
xy: 392, 194
|
||||||
size: 8, 8
|
size: 8, 8
|
||||||
orig: 8, 8
|
orig: 8, 8
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
blocks/titanium2
|
blocks/titanium2
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 392, 194
|
xy: 392, 184
|
||||||
size: 8, 8
|
size: 8, 8
|
||||||
orig: 8, 8
|
orig: 8, 8
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
blocks/titanium3
|
blocks/titanium3
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 392, 184
|
xy: 392, 174
|
||||||
size: 8, 8
|
size: 8, 8
|
||||||
orig: 8, 8
|
orig: 8, 8
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
blocks/titaniumdrill
|
blocks/titaniumdrill
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 392, 174
|
xy: 332, 167
|
||||||
size: 8, 8
|
size: 8, 8
|
||||||
orig: 8, 8
|
orig: 8, 8
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
blocks/titaniumpurifier
|
blocks/titaniumpurifier
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 332, 167
|
xy: 342, 167
|
||||||
size: 8, 8
|
size: 8, 8
|
||||||
orig: 8, 8
|
orig: 8, 8
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
blocks/titaniumshieldwall
|
blocks/titaniumshieldwall
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 342, 167
|
xy: 352, 162
|
||||||
size: 8, 8
|
size: 8, 8
|
||||||
orig: 8, 8
|
orig: 8, 8
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
blocks/titaniumwall
|
blocks/titaniumwall
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 352, 162
|
xy: 362, 162
|
||||||
size: 8, 8
|
size: 8, 8
|
||||||
orig: 8, 8
|
orig: 8, 8
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
@@ -685,35 +692,35 @@ blocks/turret
|
|||||||
index: -1
|
index: -1
|
||||||
blocks/uranium1
|
blocks/uranium1
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 372, 162
|
xy: 382, 162
|
||||||
size: 8, 8
|
size: 8, 8
|
||||||
orig: 8, 8
|
orig: 8, 8
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
blocks/uranium2
|
blocks/uranium2
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 382, 162
|
xy: 392, 164
|
||||||
size: 8, 8
|
size: 8, 8
|
||||||
orig: 8, 8
|
orig: 8, 8
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
blocks/uranium3
|
blocks/uranium3
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 392, 164
|
xy: 389, 282
|
||||||
size: 8, 8
|
size: 8, 8
|
||||||
orig: 8, 8
|
orig: 8, 8
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
blocks/uraniumdrill
|
blocks/uraniumdrill
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 389, 282
|
xy: 389, 272
|
||||||
size: 8, 8
|
size: 8, 8
|
||||||
orig: 8, 8
|
orig: 8, 8
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
blocks/water
|
blocks/water
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 389, 272
|
xy: 389, 262
|
||||||
size: 8, 8
|
size: 8, 8
|
||||||
orig: 8, 8
|
orig: 8, 8
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
@@ -1367,14 +1374,14 @@ weapons/multigun
|
|||||||
index: -1
|
index: -1
|
||||||
weapons/railgun
|
weapons/railgun
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 489, 387
|
xy: 499, 387
|
||||||
size: 8, 8
|
size: 8, 8
|
||||||
orig: 8, 8
|
orig: 8, 8
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
weapons/triblaster
|
weapons/triblaster
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 362, 162
|
xy: 372, 162
|
||||||
size: 8, 8
|
size: 8, 8
|
||||||
orig: 8, 8
|
orig: 8, 8
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
|
|||||||
Binary file not shown.
|
Before Width: | Height: | Size: 40 KiB After Width: | Height: | Size: 40 KiB |
@@ -305,7 +305,8 @@ public class Renderer extends RendererModule{
|
|||||||
x = tilex*tilesize;
|
x = tilex*tilesize;
|
||||||
y = tiley*tilesize;
|
y = tiley*tilesize;
|
||||||
|
|
||||||
boolean valid = World.validPlace(tilex, tiley, player.recipe.result);
|
boolean valid = World.validPlace(tilex, tiley, player.recipe.result) && (android ||
|
||||||
|
Input.cursorNear());
|
||||||
|
|
||||||
Vector2 offset = player.recipe.result.getPlaceOffset();
|
Vector2 offset = player.recipe.result.getPlaceOffset();
|
||||||
|
|
||||||
|
|||||||
@@ -17,6 +17,8 @@ public enum Recipe{
|
|||||||
healturret(defense, DefenseBlocks.repairturret, stack(Item.iron, 30)),
|
healturret(defense, DefenseBlocks.repairturret, stack(Item.iron, 30)),
|
||||||
megahealturret(defense, DefenseBlocks.megarepairturret, stack(Item.iron, 20), stack(Item.steel, 30)),
|
megahealturret(defense, DefenseBlocks.megarepairturret, stack(Item.iron, 20), stack(Item.steel, 30)),
|
||||||
titaniumshieldwall(defense, DefenseBlocks.titaniumshieldwall, stack(Item.titanium, 2)),
|
titaniumshieldwall(defense, DefenseBlocks.titaniumshieldwall, stack(Item.titanium, 2)),
|
||||||
|
shieldgenerator(defense, DefenseBlocks.shieldgenerator, stack(Item.titanium, 10), stack(Item.dirium, 10)),
|
||||||
|
|
||||||
|
|
||||||
conveyor(distribution, DistributionBlocks.conveyor, stack(Item.stone, 1)),
|
conveyor(distribution, DistributionBlocks.conveyor, stack(Item.stone, 1)),
|
||||||
steelconveyor(distribution, DistributionBlocks.steelconveyor, stack(Item.steel, 1)),
|
steelconveyor(distribution, DistributionBlocks.steelconveyor, stack(Item.steel, 1)),
|
||||||
@@ -55,7 +57,7 @@ public enum Recipe{
|
|||||||
thermalgenerator(power, ProductionBlocks.thermalgenerator, stack(Item.titanium, 10), stack(Item.dirium, 10)),
|
thermalgenerator(power, ProductionBlocks.thermalgenerator, stack(Item.titanium, 10), stack(Item.dirium, 10)),
|
||||||
combustiongenerator(power, ProductionBlocks.combustiongenerator, stack(Item.titanium, 10), stack(Item.dirium, 10)),
|
combustiongenerator(power, ProductionBlocks.combustiongenerator, stack(Item.titanium, 10), stack(Item.dirium, 10)),
|
||||||
nuclearreactor(power, ProductionBlocks.nuclearReactor, stack(Item.titanium, 10), stack(Item.dirium, 10)),
|
nuclearreactor(power, ProductionBlocks.nuclearReactor, stack(Item.titanium, 10), stack(Item.dirium, 10)),
|
||||||
shieldgenerator(power, DefenseBlocks.shieldgenerator, stack(Item.titanium, 10), stack(Item.dirium, 10)),
|
powerbooster(power, DistributionBlocks.powerbooster, stack(Item.titanium, 10), stack(Item.dirium, 10)),
|
||||||
|
|
||||||
pump(production, ProductionBlocks.pump, stack(Item.steel, 10));
|
pump(production, ProductionBlocks.pump, stack(Item.steel, 10));
|
||||||
|
|
||||||
|
|||||||
@@ -41,5 +41,10 @@ public class DistributionBlocks{
|
|||||||
},
|
},
|
||||||
liquidjunction = new LiquidJunction("liquidjunction"){
|
liquidjunction = new LiquidJunction("liquidjunction"){
|
||||||
|
|
||||||
|
},
|
||||||
|
powerbooster = new PowerBooster("powerbooster"){
|
||||||
|
{
|
||||||
|
formalName = "power booster";
|
||||||
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -65,8 +65,19 @@ public class BlockPart extends Block implements PowerAcceptor, LiquidAcceptor{
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean acceptsPower(Tile tile){
|
||||||
|
Block block = linked(tile);
|
||||||
|
if(block instanceof PowerAcceptor){
|
||||||
|
return ((PowerAcceptor)block).acceptsPower(tile.getLinked());
|
||||||
|
}else{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private Block linked(Tile tile){
|
private Block linked(Tile tile){
|
||||||
return tile.getLinked().block();
|
return tile.getLinked().block();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,4 +6,5 @@ public interface PowerAcceptor{
|
|||||||
/**Attempts to add some power to this block; returns the amount of power <i>not</i> accepted.
|
/**Attempts to add some power to this block; returns the amount of power <i>not</i> accepted.
|
||||||
* To add no power, you would return amount.*/
|
* To add no power, you would return amount.*/
|
||||||
public float addPower(Tile tile, float amount);
|
public float addPower(Tile tile, float amount);
|
||||||
|
public boolean acceptsPower(Tile tile);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -15,6 +15,7 @@ import io.anuke.ucore.util.Mathf;
|
|||||||
|
|
||||||
public abstract class PowerBlock extends Block implements PowerAcceptor{
|
public abstract class PowerBlock extends Block implements PowerAcceptor{
|
||||||
public float powerCapacity = 10f;
|
public float powerCapacity = 10f;
|
||||||
|
public float voltage = 0.001f;
|
||||||
|
|
||||||
public PowerBlock(String name) {
|
public PowerBlock(String name) {
|
||||||
super(name);
|
super(name);
|
||||||
@@ -47,8 +48,19 @@ public abstract class PowerBlock extends Block implements PowerAcceptor{
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean acceptsPower(Tile tile){
|
||||||
|
PowerEntity entity = tile.entity();
|
||||||
|
|
||||||
|
return entity.power + 0.001f <= powerCapacity;
|
||||||
|
}
|
||||||
|
|
||||||
|
//TODO voltage requirement so blocks need specific voltage
|
||||||
@Override
|
@Override
|
||||||
public float addPower(Tile tile, float amount){
|
public float addPower(Tile tile, float amount){
|
||||||
|
if(amount < voltage){
|
||||||
|
return amount;
|
||||||
|
}
|
||||||
PowerEntity entity = tile.entity();
|
PowerEntity entity = tile.entity();
|
||||||
|
|
||||||
float canAccept = Math.min(powerCapacity - entity.power, amount);
|
float canAccept = Math.min(powerCapacity - entity.power, amount);
|
||||||
|
|||||||
@@ -14,6 +14,7 @@ public class ShieldBlock extends PowerBlock{
|
|||||||
|
|
||||||
public ShieldBlock(String name) {
|
public ShieldBlock(String name) {
|
||||||
super(name);
|
super(name);
|
||||||
|
voltage = powerDrain;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -27,7 +28,7 @@ public class ShieldBlock extends PowerBlock{
|
|||||||
}
|
}
|
||||||
|
|
||||||
if(entity.power > powerDrain * Timers.delta()){
|
if(entity.power > powerDrain * Timers.delta()){
|
||||||
if(!entity.shield.active){
|
if(!entity.shield.active && entity.power > powerDrain * Timers.delta() * 10f){
|
||||||
entity.shield.add();
|
entity.shield.add();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -16,11 +16,9 @@ public class PowerBooster extends Generator{
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public float addPower(Tile tile, float amount){
|
public boolean acceptsPower(Tile tile){
|
||||||
PowerEntity entity = tile.entity();
|
PowerEntity entity = tile.entity();
|
||||||
|
|
||||||
float canAccept = Math.min(powerCapacity - entity.power, amount);
|
return entity.power + 0.001f <= powerCapacity;
|
||||||
entity.power += canAccept;
|
|
||||||
return canAccept;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -51,7 +51,8 @@ public class Generator extends PowerBlock{
|
|||||||
|
|
||||||
if(Vector2.dst(x, y, 0, 0) < powerRange){
|
if(Vector2.dst(x, y, 0, 0) < powerRange){
|
||||||
Tile dest = World.tile(tile.x + x, tile.y + y);
|
Tile dest = World.tile(tile.x + x, tile.y + y);
|
||||||
if(dest != null && dest.block() instanceof PowerAcceptor){
|
if(dest != null && dest.block() instanceof PowerAcceptor &&
|
||||||
|
((PowerAcceptor)dest.block()).acceptsPower(dest)){
|
||||||
if(i == 1){
|
if(i == 1){
|
||||||
PowerAcceptor block = (PowerAcceptor) dest.block();
|
PowerAcceptor block = (PowerAcceptor) dest.block();
|
||||||
|
|
||||||
@@ -67,15 +68,15 @@ public class Generator extends PowerBlock{
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//TODO better distribution scheme
|
||||||
if(i == 0 && acceptors > 0){
|
if(i == 0 && acceptors > 0){
|
||||||
flow = Mathf.clamp(powerSpeed / acceptors, 0f, p.power / acceptors);
|
flow = Mathf.clamp(p.power / acceptors, 0f, powerSpeed / acceptors);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//don't accept any power
|
|
||||||
@Override
|
@Override
|
||||||
public float addPower(Tile tile, float amount){
|
public boolean acceptsPower(Tile tile){
|
||||||
return amount;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user