/*
* LOCATION
*/
inline char* location( room_data* room )
{
char* tmp = static_string( );
sprintf( tmp, "In room %d", room->vnum );
return tmp;
}
inline char* location( obj_data* obj )
{
char* tmp = static_string( );
sprintf( tmp, "In %s", obj->Seen_Name( NULL ) );
return tmp;
}
inline char* location( char_data* ch )
{
char* tmp = static_string( );
sprintf( tmp, "Carried by %s", ch->descr->name );
return tmp;
}
inline char* location( locker_data* locker )
{
char* tmp = static_string( );
sprintf( tmp, "In %s's locker", locker->owner->descr->name );
return tmp;
}
inline char* location( thing_data* thing )
{
if( thing == NULL )
return static_string( "Nowhere!?" );
switch( thing->type( ) ) {
case ROOM_DATA : return location( (room_data*) thing );
case OBJ_DATA : return location( (obj_data*) thing );
case LOCKER_DATA : return location( (locker_data*) thing );
case MOB_DATA :
case CHAR_DATA :
case PLAYER_DATA :
case WIZARD_DATA : return location( (char_data*) thing );
}
return static_string( "In something unknown?!" );
}