0 of 0

File information

Last updated

Original upload

Created by

iamy0urdad

Uploaded by

iamy0urdad

Virus scan

Safe to use

About this mod

Hugs and kisses for Shadowheart! Compatible with Patch 7. This mod changes Selune Shadowheart character arc, changes her romance, adds hidden/cut content, fixes the black hair bug in skinny dipping scene, and gives Tav a chance to marry her. Also, she no longer needs to be persuaded to save her parents.

Requirements
Permissions and credits
Translations
  • German
Changelogs
About this mod

This mod is for those folks who wonder why Shadowheart was so eager to save parents up until the last hurdle, when Tav suddenly needs to persuade her to actually do what she wanted to do pretty much a good second half of the game.

This mod is for those folks who wonder why Shadowheart is cool when Tav is messing around with drow twins or Halsin, but lay a finger on Minthara, and... 

If she stays loyal to Shar, this mod changes almost nothing except one thing. Sharran Shadowheart won't wait until the Nightfall ritual and will agree to share Tav with drow twins.

If she turns to Selune, you will find new reactions and conversations in certain situations that weren't there before. I won't go into details here and instead let you play and find out.

Besides all the above, this mod brings some unreleased content back to the game (hugs in acts 2 and 3, unreleased and cut dialog lines), fixes the "black hair" bug in the skinny dipping romance cutscene, gives Tav a chance to marry her, prevents many of her lines from disappearing after first click, etc.

A few words about the name. I am not good with words, and English is not my mother tongue. Each origin has a special flag named "ReallyCompanionNameHere", like ReallyWyll, ReallyKarlach, ReallyShadowheart, etc. The purpose of these flags is to provide a reliable way of detecting that an origin character is in a scene or a dialog. Characters may shapeshift, disguise, etc, a lot of their normal flags may change. These "really" flags always stay and guarantee that Wyll will always gets his lines. So, I thought, this would be a good name for a mod that attempts to undo all the damage to her character and story that was done in act 3.

Installation

I recommend installation via LaughinLeader's BG3 Mod Manager (1.0.11.0 or higher for Patch 7). You will also need Norbyte's Script Extender v17 or higher (v20 for Patch 7). This mod doesn't alter saved games, so it is absolutely safe to install/uninstall it.

It is for the most part an override mod. Watch out for conflicts with other overrides.

If you're DIU enthusiast, scroll all the way down to the "Manual Installation" section below :)

Translations

German:
https://www.nexusmods.com/baldursgate3/mods/12197

Patch 7 notes

Versions starting from 1.4.0.0 are compatible with Patch 7. Use the latest version of LaughingLeader's Mod Manager to install the mod.

In-game Mod Manager

This mod doesn't show up in the in-game mod manager. I think, I know why. By trial and error, I established that the in-game mod manager hides mods that override base game files. This may be done to prevent showing hotfixes and patches as mods. I tried to change file layout of my mod, but it either shows up in the in-game mod manager and doesn't work, or it works and doesn't show up in the in-game mod manager. I think, the latter is the better choice.

Source code

As I promised to make my python stuff available to the community, here you go, guys and gals :)

https://github.com/0x1amy0urdad/bg3modding_public

I included the full notebook with the mod source, except for voice files that I extracted and modified manually. I am not sure I can share them freely. Anyway, the example is meant to show how to use this stuff, not to build the actual mod.

Want to thank me?

I created this mod mostly for my personal enjoyment, so I will keep working on it regardless of how much support I get.

Though, you can buy me a book (or a coffee): https://buymeacoffee.com/0x1amy0urd1


Updates

1.4.3.0 (minor update)
Changelog:
 * In patch 7, Lae'zel and Shadowheart may discuss both nightfall and skinny dipping scenes before any of those actually occur; also, both banters happen regardless of Shadowheart's alignment (Shar/Selune). Devs completely messed up flags for those banters, so I fixed that.

