BG3-RAW-Mods / bg3-RAW-addon

Baldur's Gate 3 RAW mod
MIT License
3 stars 0 forks source link

BG3 RAW addon

This mod is an addon to Zerd's Rules As Written for Baldur's Gate 3. Every changes will be proposed as a pull request to Zerd's repository. If accepted, they will be removed from this addon.

It follows the same principles than Zerd's RAW and tries to be as close as possible to D&D 5th edition ruleset. While it can be used without the former, it is highly encouraged to use it.

Requirement

I'm doing my best to improve compatibility with other mods. CF is a fantastic way to prevent mod conflicts.

Installation

I recommend using BG3ModManager. I would put RAW mods on the bottom of order list, just before CompatibilityFramework.

Classes PAKs (monk, druid) should be installed after RAW-addon. Only install them if you want these classes changes.

Don't install RAW-addon-debug. It is meant for testing purpose. It allows you to reach level 12 by killing a few monsters.

Configuration

MCM has been integrated but I am not sure it can work with my settings.

You can create this file if it doesn't exist: %localappdata%\Larian Studios\Baldur's Gate 3\Script Extender\ModOptions.json.

Each UUID is a mod configuration and its value is mod configuration. You can copy and paste the following block:

{ "a5799115-ef11-457b-92cd-2c927de09b02": { "feats": { "enabled": true }, "itemWeapon": { "enabled": true }, "jump": { "enabled": true }, "racialTraits": { "enabled": true, "value": "PHB" }, "spells": { "enabled": true },

    "encumbrance": { "enabled": true, "value": "Mix" },
    "itemWeight": { "enabled": true },

    "itemPotionAction": { "enabled": true },
    "itemPotionThrow": { "enabled": true },
    "itemPotionPrice": { "enabled": true },

    "itemPoisonAction": { "enabled": true },
    "itemPoisonThrow": { "enabled": true },
    "itemPoisonDamage": { "enabled": true },
    "itemPoisonPrice": { "enabled": true },

    "restPartial": { "enabled": true },
    "restShort": { "enabled": true }
}

}

Features

Interrupts

There are many interrupts that print a message like this one: Goblin needs 16 to hit. They rolled 18. In this case, the game gives you 2 informations:

Players should not see these informations, only a DM can.

However, when an interrupt is tied to your own roll, you need to know what you rolled, just not how much you need. Let's say you have a bardic inspiration and makes an attack. Vanilla prompts a bardic inspiration interrupt if you will miss and bardic inspiration can make you hit. Something like: Astarion need 16 to hit. They rolled 14.

As a reminder, Bardic inspiration: the creature can roll the die and add the number rolled to one ability check, attack roll, or saving throw it makes. The creature can wait until after it rolls the d20 before deciding to use the Bardic Inspiration die, but must decide before the DM says whether the roll succeeds or fails. Larian probably omitted this rule to only pop up interrupts when it is really needed. If not, it would pop up every hits. I have changed it to be RAW and it will popup interrupts everytime, slowing battle's pace.

Because both cases share the same string and I don't know yet if it can be separated, I made a partial fix. This text is changed to: Roll: 18.

In the first case, you know what enemy rolled, but you don't know if he will hit or not. You already know too much, but it might not be enough. In the second case, it is entirely RAW. You know you made a good roll, but is it enough to hit ? Does enemy has very high AC ?

There are also a dozen of similar text that I haven't changed yet until I figure out when they are used:

I will probably remove first phrase.

Racials

I have restored races abilities and traits. There are 2 possible values (config value in parenthesis):

BG3 was initially using PHB then switched to Tasha's Cauldron. However, it didn't fully respect the new rule and gave every races +2/+1. I have implemented the exact rule which gives the same increase in numbers but you chan choose attributes now:

Half-Elf

Half-Elf subraces are a shortcut to PHB, which results in missing choices. I have added Half-Elf Versatility with subraces. Not the best implementation, but the most user-friendly considering the limitations of character creation:

Variant Human

Variant Human has been added as human's subrace. Most feats are available. For half-feat, I have chosen the most relevant ability score increase. It may not fit everyone and it is possible to create 2 versions. For example, Athlete Strength, Athlete Dexterity.

Please note that these requirements are not listed in description. I might add them in a future release:

Feat Requirement
Defensive Duelist Dexterity: 13+
Moderately Armored Light Armor proficiency
Heavily Armored Medium Armor proficiency
Heavy Armor Master Heavy Armor proficiency
Medium Armor Master Medium Armor proficiency

Human racials have been transfered to standard human's subrace. However, this created an issue for all other humans that would loose their racials. As Human only get +1 to all ability scores, I have put this in Human race. Then, Variant Human get -1 to all ability scores. I think it is easier this way, instead of changing every race references by standard human subrace.

Partial Rest

BG3: Restores 50% of all resources.

RAW: since it doesn't exist, it has been renamed to Story Rest. It doesn't restore anything but it allows to progress through story when necessary.

Short Rest

BG3: heals 50% of Max HP.

RAW: A character can spend one or more Hit Dice at the end of a short rest, up to the character’s maximum number of Hit Dice, which is equal to the character’s level. For each Hit Die spent in this way, the player rolls the die and adds the character’s Constitution modifier to it. The character regains hit points equal to the total. The player can decide to spend an additional Hit Die after each roll. At the end of a long rest, a character regains spent Hit Dice, up to a number of dice equal to half of the character’s total number of them (minimum of one die).

Implementation: during short rest (requires Zerd RAW Short Rest), you can cast Tend to your wounds, which heals 25% of Max HP. You can use it twice per long rest. If you have Durable feat, it become 33% of Max HP. This is as close as possible to RAW. Hit dice implementation is hard for several reasons including multiclass. Durable feat can't be RAW without true hit dice.

