if( !Magic->CheckResist( NULL, pChar, 6 ) ) tempeffect( pChar, pChar, 1, 0, 0, 0 );
bool handleItemCollision( P_CHAR pChar, P_ITEM pItem ){	Coord_cl dPos = pChar->pos();	if( pItem->onCollide( pChar ) )		return true;	// Decide what to do on type first.	switch( pItem->type() )	{	// Gate	case 51:	case 52:		dPos.x = pItem->morex();		dPos.y = pItem->morey();		dPos.z = pItem->morez();		// Soundeffect before teleport		pChar->soundEffect( 0x1FE );		// Teleport us		pChar->removeFromView( false );		pChar->moveTo( dPos );		pChar->resend( false );		// And soundeffect after		pChar->soundEffect( 0x1FE );		pChar->effect( 0x372A, 0x09, 0x06 );		// Teleport pets		RegionIterator4Chars iter( pChar->pos() );		for( iter.Begin(); !iter.atEnd(); iter++ )		{			P_NPC pPet = dynamic_cast<P_NPC>(iter.GetData());			if( pPet->wanderFollowTarget() == pChar->serial() )			{				if( pPet->inRange( pItem, 4 ) )				{					pPet->removeFromView( false );					pPet->moveTo( dPos );					pPet->resend( false );				}			}		}		return true;	};	switch( pItem->id() )	{	// Fire Field	case 0x3996:	case 0x398c:		if( !Magic->CheckResist( NULL, pChar, 4 ) )			Magic->MagicDamage( pChar, pItem->morex()/3000 );		pChar->soundEffect( 0x208 );		return false;	//Poison field	case 0x3915:	case 0x3920:		if( !Magic->CheckResist( NULL, pChar, 5 ) )			Magic->PoisonDamage( pChar, 1 );		pChar->soundEffect( 0x208 );		return false;	// Para field	case 0x3979:	case 0x3967:		if( !Magic->CheckResist( NULL, pChar, 6 ) )			tempeffect( pChar, pChar, 1, 0, 0, 0 );		pChar->soundEffect( 0x204 );		return false;	};	return false;}