Particle Z order using TargetNode - need a global Z order

I am building a little top down two player tank game (the book has been quite helpful!).

What I am trying to do is have my tank start to smoke once it’s life points get below a certain amount. That all works just fine.

In my tank class, I have this function that gets called once the score goes below 25:

func startSmoking(){
    let smokeEmitter = SKEmitterNode(fileNamed: "tankSmoke.sks")!
    smokeEmitter.position = CGPoint.zero
    smokeEmitter.zPosition = 10
    smokeEmitter.targetNode = self.parent   //<---
    addChild(smokeEmitter)
    isSmoking = true
}

This works, but the trouble is is the targetNode = self.parent bit. I want the smoke to go up as the tank moves, so each particle should be free from the emitter position. If I don’t have that, the the entire thing moves with the tank and looks funny. The parent here is the main scene node.

The trouble is I want the smoke on top of the tank - but since setting the target as the parent, I don’t think that’s now possible.

I figured another solution is to make the smoke emmiter outside of the tank class, but it just seems the tank should know how to make it’s own smoke.

In the older Cocos2d, there was an emitter positionType field that did this. Not sure how to get that same functionality.

Thanks!