Baldur's Gate 3

File information

Last updated

Original upload

Created by

Kgboy

Uploaded by

Kgboy

Virus scan

Safe to use

Tags for this mod

About this mod

Adds Archfey & Hexblade Subclasses / Pact of the Blade and Pact of the Tome for the Warlock class

Requirements
Permissions and credits
Changelogs
-EXPANDED WARLOCK-

The Expanded Warlock Update overhauls existing features and adds new components:

-Expanded Warlock is now defined as a separate class (allows for compatibility with other Warlock-altering mods)
-Addition of Bind Pact Weapon spell for Pact of the Blade Warlocks
-Archfey Subclass (New spells include Fey Presence, Phantasmal Force, Calm Emotions) Levels 1-4
-Cloud of Daggers added to all Warlock spell lists.
-Green-Flame Blade, Booming Blade, Frostbite, Thunderclap, Sword Burst, Toll the Dead, Mind Sliver, and Lightning Lure added
-Addition of Hexblade's Robes and Feywild Garment, unique starting equipment for the Hexblade and Archfey subclasses.
-Custom Icons now merged within the .pak file (no separate download needed). 
-Fixed Hex Warrior/Pact weapons not sheathing
-Fixed Hexblade's Curse heal not activating properly

---Spell Overview---

Bind Pact Weapon:  Available after selecting Pact of the Blade, the player can bind a Magical weapon they hold- transforming it
into a Pact Weapon (this includes any benefits associated with summoned Pact Weapons).  

Larian has yet to define weapons as being Magical or not, so I had to inject the 'Magical' property into all 
of the appropriate base game weapons.  If a weapon has a +1/+2 enchantment, or has a Passive effect- I 
defined it as Magical.  As depicted in the screenshots, my Archfey Warlock finds the Sword of Justice and binds it
as a Pact Weapon.  She is proficient with it while wielding it.  If a Hexblade does the same, Hex Warrior will also
be applied to the weapon. 

Due to the altering of base game weapon properties, this mod may result in issues with other mods that 
alter base game weapons. 

Fey Presence:  Charms or Frightens enemies in a radius around the caster, can be used once every short rest.  

In that the source material indicates choosing between the charm/frighten effect, I made two respective versions of 
the spell.  In order to abide by the cooldown rule, Fey Presence consumes a 'Fey Presence' charge; a resource
that is replenished on every short/long rest.  

Phantasmal Force:  Target enemy is forced to make an intelligence saving throw each turn (Costs an Action) to dispel the illusion.  
They also suffer 1d6 Psychic damage while the spell persists.

Special thank you to Djmr. This is modeled after his work on Wrathful Smite (Check out Devoted Paladin) 
The enemy will use its Action to dispel the illusion, but if they fail an Intelligence saving throw, the 
illusion will be reapplied.  I don't fully understand the mechanics behind AI knowing to use certain spells,
and I was driving myself crazy while testing, but this solution worked pretty well.  


Calm Emotions:  Creates a sphere that dispels Charmed and Frightened statuses, and keeps those effects suppressed while targets remain inside.

There's a Larian version that already existed in the files, but it only dispelled the effects once.
I added a status aura, and the suppression effect to make it more aligned with the source definition.  I know there's an
alternative 'charm' effect that can be used to make a target non-violent, but that implementation will have to wait for another
day... when I learn more about AI.  As a fun addition, I made Calm Emotions also work against the Harpies' Luring Song :) 

Cantrips:  These are mostly revamped versions of Feriat111's 5e Cantrips.  I made some tweaks, but the changes are predominantly 
visual, as the original versions were pretty straightforward.  Custom icons were made, and I assigned new animations as well.
I purposefully left out Infestation;  I was just not able to get the movement functionality to work in a satisfactory manner.



Cloud of Daggers:  Creates a harmful cloud surface that deals 4d4 Slashing damage to targets in the area.

Kind of just done for fun and testing out custom surface creation.  Looking into learning how to make original VFX surfaces so
I can make this really look like daggers.  



---Armor Overview---

