You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
MFO now checks every game address it uses when the game starts. Each hook and engine call is compared against a table checked by hand for Skyrim 1.6.1170 and 1.5.97. If one does not match, that one feature switches off and the log says which. On a game version MFO has no table for, its hooks stay off and the log says so. Harbinger does the same.
Use Harbinger 0.9.8 with this version. MFO 2.0.13 still runs with Harbinger 0.9.5 or newer.
Followers leave your museum shipping crates alone. With Legacy of the Dragonborn installed, a follower could loot the items you had put in a town, inn or house shipping crate for the museum. Those crates are now off limits, the same as the museum's own drop-off boxes.
Summons stay summoned. A summon gambit set to cast on the follower himself kept dismissing its own creature about three seconds after casting it, then cast it again. One fight could burn through twenty of them and all of his magicka. MFO was treating the summon like a spell he holds, and ended it when he stopped holding it. Now a summon is cast once and left alone. It lasts its full duration or until it is killed.
A summon is cast once, whatever it targets. Self, the player, an enemy or Auto all mean the same thing for a summon: the follower conjures it one time. On Auto it used to be cast once for every member of the party at the same moment.
A killed summon comes back right away. When the creature dies, the follower summons it again the next time his gambits run.
Each summon spell tracks its own creature, and the list decides how many he can have. A live familiar only stops the familiar rule. A second summon spell is only cast if the follower has room for another creature. That limit is the one your load order sets (the game setting plus perks like Twin Souls), the same number the game uses. If he is full, the second rule waits until one of his creatures dies. The one he summoned first keeps its place.
Summons no longer lock the follower's hand. A summon used to hold his left hand, which kept his heal and damage spells from firing.
In and out of combat work the same. The only difference is which gambit list the rule is on.
This may be what froze the game with Serana. Her summon, cast from a gambit, could hard freeze the game. It is not proven yet that this was the cause. Please try it. Bound weapons and raise dead spells are not affected.
Japanese names show on the board. On a Japanese game, follower, item, spell and skill names drew as rows of diamonds. The board's fonts have no Japanese letters. MFO now ships a Japanese fallback font (Noto Sans JP) and uses it for any letter the main fonts lack. The game's own names now show in Japanese and in any other language that font covers. Korean and Simplified Chinese are not covered yet. MFO's own labels are still English.
Names on the HUD line up. The name column was padded by bytes, so a Japanese name pushed the rest of its row out of line. It is now padded by width.
Looking up a form from a background thread is safe now. MFO finds items, spells and actors by ID from its worker thread and from combat hooks. The library underneath read the game's list of forms there without taking its lock. If the game added a form at the same moment (a spawned actor, a placed marker, a dropped item), the read could land on memory the game had just moved and crash, or come back empty. It now holds the game's own lock for the lookup, the same way the game does. Nothing else changes. A lookup only waits while the game is in the middle of adding or removing a form.
A follower who gets beaten to a chest goes straight to the next one. When another follower or you emptied the urn or body he was walking to, he used to walk the whole way there and find nothing. Now he notices on the way, within a second, and turns to the next item on his list. Several followers can head for the same thing, and whoever is late just moves on.
A follower stuck at a gate skips what is behind it and keeps looting. When a follower walks into a closed gate or a jammed doorway, the game holds him in place (it calls this Movement Blocked). He used to stand there for up to 45 seconds and then try the next item the same way, into the same gate. Now after 3 seconds of that he looks at what is in front of him. If nobody is there, it is a real gate: he skips the item, and the other items in the room past the block, and goes on to the next one he can reach. He only comes back to you when nothing he can reach is left.
Skipped items come back when the way opens. Pull the lever, open or close a door or gate near them, or leave and come back, and the items behind it are back on his list. There is no timer. A follower walking through a door does not count, so he does not talk himself back into the gate he just skipped.
A follower blocked by a person changes his order instead. If it is you, another follower or any NPC standing in his way, nothing is skipped. That item moves later in his list and he takes his next one first, preferring one that leads away from whoever is in the way. Two followers jammed in a doorway both turn around this way and get unstuck. The item comes back in its turn.
With Harbinger, MFO no longer pokes a loot trip Harbinger is running. On a trip that goes through Harbinger, MFO used to push its own package re-check at the follower when the walk had not started. That is Harbinger's job. If the trip has not started within 5 seconds, MFO moves on to the next item through Harbinger instead.
No more false "not engaged" warnings. The log warned that a loot trip had not started about a second after it was sent, which is before the game usually starts it. It now waits 3 seconds, and says so when a trip starts late. Harbinger trips are labeled as Harbinger (CH19) trips in the log instead of "legacy alias route".
The gem swap-up no longer spends one loose gem twice. With the swap-up on, two items could each pop out their weakest gem for the same single loose gem. One got it and the other put its old gem back. Now the gem is reserved for the first item.
Built on CommonLib mit-3.7 F1b (registry 3.7.0#4). The startup self-check now also verifies the two lock functions on both runtimes. The log line reads 53/53.