Skip to content

Releases: marthofdoom/MFO

v2.0.15 -- Followers pick locks and ship relics to the museum

Choose a tag to compare

@marthofdoom marthofdoom released this 29 Sep 20:04
  • NEWEST HARBINGER REQUIRED: use Harbinger 0.9.10. Lockpicking, museum drop-offs, the fight leash and staying out of the fight during a retreat all need it. MFO still runs with Harbinger 0.9.5 or newer. Those features just stay off.
  • A downed follower does nothing. A follower who is bleeding out, knocked down, paralysed or stuck in a kill move no longer casts, drinks, loots or runs any gambit. Before, Jesper could lie in bleedout and still throw instant heals at himself and the rest of the party. A heal he was channeling stops the moment he goes down. His rules run again once he is back on his feet.
  • Healing a downed ally still works. A follower who can act can still heal a friend who is down.
  • Heals have their normal reach. A heal on someone else reaches as far as your own cast of that spell would, and needs line of sight. Healing Hands and Heal Other reach across a room. A self spell like Fast Healing or Close Wounds cast on an ally reaches as far as Heal Other. Before, a follower healed anyone within 3000 units, through walls. An Ally HP below rule with a heal picks the most hurt ally he can reach, not one he can't.
  • New log line: [bleed]. MFO.log notes when a follower goes down and when he gets back up, with his health, and which MFO heal or potion landed on him last.
  • Melee followers stop chasing dragons in the sky. A melee follower no longer picks or runs after a foe flying out of his reach. He attacks a foe he can reach if there is one. If every foe is up in the air, he stays close to you (with Harbinger installed) until one comes down or lands. A dragon hovering low enough to hit still counts, and so do netch, wispmothers and other floating creatures.
  • Followers stop swapping relics when a companion falls behind. A follower left in another room still counts toward the museum. His companions no longer strip their own gear to cover for him.
  • No more "player put on" for a relic MFO took off. A relic MFO takes off and later allows again is not mistaken for your choice.
  • No lockpicking mid-fight. A follower never starts picking a lock while he or you are in combat. With his weapon out, he puts it away first.
  • Followers finally sell ammo. Arrows and bolts now pass the vendor's check. Before, every blacksmith turned them down.
  • Fewer empty trips to the vendor. Another follower's trade no longer sends a follower back to a vendor who still cannot pay for anything he offers.
  • Foe: Ranged covers casters at range. It now means a bow, a crossbow, a staff, or a spell cast from a distance. Foe: Spellcaster stays the same.
  • New condition: Foe: Mechanical. Picks the nearest Dwemer construct: spiders, spheres, centurions and the like. Ghosts, skeletons and ash spawn do not count.
  • Gambit labels read one way now. Every condition that starts with a subject is written the same: Foe: Dragon, Foe: Targeting me, Ally: HP below, Self: Magicka below. The % sign left the labels, since the value already shows it. Cast at foe/ally is now Cast on target, and Dark is In the dark. Your gambits keep working (only the text changed).
  • Museum drop-offs come first. A follower with the Loot museum items gambit who carries relics the museum needs heads for a Museum Shipments crate as soon as one is inside his leash. He stops a loot run for it, unless he is fetching a museum item. Then he drops that off too. Only combat and heals come first.
  • Several followers can drop off at once. Each follower runs his own trip. A failed walk only holds back that follower at that crate.
  • The leash is the limit for drop-offs. A follower only walks to a crate inside his leash, and turns back as soon as you move out of it.
  • Blocked crates still get their delivery. A follower whose walk stops within reach of the crate hands it over from where he stands, as long as he is on the crate's floor. Each failed walk lets him deliver from a little further out next time, like looting. The Riften crate's own collision box stopped every walk 11 units short.
  • Relics are not for wearing. A follower with the Loot museum items gambit no longer puts on armor or a shield the museum still needs, and outfit refreshes can no longer put relic armor on him. A relic the game or his own AI put on him is shipped at the next drop-off. A relic you gave him stays, and so does his only bow, crossbow or melee weapon.
  • Followers sell ammo they cannot fire. Bolts with no crossbow, or arrows with no bow, go to the vendor. A follower keeps as many as his own ammo gambit asks for.
  • No more empty trips to the vendor. After a visit that sold and bought nothing, a follower leaves that vendor alone until something changes or the vendor restocks. He also skips a vendor who cannot afford anything he offers when he has nothing to buy, until the vendor restocks.
  • Mages and archers keep their hands off shields. A follower who fights with a two-hander or a bow, or a pure mage with no shield perks, no longer equips a shield. Spellswords and sword-and-board fighters keep theirs.
  • Mages no longer swap their clothes back and forth. A mage follower wears his best piece for every clothing and jewelry slot at once. When an outfit refresh strips them, they all go back on together.
  • MFO no longer takes over equipment when Harbinger turns its equip control down. If Harbinger's equip control is not installed, the game equips the follower as usual. MFO never strips a weapon it cannot replace.
  • MFO keeps its last five logs. At launch MFO.log moves to MFO.log.1, the older ones move up to MFO.log.5 and the oldest is dropped. A crash or freeze session's log now survives a few relaunches. A log that cannot be moved is noted in the new log and startup goes on.
  • Loot museum items picks up loose relics too. A relic the museum still needs, lying on a table or a shelf, is looted the same as one in a chest. Every other loot gambit already took loose items.
  • Loose arrows and bolts follow the trade-up rule. A follower passes over a loose stack worse than anything he carries, the same as in a chest.
  • Loose items are safe to leave around. A follower never takes a museum display, anything in your home or the museum halls, a quest item, or anything owned. In a town, inn, house or shop he takes a loose item only when neither the item nor the room has an owner. The log names the reason once for each item he leaves.
  • Followers pick up COIN coin purses. With Coins of Interesting Natures installed, a follower with a gold or valuables loot gambit harvests the coin purses he finds. COIN's regional coins in chests and on bodies count as gold loot too.
  • Followers leave wildlife alone. Engage on sight no longer sends a follower after elk, deer, rabbits, foxes or any other animal that never attacks. If you attack one first, he joins in.
  • Museum relics stay in the pack. A follower no longer fights with a relic he is carrying for the museum while he has another weapon of that kind. If the relic is his only one, he uses it until he ships it.
  • A relic a follower picked up and put on himself still gets shipped. Only relics he would have dropped anyway, and only while he still carries a weapon he can fight with.
  • What you drop on the ground is fair game. A follower may pick up an item you dropped, like any other loose item.
  • A museum relic you give a follower is never shipped. MFO remembers each relic you hand over or put on him in the trade or gift menu, until he no longer carries it. A relic you gave him stays in his hand. The record is kept in the save, so it survives a reload. Ordinary items you give him are fair game and are not recorded.
  • A follower carrying lots of potions keeps MFO's spell control. Before, too many potions switched off MFO's say over which spells he picks in combat. Now he keeps the best potion of each kind for his own combat drinking and the control stays on.
  • Bow users stop buying and looting bolts. Arrows and bolts are told apart correctly again without the ItemCatalog patcher.
  • A follower who is losing now runs back to you. Confidence watches how fast he is losing health. A duel he is losing badly sends him back well before he is nearly dead.
  • Strong enemies count for more, weak ones for less. A dragon weighs about four times a mudcrab. A pack of mudcrabs no longer sends a healthy follower running.
  • A crowd alone no longer forces a retreat at full health. Five even enemies keep him fighting while he holds his own. If the pack starts hurting him, he falls back.
  • Engage on sight needs a margin. A follower only starts a fight he could keep fighting after the first hits. At full health that is about five even enemies.
  • The combat log line shows the new inputs. The [sense] line now reads his own combat state, the weighted enemy load, his health loss per second and the trend factor.
  • Followers pick locks on chests. A follower out looting walks to a locked chest, picks it with the lock picking animation and then loots it. His odds come from his own Lockpicking skill and perks, worked out the way the game's own lock picking works. Picks he breaks come out of his own pack.
  • He never starts a lock he would fail. If the lock needs more picks than he carries, he leaves it alone and spends nothing. He tries again once he carries more picks or his skill goes up.
  • Owned chests stay off limits. A follower never picks a lock that would be a crime.
  • It needs Harbinger 0.9.10 (API v17). Without it, or with an older Harbinger, followers skip locked chests. They no longer loot through a lock.
  • Followers pick locked doors that block a loot trip. When a locked door stops a follower on his way to an item, he walks to it, picks it with the same animation and odds, and carries on to the item. Owned doors, and doors into houses, shops, inns or other lived-in places, are left alone.
  • **New option: Legacy of the Dragonb...
