4
Fork 0

Separated RemoveAllItemsSafeVersion()

remove-levelsystem
Eddoursul 4 months ago
parent 1144a5f3e3
commit fa4d6e3f6f
  1. BIN
      SafeRemove.esp
  2. BIN
      scripts/_00E_EnderalControls.pex
  3. BIN
      scripts/_00E_SafeItemRemove.pex
  4. BIN
      scripts/_00e_fs_mq18c_functions.pex
  5. BIN
      scripts/_00e_mq05_functions.pex
  6. BIN
      scripts/_00e_mq18a_functions.pex
  7. BIN
      scripts/_00e_mqp02_functions.pex
  8. BIN
      scripts/_00e_mqp03_functions.pex
  9. BIN
      scripts/_00e_playerfunctions.pex
  10. BIN
      scripts/_00e_questfunctions.pex
  11. 2
      source/scripts/_00E_EnderalControls.psc
  12. 43
      source/scripts/_00E_SafeItemRemove.psc
  13. 2
      source/scripts/_00e_fs_mq18c_functions.psc
  14. 6
      source/scripts/_00e_mq05_functions.psc
  15. 2
      source/scripts/_00e_mq18a_functions.psc
  16. 2
      source/scripts/_00e_mqp02_functions.psc
  17. 2
      source/scripts/_00e_mqp03_functions.psc
  18. 4
      source/scripts/_00e_playerfunctions.psc
  19. 43
      source/scripts/_00e_questfunctions.psc

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

@ -3,3 +3,5 @@ Scriptname _00E_EnderalControls extends Quest Hidden
_00E_FadeToBlackControl Property FadeToBlackControl Auto
_00E_TeleportPlayer Property TeleportPlayer Auto
_00E_SafeItemRemove Property SafeItemRemove Auto

@ -0,0 +1,43 @@
Scriptname _00E_SafeItemRemove extends Quest Hidden
Function RemoveAllItemsSafeVersion(ObjectReference TransferToLoc = NONE)
If Gold001 == NONE || _00E_AllAmmos == NONE
Return
EndIf
RemoveItemsIncrementally(Gold001, TransferToLoc)
Form[] arrows = _00E_AllAmmos.ToArray()
Int i = 0
While i < arrows.Length
RemoveItemsIncrementally(arrows[i], TransferToLoc)
i += 1
EndWhile
If TransferToLoc == NONE
PlayerREF.removeAllItems(_00E_RemoveAllItems_TrashContainer, abRemoveQuestItems = false)
_00E_RemoveAllItems_TrashContainer.removeAllItems()
Else
PlayerREF.RemoveAllItems(akTransferTo = TransferToLoc, abRemoveQuestItems = true)
EndIf
EndFunction
Function RemoveItemsIncrementally(Form akItem, ObjectReference TransferToLoc)
Int nCount = PlayerREF.GetItemCount(akItem)
If nCount > 3000000 && akItem == Gold001
_00E_PleaseRemoveMoney.Show()
EndIf
While nCount > 0
PlayerREF.RemoveItem(akItem, 10000, true, TransferToLoc)
nCount -= 10000
EndWhile
EndFunction
MiscObject Property Gold001 Auto
FormList Property _00E_AllAmmos Auto
actor Property PlayerRef Auto
ObjectReference Property _00E_RemoveAllItems_TrashContainer Auto
Message Property _00E_PleaseRemoveMoney Auto

@ -125,7 +125,7 @@ Function SetUpQyraScene()
Game.ForceThirdPerson()
PlayerREF.MoveTo(FS_MQ18c_SC01_BedMarkerREF)
Levelsystem.RemoveAllItemsSafeVersion(None)
_00E_PlayerFunctions.GetSafeItemRemove().RemoveAllItemsSafeVersion(None)
PlayerREF.AddItem(_00E_EndreleanSublimeGarb_Blue, 1, true)
PlayerREF.EquipItemEx(_00E_EndreleanSublimeGarb_Blue, 1)
Game.SetPlayerAIDriven(True)

@ -193,7 +193,7 @@ Function PlayerDrinksPotion()
_00E_NPCKillBodyfall.Play(PlayerREF)
Wait(2)
Levelsystem.RemoveAllItemsSafeVersion(MQ05Container)
_00E_PlayerFunctions.GetSafeItemRemove().RemoveAllItemsSafeVersion(MQ05Container)
PlayerREF.AddItem(ClothesPrisonerRags, 1, true)
PlayerREF.EquipItem(ClothesPrisonerRags)
@ -306,7 +306,7 @@ Function StartAixonScene()
FadeToWhiteHoldImod.ApplyCrossFade()
Wait(5)
Levelsystem.RemoveAllItemsSafeVersion(None)
_00E_PlayerFunctions.GetSafeItemRemove().RemoveAllItemsSafeVersion(None)
Self.SetStage(150)
EndFunction
@ -323,7 +323,7 @@ Function CompleteQuest()
_00E_MC_YuslanRef.Enable()
EndIf
Levelsystem.GiveEp(__Config_RewardEXP)
_00E_EPHandler.GiveEp(__Config_RewardEXP)
If MQ05Prologue_SC2.IsPlaying()
MQ05Prologue_SC2.Stop()

