This commit is contained in:
Eddoursul 2021-10-06 00:46:41 +02:00
parent 189fbda45a
commit 0920167a39
43 changed files with 172 additions and 117 deletions

Binary file not shown.

View File

@ -8,13 +8,12 @@ bInvalidateOlderFiles=1
sResourceArchiveList=Skyrim - Misc.bsa, Skyrim - Shaders.bsa, Skyrim - Interface.bsa, Skyrim - Animations.bsa, Skyrim - Meshes0.bsa, Skyrim - Meshes1.bsa, Skyrim - Sounds.bsa, Skyrim - Textures0.bsa, Skyrim - Textures1.bsa, Skyrim - Textures2.bsa, Skyrim - Textures3.bsa, Skyrim - Textures4.bsa, Skyrim - Textures5.bsa, Skyrim - Textures6.bsa, Skyrim - Textures7.bsa
sResourceArchiveList2=Skyrim - Textures8.bsa, Skyrim - Patch.bsa, Unofficial Skyrim Special Edition Patch.bsa, Unofficial Skyrim Special Edition Patch - Textures.bsa, E - Meshes.bsa, E - Scripts.bsa, E - Sounds.bsa, E - Textures1.bsa, E - Textures2.bsa, E - Textures3.bsa, E - SE.bsa, E - Update.bsa, L - Textures.bsa, L - Voices.bsa
[VATS]
bVATSDisable=1
[SaveGame]
; This should be removed in Steam version to allow its configuration via the launcher.
iAutoSaveCount=10
[MapMenu]
; Paper map settings
uLockedObjectMapLOD=32
uLockedTerrainLOD=32
sWorldMapOverlayNormalSnowTexture=
@ -28,17 +27,18 @@ fMapWorldMinPitch=90.0000
fMapWorldMaxPitch=90.0000
sMapWorldDefaultWorldSpace=Vyn
[Audio]
uMaxSizeForCachedSound=4096
[Actor]
; USSEP: Fixes bow engagement distance
fVisibleNavmeshMoveDist=12288.0000
[Display]
fGlobalBloomThresholdBoost=100
; Disables bloom
fGlobalBloomThresholdBoost=10
; Disables Screen Space Reflections - fixes engine bug with green water. Use ENB for better implementation (you may need to remove this, then).
fWaterSSRIntensity=0.0001
[Interface]
; Closer book and note zooming
fBookDistance=82.0000
fNoteDistance=70.0000
fBookOpenTime=500.0000

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -64,6 +64,25 @@ Event OnPlayerLoadGame()
EndIf
RegisterForActions()
Bool bFS = (Game.GetModByName("Enderal - Forgotten Stories.esm") != 255)
Bool bSkyUI = (Game.GetModByName("SkyUI_SE.esp") != 255)
If bFS == False && bSkyUI == False
Debug.MessageBox("Enderal - Forgotten Stories.esm and SkyUI_SE.esp are not loaded! Open Data Files and enable them. If the game was started without them, you should start a new game.")
Game.QuitToMainMenu()
Return
ElseIf bFS == False
Debug.MessageBox("Enderal - Forgotten Stories.esm is not loaded! Open Data Files and enable it. If the game was started without it, you should start a new game.")
Game.QuitToMainMenu()
Return
ElseIf bSkyUI == False
Debug.MessageBox("SkyUI_SE.esp is not loaded! Open Data Files and enable it.")
EndIf
; SE: Workaround for broken physics in saves, made on a mount
If PlayerREF.IsOnMount()
PlayerREF.Dismount()
EndIf
EndIf
EndEvent

View File

@ -1,16 +1,17 @@
Scriptname _00E_LightSwitchSecondaryScript extends ObjectReference
Actor Property PlayerRef Auto
Keyword Property LinkKeyword Auto
Event OnTriggerEnter(ObjectReference akActionRef)
if akActionRef == PlayerRef
(GetLinkedRef() as _00E_LightSwitchMainScript).TurnSwitchOn()
(GetLinkedRef(LinkKeyword) as _00E_LightSwitchMainScript).TurnSwitchOn()
EndIf
EndEvent
Event OnTriggerLeave(ObjectReference akActionRef)
if akActioNRef == PlayerRef
(GetLinkedRef() as _00E_LightSwitchMainScript).TurnSwitchOff()
(GetLinkedRef(LinkKeyword) as _00E_LightSwitchMainScript).TurnSwitchOff()
EndIf
EndEvent

View File

@ -0,0 +1,17 @@
Scriptname _00E_LightSwitchTertiaryScript extends ObjectReference
Actor Property PlayerRef Auto
Keyword Property LinkKeyword Auto
Event OnTriggerEnter(ObjectReference akActionRef)
if akActionRef == PlayerRef
(GetLinkedRef(LinkKeyword) as _00E_LightSwitchMainScript).TurnSwitchOn()
EndIf
EndEvent
Event OnTriggerLeave(ObjectReference akActionRef)
if akActioNRef == PlayerRef
(GetLinkedRef(LinkKeyword) as _00E_LightSwitchMainScript).TurnSwitchOff()
EndIf
EndEvent

View File

