else getIntProperty( "health", Item->hp ) else getIntProperty( "maxhealth", Item->maxhp ) else getIntProperty( "strength", Item->st ) else getIntProperty( "dexterity", Item->dx ) else getIntProperty( "intelligence", Item->in ) else getIntProperty( "strength2", Item->st2 ) else getIntProperty( "dexterity2", Item->dx2 ) else getIntProperty( "intelligence2", Item->in2 )
else getIntProperty( "hp", Item->hp() ) else getIntProperty( "maxhp", Item->maxhp() ) else getIntProperty( "str", Item->st ) else getIntProperty( "dex", Item->dx ) else getIntProperty( "int", Item->in ) else getIntProperty( "str2", Item->st2 ) else getIntProperty( "dex2", Item->dx2 ) else getIntProperty( "int2", Item->in2 )
PyObject *Py_WPItemGetAttr( Py_WPItem *self, char *name ){	getStrProperty( "name", Item->name().ascii() )	else getIntProperty( "id", Item->id() )	else getStrProperty( "name2", Item->name2().ascii() )	else getIntProperty( "color", Item->color() )	else getIntProperty( "amount", Item->amount() )	else getIntProperty( "amount2", Item->amount2() )	else getIntProperty( "serial", Item->serial )	else getIntProperty( "x", Item->pos.x )	else getIntProperty( "y", Item->pos.y )	else getIntProperty( "z", Item->pos.z )	else getIntProperty( "plane", Item->pos.plane )	else getIntProperty( "layer", Item->layer() )	else getIntProperty( "itemhand", Item->itemhand() )	else getIntProperty( "type", Item->type() )	else getIntProperty( "type2", Item->type2() )		// What we're contained in	else if( !strcmp( "container", name ) )	{		if( self->Item->contserial == 0xFFFFFFFF )			return Py_None;		else if( isCharSerial( self->Item->contserial ) )			return PyGetCharObject( FindCharBySerial( self->Item->contserial ) );		else 			return PyGetItemObject( FindItemBySerial( self->Item->contserial ) ); 	}	// What we contain	else if( !strcmp( "content", name ) )	{		Py_WPContent *returnVal = PyObject_New( Py_WPContent, &Py_WPContentType );		returnVal->Item = self->Item; // Never forget that		return (PyObject*)returnVal;	}	else getIntProperty( "oldx", Item->oldpos.x )	else getIntProperty( "oldy", Item->oldpos.y )	else getIntProperty( "oldz", Item->oldpos.z )	else getIntProperty( "oldplane", Item->oldpos.plane )	else getIntProperty( "oldlayer", Item->oldlayer )	else getIntProperty( "weight", Item->weight() )	else getIntProperty( "racehate", Item->racehate() )	else getIntProperty( "more1", Item->more1 )	else getIntProperty( "more2", Item->more2 )	else getIntProperty( "more3", Item->more3 )	else getIntProperty( "more4", Item->more4 )	else getIntProperty( "moreb1", Item->moreb1 )	else getIntProperty( "moreb2", Item->moreb2 )	else getIntProperty( "moreb3", Item->moreb3 )	else getIntProperty( "moreb4", Item->moreb4 )	else getIntProperty( "morex", Item->morex )	else getIntProperty( "morey", Item->morey )	else getIntProperty( "morez", Item->morez )	else getIntProperty( "doordir", Item->doordir )	else getIntProperty( "dooropen", Item->dooropen )	// PILEABLE	else getIntProperty( "dye", Item->dye )	else getIntProperty( "corpse", Item->corpse )	else getIntProperty( "defense", Item->def )	else getIntProperty( "lodamage", Item->lodamage() )	else getIntProperty( "hidamage", Item->hidamage() )	else getIntProperty( "health", Item->hp )	else getIntProperty( "maxhealth", Item->maxhp )	else getIntProperty( "strength", Item->st )	else getIntProperty( "dexterity", Item->dx )	else getIntProperty( "intelligence", Item->in )	else getIntProperty( "strength2", Item->st2 )	else getIntProperty( "dexterity2", Item->dx2 )	else getIntProperty( "intelligence2", Item->in2 )	else getIntProperty( "speed", Item->speed() )	else getIntProperty( "smelt", Item->smelt )	else getIntProperty( "secured", Item->secured() ? 1 : 0 )	else getIntProperty( "moveable", Item->magic )	else getIntProperty( "gatetime", Item->gatetime )	else getIntProperty( "gatenumber", Item->gatenumber )	else getIntProperty( "decaytime", Item->decaytime )	// ownserial	else getIntProperty( "visible", Item->visible )	// spanserial	else getIntProperty( "dir", Item->dir ) // lightsource type	else getIntProperty( "priv", Item->priv ) 	else getIntProperty( "value", Item->value ) 	else getIntProperty( "restock", Item->restock )	else getIntProperty( "value", Item->value ) 	else getIntProperty( "disabled", Item->disabled )	else getStrProperty( "disabledmsg", Item->disabledmsg.c_str() ) 	else getIntProperty( "poisoned", Item->poisoned ) 	else getStrProperty( "murderer", Item->murderer().ascii() ) 	else getIntProperty( "murdertime", Item->murdertime ) 	else getIntProperty( "rank", Item->rank ) 	else getStrProperty( "creator", Item->creator.c_str() ) 	else getIntProperty( "good", Item->good ) 	else getIntProperty( "madewith", Item->madewith ) 	else getStrProperty( "desc", Item->desc.c_str() ) 	else getIntProperty( "carve", Item->carve ) 	else getIntProperty( "spawnregion", Item->spawnregion )	// If no property is found search for a method	return Py_FindMethod( Py_WPItemMethods, (PyObject*)self, name );}