Moved mount name updates to mount aliases

This commit is contained in:
Eddoursul 2023-11-27 19:19:05 +01:00
parent 6c5ab0e966
commit 082c1f7bbe
11 changed files with 79 additions and 25 deletions

BIN
SetMountNames.esp Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,17 @@
Scriptname _00E_NQ06_DonkeyAlias extends ReferenceAlias Hidden
GlobalVariable Property _00E_MuleOwned Auto
Event OnPlayerLoadGame()
If (_00E_MuleOwned.GetValue() as Int) > 0
String sMuleName = (GetOwningQuest() as _00E_NQ06_Functions).sMuleName
if sMuleName != ""
(GetReference() as Actor).GetActorBase().SetName(sMuleName)
endif
EndIf
EndEvent

View File

@ -0,0 +1,17 @@
Scriptname _00E_NQ06_ShadowAlias extends ReferenceAlias Hidden
GlobalVariable Property _00E_FathersShadowOwned Auto
Event OnPlayerLoadGame()
If (_00E_FathersShadowOwned.GetValue() as Int) > 0
String sShadowName = (GetOwningQuest() as _00E_NQ06_Functions).sFathersShadowName
if sShadowName != ""
(GetReference() as Actor).GetActorBase().SetName(sShadowName)
endif
EndIf
EndEvent

View File

@ -58,22 +58,6 @@ String Function SetMountName()
EndFunction
Function RefreshNamesOnSaveLoad()
{makes sure that the names are saved}
If _00E_HorseOwned.GetValueInt() == 1 && sHorseName != ""
PlayerHorse.GetActorReference().GetActorBase().SetName(sHorseName)
EndIf
If _00E_MuleOwned.GetValueInt() == 1 && sMuleName != ""
Bonni.GetActorReference().GetActorBase().SetName(sMuleName)
EndIf
If _00E_FathersShadowOwned.GetValueInt() == 1 && sFathersShadowName != ""
FS_NQR05_FatherShadow.GetActorReference().GetActorBase().SetName(sFathersShadowName)
EndIf
EndFunction
Function RenameMount(bool _bReturnToSelection)
int iRenameSelection = _00E_NQ06_RenameMountSelection.Show()

View File

@ -47,13 +47,6 @@ Function SetAutoSaveInterval()
EndFunction
Function RefreshMountNamesOnLoad()
_00E_NQ06_Functions NQ06Functions = Game.GetForm(0x725BA) as _00E_NQ06_Functions
NQ06Functions.RefreshNamesOnSaveLoad()
EndFunction
;=====================================================================================
; MAINTENANCE
@ -76,8 +69,6 @@ Function Maintenance()
(Game.GetForm(0xAC80E) as Message).ShowAsHelpMessage("Clear", 0.1, 1, 1)
SetAutoSaveInterval()
RefreshMountNamesOnLoad()
SendModEvent("Enderal_GameLoaded")

View File

@ -0,0 +1,45 @@
Scriptname PlayerHorseScript extends ReferenceAlias
Event OnDeath(Actor akKiller)
MySelf = GetActorReference()
_00E_HorseOwned.SetValue(0)
EndEvent
Event OnUnload()
If MySelf.IsDead()
; disable the dead horse if it is unloaded
MySelf.Disable()
MySelf.Delete()
(GetOwningQuest() as _00E_NQ06_Functions).sHorseName = ""
; added a new horse that can be bought at the stables
Myself = StablesPosition.PlaceActorAtMe(LvlHorseSaddled)
Alias_HorseRef.ForceRefTo(MySelf)
Alias_HorseRef.GetRef().SetFactionOwner(StablesFaction)
EndIf
EndEvent
Event OnPlayerLoadGame()
If (_00E_HorseOwned.GetValue() as Int) > 0
String sHorseName = (GetOwningQuest() as _00E_NQ06_Functions).sHorseName
if sHorseName != ""
(GetReference() as Actor).GetActorBase().SetName(sHorseName)
endif
EndIf
EndEvent
Actor Property MySelf Auto
ObjectReference Property StablesPosition Auto
ActorBase Property LvlHorseSaddled Auto
ReferenceAlias Property Alias_HorseRef Auto
Faction Property StablesFaction Auto
GlobalVariable Property _00E_HorseOwned Auto