(Patch 8 Compat) Fixes the frustrating mix of turn-based and real-time gameplay when attempting to launch an ambush against enemies. Pulls your party into your attack, maintaining their stealth status, ensures surprise rounds happen, and enables actual stealth-combat, reapplying sneak status when you would otherwise lose it. 100% MCM Configurable!
Other user's assetsAll the assets in this file belong to the author, or are from free-to-use modder's resources
Upload permissionYou can upload this file to other sites but you must credit me as the creator of the file
Modification permissionYou are allowed to modify my files and release bug fixes or improve on the features so long as you credit me as the original creator
Conversion permissionYou can convert this file to work with other games as long as you credit me as the creator of the file
Asset use permissionYou are allowed to use the assets in this file without permission as long as you credit me
Asset use permission in mods/files that are being soldYou are not allowed to use assets from this file in any mods/files that are being sold, for money, on Steam Workshop or other platforms
Asset use permission in mods/files that earn donation pointsYou are allowed to earn Donation Points for your mods if they use my assets
Author notes
This author has not provided any additional notes regarding file permissions
File credits
This author has not credited anyone else in this file
Donation Points system
Please log in to find out whether this mod is receiving Donation Points
Adds feature to have invisible characters follow the same rules as sneaking ones, allowing them to join combat automatically
Version 1.0.0
Adds Toggleable Passive to all Party Members - disabling prevents them from being added to Ambushes even if they're eligible according to the rules. Defaults to enabled
Adds Distance-based eligibility rules, allowing party members to join the ambush even if they're out of the combat zone or invisible. Also limits the range in which sneaking characters will be pulled into combat- disabling this feature will revert to previous behavior
Version 0.5.1
Add the `DisableCombatlog` flag to the `SNEAKING` status, preventing combat log spam
`than` to `then` in one of the MCM lines
Fix proficiency logic not accounting for changes after a character is seen
Version 0.5.0
Added Stealth Action logic - too much functionality to describe succinctly here (read MCM!), but TLDR is acting while sneaking no longer automatically removes sneaking, ghost position is randomized during combat, and the attacking char's summon is automatically brought in with them
Only roll stealth checks against enemies that have Line of Sight to you and are capable of spotting sneakers
Failing a stealth check initiated by this mod will cause the enemy you failed against to look at you, forcing a hide check if you're within their sight cone
Enhanced logging
Corrected description for Surprise in MCM - all actions that trigger combat are now supported
Version 0.4.0
Fully flesh out Surprise mechanic, better respecting Vanilla surprise rules while triggering it on any action that starts combat
Clear log on SE load
Format the timestamp in logs - this represents Game time, not system time, so should only be used to compare relative times between logs (same as before, just more readable)
Version 0.3.0
Added basic surprise functionality, triggering it on a group if they're directly targeted by any spell/attack by a sneaking character
Added saving throws for Surprise status
Version 0.2.2
Fixed - I was using Automatic Inventory Manager's ModTable, causing issues with MCM when both are in the same modlist
Version 0.2.1
Disable prone logic if Sensible Ambush is disabled
Version 0.2.0
Added Characters 'tripping' if they critically fail their ambush stealth check, going prone for a round
Characters with metal equipment (weapon, shield, armor) can attract nearby allies/enemies to their position when going prone. This comes with a sound effect to signal this behavior is happening - sounds like metal being destroyed, since i just reused an existing asset.
Added Generating an ash surface when changing any configs that deal with radii
Tweaked MCM configs
Version 0.1.0
Prevents enemies from knowing where sneaking chars are during the ambush, unless the char fails their passive Stealth check against the enemy's Perception
Adds MCM options for enabling the mod and changing the log level
Version 0.0.1
Initial functionality - party members join combat stealthed w/ summons. MCM integration included
Add custom statuses indicating mod-specific states (unknown to enemy, sneaking but known to enemy, attacked from stealth x times, etc) - kinda eh about this one. Drop a comment if you wanna see it.
Add immersive and obvious visual indicators on character models to indicate obscurity state. No ETA
Bug Reports When Reporting Bugs, please include the values contained in the %localappdata%\Larian Studios\Baldur's Gate 3\Script Extender\BG3MCM\Profiles\<YOUR_ACTIVE_PROFILE>\Sensible_Ambushing\settings.json
and describe the exact sequence of events that occurred. The cost of making a mod this customizable, flexible, and scenario-dependent is that there are a lot of different permutations for the behavior - it will be incredibly difficult for me to understand and recreate a bug unless I know what combination of settings you have enabled and what situation you were in.
Current Features (100% configurable in MCM): Note: 'Party Members' includes Summons
- A toggleable passive to include/exclude party members from the below ambushing rules
- All sneaking party members are pulled into combat when one party member is, if they're within the configured distance (or the distance-based eligibility is disabled)
- Party members that are sneaking before combat is initiated retain their sneaking, with options to: - Hide the 'ghost' that tells enemies where to look for the sneaking chars - Make a passive Stealth skill check against each enemy's Perception to keep that ghost hidden, with the option to automatically roll with advantage (or cancel out disadvantage, i.e. if you're wearing heavy armor). If you fail, you'll still be sneaking, the enemy will just know to look in that area for you - Characters 'trip' if they critically fail their ambush stealth check, going prone for a round
- Sneak is now reapplied if removed by performing a non-stealth action, with immersive and balanced combat mechanics. See the stickied post!
- Party members outside of the combat zone, but within a configurable distance, will now be pulled into the Ambush, regardless of their status (i.e. invisible, sneaking, not sneaking)
- Surprise is now triggered more predictably - if a character does anything from stealth that triggers combat, their enemies will be surprised. This applies to scenarios that don't count in the vanilla game too, like throwing a grenade or casting Fog Cloud, while still respecting mechanics like Minor Illusion. - Surprise status can now be resisted via a saving throw
- Characters with metal equipment (weapon, shield, armor) can attract nearby allies/enemies to their position when going prone - This comes with a new sound effect, to indicate the behavior, but I just reused an existing sound within the game which doesn't sound great. Good enough for pre-v1, but if anyone knows of a better alternative, please message me! - This can apply to any character in the game - ally/enemy determinations are made based on the party though (i.e. only attracting allies, but triggering the effect on enemies, will attract allies of the player, not the enemy)
Happy to receive features suggestions, bug reports, etc.
Uninstalling Disable the new toggleable passive on each party member before uninstalling - the passive + associated status is automatically removed from characters that leave the party, so you only have to worry about your active party members
Mod inspiration comes from @BaldursGoonsack and his excellent collection, DIQ - check it out!
Thanks to @Fararagi for the logging code + some misc utility stuff - they've been propping up all my mods since the start, so really appreciate it[/size]