SilverIce/mangos — comment on commit c31750f167fec4b2476c1b30237e0aa7b7d9ea90
File: src/game/Transports.cpp line 426
By Zakamurite:

float xOffset = (player->GetTransOffsetX() * cos(GetOrientation()) - player->GetTransOffsetY() * sin(GetOrientation()));
float yOffset = (player->GetTransOffsetY() * cos(GetOrientation()) + player->GetTransOffsetX() * sin(GetOrientation()));
player->SetPosition(GetPositionX() + xOffset, GetPositionY() + yOffset, GetPositionZ() + player->GetTransOffsetZ(), GetOrientation() + player->GetTransOffsetO());

is more precise