self->pChar->fight( pChar );   QString message = tr( "*You see %1 attacking %2*" ).arg( self->pChar->name ).arg( pChar->name ); for( cUOSocket *mSock = cNetwork::instance()->first(); mSock; mSock = cNetwork::instance()->next() ) if( mSock->player() && mSock->player() != self->pChar && mSock->player() != pChar && mSock->player()->inRange( self->pChar, mSock->player()->VisRange() ) ) mSock->showSpeech( self->pChar, message, 0x26, 3, cUOTxUnicodeSpeech::Emote );  if( pChar->socket() ) pChar->socket()->showSpeech( self->pChar, tr( "*You see %1 attacking you*" ).arg( self->pChar->name ), 0x26, 3, cUOTxUnicodeSpeech::Emote );
self->pChar->attackTarget( pChar );
PyObject* wpChar_attack( wpChar* self, PyObject* args ){	if( !self->pChar || self->pChar->free )		return PyFalse;	if( !checkArgChar( 0 ) )	{		PyErr_BadArgument();		return 0;	}	P_CHAR pChar = getArgChar( 0 );	if( !pChar || self->pChar == pChar )		return PyFalse;	self->pChar->fight( pChar );	// Show the You see XXX attacking YYY messages	QString message = tr( "*You see %1 attacking %2*" ).arg( self->pChar->name ).arg( pChar->name );	for( cUOSocket *mSock = cNetwork::instance()->first(); mSock; mSock = cNetwork::instance()->next() )		if( mSock->player() && mSock->player() != self->pChar && mSock->player() != pChar && mSock->player()->inRange( self->pChar, mSock->player()->VisRange() ) )			mSock->showSpeech( self->pChar, message, 0x26, 3, cUOTxUnicodeSpeech::Emote );		if( pChar->socket() )		pChar->socket()->showSpeech( self->pChar, tr( "*You see %1 attacking you*" ).arg( self->pChar->name ), 0x26, 3, cUOTxUnicodeSpeech::Emote );	return PyTrue;}