@ -23,9 +23,26 @@ Function SetUpScene()
Wait(5.0)
Game.EnablePlayerControls()
Game.DisablePlayerControls(false, true, true, false, true, false, false)
Bool bFS = (Game.GetModByName("Enderal - Forgotten Stories.esm") != 255)
Bool bSkyUI = (Game.GetModByName("SkyUI_SE.esp") != 255)
If bFS == False && bSkyUI == False
Debug.MessageBox("Enderal - Forgotten Stories.esm and SkyUI_SE.esp are not loaded! The game will not run properly. Open Data Files and enable them.")
Game.QuitToMainMenu()
Return
ElseIf bFS == False
Debug.MessageBox("Enderal - Forgotten Stories.esm is not loaded! The game will not run properly. Open Data Files and enable it.")
Game.QuitToMainMenu()
Return
ElseIf bSkyUI == False
Debug.MessageBox("SkyUI_SE.esp is not loaded! The game will not run properly. Open Data Files and enable it.")
Game.QuitToMainMenu()
Return
EndIf
Wait(1.0)
_00E_MQP01_Thoughts01.ShowAsHelpMessage("Empty", 5, 1, 1)
EndFunction
Function UnlockDoor()

View File

@ -149,7 +149,7 @@ Function _UpdatePotion(Potion item, Int count, Bool bIsInCraftingMode)
EndIf
Else
Int maxDuration = NoAlchemistPotionDurationLimitInSeconds
Int durationBonus = PlayerREF.GetAV("BypassVendorStolenCheck") as Int
Int durationBonus = PlayerREF.GetAV("Variable02") as Int
If PlayerREF.hasPerk(_00E_Class_Theriantrophist_P03_GreyAlchemist_03)
maxDuration = -1 ; no duration mali are required

View File

