function Recipe takes integer r1, integer r2, integer r3, integer r4, integer r5, integer r6, integer a1, integer a2, integer a3, integer a4, integer a5, integer a6, integer re, unit u, integer ab returns nothing
//*****************
//* Variables *
//*****************
local integer slot = 0
local integer array ressnumber
local integer array resstype
local integer index = 0
local boolean boo = true
//****************
//* Function *
//****************
if GetSpellAbilityId() == ab then
//*****************
//* Set Variables *
//*****************
set ressnumber [1] = a1
set ressnumber [2] = a2
set ressnumber [3] = a3
set ressnumber [4] = a4
set ressnumber [5] = a5
set ressnumber [6] = a6
set resstype [1] = r1
set resstype [2] = r2
set resstype [3] = r3
set resstype [4] = r4
set resstype [5] = r5
set resstype [6] = r6
set slot = 1
loop
exitwhen slot > 6
set index = 1
loop
exitwhen index > 6
if ressnumber[index] != 0 then
if GetItemTypeId(UnitItemInSlotBJ(u, slot)) == resstype[index] then
set ressnumber[index] = ( ressnumber[index] - 1 )
else
endif
else
endif
set index = index + 1
endloop
set slot = slot + 1
endloop
set slot = 1
loop
exitwhen slot > 6
if ressnumber[slot] != 0 then
set boo = false
else
endif
set slot = slot + 1
endloop
set ressnumber[1] = 2
set ressnumber[2] = 1
set ressnumber[3] = 0
set ressnumber[4] = 0
set ressnumber[5] = 0
set ressnumber[6] = 0
if boo == true then
set slot = 1
loop
exitwhen slot > 6
set index = 1
loop
exitwhen index > 6
if ressnumber[index] != 0 then
if GetItemTypeId(UnitItemInSlotBJ(u, slot)) == resstype[index] then
set ressnumber[index] = ( ressnumber[index] - 1 )
call RemoveItem( UnitItemInSlotBJ(u, slot) )
else
endif
else
endif
set index = index + 1
endloop
set slot = slot + 1
endloop
call UnitAddItemByIdSwapped( re, u )
else
endif
else
endif
endfunction
//================================================================================================