bottle-rinse-repeat/src/EBxReplaceFormListWithItem.gek

48 lines
874 B
Plaintext
Raw Permalink Normal View History

2022-07-23 15:38:20 +00:00
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