The following code is expected to create a plasma burst at angle 0 (forwards) when the missile approaches a target. It doesn't. Instead,it auto-aims the burst and ignores the angle specification.

<Missile
            type=                "missile"
            noDetonationOnEndOfLife= "true"
            fragmentMinRadius=    "8"
            missileSpeed=    "40"
            hitPoints=        "15"
            lifetime=        "80"
            maneuverRate=    "9"
            failSafe=            "5"
            autoAcquireTarget=    "true"
            effect=            "&efMissileStrelka;"
            sound=            "&snMissileLauncher;"
            sound=                "&snMissileLauncher;"
            >
            <Fragment
                type=        "particles"
                damage=        "plasma:100; WMD7"
                canHitSource=    "true"
                hitPoints=    "10"
                direction=    "0"
                ArcAngle="0"
                >
                <ParticleSystem
                    style=                "spray"
                    emitLifetime=        "1"
                    emitRate=            "120-150"
                    emitSpeed=            "60-65"
                    spreadAngle=        "1"
                    
                    particleLifetime=    "8"
                    particleEffect=        "&efPlasmaParticleDefault;"
                    >
            </ParticleSystem>
            </Fragment>
        </Missile>

Notes:
-This cannot be disabled by messing around with AutoAcquireTarget
-It occurs regardless of if the parent fragment is tracking or not, or uses AutoAcquireTarget or not
-This would be a desirable behaviour if it had a flag to turn it on/off.

the_shrike 9 Oct 2021:

(This is also more obvious on non-tracking missiles using the same parameters and code, since they're less likely to enter detonation range of a target without facing it directly)

george moromisato 15 Oct 2021:

I think we need a new option here.

The engine currently treats direction 0 as pointing towards whatever object caused the detonation. We need some option to tell it otherwise. For example, maybe we need to add something like, direction="path:0" to indicate that the fragment direction should be at angle 0 with respect to the missile path.

We can support the following options:

  • trigger: The direction of the object that triggered fragmentation (this is the default).
  • target: The direction of the target, even if it did not trigger fragmentation.
  • source: The direction of the object that launched the missile.
  • absolute: Absolute angles; 0 = to the right.

I can do this early in 2.0.