else if ( !strcmp( name, "fixedlight" ) ) return PyInt_FromLong( self->pRegion->fixedlight() );
static PyObject* wpRegion_getAttr( wpRegion* self, char* name ){	/*		\rproperty region.parent This property represents the parent region of this region. If there is no parent region this		property contains None, otherwise another region object for the parent region.	*/	if ( !strcmp( name, "parent" ) )	{		// Check if valid region		cTerritory* pRegion = dynamic_cast<cTerritory*>( self->pRegion->parent() );		return PyGetRegionObject( pRegion );	}	/*		\rproperty region.children This property contains a tuple of region objects for the subregions within this region.	*/	else if ( !strcmp( name, "children" ) )	{		QValueVector<cBaseRegion*> children = self->pRegion->children();		PyObject* tuple = PyTuple_New( children.size() );		for ( uint i = 0; i < children.size(); ++i )		{			cTerritory* pRegion = dynamic_cast<cTerritory*>( children[i] );			PyTuple_SetItem( tuple, i, PyGetRegionObject( pRegion ) );		}		return tuple;	}	/*		\rproperty region.rectangles This property is a tuple of tuples containing x1, y1, x2 and y2 for the rectangles that define		the area of this region.	*/	else if ( !strcmp( name, "rectangles" ) )	{		QValueVector<cBaseRegion::rect_st> rectangles = self->pRegion->rectangles();		PyObject* tuple = PyTuple_New( rectangles.size() );		for ( uint i = 0; i < rectangles.size(); ++i )		{			PyObject* subtuple = PyTuple_New( 4 );			PyTuple_SetItem( subtuple, 0, PyInt_FromLong( rectangles[i].x1 ) );			PyTuple_SetItem( subtuple, 1, PyInt_FromLong( rectangles[i].y1 ) );			PyTuple_SetItem( subtuple, 2, PyInt_FromLong( rectangles[i].x2 ) );			PyTuple_SetItem( subtuple, 3, PyInt_FromLong( rectangles[i].y2 ) );			PyTuple_SetItem( tuple, i, subtuple );		}		return tuple;	}	/*		\rproperty region.name The name of this region.	*/	else if ( !strcmp( name, "name" ) )		return QString2Python( self->pRegion->name() );	/*		\rproperty region.resores The Definition of Ores of this Region.	*/	else if ( !strcmp( name, "resores" ) )		return QString2Python( self->pRegion->resores() );	/*		\rproperty region.midilist A list of midi sounds to be played for this region.	*/	else if ( !strcmp( name, "midilist" ) )		return QString2Python( self->pRegion->midilist() );	/*		\rproperty region.guardowner The name of the guardowner for this region.	*/	else if ( !strcmp( name, "guardowner" ) )		return QString2Python( self->pRegion->guardOwner() );	// Flags	/*		\rproperty region.guarded This boolean flag indicates whether the region is guarded or not.	*/	else if ( !strcmp( name, "guarded" ) )		return PyInt_FromLong( self->pRegion->isGuarded() ? 1 : 0 );	/*		\rproperty region.nomark This boolean flag indicates whether runes aren't markable in this region or not.	*/	else if ( !strcmp( name, "nomark" ) )		return PyInt_FromLong( self->pRegion->isNoMark() ? 1 : 0 );	/*		\rproperty region.nogate This boolean flag indicates whether gates in or out of this region are allowed.	*/	else if ( !strcmp( name, "nogate" ) )		return PyInt_FromLong( self->pRegion->isNoGate() ? 1 : 0 );	/*		\rproperty region.norecallout This boolean flag indicates whether recalling out of this region is allowed.	*/	else if ( !strcmp( name, "norecallout" ) )		return PyInt_FromLong( self->pRegion->isNoRecallOut() ? 1 : 0 );	/*		\rproperty region.norecallin This boolean flag indicates whether recalling into this region is allowed.	*/	else if ( !strcmp( name, "norecallin" ) )		return PyInt_FromLong( self->pRegion->isNoRecallIn() ? 1 : 0 );	/*		\rproperty region.noagressivemagic This boolean flag indicates whether agressive magic is forbidden in this region or not.	*/	else if ( !strcmp( name, "noagressivemagic" ) )		return PyInt_FromLong( self->pRegion->isNoAgressiveMagic() ? 1 : 0 );	/*		\rproperty region.antimagic This boolean flag indicates whether magic is forbidden in this region or not.	*/	else if ( !strcmp( name, "antimagic" ) )		return PyInt_FromLong( self->pRegion->isAntiMagic() ? 1 : 0 );	/*		\rproperty region.cave This boolean flag indicates that this region is underground.	*/	else if ( !strcmp( name, "cave" ) )		return PyInt_FromLong( self->pRegion->isCave() ? 1 : 0 );	/*		\rproperty region.nodecay This boolean flag indicates that items do not decay in this region.	*/	else if ( !strcmp( name, "nodecay" ) )		return PyInt_FromLong( self->pRegion->isNoDecay() ? 1 : 0 );	/*		\rproperty region.nomusic This boolean flag indicates that no music should be played in this region.	*/	else if ( !strcmp( name, "nomusic" ) )		return PyInt_FromLong( self->pRegion->isNoMusic() ? 1 : 0 );	/*		\rproperty region.noguardmessage This boolean flag indicates that no guard message should show when entering this region..	*/	else if ( !strcmp( name, "noguardmessage" ) )		return PyInt_FromLong( self->pRegion->isNoGuardMessage() ? 1 : 0 );	/*		\rproperty region.noentermessage This boolean flag indicates that no entrance message should show when entering this region.	*/	else if ( !strcmp( name, "noentermessage" ) )		return PyInt_FromLong( self->pRegion->isNoEnterMessage() ? 1 : 0 );	/*		\rproperty region.instalogout This boolean flag indicates if Region is a InstaLogout Region or not.	*/	else if ( !strcmp( name, "instalogout" ) )		return PyInt_FromLong( self->pRegion->isInstaLogout() ? 1 : 0 );	/*		\rproperty region.noteleport This boolean flag indicates that no Teleport Magic is allowed in this place.	*/	else if ( !strcmp( name, "noteleport" ) )		return PyInt_FromLong( self->pRegion->isNoTeleport() ? 1 : 0 );	/*		\rproperty region.safe This boolean flag indicates the Region is a Safe Region (no one can be harmed here).	*/	else if ( !strcmp( name, "safe" ) )		return PyInt_FromLong( self->pRegion->isSafe() ? 1 : 0 );	/*		\rproperty region.nocriminalcombat This boolean flag indicates that attacks here against innocent targets, cant make attacker criminal.	*/	else if ( !strcmp( name, "nocriminalcombat" ) )		return PyInt_FromLong( self->pRegion->isNoCriminalCombat() ? 1 : 0 );	/*		\rproperty region.nokillcount This boolean flag indicates that Kills are not counted on this area.	*/	else if ( !strcmp( name, "nokillcount" ) )		return PyInt_FromLong( self->pRegion->isNoKillCount() ? 1 : 0 );	return Py_FindMethod( wpRegionMethods, ( PyObject * ) self, name );}