anchor.diff:    recipeItems := ElementByPath(recipeCraft, 'items');
   
     // trying to figure out propper requirements amount
  -  amountOfMainComponent := 1 + round(
  -    GetElementEditValues(itemRecord, 'DATA\Weight')
  -    * 0.2
  -  );
  +  amountOfMainComponent := calcAmountOfMainMaterial(itemRecord);
     amountOfAdditionalComponent := round(amountOfMainComponent / 3);
     if amountOfAdditionalComponent < 1 then
       amountOfAdditionalComponent := 1;
  
positive.code:         addPerkCondition(recipeCraft, getRecordByFormID('000CB411')); // GlassSmithing
          Break;
  
        end else if (currentKeywordEDID = 'ArmorMaterialDragonscale' or currentKeywordEDID = 'ArmorMaterialDragonplate') then begin
          addPerkCondition(recipeCraft, getRecordByFormID('00052190')); // DragonArmor
          Break;
        end else if (currentKeywordEDID = 'ArmorMaterialElven'
          or currentKeywordEDID = 'ArmorMaterialElvenGilded'
          or currentKeywordEDID = 'DLC2ArmorMaterialChitinLight'
          or currentKeywordEDID = 'DLC2ArmorMaterialChitinHeavy'
        ) then begin
          addPerkCondition(recipeCraft, getRecordByFormID('000CB40F')); // ElvenSmithing
          Break;
  
negative.code:         addPerkCondition(recipeCraft, getRecordByFormID('000CB40E')); // DwarvenSmithing
          Break;
  
        end else if (
  			  (currentKeywordEDID = 'ArmorMaterialEbony')
          or (currentKeywordEDID = 'DLC2ArmorMaterialStalhrimLight')
          or (currentKeywordEDID = 'DLC2ArmorMaterialStalhrimHeavy')
        ) then begin
          addPerkCondition(recipeCraft, getRecordByFormID('000CB412')); // EbonySmithing
          Break;
  