About This File
This is a modder's resource, which does not do anything on it's own. Install it only as a dependency of other mods, or if you are planning to use it in your mod.
MFG Console plus is a monkey-patched version of original MFG Console by kapaer https://www.nexusmods.com/skyrim/mods/44596
Also note that it now requires StorageUtil from Papyrus Utility Scripting functions or Sexlab.
It is the same as original mod with one new feature - expression locking.
In original if mod A does this:
MfgConsoleFunc.SetPhonemeModifier(myActorRef, 0, 1, 50)
And mod B this
MfgConsoleFunc.SetPhonemeModifier(myActorRef, 0, 1, 30)
Actor will end up with value 30, and mod A has no way to know of this change, that expression it set was overwritten.
With plus version, mod A can prevent any other mods from modifying it:
MfgConsoleFunc.LockPhonemeModifier(myActorRef, 0, 1)
MfgConsoleFunc.SetPhonemeModifier(myActorRef, 0, 1, 50)
Then, when mod B tries to overwrite expression, instead of changing expression MFG will emit event MfgExpressionLocked, wich mod A can catch and process
Event OnInit()
RegisterForModEvent("MfgExpressionLocked", "OnExLocked")
EndEvent
Event OnExLocked(Actor akRef, int mode, int id, int value)
Debug.Notification("I should process expression change")
EndEvent
Expression can be unlocked back with
MfgConsoleFunc.LockPhonemeModifier(myActorRef, 0, 1)
If for whatever reason you want to bypass expression locks, you can do it with 5th parameter set to true
MfgConsoleFunc.SetPhonemeModifier(myActorRef, 0, 1, 30, true)
)
Edited by zstj