In that the Expanded Warlock now exists as a standalone class, I was able to change the starting equipment for individual Subclasses. 
Hexblades will start with custom-made Medium Armor and scimitar; Archfey Warlocks with Light Armor and quarterstaff. 
The armor is a recolored version of the datamined Sorcerer robe.  Unfortunately, this particular armor is incomplete/missing/bugged
for Female Dwarves, and Halflings.  If those characters wear the armor they will get an oddly-colored replacement piece, but
the stats will be the same.  In the future I would like to make the armor available via a separate mod, so consider this a sample until
I can fix the visual issues for the Halflings/Female Dwarf.  

Thank you to AnteMaxx for making the Custom Armor guide, and for the inspiration behind the custom item icons.  


---Additional Notes---
In light of the mod going through a large change, I wanted to rename it in order to better reflect its material.  It is now called 
"Expanded Warlock".  My apologies for any confusion and trouble with renaming the modsettings.  This will be the settled name of the mod going forward. 
Expanded Warlock includes the Archfey/Hexblade subclass as well as the Pact Boons- so there is no need to install any previous version.  


---Compatibility---
With the change to the class definition, Expanded Warlock should be compatibile with other warlock mods.  In turn, it will not be affected by mods 
that modify the default Warlock class either.  The level 3 Pact Boons will, however, still affect the default Warlock class.  This was done in order to 
give Wyll the extra pact options, without needing to respec him via Cheat Engine tables.  I have not noticed any issues with this so far, so hopefully
I won't have to remove the feature. 

 

