Hope it's ok to ask this here - didn't think it qualifies as a "bug" post. I'm having a bit of trouble installing for some reason through BG3MM. I've downloaded and imported the mod and all its dependencies, including the correct version of the script extender, and yet for some reason I can't get the spells to show up in game. I enabled the SE developer console and I'm not seeing "Sit This One Out 2" anywhere in the list of loaded mod configurations, so it looks like SE isn't even detecting it. Doesn't show up in the MCM mods list either.
Is there some extra step I'm missing? Any other info I can provide to help diagnose the issue?
Hello. sir I am a big fan of this mod and have been using it for a long time. It's been a while since the mod was updated lol.
I have been using version 2.3.0.2 and modified it in my own way.
(v2.3.0.4 bug report) I tested the updated version 2.3.0.4 and found the following bugs.
1. This mod's ability is added to the Follower (not Summon. I am referring to the Follower "US" that you can meet in the Nautiloid ship tutorial.)
2. When applying Sit Out, Vanished status to the target with the Target spell, the applied status is immediately removed. This is probably caused by the process of synchronizing "whether toggle passive is toggled" and "applied Sit Out, Vanished status".
This is something I modified in version 2.3.0.2. The modifications are based on the code of version 2.3.0.2.
This may seem a little presumptuous, but I am writing this in the hopes that it will save you some trouble and make the mod better. I confirm once again that all rights belong to you. Thank you.
[Status_BOOST.txt]
Gives a stealth-related boost to a character in the Sit Out state.
A character in the Vanished state will not be in the enemy's sight and will ignore hide checks. However, a character in the Sit Out state will still be in the enemy's sight and will be detected throughout the game, annoying the player.
new entry "SITOUT_ONCOMBATSTART_APPLIER_TECHNICAL" data "Boosts" "Tag(AI_IGNORED_TARGET);ActionResourceBlock(ReactionActionPoint); Skill(Stealth, 100);Advantage(Skill, Stealth)"
Remove DialogueBlock() from new entry "SITOUT_VANISH_STATUS". Conversation will be possible even in the Vanished state.
Typically, the Vanished state is applied because you don't want too many characters to be visible on the screen. However, in that case, you cannot enjoy field banter conversation.
If you remove DialogueBlock(), you can enjoy the party members' banter conversation richly with mods such as More Reactive Companions mod, even if it is transparent.
However, it is suitable for cases where you mainly move in WASD Character Movement mod because you can have unintended conversations with party members by clicking the mouse.
You can disappear during battle by exploiting this mod. To prevent this, I propose a way to disable the functionality of this mod during combat.
[Passive.txt]
Add not Combat() condition to all toggle passives.
Example) new entry "SitOut_Vanish_Passive" data "ToggleOnFunctors" "IF(not Combat()):ApplyStatus(SITOUT_VANISH_STATUS_APPLIER,100,-1)" data "ToggleOffFunctors" "IF(not Combat()):RemoveStatus(SITOUT_VANISH_STATUS_APPLIER);IF(not Combat()):RemoveStatus(SITOUT_VANISH_STATUS)"
[english.loca]
Add explanation that manipulating toggle passive during combat has no effect.
<content contentuid="h4e31b13dgba1dg3215g0412g31583b8245c2" version="1">Toggle whether or not this character will participate in combat. If you are in combat, this passive will have no effect even if you manipulate it.</content> <content contentuid="h920e7795g3ef3g5678g78ecg872f8a578773" version="1">Toggle whether or not this character should vanish when not in combat and not being controlled. If you are in combat, this passive will have no effect even if you manipulate it.</content>
[Spell_Shout.txt] [Spell_Target.txt]
This prevents it from being used in combat.
data "Requirements" "!Combat"
Remove the "IsSpell" flag from data "SpellFlags" to make it a class action.
[Spell_Target.txt]
Prevents party members who are not engaged in combat (Long Distance) from using Target spells on characters who are engaged in combat.
Also, the Sit Out and Vanished states should only apply to allies.
Add data "TargetConditions" "Ally() and not Combat()".
To apply the 'Vanished' status to a Target Spell, simply apply only the 'SITOUT_VANISH_STATUS_APPLIER' status.
new entry "Target_SitOut_SpellC_Vanish" data "SpellProperties" "ApplyStatus(SITOUT_VANISH_STATUS_APPLIER,100,-1)" data "TooltipStatusApply" "ApplyStatus(SITOUT_VANISH_STATUS_APPLIER,100,-1)"
new entry "Target_SitOut_SpellD_Vanish_Off" data "SpellProperties" "RemoveStatus(SITOUT_VANISH_STATUS_APPLIER);RemoveStatus(SITOUT_VANISH_STATUS)" data "TooltipStatusApply" "RemoveStatus(SITOUT_VANISH_STATUS_APPLIER);RemoveStatus(SITOUT_VANISH_STATUS)"
Prevent this mod's ability from being added to Summon and Follower.
if (Osi.IsSummon(Target) == 0 and Osi.IsPartyFollower(Target) == 0) then / if Osi.HasSpell(Target, Spell) == 0 then / Osi.AddSpell() if (Osi.IsSummon(Target) == 0 and Osi.IsPartyFollower(Target) == 0) then / if Osi.HasPassive(Target, Passive) == 0 then / Osi.AddPassive()
Add code to function OnStatusApplied(object, status, causee, storyActionID)
If you Vanish the currently selected character ("Character A"), it will immediately become transparent.
Code to delay making it transparent only when you select another character and "Character A" is no longer the currently selected character
And this code will allow for instant invisibility of the target when granting the Vanished status with the Target spell in version 2.3.0.2.
elseif status == VanishApplier then local userID = Osi.GetReservedUserID(object) if UserIDToCharacter[userID] == object then return else PossiblyVanish(object) end end
There is a bug in the process of selecting random party members. The summoner is excluded from the battle, but the summoner participates in the battle.
for _, c in pairs(Osi.DB_PartyMembers:Get(nil)) do if Osi.IsSummon(c[1]) == 1 or Osi.IsPartyFollower(c[1]) == 1 then local owner = Osi.CharacterGetOwner(c[1]) if owner and satOut[UUID(owner)] and Osi.HasActiveStatus(c[1], Status) ~= 1 then DoSitOut(c[1], combat) _D(string.format("Sitting out %s after its owner randomly sat out", c[1])) end end end
Are you aware of the problem that the long rest camp event cutscene does not appear when in the Vanished state? Likewise, mods such as Camp Event Notificationsdo not work for that character in the Vanished state.
If you Vanish Wyll or Karllach and take a long rest, you will not be able to enjoy the event where Mizora comes to visit.
Therefore, I recommend using these two event listeners to automatically apply and remove the Vanished state in real time when entering and leaving the camp.
This way, when entering the camp, the Vanished state will be automatically removed, and when leaving the camp, the removed Vanished state will be automatically applied again.
[Status_BOOST.txt]
Add the SITOUT_INCAMP state.
new entry "SITOUT_INCAMP" type "StatusData" data "StatusType" "BOOST" data "DisplayName" "he86d02dfg28e0g4ebbgbbe4g874c752451a1;1" data "StackType" "Ignore" data "StatusPropertyFlags" "IgnoreResting;FreezeDuration;DisableOverhead;DisableCombatlog;DisablePortraitIndicator"
[SitOut.lua]
Add 2 event listeners
Ext.Osiris.RegisterListener("TeleportedToCamp", 1, "after", function(character) if Osi.IsInCombat(character) == 0 then if (Osi.HasActiveStatus(character, "SITOUT_VANISH_STATUS_APPLIER") == 1 or Osi.HasActiveStatus(character, "SITOUT_VANISH_STATUS") == 1) then Osi.RemoveStatus(character, "SITOUT_VANISH_STATUS_APPLIER") Osi.RemoveStatus(character, "SITOUT_VANISH_STATUS") Osi.ApplyStatus(character, "SITOUT_INCAMP", -1) end end end)
Ext.Osiris.RegisterListener("TeleportedFromCamp", 1, "after", function(character) if Osi.IsInCombat(character) == 0 then if (Osi.HasActiveStatus(character, "SITOUT_INCAMP") == 1) then Osi.RemoveStatus(character, "SITOUT_INCAMP") Osi.ApplyStatus(character, "SITOUT_VANISH_STATUS_APPLIER", -1) end end end)
Sorry if my post seemed arrogant. I am not a native English speaker and I am clumsy and use a translator. I wrote this in hopes that your great mod will be better and that you will have less trouble.
Thank you for reading. Also, Thank you for uploading such a great mod.
Hey there! I ran into a major issue with this mod for Patch 8: leaving a conversation with STOO2 active caused the game to crash without fail, on every single save it was active on. Once I unpatched the game, deactivated the mod, and repatched, it stopped crashing.
I'm considering it. However, BG3's built-in Mod Manager is apparently meant to support Console mods, while Script Extender will probably never be available for Consoles. If I can ensure it will never be shown for players who can't use it due to Script Extender not being supported (and once we figure out how to list Script Extender as an External Dependency), I'll try to put it there.
Loving this mod for the sheer variety it provides to combat. Only issue is that the "Transitive Sitting Out" setting doesn't seem to be working even when set to default. The animal companions will join the fight even if their masters are sitting out. Anything that can recommended on fixing that?
I'm approaching Cazador's Palace using this mod, and I currently have Astarion toggled to permanently sit out in combats. Is it safe to keep him in the party, but sitting out, for that encounter? How exactly does it work with
Spoiler:
Show
Astarion being chained to one of the sacrificial altars?
I believe currently it should be safe to bring him Sitting Out & Vanished, but why would you do that to my fang boi? Just bring him to the fight with a ranged loadout but leave him near the top of the steps when starting the fight and don't let Cazzy get to close to him ;)
First of all: amazing mod. Been needing something like this since Everyone In Dialogue has been causing frequent bugs in patch 7 playthroughs.
Now my question: is this safe to install midgame? I'm presently in the early parts of Act 1 but I'm afraid to bork my game file and there's no indication that it's UNSAFE in the description but I'm just concerned.
I love this mod <3 Would be amazing to use it for cutscenes, like decide which characters dont\do appear in a cutscene (Example-: I have N Party Limit Begone and having a lot of characters in there ,bugs the cutscene hhehe)
115 comments
DO NOT TAKE MORE THAN 4 PEOPLE ONTO THE BOAT TO GRYMFORGE
First off, thanks so much for making the mod!
Hope it's ok to ask this here - didn't think it qualifies as a "bug" post. I'm having a bit of trouble installing for some reason through BG3MM. I've downloaded and imported the mod and all its dependencies, including the correct version of the script extender, and yet for some reason I can't get the spells to show up in game. I enabled the SE developer console and I'm not seeing "Sit This One Out 2" anywhere in the list of loaded mod configurations, so it looks like SE isn't even detecting it. Doesn't show up in the MCM mods list either.
Is there some extra step I'm missing? Any other info I can provide to help diagnose the issue?
Thanks again!
I am a big fan of this mod and have been using it for a long time.
It's been a while since the mod was updated lol.
I have been using version 2.3.0.2 and modified it in my own way.
(v2.3.0.4 bug report) I tested the updated version 2.3.0.4 and found the following bugs.
1. This mod's ability is added to the Follower (not Summon. I am referring to the Follower "US" that you can meet in the Nautiloid ship tutorial.)
2. When applying Sit Out, Vanished status to the target with the Target spell, the applied status is immediately removed.
This is probably caused by the process of synchronizing "whether toggle passive is toggled" and "applied Sit Out, Vanished status".
This is something I modified in version 2.3.0.2.
The modifications are based on the code of version 2.3.0.2.
This may seem a little presumptuous, but I am writing this in the hopes that it will save you some trouble and make the mod better.
I confirm once again that all rights belong to you. Thank you.
[Status_BOOST.txt]
Gives a stealth-related boost to a character in the Sit Out state.
A character in the Vanished state will not be in the enemy's sight and will ignore hide checks.
However, a character in the Sit Out state will still be in the enemy's sight and will be detected throughout the game, annoying the player.
new entry "SITOUT_ONCOMBATSTART_APPLIER_TECHNICAL"
data "Boosts" "Tag(AI_IGNORED_TARGET);ActionResourceBlock(ReactionActionPoint); Skill(Stealth, 100);Advantage(Skill, Stealth)"
Remove DialogueBlock() from new entry "SITOUT_VANISH_STATUS".
Conversation will be possible even in the Vanished state.
Typically, the Vanished state is applied because you don't want too many characters to be visible on the screen.
However, in that case, you cannot enjoy field banter conversation.
If you remove DialogueBlock(), you can enjoy the party members' banter conversation richly with mods such as More Reactive Companions mod, even if it is transparent.
However, it is suitable for cases where you mainly move in WASD Character Movement mod because you can have unintended conversations with party members by clicking the mouse.
You can disappear during battle by exploiting this mod.
To prevent this, I propose a way to disable the functionality of this mod during combat.
[Passive.txt]
Add not Combat() condition to all toggle passives.
Example)
new entry "SitOut_Vanish_Passive"
data "ToggleOnFunctors" "IF(not Combat()):ApplyStatus(SITOUT_VANISH_STATUS_APPLIER,100,-1)"
data "ToggleOffFunctors" "IF(not Combat()):RemoveStatus(SITOUT_VANISH_STATUS_APPLIER);IF(not Combat()):RemoveStatus(SITOUT_VANISH_STATUS)"
[english.loca]
Add explanation that manipulating toggle passive during combat has no effect.
<content contentuid="h4e31b13dgba1dg3215g0412g31583b8245c2" version="1">Toggle whether or not this character will participate in combat. If you are in combat, this passive will have no effect even if you manipulate it.</content>
<content contentuid="h920e7795g3ef3g5678g78ecg872f8a578773" version="1">Toggle whether or not this character should vanish when not in combat and not being controlled. If you are in combat, this passive will have no effect even if you manipulate it.</content>
[Spell_Shout.txt]
[Spell_Target.txt]
This prevents it from being used in combat.
data "Requirements" "!Combat"
Remove the "IsSpell" flag
from data "SpellFlags" to make it a class action.
[Spell_Target.txt]
Prevents party members who are not engaged in combat (Long Distance)
from using Target spells
on characters who are engaged in combat.
Also, the Sit Out and Vanished states should only apply to allies.
Add data "TargetConditions" "Ally() and not Combat()".
To apply the 'Vanished' status to a Target Spell,
simply apply only the 'SITOUT_VANISH_STATUS_APPLIER' status.
new entry "Target_SitOut_SpellC_Vanish"
data "SpellProperties" "ApplyStatus(SITOUT_VANISH_STATUS_APPLIER,100,-1)"
data "TooltipStatusApply" "ApplyStatus(SITOUT_VANISH_STATUS_APPLIER,100,-1)"
new entry "Target_SitOut_SpellD_Vanish_Off"
data "SpellProperties" "RemoveStatus(SITOUT_VANISH_STATUS_APPLIER);RemoveStatus(SITOUT_VANISH_STATUS)"
data "TooltipStatusApply" "RemoveStatus(SITOUT_VANISH_STATUS_APPLIER);RemoveStatus(SITOUT_VANISH_STATUS)"
Prevent this mod's ability from being added to Summon and Follower.
if (Osi.IsSummon(Target) == 0 and Osi.IsPartyFollower(Target) == 0) then / if Osi.HasSpell(Target, Spell) == 0 then / Osi.AddSpell()
if (Osi.IsSummon(Target) == 0 and Osi.IsPartyFollower(Target) == 0) then / if Osi.HasPassive(Target, Passive) == 0 then / Osi.AddPassive()
Add code to
function OnStatusApplied(object, status, causee, storyActionID)
If you Vanish the currently selected character ("Character A"),
it will immediately become transparent.
Code to delay making it transparent
only when you select another character
and "Character A" is no longer the currently selected character
And this code will allow for instant invisibility of the target when granting the Vanished status with the Target spell in version 2.3.0.2.
elseif status == VanishApplier then
local userID = Osi.GetReservedUserID(object)
if UserIDToCharacter[userID] == object then
return
else
PossiblyVanish(object)
end
end
There is a bug in the process of selecting random party members.
The summoner is excluded from the battle, but the summoner participates in the battle.
OnCombatStarted() code modified
DB_PartyFollowers → DB_PartyMembers
for _, c in pairs(Osi.DB_PartyMembers:Get(nil)) do
if Osi.IsSummon(c[1]) == 1 or Osi.IsPartyFollower(c[1]) == 1 then
local owner = Osi.CharacterGetOwner(c[1])
if owner and satOut[UUID(owner)] and Osi.HasActiveStatus(c[1], Status) ~= 1 then
DoSitOut(c[1], combat)
_D(string.format("Sitting out %s after its owner randomly sat out", c[1]))
end
end
end
Are you aware of the problem that the long rest camp event cutscene does not appear when in the Vanished state?
Likewise, mods such as Camp Event Notifications do not work for that character in the Vanished state.
If you Vanish Wyll or Karllach and take a long rest, you will not be able to enjoy the event where Mizora comes to visit.
Therefore, I recommend using these two event listeners to automatically apply and remove the Vanished state in real time when entering and leaving the camp.
This way, when entering the camp, the Vanished state will be automatically removed,
and when leaving the camp, the removed Vanished state will be automatically applied again.
[Status_BOOST.txt]
Add the SITOUT_INCAMP state.
new entry "SITOUT_INCAMP"
type "StatusData"
data "StatusType" "BOOST"
data "DisplayName" "he86d02dfg28e0g4ebbgbbe4g874c752451a1;1"
data "StackType" "Ignore"
data "StatusPropertyFlags" "IgnoreResting;FreezeDuration;DisableOverhead;DisableCombatlog;DisablePortraitIndicator"
[SitOut.lua]
Add 2 event listeners
Ext.Osiris.RegisterListener("TeleportedToCamp", 1, "after", function(character)
if Osi.IsInCombat(character) == 0 then
if (Osi.HasActiveStatus(character, "SITOUT_VANISH_STATUS_APPLIER") == 1 or Osi.HasActiveStatus(character, "SITOUT_VANISH_STATUS") == 1) then
Osi.RemoveStatus(character, "SITOUT_VANISH_STATUS_APPLIER")
Osi.RemoveStatus(character, "SITOUT_VANISH_STATUS")
Osi.ApplyStatus(character, "SITOUT_INCAMP", -1)
end
end
end)
Ext.Osiris.RegisterListener("TeleportedFromCamp", 1, "after", function(character)
if Osi.IsInCombat(character) == 0 then
if (Osi.HasActiveStatus(character, "SITOUT_INCAMP") == 1) then
Osi.RemoveStatus(character, "SITOUT_INCAMP")
Osi.ApplyStatus(character, "SITOUT_VANISH_STATUS_APPLIER", -1)
end
end
end)
I am not a native English speaker and I am clumsy and use a translator.
I wrote this in hopes that your great mod will be better and that you will have less trouble.
Thank you for reading.
Also, Thank you for uploading such a great mod.
Now my question: is this safe to install midgame? I'm presently in the early parts of Act 1 but I'm afraid to bork my game file and there's no indication that it's UNSAFE in the description but I'm just concerned.
Would be amazing to use it for cutscenes, like decide which characters dont\do appear in a cutscene
(Example-: I have N Party Limit Begone and having a lot of characters in there ,bugs the cutscene hhehe)