You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

47 lines
874 B

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