I have a support issue with one of my macros that basically boils down to a difference in how /vardata is working under MQ2 and Next. I can't really see why this would be an issue, so I'm looking for insight. I'd like it to work under both (at least for the time being), but long-term it'll be Next only.
To replicate the problem, I've created a small macro (code below and also attached).
[CODE title="OwnerPetTest" highlight="16"]Sub Main
/echo owner.ID ${Me.ID}
/declare spawnId int local ${Me.ID}
/declare owner spawn local
/vardata owner Spawn[${spawnId}]
/echo owner: ${owner}
/echo owner.Pet: ${owner.Pet}
/echo owner.Pet.ID: ${owner.Pet.ID}
/if (!${owner.Pet.ID}) {
/echo ${owner.Name} does not have a pet out, skipping
/return FALSE
}
/declare targetPet spawn local
/vardata targetPet owner.Pet
/echo targetPet Type: ${targetPet}
/return[/CODE]
When running under Next, the output appears as

while under MQ2 it looks like

To replicate the problem, I've created a small macro (code below and also attached).
[CODE title="OwnerPetTest" highlight="16"]Sub Main
/echo owner.ID ${Me.ID}
/declare spawnId int local ${Me.ID}
/declare owner spawn local
/vardata owner Spawn[${spawnId}]
/echo owner: ${owner}
/echo owner.Pet: ${owner.Pet}
/echo owner.Pet.ID: ${owner.Pet.ID}
/if (!${owner.Pet.ID}) {
/echo ${owner.Name} does not have a pet out, skipping
/return FALSE
}
/declare targetPet spawn local
/vardata targetPet owner.Pet
/echo targetPet Type: ${targetPet}
/return[/CODE]
When running under Next, the output appears as

while under MQ2 it looks like


