Skyrim

File information

Last updated

Original upload

Created by

Kalivore

Uploaded by

Kalivore

Virus scan

Safe to use

About this mod

Allows followers to use potions more intelligently - no more waiting til they're nearly dead to chug that Restore Health potion!
Followers can also use Fortify and Resist potions, to give them that edge in dangerous battles.
Additionally, then can now use poisons that you give them, to make them even more formidable and useful&#

Requirements
Permissions and credits
Translations
  • Italian
Changelogs
Ever found it frustrating that followers wait until the last second before using potions?  What use is a minor Restore Health if they're dead on the next hit?

How about all those Fortify and Resist potions that you cook up for your followers, which they totally ignore?  How annoying is it when they charge straight into battle, blissfully unaware of the advantage you've tried to provide?

While we're at it, what about the deadly poisons that you can find/craft/buy/steal? How come you - the player - are the only one capable of putting poison on a weapon?

This mod aims to change all that, allowing followers to use their potions intelligently, and keep them in the fight longer. They will also use any poisons you give them, whihc can make a life-saving difference in a scrap.



Installing

No special procedure - install normally with a mod manager (I recommend Mod Organizer), or manually if that's how you roll. Of course, as with any mod, for the love of Talos, make (and keep!) a backup of your savegame before installing this.

Requires:

  • SKSE v1.7.3 (get it from skse.silverlock.org).  The mod just straight-up won't work without this.
  • SkyUI is also a functional requirement. The mod will, technically, work without it, but you won't be able to configure anything without the MCM, so I really wouldn't recommend it.
  • This mod also uses the Inventory Functions SKSE plugin.  This was originally by Quad2Core, but did not work with SKSE 1.7.3.  I have updated the plugin, and it is included in this mod. It's also hosted standalone, in case it's handy to anyone else.


Telling followers to use potions/poisons, or STOP using them

Any NPC in the Current Follower Faction will have a new dialogue option: "Concerning potions..".  Select this to tell them to start, or stop, using potions and poisons in their inventory.  A maximum of fifteen followers can be tracked by this mod - any more than that, and they're on their own.

By default, animal followers (eg dogs and horses) are excluded, as they don't tend to have potions.  Or inventories.  Or, y'know, opposable thumbs..  If you definitely do want your animal to swig potions with the rest, there is a means to do this (see the Compatibility section below).

If all else fails, there is also an option in the MCM (on the 'Config and Status' page) to 'force-add' any actor the to tracking system. This is handy for followers who operate outside the vanilla follower system.


What This Does

I developed this because I was tired of my followers taking a face-full of dragon fire in the first four seconds of an attack, and passing out for the rest of the fight.  There are three main areas it covers: Restore potions, Fortify/Resist potions, and Poisons.


Restore Health/Stamina/Magicka

Followers will now use Restore potions when the relevant stat drops below a configurable percentage - rather than when it's nearly exhausted, if at all (as I tend to notice in the vanilla game).  For example, Health can be kept at a minimum 60% level, reducing the chances of a single power attack wiping out your follower before they have chance to heal.  A mage can keep at least 70% Magicka available, meaning they won't be left high and dry when they want to cast that big, flashy, scenery-levelling mega-spell.


Fortify

Followers can be set to use any or all of the following Fortify potions on starting combat, provided it makes sense for them to do so:

  • Health, Stamina, Magicka
  • Heal rate, Stamina rate, Magicka rate
  • Marksman, Block, One-Handed, Two-Handed
    To use these, the follower must also be holding a bow/crossbow, shield, one-handed weapon or two-handed weapon respectively.
  • Light Armour, Heavy Armour
    To use these, the follower must also be wearing at least one item with the relevant Keyword (ArmorLight/ArmorHeavy respectively)
  • Alteration, Conjuration, Destruction, Illusion, Restoration
    To use these, the follower must also know at least one spell from the corresponding School of magic

Important - regarding Fortify Potions

In the vanilla game, simply drinking a Fortify (skill) potion (like Fortify Marksman) does not have any effect for Followers (grr!).
This is because the actual mechanics of increasing damage is done via a hidden Perk, which the Player has, but is missing from all NPCs.

