PHP код:
local Core CreateFrame("Frame")
Core:RegisterEvent("START_LOOT_ROLL")
Core:RegisterEvent("CONFIRM_LOOT_ROLL");
Core:RegisterEvent("CONFIRM_DISENCHANT_ROLL");
Core:SetScript("OnEvent", function(selfevent, ...) return self[event](self, ...) end);

local GetLootRollItemInfoRollOnLootConfirmLootRoll GetLootRollItemInfoRollOnLootConfirmLootRoll;

function 
Core:START_LOOT_ROLL(rollID)
    if 
not rollID then return; end;
    
local ___quality_canNeed_canDisenchant GetLootRollItemInfo(rollID);
    if 
quality >= 2 then 
        local r 
= (canNeed and 1) or (canDisenchant and 3) or 2;
        
RollOnLoot(rollIDr);
    
end;
end;

function 
Core:CONFIRM_LOOT_ROLL(rollIDrollType)
    
ConfirmLootRoll(rollIDrollType);
end;

function 
Core:CONFIRM_DISENCHANT_ROLL(rollIDrollType)
    
ConfirmLootRoll(rollIDrollType);
end