Ok. So. As everyone probably knows by now, after reaching a certain stage of the main quest the player gets a stone statue erected in Bruma in their honor. As most everyone also knows, this statue is a bit flaky and sometimes vanishes, loses its stone shader, etc. Easily fixed with the "Update my Statue" mod if it should happen to break.
I have a somewhat equally annoying issue with Open Cities, only it's more obvious. Sometimes that statue simply never shows up. Other times the game appears to have tried to generate it, only to drop a living clone of the character near the pedestal. Sometimes even a copy that can be interacted with. So I modified a copy of the vanilla statue script plus bugfixes from the UOP to try and allow a player to fix statue problems in the open worldspace. Apparently it's not working again (still?) and I've racked my brain on it long enough.
If the statue is borked, the player is supposed to be able to type "startquest ocstatuefix" into the console and wait a bit to get a fixed one placed. Here's the script that quest calls:
scn OCStatueFixScript
; Manually run quest script to fix broken player statues with new versions.
ref FixStatue
ref VanillaStatue
ref OCBrumaPlayerStatue
Begin GameMode
if getstage MQ14 >= 50 && MQ14.createStatue == 1
set Martinref.playerStatue to player.CreateFullActorCopy
set FixStatue to Martinref.playerStatue
FixStatue.removeItem torch02 9999 ; make sure the statue doesn't have a torch
FixStatue.addscriptpackage MQStatuePose
FixStatue.moveto MQ14PlayerStatueMarker
; set FixStatueto MQ14PlayerStatueMarker.placeatme 7
FixStatue.setalert 1
FixStatue.setghost 1
FixStatue.setunconscious 1
FixStatue.setdestroyed 1 ; so you can't activate player
FixStatue.setscale 1.8
FixStatue.setav speed 0 ; so you can't move it around
set VanillaStatue to Martinref.playerStatue
set OCBrumaPlayerStatue to VanillaStatue.CreateFullActorCopy
set Martinref.OCCplayerStatue to OCBrumaPlayerStatue ; My my, what a convoluted [censored] mess just to ge us here!
OCBrumaPlayerStatue.removeItem torch02 9999 ; make sure the statue doesn't have a torch
OCBrumaPlayerStatue.addscriptpackage MQStatuePose
OCBrumaPlayerStatue.moveto OCCMQ14PlayerStatueMarker
; set OCBrumaPlayerStatue to OCCMQ14PlayerStatueMarker.placeatme 7
OCBrumaPlayerStatue.setalert 1
OCBrumaPlayerStatue.setghost 1
OCBrumaPlayerStatue.setunconscious 1
OCBrumaPlayerStatue.setdestroyed 1 ; so you can't activate player
OCBrumaPlayerStatue.setscale 1.8
OCBrumaPlayerStatue.setav speed 0 ; so you can't move it around
Message "Bruma player statue should now be fixed."
else
Message "No statue to fix yet. Be patient!"
endif
StopQuest OCStatueFix
End[/codebox]
As of right now, this script is simply dumping a cloned PC next to the pedestal instead of properly fixing the issue. The pedestal itself is properly placed and is free of obstructions, verifiable by me being able to jump up on it without using TCL.
Anyone have any thoughts? Or is this just going to end up being one of those "unfortunate bugs"?