Read more

v2.0.14 -- Followers fight the foe you picked and fall back when losing

Choose a tag to compare

@marthofdoom marthofdoom released this 26 Sep 02:05
  • Use Harbinger 0.9.9. It adds the target pin this version uses. MFO still works with 0.9.8, just without the pin.
  • With a Harbinger that has the target pin (ABI v13), Harbinger holds the foe your gambit picks. An Attack, power attack or offensive spell gambit now tells Harbinger which foe to fight, and Harbinger answers the game's own target choice with it. MFO no longer writes the target itself when that Harbinger is installed. Without it, or with an older Harbinger, MFO steers the target the old way.
  • A lost or dead foe lets go by itself. When the foe dies, is lost, unloads, or the follower dies, Harbinger ends the pin. The follower's gambits then pick again in their normal order. A foe that was only lost for a moment is pinned again once the gambit can see it and still wants it.
  • Gambits no longer pick a foe that is too far away to be loaded. Harbinger cannot hold a foe like that, and the follower could not reach it anyway.
  • A losing follower runs back to you. Auto-retreat used to cancel itself. Pulling the follower out of the fight often ended the whole fight on paper, and MFO then called the retreat off half a second later. Now a retreat ends when he reaches you, when no enemy near him is still fighting, or after 30 seconds.
  • He fights at your side, not back out there. A follower who reaches you while the fight is still going badly for him stays by you for about ten seconds, or until he is fully healed, instead of walking straight back in. If the enemies come to him he fights them beside you. He is never held out of a fight at your side.
  • More than one follower can retreat at once. With Harbinger installed each follower retreats on his own. Without it only one can retreat at a time, as before.
  • Retreat is no longer once per fight. After a retreat ends MFO waits at least 10 seconds before the next one. A retreat that could not start is tried again after the same wait.
  • Safer disengage. The call that pulls a follower out of combat now runs on the game's main thread, once when the retreat starts and again only if an enemy drags him back in.
  • Clearer retreat log. The [retreat] line shows the confidence that triggered it, and [sense] lines show the distance to the player.
  • Behind the scenes the loot, cast, progression and Harbinger code moved into their own folders. Every function was proven identical to before. Nothing should behave differently.

