for( INT32 i = 0; i < guards.size(); ++i )
for( uint i = 0; i < guards.size(); ++i )
PyObject *wpChar_getAttr( wpChar *self, char *name ){	// Python specific stuff	pGetInt( "gm", isGM() ? 1 : 0 )		else if( !strcmp( "region", name ) )		return PyGetRegionObject( self->pChar->region() );/*	else if( !strcmp( "account", name ) )	{		return Py_None;	}*/	else if( !strcmp( "socket", name ) )		return PyGetSocketObject( self->pChar->socket() );	else if( !strcmp( "baseskill", name ) )	{		wpSkills *skills = PyObject_New( wpSkills, &wpSkillsType );		skills->base = true;		skills->pChar = self->pChar;		return (PyObject*)( skills );	}	else if( !strcmp( "skill", name ) )	{		wpSkills *skills = PyObject_New( wpSkills, &wpSkillsType );		skills->base = false;		skills->pChar = self->pChar;		return (PyObject*)( skills );	}	else if( !strcmp( "followers", name ) )	{		cChar::Followers followers = self->pChar->followers();		PyObject *rVal = PyTuple_New( followers.size() );		for( INT32 i = 0; i < followers.size(); ++i )			PyTuple_SetItem( rVal, i, PyGetCharObject( followers[i] ) );		return rVal;	}	else if( !strcmp( "guards", name ) )	{		cChar::Followers guards = self->pChar->guardedby();		PyObject *rVal = PyTuple_New( guards.size() );		for( INT32 i = 0; i < guards.size(); ++i )			PyTuple_SetItem( rVal, i, PyGetCharObject( guards[i] ) );		return rVal;	}	else if( !strcmp( "events", name ) )	{		QStringList events = QStringList::split( ",", self->pChar->eventList() );		PyObject *list = PyList_New( events.count() );		for( INT32 i = 0; i < events.count(); ++i )			PyList_SetItem( list, i, PyString_FromString( events[i].latin1() ) );		return list;	}	else	{		cVariant result;		stError *error = self->pChar->getProperty( name, result );		if( !error )		{			PyObject *obj = 0;			switch( result.type() )			{			case cVariant::Char:				obj = PyGetCharObject( result.toChar() );				break;			case cVariant::Item:				obj = PyGetItemObject( result.toItem() );				break;			case cVariant::Long:			case cVariant::Int:				obj = PyInt_FromLong( result.toInt() );				break;			case cVariant::String:				if( result.toString().isNull() )					obj = PyString_FromString( "" );				else					obj = PyString_FromString( result.toString().latin1() );				break;			case cVariant::Double:				obj = PyFloat_FromDouble( result.toDouble() );				break;			case cVariant::Coord:				obj = PyGetCoordObject( result.toCoord() );				break;			}			if( !obj )			{				PyErr_Format( PyExc_ValueError, "Unsupported Property Type: %s", result.typeName() );				return 0;			}			return obj;		}		else			delete error;	}	// If no property is found search for a method	return Py_FindMethod( wpCharMethods, (PyObject*)self, name );}