Thankfully, this only affects the Fortify (skill) potions, so Restore and Resist potions are still OK. Also, there are a few ways to fix/mitigate the issue:

  • The SkyProc patcher in the mod will give the necessary perks to all NPCs. Since it is recommended to use the patcher to get the best use out of poisons, this is probably the best route to go.
  • Alternatively, ASIS, or Awakened Magicka by jimkaiseriv, also have a SkyProc patcher which includes an option to give the necessary perks to all NPCs.
  • If you don't want to use a patcher at all, then Complete Alchemy and Cooking Overhaul by Kryptopyr (or any other mod which alters the way Fortify potion effects work, so they directly alter the relevant stat) will ensure your followers' physical skills (One-handed, block etc) are covered. However, Fortify magic potions still will not result in stronger spells. This is because physical damage scales with the corresponding skill, but magical damage does not.


There is a slightly more detailed post in the Comments board about this, If you've any questions, please do leave a message and I'll do my best to help.


Resist

Followers can use any or all of the following Resist potions:

  • Fire, Frost, Shock
    To use these, the follower's current enemy must also know at least one spell (or Shout) with the relevant Keyword (MagicDamageFire/MagicDamageFrost/MagicDamageShock, respectively)
  • Magic
    If a follower uses a Resist Fire, Frost or Shock potion, they will follow up with a generic Resist Magic as well
  • Poison
    No special conditions for this - just needs to be enabled in the follower's MCM page


With the MCM, you can set, for each follower, a difference in level between them and their current enemy which will trigger them to use Fortify and Resist potions.  For example, if your follower is level 6, a level difference of 4 means they will only use them if fighting an enemy of level 10 or above.