1.4.2.0
Changelog:
 * Finally! Since Patch 3, Shadowheart's hair was black in the skinny dipping cutscene. The fix is actually a workaround. The actual root cause is in the game engine: when nude, Shadowheart's hair loses material override. To prevent this, I managed to modify the cutscene and now Shadowheart wears slippers, and this shields her hair from Shar's influence.
 * Added few lines to the final post-Netherbrain romance scene, and also to the epilogue. If parents were saved, Tav can ask Shadowheart to marry them, and later Shadowheart says a line about their marriage in the epilogue. Not a big wedding cutscene, but to the best of my ability.
 * Few small fixes and improvements here and there.

1.4.1.0
Changelog:
 * Made 'What do you think of all that's happened to us so far?' a permanent line in Shadowheart's companion dialog
 * Updated several other conversations to not disappear after choosing them for the first time; they all disappear eventually though, as the story moves forward
 * Fixed a bug when a Selunite Tav could ask Shadowheart "Your goddess surely can't approve of what you and I share" before learning that she worships Shar
 * Fixed a crash in lua script
 * Fixed repetitive Shadowheart/Astarion banter about drinking blood from goblets

1.4.0.0
Changelog:
 * Patch 7 compatible version. Incompatible with all previous patches. No other changes.

1.3.2.0
Changelog:
 * Added Shadowheart/Astarion banter that was removed from the game. It triggers after Tav asks Shadowheart to their first date (waterfall/kiss cutscene in act 1).

1.3.1.0
Changelog:
 * Added more in-game possibilities to enable hugs. Please read the detailed description in the section below. 

1.3.0.0

Changelog:
 * Hugs! Removed IMPOSSIBLE flag from hugs, and made them POSSIBLE. Not all races are supported with this release though, dragonborns and short races need to wait for the next update. For more on hugs read the section below. 
 * Hugs come with 8 different reactions, also freed from the IMPOSSIBLE prison.
 * Shadowheart now has more to say when Tav asks her to stay in camp. 13 new lines freed from the clutches of IMPOSSIBLE flag.
 * Credits to youtuber SlimX for discovering this hidden content!

1.2.1.0 (minor update)

Changelog:
 * IMPOSSIBLE is now POSSIBLE. Removed IMPOSSIBLE flag from two previously unavailable dialog options in a discussion about Shadowheart's new hairstyle. Credits to SlimX for the discovery, go watch his vids on youtube! (Besides, his video shows new lines with Wyll origin; Shadowheart tells more to Durge)

1.2.0.0
Changelog:
 * More kisses! With this update, Shadowheart on both paths kisses Tav using 1 random kiss from a selection of 6 different animations.
 * Tav and Shadowheart can discuss her memories; there was actually a bug: after saving parents on Selune path this dialog was incorrectly put under a "Shar path" flag and it never got triggered. It worked when Shadowheart chose to kill parents, or when saving parent on Shar path.
 * Added an option to loot Viconia's stuff so that she can be spared. I never liked killing her just to get that shield.
 * Tav now has to convince Shadowheart to kill Viconia (there's a small and pretty rare cutscene for that); Tav still can kill her in cold blood without dice rolls though.
 * Shadowheart won't take events at the Chamber of Loss as lightly as before this update.
 * Fixed "safe" skinny dipping cutscene.
 * Made minor changes to "unsafe" skinny dipping cutscene.

1.1.0.0
Changelog:
 * Updated Halsin/Shadowheart banter
 * Tav and Shadowheart can slip away to make more sand castles if Tav was nice to her
 * Minthara can now speak about companions non-stop

1.0.0.0
Changelog:
 * Initial version
 * When turned away from Shar, romanced Shadowheart continues an exclusive relationship with Tav/Durge, as it was in acts 1 & 2
 * When remained loyal to Shar, romanced Shadowheart is open to share Tav/Durge with drow twins before the Nightfall ritual and her romance scene 

Hugs

To someone's disappointment, I decided to keep the idea that is in game's source code. This means, no free hugs; Tav needs to do some leg work before... you know ;)