@ -50,7 +50,7 @@ EndFunction
Function StartSC02()
Levelsystem.RemoveAllitemsSafeVersion(None)
_00E_PlayerFunctions.GetSafeItemRemove().RemoveAllitemsSafeVersion(None)
_00E_StarCityWeather.ForceActive(True)
_00E_BloodyFXShader.Stop(PlayerREF)

@ -36,7 +36,7 @@ Function WakeUp()
FXCameraAttachEmbersHeavyEffect.Stop(PlayerREF)
Game.PrecacheCharGen()
PlayerREF.RestoreActorValue("Health", 100)
Levelsystem.RemoveAllItemsSafeVersion(None)
_00E_PlayerFunctions.GetSafeItemRemove().RemoveAllItemsSafeVersion(None)
Game.ForceFirstPerson()
Game.DisablePlayerControls()
;Game.RequestAutoSave()

@ -70,7 +70,7 @@ Function StrandingCutscene()
AudioCategoryAMB.Unmute()
AudioCategoryAMB2x.Unmute()
AudioCategoryAMBr.Unmute()
Levelsystem.RemoveAllItemsSafeVersion(None) ; Debug only!
_00E_PlayerFunctions.GetSafeItemRemove().RemoveAllItemsSafeVersion(None) ; Debug only!
PlayerREF.AddItem(ClothesPrisonerRags, 1, True); Debug only!
PlayerREF.EquipItem(ClothesPrisonerRags, false, true); Debug only!
PlayerREF.MoveTo(MQP03_PlayerStrandingMarker)

@ -31,6 +31,10 @@ _00E_TeleportPlayer function GetPlayerTeleport() Global
return (Game.GetForm(0x14) as _00E_PlayerFunctions).ControlRepository.TeleportPlayer
endfunction
_00E_SafeItemRemove function GetSafeItemRemove() Global
return (Game.GetForm(0x14) as _00E_PlayerFunctions).ControlRepository.SafeItemRemove
endfunction
;=====================================================================================
; Stop/restart random headtracking

@ -677,41 +677,6 @@ Function UpdateSpeed(Actor SpeedUpdateActor)
EndFunction
;=====================================================================================
; AREMOVE ITEMS SAFE
;=====================================================================================
Function RemoveAllItemsSafeVersion(ObjectReference TransferToLoc = NONE)
If Gold001 == NONE || _00E_AllAmmos == NONE
Return
EndIf
RemoveItemsIncrementally(Gold001, TransferToLoc)
Form[] arrows = _00E_AllAmmos.ToArray()
Int i = 0
While i < arrows.Length
RemoveItemsIncrementally(arrows[i], TransferToLoc)
i += 1
EndWhile
If TransferToLoc == NONE
PlayerREF.removeAllItems(_00E_RemoveAllItems_TrashContainer, abRemoveQuestItems = false)
_00E_RemoveAllItems_TrashContainer.removeAllItems()
Else
PlayerREF.RemoveAllItems(akTransferTo = TransferToLoc, abRemoveQuestItems = true)
EndIf
EndFunction
Function RemoveItemsIncrementally(Form akItem, ObjectReference TransferToLoc)
Int nCount = PlayerREF.GetItemCount(akItem)
If nCount > 3000000 && akItem == Gold001
_00E_PleaseRemoveMoney.Show()
EndIf
While nCount > 0
PlayerREF.RemoveItem(akItem, 10000, true, TransferToLoc)
nCount -= 10000
EndWhile
EndFunction
;=====================================================================================
; ADDED IN FORGOTTEN STORIES
@ -1021,12 +986,6 @@ GlobalVariable Property _00E_AchievementsEnabled Auto
ReferenceAlias Property Levelsystem_SympathyActor Auto
Formlist Property _00E_AllAmmos Auto
MiscObject Property Gold001 Auto
Message Property _00E_PleaseRemoveMoney Auto
GlobalVariable Property GameHour Auto
;--------------------------------------VISION-----------------------------------
@ -1161,8 +1120,6 @@ ObjectReference Property PlayerVisionStartMarker Auto Hidden
ObjectReference Property PlayerVisionFailsaveMarker Auto Hidden
ObjectReference Property VisionLight Auto Hidden
ObjectReference Property _00E_RemoveAllItems_TrashContainer Auto
Idle Property IdleMagic_01 Auto
Spell Property _00E_Vision_NoTimeSpell Auto

Loading…
Cancel
Save