So according to the latest change logs for Uvirith's Legacy, a new script was added to synchronize the dispositions of the two versions of Almossaren: the one that is "asleep" and the one in the storage room. However, the script appears to have caused something funky. For whatever reason, both version of Almossaren have been stuck at 0 disposition, despite having a starting disposition of 50 in the construction set. I have no clue why this is.
At first, I thought it was due to Almossaren being added to a different faction by accident (i.e. House Hlaalu), but I couldn't find any dialog that added him to any faction.
Here's the full script for the "sleeping" version of Almossaren. The script for the one at work does not contain any demands that affect disposition, so I don't think that one is the culprit.
Begin Uvi_Almossaren_Bed; NPC Almossaren appears in your lower tower when he is off duty.Short NoLoreShort doOnceShort state ;set in dialogue, enables/disables shipmentsShort DispShort FirstGreetingShort FlagShort emb_hook_nominionShort ULNPCIDShort MossaknownShort WellClothedShort DispSet ULNPCID to 2Set emb_hook_nominion to 1 ;makes sure this version cannot become a vampire using VE.If ( doOnce == 0 ) Disable Set doOnce to 1 ReturnEndifIf ( CellChanged ) Set Flag to 1 ReturnElseif ( GetPCSleep ) Set Flag to 1 ReturnElseif ( MenuMode ) If ( GetDisposition != Disp ) Set Disp to GetDisposition almossaren->SetDisposition Disp Endif ReturnEndifIf ( GetDeadCount almossaren > 0 ) ;syncronize with almossaren If ( GetDisabled == 0 ) Disable Endif ReturnEndifIf ( uvi_schedulesOff == 1 ) ;disables schedules for essential NPCs If ( GetDisabled == 0 ) Disable Endif ReturnEndifIf ( Flag == 0 ) ReturnEndifIf ( GetJournalIndex HT_StrongholdMaintenance < 30 ) Disable Set Flag to 0 ReturnElseIf ( GetJournalIndex HT_StrongholdMaintenance == 35 ) Disable Set Flag to 0 ReturnElseif ( GetJournalIndex HT_StrongholdMaintenance == 100 ) Disable Set Flag to 0 ReturnEndIfIf ( GetJournalIndex HT_UvirithCookies == 90 ) If ( GetJournalIndex HT_UvirithCookies < 110 ) Disable Set Flag to 0 Return EndifEndifIf ( uvi_Almos_vampire == 1 ) ;disable if vampire Disable Set Flag to 0 ReturnEndifIf ( GameHour < 8 ) ;sleeping EnableElseif ( Gamehour < 18 ) ;working DisableElseif ( GameHour < 19 ) ;eating EnableElseif ( GameHour < 24 ) ;working DisableElseif ( GameHour >= 24 ) ;sleeping EnableEndifSet Disp to ( almossaren->GetDisposition )SetDisposition DispSet Flag to 0End
Both versions of Almossaren have a "starting" disposition of 50. Thus, I could understand why both versions' dispositions might be stuck at 50, but not 0. My best guess is that using getDisposition for an npc that is disabled might return 0, and that may be what's causing the error. That, or my meeting the sleeping version of Almossaren first, before the working one was ever generated, might have screwed things up.
Thoughts?