mirror of
https://github.com/Anuken/Mindustry.git
synced 2025-01-03 13:30:25 +07:00
Test cleanup / Artillery fixes
This commit is contained in:
parent
8af30c9256
commit
4ca546f44a
@ -106,6 +106,7 @@ public class ArtilleryBullets extends BulletList implements ContentList{
|
||||
lifetime = 90f;
|
||||
bulletWidth = bulletHeight = 14f;
|
||||
collides = true;
|
||||
collidesTiles = true;
|
||||
splashDamageRadius = 45f;
|
||||
splashDamage = 50f;
|
||||
backColor = Palette.bulletYellowBack;
|
||||
|
@ -27,7 +27,6 @@ public class BasicBulletType extends BulletType{
|
||||
|
||||
/**Use a negative value to disable splash damage.*/
|
||||
public float splashDamageRadius = -1f;
|
||||
public float splashDamage = 6f;
|
||||
|
||||
public int incendAmount = 0;
|
||||
public float incendSpread = 8f;
|
||||
|
@ -171,6 +171,11 @@ public class Bullet extends BulletEntity<BulletType> implements TeamTrait, SyncT
|
||||
type.draw(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public float getShieldDamage(){
|
||||
return Math.max(getDamage(), type.splashDamage);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean collides(SolidTrait other){
|
||||
return type.collides && super.collides(other) && !supressCollision && !(other instanceof Unit && ((Unit) other).isFlying() && !type.collidesAir);
|
||||
|
@ -21,6 +21,7 @@ public abstract class BulletType extends Content implements BaseBulletType<Bulle
|
||||
public boolean pierce;
|
||||
public Effect hiteffect, despawneffect;
|
||||
|
||||
public float splashDamage = 0f;
|
||||
/**Knockback in velocity.*/
|
||||
public float knockback;
|
||||
/**Whether this bullet hits tiles.*/
|
||||
|
@ -9,4 +9,8 @@ public interface AbsorbTrait extends Entity, TeamTrait, DamageTrait{
|
||||
default boolean canBeAbsorbed(){
|
||||
return true;
|
||||
}
|
||||
|
||||
default float getShieldDamage(){
|
||||
return getDamage();
|
||||
}
|
||||
}
|
||||
|
@ -132,10 +132,10 @@ public class ForceProjector extends Block {
|
||||
if(trait.canBeAbsorbed() && trait.getTeam() != tile.getTeam() && isInsideHexagon(trait.getX(), trait.getY(), realRadius * 2f, tile.drawx(), tile.drawy())){
|
||||
trait.absorb();
|
||||
Effects.effect(BulletFx.absorb, trait);
|
||||
float hit = trait.getDamage()*powerDamage;
|
||||
float hit = trait.getShieldDamage()*powerDamage;
|
||||
entity.hit = 1f;
|
||||
entity.power.amount -= Math.min(hit, entity.power.amount);
|
||||
entity.buildup += trait.getDamage() * entity.warmup;
|
||||
entity.buildup += trait.getShieldDamage() * entity.warmup;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
@ -98,8 +98,8 @@ public class ApplicationTests{
|
||||
|
||||
@Test
|
||||
void initialization(){
|
||||
assertTrue(logic != null);
|
||||
assertTrue(world != null);
|
||||
assertNotNull(logic);
|
||||
assertNotNull(world);
|
||||
assertTrue(content.getContentMap().length > 0);
|
||||
}
|
||||
|
||||
@ -145,11 +145,11 @@ public class ApplicationTests{
|
||||
int bx = 4;
|
||||
int by = 4;
|
||||
world.setBlock(world.tile(bx, by), StorageBlocks.core, Team.blue);
|
||||
assertTrue(world.tile(bx, by).getTeam() == Team.blue);
|
||||
assertEquals(world.tile(bx, by).getTeam(), Team.blue);
|
||||
for(int x = bx-1; x <= bx + 1; x++){
|
||||
for(int y = by-1; y <= by + 1; y++){
|
||||
if(x == bx && by == y){
|
||||
assertTrue(world.tile(x, y).block() == StorageBlocks.core);
|
||||
assertEquals(world.tile(x, y).block(), StorageBlocks.core);
|
||||
}else{
|
||||
assertTrue(world.tile(x, y).block() == Blocks.blockpart && world.tile(x, y).getLinked() == world.tile(bx, by));
|
||||
}
|
||||
@ -163,10 +163,10 @@ public class ApplicationTests{
|
||||
Tile tile = world.tile(4, 4);
|
||||
tile.entity.items.add(Items.coal, 5);
|
||||
tile.entity.items.add(Items.titanium, 50);
|
||||
assertTrue(tile.entity.items.total() == 55);
|
||||
assertEquals(tile.entity.items.total(), 55);
|
||||
tile.entity.items.remove(Items.phasematter, 10);
|
||||
tile.entity.items.remove(Items.titanium, 10);
|
||||
assertTrue(tile.entity.items.total() == 45);
|
||||
assertEquals(tile.entity.items.total(), 45);
|
||||
}
|
||||
|
||||
@Test
|
||||
@ -199,20 +199,20 @@ public class ApplicationTests{
|
||||
resetWorld();
|
||||
SaveIO.loadFromSlot(0);
|
||||
|
||||
assertTrue(world.getMap() == map);
|
||||
assertTrue(world.width() == map.meta.width);
|
||||
assertTrue(world.height() == map.meta.height);
|
||||
assertEquals(world.getMap(), map);
|
||||
assertEquals(world.width(), map.meta.width);
|
||||
assertEquals(world.height(), map.meta.height);
|
||||
}
|
||||
|
||||
@Test
|
||||
void edgeTest(){
|
||||
GridPoint2[] edges = Edges.getEdges(1);
|
||||
assertTrue(edges[0].equals(new GridPoint2(1, 0)));
|
||||
assertTrue(edges[1].equals(new GridPoint2(0, 1)));
|
||||
assertTrue(edges[2].equals(new GridPoint2(-1, 0)));
|
||||
assertTrue(edges[3].equals(new GridPoint2(0, -1)));
|
||||
assertEquals(edges[0], new GridPoint2(1, 0));
|
||||
assertEquals(edges[1], new GridPoint2(0, 1));
|
||||
assertEquals(edges[2], new GridPoint2(-1, 0));
|
||||
assertEquals(edges[3], new GridPoint2(0, -1));
|
||||
|
||||
GridPoint2[] edges2 = Edges.getEdges(2);
|
||||
assertTrue(edges2.length == 8);
|
||||
assertEquals(8, edges2.length);
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user