v2.0.13 -- Summons stay up, loot trips work around gates, Japanese names show

Choose a tag to compare

@marthofdoom marthofdoom released this 25 Sep 02:28
  • 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.

MFO v2.0.12 -- Loot trips walk on Harbinger, and followers grow at your rate

Choose a tag to compare

@marthofdoom marthofdoom released this 23 Sep 18:36
  • Followers walk to loot through Harbinger. With Harbinger 0.9.7 or newer installed, the walk to a corpse or a chest now goes through Harbinger's travel command instead of MFO's own packages. Without Harbinger, or with an older one, MFO walks them there itself, the same as before. A follower can still loot a corpse. A trip only ends early if the target dies while he is on his way there. The setting is bLootTravelViaApmfTravel in MFO.ini and it is on by default.
  • Update Harbinger along with this version. MFO 2.0.12 expects Harbinger 0.9.5 or newer. With Harbinger 0.9.4 or older it runs as if Harbinger were not installed.
  • The [L] on the board now lights while a follower walks to loot. Before, it only lit for a moment when he actually picked something up. It now also stays lit for the whole walk, but only once he is really on his way. A trip that has been sent but that he has not started yet stays dark.
  • Followers pay the full magicka for a held heal. A follower channeling a heal or a damage stream on MFO's direct road paid for about half of it. He was charged one second of the spell's cost per beat, but beats land more than a second apart, and the heal kept running for a few seconds after the last beat. He now pays for every second the spell actually ran, and the rest is settled when the stream ends. He can never be charged more magicka than he has. When he runs dry the stream stops, as before.
  • The cost itself was already right. MFO asks the game for the spell's price, and that price already includes the caster's skill and his cost perks. It is the same number the game uses when a follower casts on his own.
  • The walk-to-loot gait setting is marked as not working. Followers run on loot trips whatever the setting says, and it looks like it never changed anything. Run is the speed built into the travel packages and also the default, so it only ever appeared to work. The MCM now says so instead of pretending. A real fix is planned.
  • Followers' health, magicka and stamina grow at the player's rate. The game gives a leveling NPC 15 points a level (the 10 you get plus a 5 point health bonus for NPCs). MFO passed all 15 through, so a follower pulled 5 points further ahead of you every level. By level 27 that is 130 points. Now a follower gets no more per level than you actually gained that level, reshaped by his class the same way as before. The points the game hands out past that are held back and remembered, so a later level or a save and reload never counts them again. A follower who does not level on his own (fixed stats) is untouched. He already tracked the player.
  • Existing saves are corrected once. The first time you load an older save, each leveling follower's past growth is recomputed at the player's rate and the extra comes back off. He never drops below where he was when he joined. If he is hurt when the correction lands, he is healed by the health it took, so it can never knock him down. The log prints one line per follower with the old and new numbers. Saves made after that carry the new record and are never corrected again. (Load the save in an older MFO and it skips the progression record, the same as any newer save.)

