//----------------------------------------------------------------------------
void CGuildMemberModule::quitGuild()
{
	MODULE_AST( _GuildMemberCore );
	CGuild * guild = EGS_PD_CAST<CGuild*>( _GuildMemberCore->getGuild() );
	EGS_PD_AST( guild );
	SM_STATIC_PARAMS_1( params,STRING_MANAGER::player );
	params[0].setEIdAIAlias( _GuildMemberCore->getIngameEId(), CAIAliasTranslator::getInstance()->getAIAlias(_GuildMemberCore->getIngameEId()) );
	
	CFameManager::getInstance().clearPlayerGuild( _GuildMemberCore->getIngameEId() );

	CGuildCharProxy proxy;
	getProxy(proxy);
	proxy.cancelAFK();
	clearOnlineGuildProperties();
	guild->deleteMember( _GuildMemberCore );
	if ( guild->getMembersBegin() == guild->getMembersEnd() )
	{
		CGuildManager::getInstance()->deleteGuild(guild->getId());
		proxy.sendSystemMessage("GUILD_DESTROYED");
	}
	else
	{
		guild->sendMessageToGuildMembers("GUILD_QUIT", params);
		SM_STATIC_PARAMS_1(params, STRING_MANAGER::string_id);
		params[0].StringId = guild->getNameId();
		proxy.sendSystemMessage("GUILD_YOU_QUIT", params);
	}
}
//----------------------------------------------------------------------------
void CGuildMemberModule::sendMessageToGuildMembers( const std::string &  msg, const TVectorParamCheck & params )const
{
	MODULE_AST( _GuildMemberCore );
	CGuild * guild = MODULE_CAST<CGuild*>( _GuildMemberCore->getGuild() );
	MODULE_AST( guild );
	guild->sendMessageToGuildMembers( msg,params );
}