--- Installation Notes---
Please uninstall any previous version of the mod before installing.  Patch 3 Mod Fixer is still required. ImprovedUI by AlanaSP is highly recommended.
This mod is compatible with Candor Mod Manager, but in any case I will provide an appropriate modsetting.lsx format below for manual installation:
1. Extract ExpandedWarlock.zip
2. Copy ExpandedWarlock.pak 
3. Paste ExpandedWarlock.pak into your Mods folder (found in Documents\Larian Studios\Baldur's Gate 3\Mods)
4. Locate modsettings.lsx (found in Documents\Larian Studios\Baldur's Gate 3\PlayerProfiles\[Profile Name]\modsettings.lsx)
5. Copy and Paste the setting listed below into modsettings.lsx  (Replace any existing text with the text below). 
6. Save

<?xml version="1.0" encoding="UTF-8"?>
<save> 
  <version major="4" minor="0" revision="4" build="2"/>  
  <region id="ModuleSettings"> 
    <node id="root"> 
      <children> 
        <node id="ModOrder"> 
          <children>
<node id="Module">
              <attribute id="UUID" type="FixedString" value="8d683c3c-56e0-4583-b057-e4ec11d06fe8"/>
            </node>
          </children> 
        </node>  
        <node id="Mods"> 
          <children> 
            <node id="ModuleShortDesc"> 
              <attribute id="Folder" type="LSWString" value="Gustav"/>  
              <attribute id="MD5" type="LSString" value=""/>  
              <attribute id="Name" type="FixedString" value="Gustav"/>  
              <attribute id="UUID" type="FixedString" value="991c9c7a-fb80-40cb-8f0d-b92d4e80e9b1"/>  
              <attribute id="Version" type="int32" value="268435456"/> 
            </node>
<node id="ModuleShortDesc">
              <attribute id="Folder" type="LSWString" value="ExpandedWarlock"/>
              <attribute id="MD5" type="LSString" value=""/>
              <attribute id="Name" type="FixedString" value="ExpandedWarlock"/>
              <attribute id="UUID" type="FixedString" value="8d683c3c-56e0-4583-b057-e4ec11d06fe8"/>
              <attribute id="Version" type="int32" value="1"/>
            </node>
          </children> 
        </node> 
      </children> 
    </node> 
  </region> 
</save>



Information below is deprecated.  Saved for archival purposes or for those who wish to use older versions.  



-HEXBLADE- 

The Hexblade Update unlocks a new subclass for the Warlock and the Pact of the Blade / Tome pact boons.  

Hexblade Subclass:

-Adds Proficiency with Martial Weapons, Medium Armor, and Shields.  
-Unlocks the Hex Warrior and Hexblade's Curse actions.
-Unlocks additional spells for Hexblade Level 1-4 progression. (Shield, Wrathful Smite, Branding Smite, Blur)

Spell Implementation Notes:

Hex Warrior:  Enchants the player's main hand weapon to use the spellcasting modifier, instead of Strength or Dexterity, on attack and damage rolls.
  Additionally, if the Warlock selects Pact of the Blade upon Level 3, all Pact weapons will have Hex Warrior automatically applied.


Implementing this was tricky, as the engine does not fully support equipment statuses or checking for wielded weapons in an optimal way.  
In order to create some level of weapon restriction, Hex Warrior will cancel upon changing equipment.  This was done so that Hex Warrior could not be 
applied to inappropriate weapon types (Two-handed, etc.) or last indefinitely (e.g "Light" cantrip not ending even after long rest).  
With these limitations in mind, I decided on removing the cooldown from Hex Warrior so that users aren't punished for these kinds of engine quirks.  
An additional issue is toggling between melee and ranged weapons.  I could not find a way to end Hex Warrior upon the swap, so the user's 
ranged weapon will also be affected on toggle.

Hexblade's Curse:   Curses the target, giving the Warlock advantage on attacks.  Deals extra damage equal to the Warlock's Proficiency bonus on attack.  If the target dies, the Warlock will be healed for an amount equal to the caster's Warlock Level + Charisma modifier.  

I wasn't able to change the way critical hits were interpreted, or have it activate on every instance of individual damage.  It essentially behaves like Hex.  To make it a bit more powerful, I gave it the advantage bonus.  

Smites:  Wrathful Smite/Branding Smite

I'm aware this is a controversial topic, in that Larian seems to be deviating from the tabletop version of the spell.  I've decided to fashion the smites
in the Larian-style until better mechanics can be developed.    
 

Installation (Hexblade):

Please NOTE:  The Hexblade Update is not an addon.  It uses new mod settings and will crash if you have the previous version (WarlockPacts) still installed.  The Hexblade.pak includes the Pact of the Blade & Tome already, so please uninstall the classic version if you wish to use it.  Patch 3 Mod Fixer is still required.  Please also install the custom icons I've provided or the new spells will be blank.  

Custom Icons:

The update includes some custom icons I made for fun- I know they're probably not the best.  Please download them and install into your Baldur's Gate "Data"
folder.  There's a ReadMe file included for further instructions.  Thank you to KrstInct for demonstrating how icons can be added via their "Devil Wings" mod.  


This mod is compatible with Candor Mod Manager, but in any case I will provide an appropriate modsetting.lsx format below for manual installation:

1. Extract Hexblade_Pacts.zip
2. Copy Hexblade_Pacts.pak 
3. Paste Hexblade_Pacts.pak into your Mods folder (found in Documents\Larian Studios\Baldur's Gate 3\Mods)
4. Locate modsettings.lsx (found in Documents\Larian Studios\Baldur's Gate 3\PlayerProfiles\[Profile Name]\modsettings.lsx)
5. Copy and Paste the setting listed below into modsettings.lsx.  
6. Save


<?xml version="1.0" encoding="UTF-8"?>
<save> 
  <version major="4" minor="0" revision="4" build="2"/>  
  <region id="ModuleSettings"> 
    <node id="root"> 
      <children> 
        <node id="ModOrder"> 
          <children>
<node id="Module">
              <attribute id="UUID" type="FixedString" value="357da546-b5bc-4b21-82ea-3e442da426b6"/>
            </node>
          </children> 
        </node>  
        <node id="Mods"> 
          <children> 
            <node id="ModuleShortDesc"> 
              <attribute id="Folder" type="LSWString" value="Gustav"/>  
              <attribute id="MD5" type="LSString" value=""/>  
              <attribute id="Name" type="FixedString" value="Gustav"/>  
              <attribute id="UUID" type="FixedString" value="991c9c7a-fb80-40cb-8f0d-b92d4e80e9b1"/>  
              <attribute id="Version" type="int32" value="268435456"/> 
            </node>  
<node id="ModuleShortDesc">
              <attribute id="Folder" type="LSWString" value="Hexblade_Pacts"/>
              <attribute id="MD5" type="LSString" value=""/>
              <attribute id="Name" type="FixedString" value="Hexblade_Pacts"/>
              <attribute id="UUID" type="FixedString" value="357da546-b5bc-4b21-82ea-3e442da426b6"/>
              <attribute id="Version" type="int32" value="1"/>
            </node>
          </children> 
        </node> 
      </children> 
    </node> 
  </region> 
</save>




-PACT OF THE BLADE AND TOME-


This mod unlocks two additional Pact Boons for the Warlock class, available at level three. 

Pact of the Blade:

Selecting this Pact will unlock two spells: Pact of the Blade, and Pact of the Blade: Dismiss.  The Pact of the Blade spell contains a variety of weapon options that include the following: Glaive, Greatsword, Rapier, Warhammer, Battleaxe, and Trident.  These weapons are untradeable, cannot be dropped, and can only be removed by either long resting, re-summoning another Pact weapon or casting Pact of the Blade: Dismiss.  You can, however, stow the weapon in the caster's inventory if desired. 

Pact of the Tome:

Selecting this Pact unlocks "Summon Book of Shadows".  This spell summons the Book of Shadows into the inventory, which can then be used (like a scroll) to summon three "Pactbound Pages".  Each of these pages functions as scroll that unlocks a Cantrip Selection container spell that allows the user to choose from the cantrip list.  Users will be able to unlock a cantrip up to a maximum of three times, consuming an individual page each time a spell is selected.  

Summoning the Book of Shadows again will reset any learned cantrips and summon a new Book of Shadows, allowing users to restart the cantrip inscription process.  Long resting will not remove learned material.  

All cantrips obtained will behave as normal Warlock spells and use Charisma as a modifier when appropriate. 

Additional Notes: 

I'm fairly new to modding and still have a lot to learn.  Comments and feedback are always welcome.  Hopefully in the future I will add Pact-specific invocations and support for post-level 4 content (e.g. Eldritch Smite, Book of Ancient Secrets, etc.) 

Thanks to Norbyte and Shinyhobo for making modding tools, and to Djmr for the spell selection concept.


Compatibility:

I have not personally experienced any conflicts with other mods, but I would be cautious if any other mod alters Warlock Pact progressions.  This mod will only work with the latest Baldur's Gate 3 Patch, currently Patch 4.   


Installation:

This mod is compatible with Candor Mod Manager, but in any case I will provide an appropriate modsetting.lsx format below for manual installation:

1. Extract WarlockPacts.zip
2. Copy WarlockPacts.pak 
3. Paste WarlockPacts.pak into your Mods folder (found in Documents\Larian Studios\Baldur's Gate 3\Mods)
4. Locate modsettings.lsx (found in Documents\Larian Studios\Baldur's Gate 3\PlayerProfiles\[Profile Name]\modsettings.lsx)
5. Copy and Paste the setting listed below into modsettings.lsx.  
6. Save

<?xml version="1.0" encoding="UTF-8"?>
<save> 
  <version major="4" minor="0" revision="4" build="2"/>  
  <region id="ModuleSettings"> 
    <node id="root"> 
      <children> 
        <node id="ModOrder"> 
          <children>
            <node id="Module">
              <attribute id="UUID" type="FixedString" value="405fde0b-e632-4ba3-b480-850a04eafc22"/>
            </node>
          </children> 
        </node>  
        <node id="Mods"> 
          <children> 
            <node id="ModuleShortDesc"> 
              <attribute id="Folder" type="LSWString" value="Gustav"/>  
              <attribute id="MD5" type="LSString" value=""/>  
              <attribute id="Name" type="FixedString" value="Gustav"/>  
              <attribute id="UUID" type="FixedString" value="991c9c7a-fb80-40cb-8f0d-b92d4e80e9b1"/>  
              <attribute id="Version" type="int32" value="268435456"/> 
            </node>  
            <node id="ModuleShortDesc">
              <attribute id="Folder" type="LSWString" value="WarlockPacts"/>
              <attribute id="MD5" type="LSString" value=""/>
              <attribute id="Name" type="FixedString" value="WarlockPacts"/>
              <attribute id="UUID" type="FixedString" value="405fde0b-e632-4ba3-b480-850a04eafc22"/>
              <attribute id="Version" type="int32" value="1"/>
            </node>
          </children> 
        </node> 
      </children> 
    </node> 
  </region> 
</save>