Additionally, they can be set to always use these potions when fighting particular enemy types: Dragons, Dragon Priests, Giants, and Vampire Lords. I added this cos I noticed some enemies will be matched to your (and therefore your followers') current level, but are still very powerful.


Poisons

As of v2, you can now give your followers Poisons to use on their weapons (main-hand weapons, off-hand weapons, and bows). The frequency with which they use them can be set, for each weapon type, in the MCM. The options are:

  • Always
    Keep using poisons as long as they have them - ie after each arrow is loosed, or after each weapon hit lands. This is the most deadly option, but can rattle through poisons very quickly (especially with bows)!
  • On engage
    Just use poisons when starting combat. Usually this is as you would expect: just once, at the start of the fight. However, because of the way combat states are handled, it can sometimes happen more than that. It's still a lot less frequent than 'Always' though!
  • Never
    What it says: don't use poisons at all for this weapon :p


Followers are semi-intelligent about what poisons to use against which foe. For example, they're aware that Dragons, Daedra (eg Atronachs), Dwarven automatons, and the Undead, are immune to Fear and Frenzy, so won't try to use those types of poisons against them. Similarly, they shouldn't use Damage Magicka poisons against an enemy with no spells. It's not perfect (I've had to make some compromises to prevent the scripts becoming huge), but it's usually pretty good.

In order to make this work properly, you will need to run the included SkyProc patcher against your load order. This will create a patch which adds important keywords (eg Damage Health) to various Poison effects, which in turn enables followers to identify what they do.



MCM Menu

The potions and poisons a follower will use, along with the trigger levels when they should use them, can be set, per-follower, in the MCM menu provided by Sky UI.  The first page of the menu is Default settings for any new followers added.  Then there is one page of settings for each currently-tracked follower, to allow you to fine-tune behaviour.


Recognising effects of potions

If a potion has more than one effect (eg Fortify Health and Restore Health), the default behaviour for followers is that they will recognise all the effects of a potion when they get it.  Following a couple of requests, I've included an option on the last MCM page ("Config & Status") to alter this. The following options are available:

  • All effects
    This is the default, normal behaviour - all beneficial effects are noted, and the potion will be used as soon as any of them will be useful (as per the section above).
  • Only Restore effects
    Only Restore Heath/Stamina/Magicka effects will be noted. Any other effects will be ignored
  • Only Fortify effects
    Similarly, this will recognise all of the following Fortify effects - but only these effects:Health, Stamina, Magicka, Heal rate, Stamina rate, Magicka rate, Marksman, Block, One-Handed, Two-Handed, Light Armour, Heavy Armour, Alteration, Conjuration, Destruction, Illusion, Restoration
  • Only Resist effects
    This will recognise all of the following Resist effects, but no others:Fire, Frost, Shock, Magic, Poison
  • Only First (strongest), 2nd-strongest, or 3rd-strongest effect (Only apply to player-made potions!)
    Player-made potions have their effects ranked in order of strength. With this option, you can tell a follower to pick out just one of the three strongest effects, and treat the potion as though it only had that one. If the potion does not have enough effects, the last effect will be used (eg you've selected "3rd-strongest effect", but give a potion which only has 2, then the 2nd effect will be recognised).


The popular example for a 'strongest-effect' option is a Fortify Health potion, which also has (as a second effect) Restore Health. This is quite an easy potion to make, and is probably most useful for its Restore effect. If you set followers to use Fortify Health potions, there is a good chance they will use this for that purpose, leaving them outta healing options when they need them. By setting the MCM option to "Only 2nd-strongest effect", they will continue to recognise and use 'normal' Fortify Health potions in the proper way - but when handed a Fortify-and-Restore potion which you have cooked up, they will treat is just as a Restore Health.

Note that the option you choose will apply to ALL player-made potions - so in the above example, any player-made potion will be treated as though the second effect were the only effect. You may need to alter this at times to get best results.

Finally, always remember that, regardless of how followers are recognising potion effects, they must be set to use the relevant potion types as well.


Status and re-scanning potions and poisons

The last MCM page will also show you the status of all currently-tracked followers, and allows you to do things like reset them to the current defaults, or re-check their inventories for items.  Normally, they keep their lists up-to-date as they acquire new potions/poisons (from you, from random barrels, or from the still-smoking remains of the Bandit you just incinerated).  However, in the event things have gone awry, there is the option here to fully re-scan and re-build their lists.



Compatibility

This should be compatible with pretty much everything.  No vanilla forms were touched or edited, so there should be no conflicts.  I did run this through the TES5Edit cleaning process as well, but with only a half-dozen forms, there really wasn't much for it to do.

Note that followers will check their equipment and enemies for certain vanilla Keywords before using poisons, or certain Fortify or Resist potions (details in the Fortify and Resist section above).  Most mod-added items and spells should have these set, as they're pretty commonplace and universal.


Suggested mods

During development, I included explicit support for the following (and heartily recommend them):

  • Extensible Follower Framework by Expired
    If installed, followers will be tracked by this mod at the same time you first recruit them, and removed if you dismiss them.  There is also an option in the MCM to add anyone you give them 'Follow' command to.  That's mainly just a quick way to add all your existing followers - just use the Group -> Relax and Group -> Follow commands.  After that, you can disable the 'Add on Follow' option.
  • NPC Knockout Overhaul by sevencardz
    A kind of compatibility-by-overlapping-design: Sevencardz applies a paralysis effect when NPCs are knocked out.  Followers in this mod will not use potions if they are paralysed.  So knocked-out followers can't use potions.  Neat, huh?
  • Complete Alchemy and Cooking Overhaul by Kryptopyr
    CACO alters Restore potions to work over time, rather than immediately (I'm sure other mods do this too, but I love all the things CACO does).  Followers in this mod will not use a potion if they are already under the relevant effect - so they will wait until the Restore Health effect is finished before trying another Health potion. The new Fatigue and Silence poisons from CACO are also recognised by followers, to be used against mages/non-mages respectively.

I'm aware there are various other follower mods out there (Advanced Follower Tweaks, Ultimate Follower Overhaul, Follower Live Package, Follower Mod..)  While I've not explicitly tested these myself, reports are that they play nicely with this mod.


Adding support for 'unusual' follower types

By default, followers with any of the following Voice Types will not show the dialogue options for this mod:

  • CrDogVoice
  • CrHorseVoice
  • CrSabreCatVoice
  • CrTrollVoice

If you are the author of a follower mod, and would like your follower to be included even if they use one of these, you can use the keyword "_FPP_IncludeDialogue".  This form is injected into Update.esm, with FormId 01F01001.  Simply create a keyword in your mod with the same name and FormId (there are various tutorials on created injected keywords), and assign it to your mod's follower.  The Potion-related dialogue has an OR condition which checks for this keyword, and shows the dialogue option if it is assigned.



Performance

For avoidance of doubt: this is, out-and-out, a scripted mod. I tried to get people to use potions via AI Packages, but I just couldn't make it as versatile as I wanted. Magic Effects was an option I did (and still might) consider, but for now, the mod is event-driven by default, switching to update-driven when the first relevant potion is used (to avoid spamming events like OnHit), and switching back to events once the follower's stats are all above their set minimum levels.

In my testing, performance has generally been good, even on quite a script-heavy game. For info, my test method was to recruit a dozen followers, give them all a couple of dozen potions, manually spawn twenty or so bandits at Fort Greymoor, toggle God Mode on (important, that bit!), and then Leeroy-Jenkins the hell outta it. Oh, and I chucked a couple of dragons in the mix for good measure. We still won.

Of course, everyone's mileage will vary - please feed back to me your experiences with this.



Known Issues and Future Plans

There are a few things I'm aware of, including (but not limited to):

  • The annoying 'gloop' noise whenever a follower drinks a potion.
    Unfortuntely, it looks like this is here to stay.. I looked into the sound descriptor files a bit, and the short version is that the sound can either fade with distance, but be silent in the menu (ie when you drink a potion), or be the same volume everywhere. In the interests of not editing records I don't have to, I decided to leave it as-is. Sorry all!



Potions with Condition-triggered Magic Effects

I have recently found that there is a weakness in the way potion effects are treated. If a potion has multiple Magic Effects attached, but the effects have Conditions attached, the mod will still recognise all these effects. This potentially means that a follower might use a potion, only to find the effect they were expecting is blocked by its condition, and so has no result.

In fairness, this would only be an issue if there were a separate effect which only existed behind a condition. For example, a potion which restores Health - but also has a fortify Stamina Regeneration effect, with a condition check that the day is Fredas (because hey, TTIF, right?). The mod cannot detect and evaluate this condition, so the potion will be treated as though it had the normal Restore Health and Fortify Stamina Regeneration effects, whatever day it is.

I don't think there's anything I can do about this, I'm afraid :( The finding-a-potion-to-use code is probably the most time- and performance-critical part of the whole mod, and extra code to look up and check effect conditions (of which there could be many) would be too much to do..

I should say that I have not seen any examples of a just-conditional effect in any mod I'm using (so far!), so it's only a theoretical situation at present. However, I wanted to be up-front about the possibility.


Credits and Thanks

I took inspiration and example from several people when creating and coding this, but particular thanks are due to:

  • Quad2Core - the "Inventory Functions" SKSE plugin was invaluable in being able to re-scan potion inventories in a reasonable amount of time.  Quad2Core's original plugin was designed for an earlier SKSE version, but thanks to them including the source code, I was able to re-work it for SKSE 1.7.3.  I tried to contact Quad2Core about hosting the updated version, but they've not been around for a while, so with the agreement of a Nexus admin, I've re-hosted it here (with a couple of my own tweaks and extensions).  Please feel free to use it for your own projects - but all credit is due to Quad2Core, not me.  They did the work; I just converted it.
  • The SkyUI team for providing the MCM framework, and SkyUILib.
  • Kryptopyr and Chesko - it was delving into the multi-threaded async model in Kryptopyr's Complete Alchemy and Cooking Overhaul that led to me thinking I could use multi-threading here, and Chesko's tutorials on that multi-threading approach are excellent.  I also got the approach for the real-time in-MCM progress updates from Chesko's wonderful Frostfall.
  • Apostrophic Labs - for the "Immortal" font used on the title page here and in the MCM
  • Bethesda - I guess it's only fair; they did make this game in the first place, and made it in such a way that, even now, people are still finding new and fun things to do with it..
  • ..and finally, my girlfriend, who bought me my first copy of Skyrim, and who first introduced me to the vast, magical, distracting, and immersive (there, I said it!) world of Tamriel.  Or at least, the Nords' little corner of it..