Progression Add-on v1.1.4 (optional, attached)

  • Followers pick their perks properly again. MFO 1.1.3 and newer read the list of perks that actually work on a follower from the add-on, and the old 1.1.2 add-on did not carry it. This version does.
  • Ranged followers train Light Armor only.

MFO v2.0.11 -- A follower who ends up bare gets dressed again

Choose a tag to compare

@marthofdoom marthofdoom released this 23 Sep 06:32

Skyrim AE 1.6.1170 or SE 1.5.97. Pairs with Harbinger (APMF) v0.9.6, which is optional.

  • Gear MFO asked for and did not get is asked for again. Skyrim puts a follower's own starting outfit back on whenever the cell around him loads, which shoves off whatever MFO dressed him in. MFO and Harbinger between them had the right answer the whole time, but MFO only spoke up when its gear list changed, so once the right list had been sent nothing was ever sent again, even with not one piece of it on the follower's body. On the deck that left a follower standing bare for two and a half minutes while MFO worked out the right robes seven times over and said nothing. A piece that is on the list and not on the follower is now treated as a change and the list goes out again, at most once every three seconds. This is the same fix the forced weapon in a follower's hand already had, now covering armor and clothing.
  • MFO no longer dresses a follower who is not there yet. During a load screen the follower exists but his body does not, and a gear list sent in that window is filed and never worn. MFO now waits until he is really loaded in and sends the list then.

Build provenance

  • CI run from commit 48db7de
  • MFO.dll sha256 e6c0270537c1fe327d6f21f6ad44d341f0e3b818bd5d7b7cff888a15b7313a5e

MFO v2.0.10 -- A follower with two spell gambits casts both of them

Choose a tag to compare

@marthofdoom marthofdoom released this 23 Sep 05:05

