scn EBxReplaceFormListWithItem ; Arguments ref rReplacer ref rReplaceFormList ; Temp vars ref rItem int iCount int iOutputAmount int iRemainingItems int i begin Function { rReplacer, rReplaceFormList } let iOutputAmount := GetMinOf (playerRef.GetItemCount Caps001) (playerRef.GetItemCount rReplaceFormList) if iOutputAmount == 0 return endif if rReplacer == EBxBrahminMilk let iOutputAmount := 1 endif let iRemainingItems := iOutputAmount while rItem := ListGetNthForm rReplaceFormList i let iCount := playerRef.GetItemCount rItem let iCount := GetMinOf iCount iRemainingItems playerRef.RemoveItem rItem iCount 1 playerRef.RemoveItem Caps001 iCount 1 let iRemainingItems -= iCount if iRemainingItems <= 0 break endif let i += 1 loop playerRef.AddItem rReplacer iOutputAmount end