You will need to put a heading parameter in the quest::movepc call. Any heading, it doesn't matter what. If you leave the heading parameter off, it will default to a heading of zero.
If there is a heading there, the bug in the code prior to 1063 will mean it will use whatever heading you are currently facing, which should be the heading you set with $client->setheading().
This is the quest I used to to test the workaround:
Code:
sub EVENT_SAY {
if($text=~/Hail/i){
quest::say("I am Guard Philbin.");
$client->SetHeading(45);
quest::movepc(2, -223, 694, 4, 128);
}
}
And I ended up in North Qeynos with a heading of 45.
Edit: After reading your post again, my explanation doesn't make sense, but try putting a random heading in the movepc call and see if it uses the heading from your $client->SetHeading call
