0 of 0

File information

Last updated

Original upload

Created by

Thaine

Uploaded by

Thaine1690

Virus scan

Safe to use

About this mod

I got annoyed that Shield did not properly add Arcane Ward charges, so I modified the (Wizard, Sorcerer, and Warlock) Shield Reactions to behave the same way as casting a non-Cantrip spell from the School of Abjuration.

Permissions and credits
Changelogs
Donations
Description

This mod modifies the code for Shield entries in Interrupt.txt (Reactions) from:

data "Properties" "IF(HasInterruptedAttack()):AdjustRoll(-5);IF(IsSpellChildOrVariantFromContext('Projectile_MagicMissile')):SetRoll(0);ApplyStatus(INTERRUPT_SHIELD_WIZARD,100,1);ApplyStatus(OBSERVER_OBSERVER,SHIELD,100,1);IF(HasPassive('ArcaneWard',context.Source)):ApplyStatus(SELF,ARCANE_WARD,100,-1)"


to code similar to "ArcaneWard_Cast" in Passives.txt, but added "ArcaneWard" Passive check:

data "Properties" "IF(HasInterruptedAttack()):AdjustRoll(-5);IF(IsSpellChildOrVariantFromContext('Projectile_MagicMissile')):SetRoll(0);ApplyStatus(INTERRUPT_SHIELD_WIZARD,100,1);ApplyStatus(OBSERVER_OBSERVER,SHIELD,100,1);IF(HasPassive('ArcaneWard',context.Source) and not ArcaneWardOverflow(true)):ApplyStatus(OBSERVER_OBSERVER,ARCANE_WARD,100,Target.ARCANE_WARD.Duration+SpellPowerLevel);IF(ArcaneWardOverflow(true)):ApplyStatus(OBSERVER_OBSERVER,ARCANE_WARD,100,2*ClassLevel(Wizard))"


Which seems to properly increment Arcane Ward charges when the reactions are chosen. Counterspell in the base game seems to work fine for incrementing Arcane Ward charges.

Upon further investigation, the root cause is that with melee attacks the character is still stuck in the attack and UseSpell won't execute. Larian's workaround is to apply the Shield as a status instead of "UseSpell" (actual cast of Shout_Shield spell), therefore the ArcaneWard_Cast entry never gets called. Unfortunately, that means I had to modify all 18 Interrupt entries (accounting for multiclassing) to manually increment the charges for upscaling otherwise SpellPowerLevel would always equal 1.

Hopefully, Larian gets around to officially fixing the Shield Reaction, and I can deprecate this mod.


Notes

Not compatible with other mods that overwrite Shield Reactions.


Installation

I recommend BG3 Mod Manager.