When commenting about a bug, concern or request about the Duo Mod, make sure to specify whether you mean the Script Extender (SE) version, or the in-game Mod Manager (Toolkit) version.
This nexus page is for the Script Extender version of the Duo, and thus any reported issues will be assumed to be about the SE version unless specified otherwise. The Mod.Io page for the toolkit version of the Duo can be found here.
Hi there, small issue I'm having. Understudy says that the adventure companion gains my feats, but that doesn't seem to be the case for my run. For example, I had placed the Charger, Tough and Sentinel feats onto my Duo, but neither appeared on the adventurer even after taking a long rest. My hit points changed on Tough, yes, but in none of the cases did passives actually show up. This is a bit concerning, since I want to allow my couple to have some martial battlefield control, but I'm not sure if the feats are broken for anyone else.
When I test this, the feats are given to the Adventuring Partner properly. What version of the Duo are you using? Do you have any mods that add or alter your feats?
Correct. I was using Syrchalis's mod that alters some base game feats and adds others, but do the feats only transfer if they are base game? I do also have featsextra and Class Specialization Feats, the latter I was hoping would work with the mod so I could give each partner a mini class but it seems to not be the case. Could the Adventuring Partner be mistaking the altered feats as class features rather than feats?
It depends on which version of the Duo you're using.
If you're using the Script Extender version of the Duo (the one this page is for) then it should automatically recognise any feat and its passives and incorporate it into Understudy. The main thing that tends to trip that script up is if any feat is repeated (from multiple mods adding feats with the same name, or overwriting the same feat multiple times) or an incomplete feat that a modmaker forgot to complete/remove is making it throw an error. If you see a red error in your SE console at startup or when levelling up/loading into the level it might shed some light on the problem.
If you're using the in-game Mod Manager (Toolkit) version of the Duo, the feats need to have their passives hard coded into a database in order to be granted by Understudy. So if another mod changes the name of a feat or its passives, or adds passives to a feat, it won't know what to look for and thus won't give the feat to your Adventuring Partner. It also can't know what any additional feats are unless I add them to the database.
Awesome! I think it is because a couple of the mods have same names for feats, so that was likely causing an issue. Some of the feats and new versions add actions to class actions instead of common tab, and I think that might be something to do with it.
Any 'cantrips that can't be prepared' should be your Apprentice's cantrips. They'll show up in your spellbook because you chose them when levelling up, but you can't cast them yourself; only your Apprentice will have access to them. if you want to cast your apprentice's spells, you can take the Shared Magicks Tactic.
From a technical standpoint, spells you choose from an Apprentice subclass are set to require preparation while the Duo class itself is set up so that it can't prepare spells, thus giving a way to keep the choices separated so the scripts know how to differentiate them. The Duo has a lot of rubberband-and-paperclips style workarounds to get it to work, especially the Toolkit version. ;)
If you're not using the Toolkit version, then something has gone wrong, as nothing should require preparation in the SE version (which uses other techniques to keep Duos from casting their Partner's spells).
I ran into an issue when running this mod with PF2e Spells Updated where the spells that let you choose a cantrip for your Apprentince or Spellslinger became empty. I did not have this problem when using Homebrew Spells, Advanced Tabletop Spells, and Veenab Homebrew all running together on the same save. Actually the above mods actually managed to add their cantrips to the 'let you choose a cantrip' spell that you get which was neat!
I know this is a minor issue since it's compatability with another mod but any idea on what the issue with PF2e Spells might be?
I've had someone encounter the same issue before. I also had the PF2e spells work and get integrated into the Duo for me when testing, so the issue seems to be an interaction between the Duo, PF2E Spells, and a third mod we couldn't nail down the first time. Do you have any red errors in the SE console when you start up the game?
Error while dispatching event StatsLoaded: [string "Duo/Duo_Spell_Creation.lua"]:47: attempt to index a nil value stack traceback: Duo/Duo_Spell_Creation.lua:47: in global 'DUO_LUA_CreateSpellsAtStartUp' Duo/BootstrapClient.lua:72: in function [C++ Code]: in function 'xpcall' builtin://Libs/Events/SubscribableEvent.lua:162: in method 'Throw' builtin://Libs/Events/EventManager.lua:24: in method 'ThrowEvent' builtin://Libs/Events/EventManager.lua:116: in function [WARN]: StatsLoaded Complete. Any mods calling the CF API after this point may not appear. Please contact the developer of any missing mods and inform them to switch their CF API call to happen on StatsLoaded instead of on SessionLoaded. bg3se::lua::stats::LuaStatGetAttribute(): Stat object '(null)' has no attribute named 'Level' Error while dispatching event StatsLoaded: [string "SpellListSorter/SpellListSorter.lua"]:40: Property does not exist: stats::Object::Level - property does not exist stack traceback: [C++ Code]: in metamethod '__index' SpellListSorter/SpellListSorter.lua:40: in upvalue 'DWE_SortSpellList' SpellListSorter/SpellListSorter.lua:89: in function [C++ Code]: in function 'xpcall' builtin://Libs/Events/SubscribableEvent.lua:162: in method 'Throw' builtin://Libs/Events/EventManager.lua:24: in method 'ThrowEvent' builtin://Libs/Events/EventManager.lua:116: in function ecl::ScriptExtender::OnGameStateChanged(): Loaded module
This is red in the console when I launch it. Pastebin link to the log.
Removing PF2e Spells Updated removes the first red error which references Duo. It seems SpellListSorter is causing me problems too but removing PF2e still keeps that red in the console.
I believe I may have found the issue. The Duo has support for the Artificer class baked in, but needs to be able to skip the Artificer spells if the Artificer mod isn't installed. To do this, it checks whether or not the class's spell list exists, before indexing it (as attempting to index a non-existant object throws the error).
The error suggests that the script is attempting to index a non-existant object, in this case it is trying to read the contents of a spell-list. I suspect this may be caused by another mod adding to one but not both of the Artificer cantrip/spell lists as a means of providing compatibility, but the Artificer isn't installed, and thus it confuses the script which is expecting both lists to exist.
At any rate, when I tested for this I was able to recreate your error message, and then I was able to fix it - at least on my end. Try the 1.2.0.3 version and let me know if it works for you.
bonjour j'ai une question étant novice dans le modding , dois-je utiliser le impui patch 7 ou alors le patch 8 cc ? car nous sommes sur la version 8 actuellement et je ne comprends pas trop ou dois je aller xd enfaite certain de mes mods installer nécessite le patch 7 et d'autres le patch 8 cc comment faire dans ses cas la ?
(Traduction automatique). La plupart des fonctionnalités de l'ImpUI ont été ajoutées au jeu de base dans le patch 8. Si vous jouez avec le Patch 7, utilisez la version Patch 7 de ImpUI. Sinon, n'utilisez la version du Patch 8 que si un mod en a besoin pour fonctionner. Quelle que soit la version d'ImpUI requise par un mod, vous devez utiliser celle qui est conçue pour le patch sur lequel vous jouez. Si vous jouez sur le patch 8, et que certains de vos mods nécessitent l'ImpUI du patch 7, utilisez l'ImpUI du patch 8 quoi qu'il en soit. Si cela signifie qu'ils ne fonctionneront pas, vous devrez malheureusement désinstaller ces mods.
The Duo n'a plus besoin d'ImpUI avec le Patch 8, si cela peut vous aider.
Does this mod include a descriptor for level 21? For the rarer mods that allow you to increase past level 20 and want to multiclass into other classes after you've reached level 20 in Duo leveling up runs into an issue unless we have a 'dummy' level.
I understand that this is a niche problem but any clarity would be appreciated. Thank you for the mod regardless.
Is it intentional that I cannot change classes? Just for the Duo subclass, if I attempt to change classes, I am constantly greeted with "Pending Choices" regardless if I change to a different class or even select the same class or any respective subclass.
Also want to add that the Duo partner in my run has some sort of prior instance issue(maybe due to another mod which causes the above issue?), but if my partner dies and resets, it 'gains' gear from a previous point in time. It doesn't lose its current items, but gains said other items. Mod conflict or save issue maybe?
Adventuring Partners will attempt to reequip items they were wearing when they died when they're resummoned, provided they're still in your inventory. Are these the items that get added to them, or is it something else? Are the items simply moved or are they duplicated?
seems to be moved now that I look at it... however, I've had my partner die with and without these items. After i had changed items(attire) for my partner, I had moved the items(attire) into the traveller's chest. The items are then being pulled from the traveller's chest now even though my partner didn't have them on her when she died and respawned.
If you want the items to stop being tracked you can move them to any other creature's inventory: the camp chest doesn't wipe the tracking in case you needed to send the items somewhere because they were too heavy. The Adventuring Partner's level not being the same should just be cosmetic, unless you mean they're gaining features they ought not to have?
maybe cosmetic? They aren't gaining any features, but maybe the "pending choices" results from some weird mismatch between me and the partner? Additionally, I asked this on the bug report, but how do I add a screenshot into this format without it being a path? Obviously want you to be able to see it.
The partner is not a player, and doesn't have a class. They are granted features by a script that sees what passives you have whenever you level up, and removes features if you don't have the associated passive; so they have no influence over your character, and shouldn't cause a problem when levelling up.
Without knowing your mod list, I can't be sure what interaction might be causing this. Pending Choices refers to a Skill Proficiency, Passive or feat selector not being filled out. In your screenshots I can't see your skill selections, but I presume they've been selected. Is it possible to provide your mod list - at least any class/feats mods?
if I'm to guess, it might be a compatibility issue with the Features from 5e DND Planescape and its nerf patch below it. its the only thing i think i added after the fact(I can't confirm because i hadn't tried changing my class until recently. well after i had installed the mod(s).). I'm heading to bed. Sorry about bothering you with this issue as it's probably something I did lol.
you figure anything out? If you can't(or don't want to fix anything, hell, it might be some other mods or something), that's okay. Just want to know if I should start a new campaign or not. It might be something I did for all I know seeing as I'm the only one with the issue that doesn't seem to be a problem in any other campaign except my current one.
Sorry, I've been battling a cold the last day and a half. I notice you're on the Toolkit version of the Duo, not the SE version; I've been assuming you meant the SE version as this is the SE version's page - so I'll try out the TK version and see if I can't replicate the problem. But again to my understanding, only SE could cause an issue with character creation as only SE can manipulate the CCLevelUp component.
At a quick glance, this looks like a bug that can sometimes happen in Vanilla games too, which makes it difficult to diagnose. One suggestion I've seen is to change your Ability Score bonuses around (if you have +2 to STR and +1 to Dex, for example, swap them to anything else and swap them back), and likewise for your Skill Proficiencies.
Can you add a mcm feature or a passive that allows the duo to become an independent entity or summon? I like it being attached to me at first but I always thought about evolving it to become wholly separate toward the final levels.
In order to manually set your Partner's name via the Script Extender console, you can do this:
First, select your Duo, and use Osi.SetVarString(GetHostCharacter(),"DUO_MCM_CUSTOM_NAME","YOUR NAME HERE") Replacing the latter string with the name you want.
Then, paste this into the console. Mods.Duo.Resync_Duos() This will run a debug script that refreshes all Adventuring Partners, and will apply the name. It might throw an error about concatenating a nil value. If it does, set your Debug Verbosity to 0 to bypass this. Otherwise. you can save and load the game to make the name appear.
Error while dispatching event BG3MCM.MCM_Setting_Saved: [string "Duo/Duo_Server.lua"]:8190: attempt to index a nil value (global 'MCM') stack traceback: Duo/Duo_Server.lua:8190: in function <Duo/Duo_Server.lua:8181> [C++ Code]: in function 'xpcall' builtin://Libs/Events/SubscribableEvent.lua:126: in method 'Throw' BG3MCM/Shared/Helpers/Events/ModEventManager.lua:53: in upvalue 'emitModEvent' BG3MCM/Shared/Helpers/Events/ModEventManager.lua:241: in method 'Emit' BG3MCM/Server/MCMServer.lua:72: in method 'SetSettingValue' BG3MCM/Server/EventHandlers.lua:29: in field 'callback' BG3MCM/Shared/Classes/Command/AuthorizedNetCommand.lua:46: in method 'execute' BG3MCM/Shared/Classes/Command/CommandRegistry.lua:17: in method 'execute' BG3MCM/Server/SubscribedEvents.lua:45: in function <BG3MCM/Server/SubscribedEvents.lua:44> [C++ Code]: in function 'xpcall' builtin://Libs/Events/EventManager.lua:66: in method 'NetMessageReceived' builtin://Libs/Events/EventManager.lua:47: in function <builtin://Libs/Events/EventManager.lua:46> [C++ Code]: in function 'xpcall' builtin://Libs/Events/SubscribableEvent.lua:126: in method 'Throw' builtin://Libs/Events/EventManager.lua:22: in method 'ThrowEvent' builtin://Libs/Events/EventManager.lua:112: in function <builtin://Libs/Events/EventManager.lua:111>
For reference, I am playing a party of 8 through party limit begon.
Oh, that'd be why. The MCM menu is only set up to work for up to 4 players. It's looping through the number of players to see whose tab belongs to who, and getting confused when it can't find tabs 5 through 8.
Also dang, an 8 player party with Duos. You've got an army brewing.
153 comments
If you're using the Script Extender version of the Duo (the one this page is for) then it should automatically recognise any feat and its passives and incorporate it into Understudy. The main thing that tends to trip that script up is if any feat is repeated (from multiple mods adding feats with the same name, or overwriting the same feat multiple times) or an incomplete feat that a modmaker forgot to complete/remove is making it throw an error. If you see a red error in your SE console at startup or when levelling up/loading into the level it might shed some light on the problem.
If you're using the in-game Mod Manager (Toolkit) version of the Duo, the feats need to have their passives hard coded into a database in order to be granted by Understudy. So if another mod changes the name of a feat or its passives, or adds passives to a feat, it won't know what to look for and thus won't give the feat to your Adventuring Partner. It also can't know what any additional feats are unless I add them to the database.
Any 'cantrips that can't be prepared' should be your Apprentice's cantrips. They'll show up in your spellbook because you chose them when levelling up, but you can't cast them yourself; only your Apprentice will have access to them. if you want to cast your apprentice's spells, you can take the Shared Magicks Tactic.
From a technical standpoint, spells you choose from an Apprentice subclass are set to require preparation while the Duo class itself is set up so that it can't prepare spells, thus giving a way to keep the choices separated so the scripts know how to differentiate them. The Duo has a lot of rubberband-and-paperclips style workarounds to get it to work, especially the Toolkit version. ;)
If you're not using the Toolkit version, then something has gone wrong, as nothing should require preparation in the SE version (which uses other techniques to keep Duos from casting their Partner's spells).
I know this is a minor issue since it's compatability with another mod but any idea on what the issue with PF2e Spells might be?
Error while dispatching event StatsLoaded: [string "Duo/Duo_Spell_Creation.lua"]:47: attempt to index a nil value
stack traceback:
Duo/Duo_Spell_Creation.lua:47: in global 'DUO_LUA_CreateSpellsAtStartUp'
Duo/BootstrapClient.lua:72: in function
[C++ Code]: in function 'xpcall'
builtin://Libs/Events/SubscribableEvent.lua:162: in method 'Throw'
builtin://Libs/Events/EventManager.lua:24: in method 'ThrowEvent'
builtin://Libs/Events/EventManager.lua:116: in function
[WARN]: StatsLoaded Complete. Any mods calling the CF API after this point may not appear. Please contact the developer of any missing mods and inform them to switch their CF API call to happen on StatsLoaded instead of on SessionLoaded.
bg3se::lua::stats::LuaStatGetAttribute(): Stat object '(null)' has no attribute named 'Level'
Error while dispatching event StatsLoaded: [string "SpellListSorter/SpellListSorter.lua"]:40: Property does not exist: stats::Object::Level - property does not exist
stack traceback:
[C++ Code]: in metamethod '__index'
SpellListSorter/SpellListSorter.lua:40: in upvalue 'DWE_SortSpellList'
SpellListSorter/SpellListSorter.lua:89: in function
[C++ Code]: in function 'xpcall'
builtin://Libs/Events/SubscribableEvent.lua:162: in method 'Throw'
builtin://Libs/Events/EventManager.lua:24: in method 'ThrowEvent'
builtin://Libs/Events/EventManager.lua:116: in function
ecl::ScriptExtender::OnGameStateChanged(): Loaded module
This is red in the console when I launch it. Pastebin link to the log.
Removing PF2e Spells Updated removes the first red error which references Duo. It seems SpellListSorter is causing me problems too but removing PF2e still keeps that red in the console.
The error suggests that the script is attempting to index a non-existant object, in this case it is trying to read the contents of a spell-list. I suspect this may be caused by another mod adding to one but not both of the Artificer cantrip/spell lists as a means of providing compatibility, but the Artificer isn't installed, and thus it confuses the script which is expecting both lists to exist.
At any rate, when I tested for this I was able to recreate your error message, and then I was able to fix it - at least on my end. Try the 1.2.0.3 version and let me know if it works for you.
The Duo n'a plus besoin d'ImpUI avec le Patch 8, si cela peut vous aider.
I understand that this is a niche problem but any clarity would be appreciated. Thank you for the mod regardless.
The Adventuring Partner's level not being the same should just be cosmetic, unless you mean they're gaining features they ought not to have?
Without knowing your mod list, I can't be sure what interaction might be causing this. Pending Choices refers to a Skill Proficiency, Passive or feat selector not being filled out. In your screenshots I can't see your skill selections, but I presume they've been selected. Is it possible to provide your mod list - at least any class/feats mods?
At a quick glance, this looks like a bug that can sometimes happen in Vanilla games too, which makes it difficult to diagnose. One suggestion I've seen is to change your Ability Score bonuses around (if you have +2 to STR and +1 to Dex, for example, swap them to anything else and swap them back), and likewise for your Skill Proficiencies.
First, select your Duo, and use
Osi.SetVarString(GetHostCharacter(),"DUO_MCM_CUSTOM_NAME","YOUR NAME HERE")
Replacing the latter string with the name you want.Then, paste this into the console.
Mods.Duo.Resync_Duos()
This will run a debug script that refreshes all Adventuring Partners, and will apply the name. It might throw an error about concatenating a nil value. If it does, set your Debug Verbosity to 0 to bypass this. Otherwise. you can save and load the game to make the name appear.stack traceback:
Duo/Duo_Server.lua:8190: in function <Duo/Duo_Server.lua:8181>
[C++ Code]: in function 'xpcall'
builtin://Libs/Events/SubscribableEvent.lua:126: in method 'Throw'
BG3MCM/Shared/Helpers/Events/ModEventManager.lua:53: in upvalue 'emitModEvent'
BG3MCM/Shared/Helpers/Events/ModEventManager.lua:241: in method 'Emit'
BG3MCM/Server/MCMServer.lua:72: in method 'SetSettingValue'
BG3MCM/Server/EventHandlers.lua:29: in field 'callback'
BG3MCM/Shared/Classes/Command/AuthorizedNetCommand.lua:46: in method 'execute'
BG3MCM/Shared/Classes/Command/CommandRegistry.lua:17: in method 'execute'
BG3MCM/Server/SubscribedEvents.lua:45: in function <BG3MCM/Server/SubscribedEvents.lua:44>
[C++ Code]: in function 'xpcall'
builtin://Libs/Events/EventManager.lua:66: in method 'NetMessageReceived'
builtin://Libs/Events/EventManager.lua:47: in function <builtin://Libs/Events/EventManager.lua:46>
[C++ Code]: in function 'xpcall'
builtin://Libs/Events/SubscribableEvent.lua:126: in method 'Throw'
builtin://Libs/Events/EventManager.lua:22: in method 'ThrowEvent'
builtin://Libs/Events/EventManager.lua:112: in function <builtin://Libs/Events/EventManager.lua:111>
For reference, I am playing a party of 8 through party limit begon.
Also dang, an 8 player party with Duos. You've got an army brewing.