It IS hard coded, actually.
I just checked the code in database.cpp, under Database::CreateCharacter, this line:
"sprintf(end, "UPDATE character_ SET zonename=\'%s\', x = %f, y = %f, z = %f, profile=", GetZoneName(pp->current_zone), pp->x, pp->y, pp->z);"
GetZoneName(pp->current_zone) is getting the zone selected during creation (which is contained in the PlayerProfile struct), and appending it to the SQL Query. Which in turn sets the starting zone to that result. I commented out the line and replaced it with "arena", and sure enough - started in the arena.
Possibly later I'll write a small method to retrieve it from a table in the database instead.
__________________
~ Xarslik
[ Xarslik's Arena Challenge Server ]
|