Let bullets have speed = 0

This commit is contained in:
Anuken
2021-06-04 08:53:39 -04:00
parent 6ceb1d5058
commit 1bbb52877f
7 changed files with 23 additions and 13 deletions
@@ -445,7 +445,7 @@ public class BulletType extends Content implements Cloneable{
bullet.owner = owner;
bullet.team = team;
bullet.time = 0f;
bullet.vel.trns(angle, speed * velocityScl);
bullet.initVel(angle, speed * velocityScl);
if(backMove){
bullet.set(x - bullet.vel.x * Time.delta, y - bullet.vel.y * Time.delta);
}else{
@@ -462,7 +462,7 @@ public class BulletType extends Content implements Cloneable{
}
bullet.add();
if(keepVelocity && owner instanceof Velc v) bullet.vel.add(v.vel().x, v.vel().y);
if(keepVelocity && owner instanceof Velc v) bullet.vel.add(v.vel());
return bullet;
}
@@ -23,7 +23,8 @@ public class ContinuousLaserBulletType extends BulletType{
public boolean largeHit = true;
public ContinuousLaserBulletType(float damage){
super(0.001f, damage);
this.damage = damage;
this.speed = 0f;
hitEffect = Fx.hitBeam;
despawnEffect = Fx.none;
@@ -21,7 +21,8 @@ public class LaserBulletType extends BulletType{
public boolean largeHit = false;
public LaserBulletType(float damage){
super(0.01f, damage);
this.damage = damage;
this.speed = 0f;
hitEffect = Fx.hitLaserBlast;
hitColor = colors[2];
@@ -12,8 +12,8 @@ public class LightningBulletType extends BulletType{
public int lightningLength = 25, lightningLengthRand = 0;
public LightningBulletType(){
super(0.0001f, 1f);
damage = 1f;
speed = 0f;
lifetime = 1;
despawnEffect = Fx.none;
hitEffect = Fx.hitLancer;
@@ -16,6 +16,7 @@ public class RailBulletType extends BulletType{
public float updateEffectSeg = 20f;
public RailBulletType(){
speed = 0f;
pierceBuilding = true;
pierce = true;
reflectable = false;
@@ -23,7 +24,6 @@ public class RailBulletType extends BulletType{
despawnEffect = Fx.none;
collides = false;
lifetime = 1f;
speed = 0.01f;
}
@Override
@@ -57,7 +57,7 @@ public class RailBulletType extends BulletType{
Damage.collideLine(b, b.team, b.type.hitEffect, b.x, b.y, b.rotation(), length, false, false);
float resultLen = b.fdata;
Vec2 nor = Tmp.v1.set(b.vel).nor();
Vec2 nor = Tmp.v1.trns(b.rotation(), 1f).nor();
for(float i = 0; i <= resultLen; i += updateEffectSeg){
updateEffect.at(b.x + nor.x * i, b.y + nor.y * i, b.rotation());
}