Exemple #1
0
BOOL AbilityMachining::IsGemConflict(Obj_Human* pHuman, BYTE GemIndex, BYTE EquipIndex)
{
__ENTER_FUNCTION

	Assert( pHuman );

	//const	_ITEM* pGem = pHuman->GetItem(GemIndex);
	//const	_ITEM* pEquip = pHuman->GetItem(EquipIndex);

	Item*	pGemItem	 = HumanItemLogic::GetBagItem(pHuman,GemIndex);
	Item*	pEquipItem	 = HumanItemLogic::GetBagItem(pHuman,EquipIndex);

	UINT uGemSerialNumber = pGemItem->GetItemTableIndex();

	LuaInterface* pLuaInterface;
	pLuaInterface = pHuman->getScene()->GetLuaInterface();
	_ITEM tmpGem;
	for( INT i=0; i<pEquipItem->GetGemSlotMax(); ++i )
	{
		UINT idx;

		idx = pEquipItem->GetEquipGemInfo(i).m_GemIndex;
		if( idx < 1 )
			continue;

		if( pLuaInterface->ExeScript_DDD(	ABILITY_LOGIC_SCRIPT, 
											"IsGemConflict",
											(INT)pHuman->getScene()->SceneID(), 
											(INT)uGemSerialNumber, 
											(INT)idx )
			)
		{
			return FALSE;
		}
	}

	return TRUE;

__LEAVE_FUNCTION

	return FALSE;
}