Due to how X2AbilityMultiTarget_BurstFire is handled, abilities like Fan Fire can cause the counter to skip the value required for it to be removed.
if (AmplifyState.ShotsRemaining == 1)
{
AmplifyState.RemoveEffect(NewGameState, NewGameState);
}
else
{
AmplifyState = XComGameState_Effect_Amplify(NewGameState.ModifyStateObject(AmplifyState.Class, AmplifyState.ObjectID));
AmplifyState.ShotsRemaining -= 1;
}