Skyrim AE 1.6.1170 or SE 1.5.97. A fix on top of v2.0.9. Pairs with Harbinger (APMF) v0.9.5, which is optional.

  • A follower with two spell gambits now casts both of them. MFO picked one spell, put it in a hand and then refused every cast of any other spell for as long as that pick stood. The second spell you gave that follower was one of the spells being refused. So a mage set up with a heal and two attack spells cast the first attack spell over and over and never once cast the other, even while holding it charged and ready in the free hand. A spell you gave a follower as a gambit is now allowed to cast whenever the game reaches for it. Only spells you never gave them are refused. There are two hands and both of them work now.
  • A charged spell fires as soon as the game is ready to fire it. MFO paced its own casts on a timer of its own, on top of the game's. A spell already charged in the follower's other hand sat there waiting on that timer instead of firing. On the deck it cost 3.7 seconds out of a 5.3 second hold. The game's own cast timing sets the rate now, which is what it was always going to be once MFO stopped fighting it. The separate hold that stops MFO putting the same spell back in a follower's hand every second is untouched.

Build provenance

  • commit e522f61 · CI run 35817859207
  • MFO.dll sha256 2ff36882b7da0636010b68d176e982411596d309696bbea16c043c451e1c60c2

MFO v2.0.9 -- Followers use the spells you gave them, gear follows the perks, and Skyrim 1.5.97 joins

Choose a tag to compare

@marthofdoom marthofdoom released this 23 Sep 03:06

