@ -5,50 +5,51 @@ Scriptname _00E_LootContainer extends ObjectReference
;=====================================================================================
;=====================================================================================
Event OnInit()
Event OnInit()
BlockActivation()
Self.BlockActivation(True)
EndEvent
EndEvent
Event OnActivate(ObjectReference akActionRef)
Event OnActivate(ObjectReference akActionRef)
if AkActionRef == Game.GetPlayer() && Self.GetItemCount(Gold001) > 0
Actor PlayerREF = Game.GetForm(0x14) as Actor
if !bDone
if AkActionRef != PlayerREF
CheckForGoldIncrementation()
return
EndI f
endi f
;RemoveAllItems(Game.GetPlayer(), abKeepOwnership = true)
int iCurrentGoldCount = GetItemCount(Gold001)
ITMGoldUp.Play(PlayerREF)
Game.GetPlayer().AddItem(Gold001, Self.GetItemCount(Gold001))
DisableNoWait()
if iCurrentGoldCount == 0
return
endif
endif
DisableNoWait()
iCurrentGoldCount += GetGoldBonus(PlayerREF.GetActorValue("Lockpicking"), iCurrentGoldCount)
PlayerREF.AddItem(Gold001, iCurrentGoldCount)
RemoveAllItems()
EndEvent
EndEvent
;=====================================================================================
;=====================================================================================
; FUNCTIONS
; FUNCTIONS
;=====================================================================================
;=====================================================================================
Function CheckForGoldIncrementation()
int Function GetGoldBonus(float fPlayerLockpicking, int iCurrentGoldCount )
bDone = True
if fPlayerLockpicking as int < 15
return 0
iCurrentGoldCount = Self.GetItemCount(Gold001)
endif
fPlayerLockpicking = PlayerREF.GetActorValue("Lockpicking")
if fPlayerLockpicking >= 15
IncrementGold()
EndIf
EndFunction
int iGoldMultiplicator = _00E_GoldMult.GetValue() as int
Function IncrementGold()
if iGoldMultiplicator <= 0
iGoldMultiplicator = 5
endif
float fIncrementPercentage = (fPlayerLockpicking/iGoldMultiplicator)/100
float fIncrementPercentage = (fPlayerLockpicking / iGoldMultiplicator) / 100
Self.AddItem(Gold001, (iCurrentGoldCount*fIncrementPercentage) as Int)
return (iCurrentGoldCount * fIncrementPercentage) as Int
EndFunction
EndFunction
@ -56,15 +57,5 @@ EndFunction
; PROPERTIES
; PROPERTIES
;=====================================================================================
;=====================================================================================
bool bDone
; Use this to control how much the lockpicking skill increments the gold found in chest. When changing, remember to change in _00E_ChestAndDoorLockScript.psc as well!
; Current calculation: Gold in chest*((Lockpicking/iGoldMultiplicator)/100)
int iGoldMultiplicator = 5
float fPlayerLockpicking
int iCurrentGoldCount
Actor Property PlayerREF Auto
Sound Property ITMGoldUp Auto
MiscObject Property Gold001 Auto
MiscObject Property Gold001 Auto
GlobalVariable Property _00E_GoldMult Auto