To unlock hugs, Shadowheart should spare Nightsong. Then, there'll be a new option in the dialog at the mausoleum's entrance. Tav should hug her, and hugs will be enabled later towards the end of act2, after Shadowheart speaks to Dame Aylin. If this opportunity is missed, there will be a one-off 'Hug her' option in Shadowheart's companion dialog that also enables hugs. This option is available until Shadowheart speaks to Dame Aylin. If this opportunity is also missed, hugs are enabled after the cutscene when she cries after saving or killing her parents. If she saves parents, the hug always happens, and hugs are always enabled. If she turns them into moonmotes, Tav has to choose 'Embrace her' to enable hugs.

Besides that, Tav needs an approval of at least 60. Hugs work for both romanced and non-romanced Shadowheart. Approval 60 and a hug (any of the described above) are two main pre-requisites. Well, there's also the 3rd one: not being a dragonborn or any of the shorter races (halflings, dwarves, gnomes), but I hope I will fix that in the next update.

Motivation

Expectedly, this mod sparked some angry comments. To address all of them, I am adding this section. Everyone is entitled to think whatever they want, my goal here is explain my perspective on how this mod changes the game.

Shadowheart's story and her character arc are very well written, no doubt about that. She is basically the 2nd most important origin after Durge. That said, no character is too important, and story doesn't depend on her; Shadowheart just makes it a lot more interesting.

I am cool with the first two acts with just one caveat. I find it far too easy to get her approval to 100. It is possible to see her wolf memory scene without leaving the ravaged beach... Also, when her approval of Tav grows that fast, all her defensive, aggressive, and passive-aggressive dialogs aren't accessible, which means a good share of players miss those parts of character building. I only saw her "and that's the vessel you chose" remark on my 3rd playthrough. I want to change that in future, but the current release of the mod focuses on the events in act 3.

Shadowheart's romance during acts 1 and 2 slowly burns as a monogamic exclusive relationship. She breaks up with Tav/Durge the moment they start a new relationship. She clearly states that she doesn't want to be "your spare lover". Fast forward, all her romanced endings either have 1 or 0 partners: rural life in a cottage with her parents and Tav/Durge, travelling here and there on the sword coast with Tav/Durge, or leading the cloister. There's no 2nd partner, which kind of renders the "polygamous Shadowheart" theory moot. How much she is not into polygamous relationship, you can easily see that by yourself by romancing Minthara or Gale, or anyone else. I am completely fine with polygamy, there are poly families that build healthy, long-lasting, and happy relationships. I am perfectly fine with polygamy, I just don't see Shadowheart being part of it.

Now, enter Halsin, and due to inexplicable reasons, Halsin in act 3 secretly convinces Shadowheart that he is exempt from this rule. I couldn't understand this until I realized, if you kill Nightsong, Shadowheart is still your partner, but she says this isn't love. She also says, her heart belongs to Shar, and Tav is allowed to occupy only a small portion of it. Clearly, with that, no surprise she cannot object to Tav sleeping with druids and cambions, or hanging out in a brothel. That's the only explanation that makes sense - her "openness" makes sense if she is Sharran; she literally cannot love Tav, and cannot have exclusive relationship with them. Remember, religion in Realmspace is very different from our world. In our world, religion is basically a set of dogma (or fairy tales) that allows clergy to tax their followers (at least christians) and control them. In D&D world, gods actually exist, and they are source of immense power. Shadowheart lived over 40 years under Shar's right hand, and she had first hand experience of dealing with her through the mirror of loss. When Shadowheart says that her heart belongs to Shar, she literally means it, because Shar isn't an abstract goddess, but a very real (and evil) goddess. Let me put it this way, Shar is her "main lover", and that doesn't leave enough room to Tav. She also mentions that Shar is okay-ish with sharing her with Tav (someone has to take down the absolute after all, eh?). This isn't about religion, this is akin to Gale sleeping with Mystra. With all that said, I would expect something different between Shadowheart and Tav, but alas, everything is exactly the same, apart from few additional dialog branches about Shar when she is Sharran.

This is when I had this idea to diverge Shadowheart's "Enemy of Shar" and "Shar" paths (as they named in the source code). This makes all pieces of the puzzle come together. Selunite Shadowheart wants to be with Tav/Durge "now and always"; she trusts Tav/Durge, for the first time in her life she trusts someone (Bhaal said that, not me). As we already know from act 1, she doesn't want to be a spare lover and doesn't want to "come to an agreement", meaning that she wants an exclusive relationship. So be it. Besides, all other selunites in the game are/were in a very much exclusive relationship (Ketheric and Melodia, Isobel and Dame Aylin, Arnell and Emmeline).

