Basic fuse implementation
This commit is contained in:
@@ -200,7 +200,10 @@ public class AmmoTypes implements ContentList{
|
|||||||
|
|
||||||
meltdownLaser = new AmmoType(TurretBullets.lancerLaser);
|
meltdownLaser = new AmmoType(TurretBullets.lancerLaser);
|
||||||
|
|
||||||
fuseShotgun = new AmmoType(Items.copper, TurretBullets.fuseShot, 0.1f);
|
fuseShotgun = new AmmoType(Items.densealloy, TurretBullets.fuseShot, 1f){{
|
||||||
|
shootEffect = ShootFx.shootBig2;
|
||||||
|
smokeEffect = ShootFx.shootBigSmoke2;
|
||||||
|
}};
|
||||||
|
|
||||||
//liquid
|
//liquid
|
||||||
|
|
||||||
|
|||||||
@@ -216,6 +216,9 @@ public class TurretBlocks extends BlockList implements ContentList{
|
|||||||
fuse = new ItemTurret("fuse"){{
|
fuse = new ItemTurret("fuse"){{
|
||||||
//TODO make it use power
|
//TODO make it use power
|
||||||
ammoTypes = new AmmoType[]{AmmoTypes.fuseShotgun};
|
ammoTypes = new AmmoType[]{AmmoTypes.fuseShotgun};
|
||||||
|
reload = 50f;
|
||||||
|
shootShake = 4f;
|
||||||
|
range = 70f;
|
||||||
size = 3;
|
size = 3;
|
||||||
}};
|
}};
|
||||||
|
|
||||||
|
|||||||
@@ -24,6 +24,7 @@ import io.anuke.ucore.core.Timers;
|
|||||||
import io.anuke.ucore.graphics.Draw;
|
import io.anuke.ucore.graphics.Draw;
|
||||||
import io.anuke.ucore.graphics.Fill;
|
import io.anuke.ucore.graphics.Fill;
|
||||||
import io.anuke.ucore.graphics.Lines;
|
import io.anuke.ucore.graphics.Lines;
|
||||||
|
import io.anuke.ucore.graphics.Shapes;
|
||||||
import io.anuke.ucore.util.Angles;
|
import io.anuke.ucore.util.Angles;
|
||||||
import io.anuke.ucore.util.Mathf;
|
import io.anuke.ucore.util.Mathf;
|
||||||
|
|
||||||
@@ -159,7 +160,34 @@ public class TurretBullets extends BulletList implements ContentList{
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
fuseShot = new BulletType(0.01f, 100){
|
fuseShot = new BulletType(0.01f, 0){
|
||||||
|
int rays = 3;
|
||||||
|
float raySpace = 2f;
|
||||||
|
float rayLength = 70f;
|
||||||
|
{
|
||||||
|
hiteffect = BulletFx.hitBulletBig;
|
||||||
|
lifetime = 10f;
|
||||||
|
despawneffect = Fx.none;
|
||||||
|
pierce = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void init(Bullet b) {
|
||||||
|
for (int i = 0; i < rays; i++) {
|
||||||
|
float offset = (i-rays/2)*raySpace;
|
||||||
|
vector.trns(b.angle(), 0.01f, offset);
|
||||||
|
Damage.collideLine(b, b.getTeam(), hiteffect, b.x, b.y, b.angle(), rayLength - Math.abs(i - (rays/2))*20f);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void draw(Bullet b) {
|
||||||
|
super.draw(b);
|
||||||
|
Draw.color(Color.WHITE, Palette.surge, b.fin());
|
||||||
|
Shapes.tri(b.x, b.y, 12f, (rayLength+10) * b.fout(), b.angle());
|
||||||
|
Draw.reset();
|
||||||
|
}
|
||||||
|
|
||||||
//TODO
|
//TODO
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user