@ -10,60 +10,61 @@ keyword property linkHavokPartner auto
{Link with this keyword and that ref will also sim with myself}
bool property beenSimmed auto hidden
{prevent an object that has been havok'd in-game from going static}
Bool Property beenPutInContainer auto hidden
EVENT onCellAttach()
if (beenSimmed == FALSE && Self.Is3DLoaded())
setMotionType(Motion_Keyframed, TRUE)
; ;debug.trace("havok disabled on: " + self)
endif
endEVENT
Event OnCellAttach()
If Is3DLoaded() && beenSimmed == False && beenPutInContainer == False
SetMotionType(Motion_Keyframed, True)
; debug.trace("havok disabled on: " + self)
EndIf
EndEvent
EVENT onLoad()
if (beenSimmed == FALSE && Self.Is3DLoaded())
setMotionType(Motion_Keyframed, TRUE)
; ;debug.trace("havok disabled on: " + self)
endif
endEVENT
Event OnLoad()
If beenSimmed == False && beenPutInContainer == False
SetMotionType(Motion_Keyframed, True)
; debug.trace("havok disabled on: " + self)
EndIf
EndEvent
EVENT onActivate(ObjectReference triggerRef)
if havokonActivate == TRUE && beenSimmed == FALSE && Self.Is3DLoaded() ;USSEP 4.1.8 Bug #26371 - Added Is3DLoaded check to prevent a race condition with the OnContainerChanged event when picking up an object
ReleaseToHavok()
endif
endEVENT
EVENT onHit(ObjectReference var1, Form var2, Projectile var3, bool var4, bool var5, bool var6, bool var7)
if havokOnHit == TRUE && beenSimmed == FALSE
ReleaseToHavok()
endif
endEVENT
EVENT onGrab()
if havokOnZkey == TRUE && beenSimmed == FALSE
ReleaseToHavok()
endif
endEVENT
;USKP 2.0.1 - Added event to deal with Papyrus spam caused by the player picking these things up since the game cannot process that properly.
Event OnContainerChanged(ObjectReference akNewContainer, ObjectReference akOldContainer)
if( akNewContainer != None )
;Stops the OnLoad event from generating errors.
beenSimmed = True
Else
;No container, means it's being dropped in the open. Let it loose now.
Event OnActivate(ObjectReference triggerRef)
If havokonActivate && beenSimmed == False
ReleaseToHavok()
EndIf
EndEvent
FUNCTION ReleaseToHavok()
beenSimmed = TRUE
objectReference myLink = getLinkedRef(linkHavokPartner)
if myLink != NONE
defaultDisableHavokOnLoad linkScript = myLink as defaultDisableHavokOnLoad
if (linkScript) && (linkScript.beenSimmed == FALSE)
linkScript.ReleaseToHavok()
endif
endif
setMotionType(Motion_Dynamic, TRUE)
Self.ApplyHavokImpulse(0, 0, 1, 5)
; Debug.Trace("Released Havok.")
endFUNCTION
Event OnHit(ObjectReference var1, Form var2, Projectile var3, bool var4, bool var5, bool var6, bool var7)
If havokOnHit && beenSimmed == False
ReleaseToHavok()
EndIf
EndEvent
Event OnGrab()
If havokOnZkey && beenSimmed == False
ReleaseToHavok()
EndIf
EndEvent
;USKP 2.0.1 - Added event to deal with Papyrus spam caused by the player picking these things up since the game cannot process that properly.
Event OnContainerChanged(ObjectReference akNewContainer, ObjectReference akOldContainer)
If beenSimmed == False
If akNewContainer != None
;Stops the OnLoad event from generating errors.
beenPutInContainer = True
Else
;No container, means it's being dropped in the open. Let it loose now.
ReleaseToHavok()
EndIf
EndIf
EndEvent
Function ReleaseToHavok()
beenSimmed = True
beenPutInContainer = False
defaultDisableHavokOnLoad myLink = GetLinkedRef(linkHavokPartner) as defaultDisableHavokOnLoad
If myLink && (myLink.beenSimmed == False)
myLink.ReleaseToHavok()
EndIf
SetMotionType(Motion_Dynamic, True)
Self.ApplyHavokImpulse(0, 0, 1, 5)
; Debug.Trace("Released Havok.")
EndFunction

View File

@ -1,4 +1,4 @@
Scriptname DraugrFXScript extends ActiveMagicEffect
Scriptname DraugrFXScript extends ActiveMagicEffect
{Attaches and manages fx}
@ -10,66 +10,66 @@ import form
Actor selfRef
ActorBase myActorBase
int draugrSex
VisualEffect Property DraugrMaleEyeGlowFX Auto
VisualEffect Property DraugrFemaleEyeGlowFX Auto
EVENT OnEffectStart(Actor Target, Actor Caster)
selfRef = caster
;Added by USKP to prevent this effect from appearing on the player.
If selfRef == Game.GetPlayer()
Dispel()
return
EndIf
;USKP 2.0.3 - Don't bother with any of this if the dumb zombie isn't loaded!
if( selfRef.Is3DLoaded() )
myActorBase = caster.GetLeveledActorBase()
;If sex is male (only one currently working) play glow eye art
if myActorBase.GetSex() == 0
if (selfRef.GetSleepState() == 3)
; Debug.Trace("Draugr man is sleeping! 3")
else
;Play glow art
DraugrMaleEyeGlowFX.Play(selfRef, -1)
endif
endif
;if sex is female (currently not returned) play debug text to say this is now working
if myActorBase.GetSex() == 1
if (selfRef.GetSleepState() == 3)
; Debug.Trace("Draugr fem is sleeping! 3")
else
DraugrFemaleEyeGlowFX.Play(selfRef, -1)
endIf
endif
EndIf
ENDEVENT
EVENT OnEffectStart(Actor Target, Actor Caster)
selfRef = caster
Event OnGetUp(ObjectReference akFurniture)
; Debug.Trace("Draugr just got up from " )
;Added by USKP to prevent this effect from appearing on the player.
if( selfRef == Game.GetPlayer() )
Dispel()
Return
EndIf
; USKP 2.0.1 - Sanity check because the actorbase property isn't always valid when this runs.
if( myActorBase )
if myActorBase.GetSex() == 0
;Play glow art
DraugrMaleEyeGlowFX.Play(selfRef, -1)
endif
;if sex is female (currently not returned) play debug text to say this is now working
if myActorBase.GetSex() == 1
DraugrFemaleEyeGlowFX.Play(selfRef, -1)
endif
EndIf
EndEvent
;Added by USKP to prevent this effect from appearing on the player.
If selfRef == Game.GetPlayer()
selfRef = None
EndIf
If selfRef == None
Dispel()
return
EndIf
EVENT onDeath(actor myKiller)
;USKP 2.0.3 - Don't bother with any of this if the dumb zombie isn't loaded!
If selfRef.Is3DLoaded()
myActorBase = selfRef.GetLeveledActorBase()
Int mySex = myActorBase.GetSex()
If (selfRef.GetSleepState() == 3)
; Debug.Trace("Draugr is sleeping! 3")
Elseif mySex == 0 ; If sex is male (only one currently working) play glow eye art
DraugrMaleEyeGlowFX.Play(selfRef, -1)
ElseIf mySex == 1 ; If sex is female (currently not returned) play debug text to say this is now working
DraugrFemaleEyeGlowFX.Play(selfRef, -1)
EndIf
EndIf
ENDEVENT
Event OnGetUp(ObjectReference akFurniture)
; Debug.Trace("Draugr just got up from " )
;Added by USKP to prevent this effect from appearing on the player.
if selfRef == None
Return
EndIf
; USKP 2.0.1 - Sanity check because the actorbase property isn't always valid when this runs.
If myActorBase
Int mySex = myActorBase.GetSex()
If mySex == 0
DraugrMaleEyeGlowFX.Play(selfRef, -1)
ElseIf mySex == 1
DraugrFemaleEyeGlowFX.Play(selfRef, -1)
EndIf
EndIf
EndEvent
Event OnDying(Actor myKiller)
utility.Wait(3.0)
StopEyes()
EndEvent
EVENT onDeath(actor myKiller)
StopEyes()
ENDEVENT
Function StopEyes()
if selfRef
DraugrMaleEyeGlowFX.Stop(selfRef)
DraugrFemaleEyeGlowFX.Stop(selfRef)
ENDEVENT
EndIf
EndFunction