If you install this mod and "trust Shadowheart", be warned: Shadowheart will not take your affairs lightly.

Another big inconsistency in the story are events in the chamber of loss. I was puzzled why Shadowheart was so emotional and insistent about saving her parents, telling Tav how important that is for pretty much half of the game, only to require a DC20 religion check to persuade her that this is the right thing to do. To make it worse, when she sees some graffiti (that presumably she painted years ago, and nobody re-painted that wall), and have some other random encounters, suddenly she doesn't need persuasion. I was finished when I tried to send her alone into the chamber and saw that she ALWAYS saves parents no matter what graffiti she saw, etc. This is properly messed up. My only explanation is, this is akin to a boss fight. There are lots of clues in what Shar and Arnell tell Shadowheart; convincing her to kill parents is Shar's last chance to take her soul. Saving parents shouldn't be easy because of that, hence Larian added that DC20 check. You know what, I value a good and consistent story over a good boss fight. Therefore, my mod reverses that, Selune Shadowheart now needs a DC20 check to kill parents, with all other outcomes leading to saving them, as she wanted.

My last annoyance is how empty characters' dialogues are when you discuss all the topics. This just feels bad. Why can't there be some discussions even if that was discussed previously? I plan to change that, but I will need time. Also, I think all character would benefit from that, but this should be a different mod. I have a small python lib that manipulates those resources, my plan is to share it with you guys and probably someone could fix other origins. Also, I don't know why Tav and Shadowheart can't make sand castles regularly; editing cutscenes has proven to be extremely difficult, but this is on my TODO list and I will try my best.

Manual Installation (Windows only)

Note that if you already have a previous version of this mod installed, all you need to do is to just drop the new .pak file into the Mods folder. 

To install this mod manually, you need to install Norbyte's Script Extender (if it isn't already installed). Script Extender v20 (or higher) is required for Patch 7. Then, you need to unzip the zip file, and copy ReallyShadowheart.pak to Mods folder, normally that would be C:\Users\YourUserNameHere\AppData\Local\Larian Studios\Baldur's Gate 3\Mods. Make sure to replace YourUserNameHere with your actual windows user name. Then, you need to edit modsettings.lsx. You will find this file in C:\Users\YourUserNameHere\AppData\Local\Larian Studios\Baldur's Gate 3\PlayerProfiles\Public. Again, replace YourUserNameHere with your user name. Edit the file. Here is an example with just this mod.

<?xml version="1.0" encoding="UTF-8"?>
<save>
    <version major="4" minor="7" revision="1" build="3"/>
    <region id="ModuleSettings">
        <node id="root">
            <children>
                <node id="Mods">
                    <children>
                        <node id="ModuleShortDesc">
                            <attribute id="Folder" type="LSString" value="GustavDev"/>
                            <attribute id="MD5" type="LSString" value=""/>
                            <attribute id="Name" type="LSString" value="GustavDev"/>
                            <attribute id="PublishHandle" type="uint64" value="0"/>
                            <attribute id="UUID" type="guid" value="28ac9ce2-2aba-8cda-b3b5-6e922f71b6b8"/>
                            <attribute id="Version64" type="int64" value="36028797018963968"/>
                        </node>
                        <node id="ModuleShortDesc">
                            <attribute id="Folder" type="LSString" value="ReallyShadowheart"/>
                            <attribute id="MD5" type="LSString" value=""/>
                            <attribute id="Name" type="LSString" value="Really Shadowheart"/>
                            <attribute id="PublishHandle" type="uint64" value="0"/>
                            <attribute id="UUID" type="guid" value="e49a2415-9dda-48ad-84c9-0abd35686529"/>
                            <attribute id="Version64" type="int64" value="36591746972385280"/>
                        </node>
                    </children>
                </node>
            </children>
        </node>
    </region>
</save>