Skyrim AE 1.6.1170 or SE 1.5.97. Pairs with Harbinger (APMF) v0.9.5, which is optional. MFO runs without it.

  • Followers only put a spell in their hands if you gave them that spell as a gambit. Until now MFO stopped a follower casting anything ungambited, but it never stopped them picking it up. So a mage would arm a spell you never asked for, hold it charged in both hands, and stand there doing nothing for most of the fight because every cast was refused. MFO now tells Harbinger exactly which spells that follower is allowed to hold, so the ungambited one is never armed in the first place. The list is built from the same gambits the cast refusal already reads, so the two can never disagree. Staves, scrolls and powers are untouched, exactly as their casts always were. The list lifts the moment the fight ends. Needs Harbinger. There is a toggle if you want the old way.

  • A follower whose spell takes a while to get off the ground keeps his other hand closed. MFO holds the follower's free hand shut so the AI cannot slip its own spell in. That hold used to be dropped after four seconds if no cast had been seen yet, and the deck logs show a real attack spell takes closer to six seconds from the order to the cast, with the weapon swap in front of it. So the hold was being dropped on every single attack spell, and the AI armed its own spell in the freed hand under a second later. MFO now reads the game directly: while the follower is actually charging the spell you asked for, the other hand stays shut no matter how long it takes. The timer behind it was resized from the measured figure as well.

  • The log stopped crying wolf about spells that were firing perfectly well. A warning said the framework's seats might not be firing a cast, after two seconds of no cast. A normal cast takes longer than that to even start charging, so the warning fired on every single one. It now waits longer and stays quiet entirely while the game is visibly charging that spell.

  • A shield a dual wielding follower can never use again gets sold. MFO tells Harbinger not to put a shield back on a follower whose perks vote for two weapons. Nothing ever took the shield off, though, and the shop pass keeps anything a follower is wearing. So it sat on his arm forever, unusable and unsellable. A worn item in a category MFO itself has ruled out now goes through the same sale route that already handles gear MFO wants gone, and the sale takes it off his arm. A follower who has taken up dual wielding will sell the shield he was carrying, including one you gave him. His own signature gear is kept, and so is a shield holding a gem or one on the excluded list.

  • A follower whose forced weapon is released at the end of a fight puts it away instead of losing it. MFO has to unlock a forced weapon when the fight ends, and unlocking it took it off the follower entirely, so he walked around with empty hands and nothing on his back until the next fight armed him again. The weapon now goes straight back on unlocked and he sheathes it. His own AI is free to switch weapons from that point, which is the whole reason the lock comes off.

  • A forced weapon no longer vanishes mid fight when the game loses the follower's target. The equip gambits that read "foe within range" and "foe beyond range" measure the follower's current target. The game drops that target for a few seconds on a lost line of sight or a group retarget. MFO read that as "no foe in range" and after a short wait took the weapon out of the follower's hands while the fight went on around him. Now a dropped target while his group still has foes counts as unknown, not false, and the weapon stays. The weapon still comes off when the group is empty or the fight is over. The log says when a hold is kept this way.

  • The end of a fight is checked twice before anything is let go. The game restarts a follower's combat from scratch at times, which reads as a fight ending and starting again inside a fraction of a second. The forced weapon already waited for two clear ticks before it was released. The rest did not: the cast lock, the spell consent and the weapon stance were dropped on the first tick, so a caster could lose his spell in the middle of a fight. Everything now waits for the same two clear ticks.

  • The previous log is kept. At startup MFO.log becomes MFO.log.1 before the new log opens. A crash or freeze followed by a relaunch no longer wipes the only record of it.

  • Every log line reaches the disk at once, and a crash writes one last line. The log used to be flushed once a second, so a hard crash lost the last second, which is the second that matters. Each line is now written through as it happens. On a crash MFO also writes one line with the fault code, the address as module and offset, and the thread, then hands the crash on untouched. Crash Logger still writes its report exactly as before.

  • Followers join a fight the party is in, even when the game has not flagged them. The game's own "in combat" flag on a follower drops out for stretches of a fight. A lost line of sight to a dragon is enough. MFO used to read that flag alone, so a follower whose flag was off sat out the fight and only his heal rule could act. He looked frozen except for heals. The combat rules now run for every follower while the party is fighting: you, any follower, or a foe in the party's sights. A follower the game has not flagged yet still runs his rules, and his loot and upkeep keep going on the ticks where no combat rule acts. The same flag flap used to make a forced weapon vanish and come back mid fight, since the release keyed on it. Forced weapons now come off when the party's fight ends, not when one follower's flag blinks. The log prints one line when party combat starts and ends.

  • Healing followers no longer freeze in a fight waiting on a heal that never fires. A follower with a heal gambit in combat used to hand the cast to the game's own AI and wait for it. The AI kept picking a different heal, the request was refused, and while the wait stood MFO also kept the other hand shut, so the follower stood there with no heal and no weapon. Heals and other Restoration casts in combat now go straight through MFO's own delivery, the same one that heals the party out of combat. Attack spells still go through the game's AI. When an attack spell request sits for four seconds with no cast, MFO opens the other hand again and says so in the log. If you had the animated heal package switched on, combat heals now land instantly instead of playing the hand cast. That toggle no longer changes anything.

  • Followers' gear is now declared to Harbinger, which keeps the game from putting other things on them. With Harbinger installed, MFO tells it what each follower wears: the weapons in their hands, their ammo, the armor MFO picked and everything else they have on. Harbinger equips that set and refuses any other equip the game tries on that follower. So a dual wielder no longer gets a shield shoved back into the left hand by their own combat AI a second after MFO put the second weapon there, and a follower stops swapping back into the outfit the game wants. The first build only logs what it would have refused, so you can check the log before it is switched on for real. Harbinger also places the weapons in the hands MFO names, so a dual wielder gets the second weapon in the left hand from Harbinger itself. A piece you put on a follower by hand is kept. MFO leaves it on until it owns something strictly better for that slot, and then it stays in the pack instead of being sold. MFO without Harbinger equips gear directly, exactly as before. There is a toggle (on by default) if you want the old way. Harbinger now guards only the gear MFO chose, so followers still switch weapons on their own.

  • Loose gems always go into a free socket on worn gear. A follower with a gem in his pack and an empty socket on something he wears fills it, including the second weapon of a matched pair. The pass only looks at gear MEO can socket and follows MEO's own rules, so a support gem waits for a two socket item and a weapon gem never tries a ring. When a gem stays loose the log says why in one line.

  • Skill points stay where they were placed. All of them. A follower's automatic class skills used to move around every time they picked up or put on something, so a skill could drop a few seconds after it rose. Now every skill point is permanent once placed, whether the class placed it or you did. Each level adds its points by the class weights of that moment and nothing later moves them. Changing a follower's class only steers the levels still to come.

  • Every follower you already had gets one free respec after this update. Their skill points were placed by the old system, which moved them around, and the update freezes them where they stand. The first respec on each of those followers costs no rapport, so points the old system placed in the wrong skill can be moved. Followers who join after the update do not get one.

  • The board tells you when a respec is free. The respec line on the Progression board reads "free (one time)" for a follower who still has their free respec, and the confirm box says no rapport is lost. Once it is spent the line goes back to showing the rapport cost.

  • Respec returns everything. A respec clears the perks as before and also returns every skill point since the follower joined, the automatic ones and yours. With manual points on, the whole pool is yours to place. With manual points off, the class spends it again straight away.

  • Unchecking a follower freezes them as they are. Unchecking a follower in the box turns MFO off for them. Progression stops touching them the moment you do it. Their perks, skills and every point stay exactly as they were, and everything is remembered. Checking them again picks up wh...