Jump

I didn't implement High Jump because RAW would probably make it useless in BG3. However, this is still something I might consider in a future release. With High Jump "neutralized", it would make Fly and Teleport more powerful. They are already powerful, but BG3 Jump is so powerful that it can almost do the same thing for free.

For now, I have updated Jump to match Long Jump Range. On top of that, Jump now cost movement instead of bonus action. Additionally, a long jump requires to move 3 meters. If not, it will be a simple jump (half distance). When you land in difficult terrain, you must succeed on a DC 10 Dexterity (Acrobatics) check to land on your feet. Otherwise, you land prone.

As a result, Jump range is roughly divided by 2 and twice more if you didn't move 3 meters, there are many jumps you won't make without a ritual spell like Enhanced Leap. Even high strength characters won't fly over the battlefield. While Enhanced Leap would allow them to jump about 20 meters, they are still limited by their movement speed. 9 meters by default for most, 18 with dash. It opens a possibility for a 18m jump using dash and enhanced leap.

Remarkable Athlete has been adjusted to 1 foot per strength modifier.

Athlete feat has been changed. you can make a long jump after moving 1m instead of 3m. It is 1.5m in RAW, but I couldn't do it for technical reasons.

Barbarian Tiger Jump has been changed from 4.5m to 3m.

Spell changes

Concentration has been added to these spells:

Weapon fixes

I have updated range weapons to make them closer to RAW:

Weapon WR BG3 DR BG3 WR RAW DR RAW WR Diff WR Mod DR Mod
Throw weapon 18 6 12 6
Dart 12 30 6 18 6 6 18
Sling 14 30 9 36 5 9 30
Hand Crossbow 14 30 9 36 5 9 30
Light Crossbow 18 30 24 97 -6 18 30
ShortBow 18 30 24 97 -6 18 30
Heavy Crossbow 22 30 30 121 -8 22 30
LongBow 25 30 45 182 -20 30 30

WR: Weapon Range, DR: Damage Range (max range with disadvantage) Last columns show chosen values.

Maximum range will be kept at 30 to prevent AI issue.

Item weights

I have adjusted most items to RAW valuess:

Item Game RAW (kg) Diff
Plate 20 29,48 9,48
Scale mail 12 20,41 8,41
Splint 19 27,21 8,21
Chain mail 18 24,94 6,94
Half plate 12 18,14 6,14
Silver metal bar 1 4,54 3,54
Ring mail 17 18,14 1,14
Bronze metal bar 1 1,81 0,81
Shield 2 2,72 0,72
Crossbow hand 0,9 1,36 0,46
Thieves Tool 0,2 0,45 0,25
Trap Disarm 0,2 0,45 0,25
Arrow 0,1 0,23 0,13
Grenade 0,1 0,23 0,13
Potion 0,1 0,23 0,13

Additionally, Flame Blade and Pact weapons will get their corresponding item weights.

Encumbrance

BG3 is very far from RAW and I think it was for QoL reason. Still, I was choked to see how easy it is to wear heavy armor, even for a 8 strength mage with one dip into any heavy armor class. Also, your party can loot a whole dungeon without any carrying issue, so carry weight almost become a non issue.

System measurement Metric (in BG3 option) is the most accurate because Imperial conversion rate is rounded and so wrong. Fortunately, game's data use metric. Every measure are in kg and all values come from RAW (there, it is imperial measure).

First change: your carrying capacity is your Strength score multiplied by 6.8. Compared to vanilla, this is roughly 50% less in carry weight.

BG3 partially use Variant: Encumbrance optional rule but it is far less strict than PHB.

Encumbered status have been updated to RAW: Status BG3 RAW
Lightly encumbered Movement cost 50% more, Jumping distance halve, Walk Movement distance reduced by 3m
Heavily encumbered* Movement cost 200% more, Jumping distance reduced to 0, Stroll Movement distance reduced by 6m, Walk**

There are 3 options here, ratios are relative to carry weight:

Config value Lightly enc. Heavily enc. Str HA* Comment
Standard 81% 93% Yes Encumbrance ratio are identical to vanilla, easiest setting
Variant 33% 66% No Hardest setting, I don't recommend it
Mix 51% 81% Yes A mix of both rules, medium and default setting

Feats

Potions

Core changes:

You can enable optional rules with config value:

Config value Action Price Throw
1 X
2 X
3 X X
4 X
5 X X
6 X X
7 X X X

Poisons

Core changes:

You can enable optional rules with config value:

Config value Action Price Throw Damage
1 X
2 X
3 X X
4 X
5 X X
6 X X
7 X X X
8 X
9 X X
10 X X
11 X X X
12 X X
13 X X X
14 X X X
15 X X X X
Poison BG3 RAW
Serpent Venom Toxin 1d6 3d6
Wyvern Toxin 1d8 7d6
Purple Worm Toxin 1d10 12d6

Class adjustements

Sorcerer

Warlock

Cleric

Bard

Bard changes

Rogue

Monk

Monk changes

Druid

Druid changes

Barbarian

Barbarian changes

Monsters

Restored PHB abilities and stats. I also made my own version of weak monsters in Nautiloid, which will prove to be much more challenging. As an example, Imp regained most of their dexterity and all resistances. So they are harder to hit, more difficult to kill and damage you a lot more:

Custom Ruleset defaults

It is a standalone PAK without any requirement, it makes rules closer to PnP:

Future plans

Potions

High level class abilities

Many high level class abilities were introduced in the game, either in their true form, either in a toned down form. Following RAW, I have removed all of them. But it could be an optional rule. Also, it seem to be a random pick, maybe based on class performance. Draconic Sorcerer got his Wings at level 11 instead of 14, but Evocation Wizard didn't get Overchannel which is also a level 14 ability.

Credits

Known bugs