Shootpattern allow replacing per bullet (ammo type support) (#11402)
This commit is contained in:
@@ -15,6 +15,7 @@ import mindustry.content.*;
|
||||
import mindustry.ctype.*;
|
||||
import mindustry.entities.*;
|
||||
import mindustry.entities.part.*;
|
||||
import mindustry.entities.pattern.*;
|
||||
import mindustry.game.EventType.*;
|
||||
import mindustry.game.*;
|
||||
import mindustry.gen.*;
|
||||
@@ -72,6 +73,8 @@ public class BulletType extends Content implements Cloneable{
|
||||
public Effect despawnEffect = Fx.hitBulletSmall;
|
||||
/** Effect created when shooting. */
|
||||
public Effect shootEffect = Fx.shootSmall;
|
||||
/** Pattern used to shoot this bullet. If null, uses turret's default pattern. */
|
||||
public @Nullable ShootPattern shootPattern = null;
|
||||
/** Effect created when charging starts; only usable in single-shot weapons with a firstShotDelay / shotDelay. */
|
||||
public Effect chargeEffect = Fx.none;
|
||||
/** Extra smoke effect created when shooting. */
|
||||
|
||||
@@ -705,7 +705,9 @@ public class Turret extends ReloadTurret{
|
||||
type.chargeEffect.at(bulletX, bulletY, rotation);
|
||||
}
|
||||
|
||||
shoot.shoot(barrelCounter, (xOffset, yOffset, angle, delay, mover) -> {
|
||||
ShootPattern pattern = type.shootPattern != null ? type.shootPattern : shoot;
|
||||
|
||||
pattern.shoot(barrelCounter, (xOffset, yOffset, angle, delay, mover) -> {
|
||||
queuedBullets++;
|
||||
int barrel = barrelCounter;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user