void Dispel( P_CHAR pSource, PyObject *disp_args )
void Dispel( P_CHAR pSource, bool silent )
	void Dispel( P_CHAR pSource, PyObject *disp_args )	{		if( dispelFunc_.isNull() )			return;		// Get everything before the last dot		if( dispelFunc_.contains( "." ) )		{			// Find the last dot			INT32 position = dispelFunc_.findRev( "." );			QString sModule = dispelFunc_.left( position );			QString sFunction = dispelFunc_.right( dispelFunc_.length() - (position+1) );			PyObject *pModule = PyImport_ImportModule( const_cast< char* >( sModule.latin1() ) );			if( pModule )			{				PyObject *pFunc = PyObject_GetAttrString( pModule, const_cast< char* >( sFunction.latin1() ) );				if( pFunc && PyCallable_Check( pFunc ) )				{					// Create our Argument list					PyObject *p_args = PyTuple_New( 4 );					if( isItemSerial( destSer ) )						PyTuple_SetItem( p_args, 0, PyGetItemObject( FindItemBySerial( destSer ) ) );					else if( isCharSerial( destSer ) )						PyTuple_SetItem( p_args, 0, PyGetCharObject( FindCharBySerial( destSer ) ) );					else						PyTuple_SetItem( p_args, 0, PyFalse );					PyTuple_SetItem( p_args, 1, args );					PyTuple_SetItem( p_args, 2, PyGetCharObject( pSource ) );					PyTuple_SetItem( p_args, 3, disp_args );					PyEval_CallObject( pFunc, p_args );										if( PyErr_Occurred() )						PyErr_Print();				}			}		}		Py_DECREF( args );	}