Read more

MFO v2.0.8 -- A follower dropping a weapon no longer crashes the game

Choose a tag to compare

@marthofdoom marthofdoom released this 22 Sep 06:06
  • A follower setting down an off role weapon no longer crashes the game. When a follower dropped a weapon that did not fit its role, the game could crash on the spot. It happened every time a drop ran. The call that hands the weapon to the game was passing its arguments in the wrong order, and the game read a scrap of stack memory as the follower. The drop now calls the game directly and hands it exactly what it expects. Checked against both Skyrim 1.6.1170 and 1.5.97. This build is v2.0.5 plus this one fix.

MFO v1.1.5 -- A follower dropping a weapon no longer crashes the game (hotfix for the 1.1 line)

Choose a tag to compare

@marthofdoom marthofdoom released this 22 Sep 05:45
  • A follower setting down an off role weapon no longer crashes the game. When a follower dropped a weapon that did not fit its role, the game could crash on the spot. It happened every time a drop ran. The call that hands the weapon to the game was passing its arguments in the wrong order, and the game read a scrap of stack memory as the follower. The drop now calls the game directly and hands it exactly what it expects. Checked against both Skyrim 1.6.1170 and 1.5.97.

Hotfix on top of v1.1.4: this one fix only, nothing from the 2.0 line. Checked against Skyrim 1.6.1170 and 1.5.97. DLL sha256 747d96a54d57ee812de120506f862712756494963a7da428728b3ad779de4f16.

MFO v2.0.7 -- Fixed a crash when a follower drops a weapon

Choose a tag to compare

@marthofdoom marthofdoom released this 14 Sep 03:36

Beta. Requires Harbinger (APMF) v0.9.4.

Requirements

Fixed a crash when a follower drops a weapon it does not use

  • Recruiting or managing a follower who carries a weapon outside their fighting style could crash the game. When MFO tidied that weapon off them and set it on the floor, the call it made into the game passed its arguments in the wrong order, so the game read a scrap of stack memory as the follower and died. It was a certainty every time that tidy up ran. It only showed up on lists whose followers carry such weapons, which is why some players never saw it and others hit it every session.
  • The call is now made the way the game expects, on both 1.6.1170 and 1.5.97.

Known, not fixed here

  • A follower whose only real weapon is off role can still be tidied down to bare fists. That is a separate logic bug and is next.

Build provenance

  • commit 4f87093 · CI run 34801691735 · Fable tier 3 review clean
  • MFO.dll sha256 799768c7d516a659e48533fb9ac7a5b0c56617e6d8c94980928f0afc9987ddbb