Great mod! I just noticed a small hiccup: it seems like upcasting doesn't work past spell slots of level 4+, it just summons a flame blade with a level 3 upcast stats - I looked around in the mod files and it seems like it's possible that it's simply reusing the core stats of its RootTemplate without modifying the actual damage.
Replying to my own comment: if you want, I updated the mod on my end for personal use using RootTemplates instead of effects, which works perfectly :) Would you want me to share my updated version with you when I'm done with it? It would fix upcasting in Patch 7. It pretty much fixes all upcasting issues and makes it super easy if someone wants to make a compatibility patch to add more upcast levels, eventually
I'm going to be unavailable for a short bit so unsure when I can delve back in and update, and haven't delved into RootTemplates, so yeah, if you don't mind I'll definitely take a look at what you have done when I have the chance.
Sent you a DM with the uploaded .pak file. Cheers! (This file would only replace the variant version, since it's the only one that doesn't work properly anymore without dedicated RootTemplates for the intermediary spell levels)
I try 2024 version, it seems the stowable function don't work for the one that grant from tiefling race. But that enhanced flame blade mod covered both normal and race version. Is there any chance we get an update?
Heya. This mod was an instant download. Though I gotta ask, since you said it doesn't proc magic effects, does that mean it can no longer work with the pyroquickness hat?
Fiery Return is supposed to also work for non-cantrip spells, but the spell tags are part of the code that deals with summoning the blade and not for the code handling the attacks, so I'm not certain that it will work and won't be able to test for a while.
Any way to get a version that lasts forever, or at least spawns in off-hand when dual-wielding with a staff in the main hand, without the overpowered stuff?
Spells Enhanced - Flame Blade has a long rest version and will work with my mod if you have Compatibility Framework. Or there's also an exploit (see notes section) in the vanilla game regarding the hireling Danton to get a flame blade permanently and usable by anyone.
You can already dual wield with a staff and flame blade if you have the dual wielder feat (since staves don't have the light property), no mods necessary. To do so, have the staff and another weapon or shield equipped, then cast flame blade, which will replace the equipment in your off-hand.
That mod buffs the damage and changes the scaling, which is undesireable. The exploit weapon doesn't scale with WIS, is cheesy, and doesn't count as a spell. (That last part is probably fine for my purposes but it does further remove it from vanilla). Dual-wielding with staves puts the main-hand staff in the off-hand and the flame-blade in main hand, making you waste a turn switching them around.
To get around all of this, it would be ideal if the vanilla flame blade spell either allowed you to choose which hand to summon it into, or at least lasted forever so you didn't have to waste a turn every combat switching weapons around.
Edit: Clearly I'm stupid. It turns out the other mod you linked has five different versions, including one that simply makes the spell last forever, which is perfect for my purposes. Thank you!
Is it possible to get a version that is EXACTLY like the 2024 PHB? I'm trying to make my BG3 as close to 2024 as possible. If not, I will simply dl your version and fire scimitar some baddies regardless :p
I updated the 2024 version with a fix for upcasting and increased the duration to 10 minutes. I don't plan to do anything else beyond bug fixing since making it more like the 2024 version would involve removing the very synergies this mod originally intended to offer. Some of those, like weapon proficiency actions, can just be ignored if so desired.
But I do suspect someone with more time and experience than me will release 2024 versions of spells and probably 5e spells mod too. I had thought about starting that task since I had an unreleased Witch Bolt mod from a while ago that works the same way as the new one. Then I realized there are about 100 spell changes overall, and more than a few would require changes I'm nowhere near cut out to do.
Is there any chance you could include the ability to sheathe the flame blade? EDIT: If possible, I would also love an option to add your spellcasting ability modifier or proficiency bonus to damage rolls.
I realy want flame blade to act exactly like shadow blade except fire damage and obviously keep the badass scimitar look. How difficult would it be to achieve that? I am pretty mod savy in general tho i havent made anything for this game yet
Well there are a few guides out there and I reference some on the mod page specific to editing rules mechanics (most mod guides are for cosmetics or more advanced mechanics). You can look at the shadow blade code at BG3 search engine: https://bg3.norbyte.dev/search?q=shadow+blade
Interesting! I actually took Spells Enhanced - Flame Blade before to make the spell more viable, your mod might conflict with it? Any load ordering that might benefit from some effects of both?
I've added an update that should improve compatibility in general. I've only tried the "Until long rest" version of that mod and if loaded after my mod they seem to play along. Haven't gotten to do extensive testing so no guarantees. Luckily, if it is still a mess and I can't fix it, you can uninstall either mod at anytime without breaking your saves.
With it lasing that long and now acting more as an actual scimitar, does that mean it can work as a blade pact weapon now? It'd be sweet to use the flame blade to get 3 attacks per turn with deepened pact
Edit: also on that same note ig would it benefit from the dueling fighting style from swords bard?
It does work with the dueling fighting style and adds 2 fire damage instead of slashing. And it can be bound as a Pact Weapon and benefits from deepened pact extra attack. I'll update the description.
nvm, I did it myself. Though I wasn't able to limit it to just start of combat, I did remove the spell slot. IMO the weapon is already weak as it is, and removing the spell slot may sway a lot more people to use this as a Druid. I'll leave the code below. But do mind that it is crude, since I'm not that familiar with bg3 modding yet.
new entry "WPN_Scimitar_FlameBlade" type "Weapon" using "_BaseWeapon" data "RootTemplate" "dfb5a6ef-baee-4c0e-9b9d-7f5bd9458131" data "Damage Type" "Fire" data "Damage" "3d6" data "ValueOverride" "0" data "Weight" "0.5" data "DefaultBoosts" "HiddenDuringCinematic();CannotBeDisarmed()" data "BoostsOnEquipMainHand" "UnlockSpell(Target_OpeningAttack);UnlockSpell(Target_Slash_New)" data "PersonalStatusImmunities" "WEAPON_COATED_WITH_POISON;POISON_BASIC;POISON_SERPENT_VENOM;POISON_WYVERN;POISON_WYVERN_DIPPED;POISON_PURPLE_WORM;DIPPED_FIRE;DIPPED_POISON;DIPPED_WATER" data "Weapon Group" "SimpleMeleeWeapon" data "Weapon Properties" "Melee;Unstowable;Finesse;Light" data "Proficiency Group" "Scimitars;SimpleWeapons" new entry "Shout_FlameBlade" type "SpellData" data "SpellType" "Shout" data "Level" "2" data "SpellSchool" "Evocation" data "SpellProperties" "AI_IGNORE:SummonInInventory(dfb5a6ef-baee-4c0e-9b9d-7f5bd9458131,10,1,true,true,true,,,FLAME_BLADE,FLAME_BLADE);AI_ONLY:IF(not HasStatus('FLAME_BLADE',GetActiveWeapon())):ApplyStatus(AI_HELPER_FLAMEBLADE,100,5)" data "TargetConditions" "Self()" data "Icon" "Spell_Evocation_FlameBlade" data "DisplayName" "h3b3917aagb11fg4270g8aa7gbdf9bd9f8841;1" data "Description" "ha4c12cf9g472fg47e4g8bfag79c9ab4e04e1;6" data "DescriptionParams" "DealDamage(3d6,Fire);Distance(3);Distance(6)" data "ExtraDescription" "h40e58602g2505g46a7g8b64geace684c4312;1" data "TooltipUpcastDescription" "7bbb79fa-02c7-4f45-a115-1d8e11b96ea0" data "TooltipUpcastDescriptionParams" "DealDamage(1d6,Fire);2" data "CastSound" "Spell_Cast_Summon_Flameblade_L1to3" data "VocalComponentSound" "Vocal_Component_EnchantWeapon" data "CastTextEvent" "Cast" data "UseCosts" "BonusActionPoint:1" data "SpellAnimation" "3ff87abf-1ea1-4c32-aadf-c822d74c7dc0,,;,,;35b644cf-5c13-4407-9dc1-23bf4309216e,,;823e3ddf-c670-41ef-b7b4-9f4a4e38300b,,;d8925ce4-d6d9-400c-92f5-ad772ef7f178,,;,,;eadedcce-d01b-4fbb-a1ae-d218f13aa5d6,,;,,;,," data "VerbalIntent" "Damage" data "SpellFlags" "IsSpell;IsMelee;HasVerbalComponent;HasSomaticComponent" data "SpellAnimationIntentType" "Aggressive" data "PrepareEffect" "e7acb4f3-8777-408a-90cb-e3dc5f1c14bb" data "CastEffect" "ec6002b5-fda9-4a78-a024-60e4a90563aa" data "DamageType" "Fire" data "Sheathing" "Somatic"
new entry "Shout_FlameBlade_3" type "SpellData" data "SpellType" "Shout" using "Shout_FlameBlade" data "SpellProperties" "AI_IGNORE:SummonInInventory(86792fbe-2344-4742-b114-e3836442c943,-1,1,true,true,true,,,FLAME_BLADE,FLAME_BLADE);AI_ONLY:IF(not HasStatus('FLAME_BLADE',GetActiveWeapon())):ApplyStatus(AI_HELPER_FLAMEBLADE,100,5)" data "DescriptionParams" "DealDamage(3d6,Fire);Distance(3);Distance(6)" data "UseCosts" "BonusActionPoint:1;" data "RootSpellID" "Shout_FlameBlade" data "PowerLevel" "3"
new entry "Shout_FlameBlade_4" type "SpellData" data "SpellType" "Shout" using "Shout_FlameBlade" data "SpellProperties" "AI_IGNORE:SummonInInventory(86792fbe-2344-4742-b114-e3836442c943,-1,1,true,true,true,,,FLAME_BLADE,FLAME_BLADE);AI_ONLY:IF(not HasStatus('FLAME_BLADE',GetActiveWeapon())):ApplyStatus(AI_HELPER_FLAMEBLADE,100,5)" data "DescriptionParams" "DealDamage(4d6,Fire);Distance(3);Distance(6)" data "UseCosts" "BonusActionPoint:1;" data "RootSpellID" "Shout_FlameBlade" data "PowerLevel" "4"
new entry "Shout_FlameBlade_5" type "SpellData" data "SpellType" "Shout" using "Shout_FlameBlade" data "SpellProperties" "AI_IGNORE:SummonInInventory(86792fbe-2344-4742-b114-e3836442c943,-1,1,true,true,true,,,FLAME_BLADE,FLAME_BLADE);AI_ONLY:IF(not HasStatus('FLAME_BLADE',GetActiveWeapon())):ApplyStatus(AI_HELPER_FLAMEBLADE,100,5)" data "DescriptionParams" "DealDamage(4d6,Fire);Distance(3);Distance(6)" data "UseCosts" "BonusActionPoint:1;" data "RootSpellID" "Shout_FlameBlade" data "PowerLevel" "5"
new entry "Shout_FlameBlade_6" type "SpellData" data "SpellType" "Shout" using "Shout_FlameBlade" data "SpellProperties" "AI_IGNORE:SummonInInventory(86792fbe-2344-4742-b114-e3836442c943,-1,1,true,true,true,,,FLAME_BLADE,FLAME_BLADE);AI_ONLY:IF(not HasStatus('FLAME_BLADE',GetActiveWeapon())):ApplyStatus(AI_HELPER_FLAMEBLADE,100,5)" data "DescriptionParams" "DealDamage(5d6,Fire);Distance(3);Distance(6)" data "UseCosts" "BonusActionPoint:1;" data "RootSpellID" "Shout_FlameBlade" data "PowerLevel" "6"
new entry "FLAME_BLADE" type "StatusData" data "StatusType" "BOOST" data "DisplayName" "h95474ef0gc4bfg47dbg80a2ge06835d0debd;1" data "Description" "h2ed5d93dgc7b3g4251g9a8dgf7967902a88a;5" data "DescriptionParams" "DealDamage(3d6,Fire);Distance(3);Distance(6)" data "Icon" "Spell_Evocation_FlameBlade" data "FormatColor" "Fire" data "StackId" "FLAME_BLADE" data "Boosts" "IF(Item(context.Source)):WeaponProperty(Unstowable);Attribute(InventoryBound);GameplayLight(3,false,0.1);BlockAbilityModifierDamageBonus();WeaponAttackRollAbilityOverride(SpellCastingAbility) data "StatusEffect" "b471ceb6-8bce-4afe-8a4f-964f91269b8c"
Nice, I'm not that experienced at modding either. I agree that it's at least not OP with this mod even when combined with the other flame blade mods that work with this one. The other flame blade mod that has long rest duration / ritual casting also accomplishes what you want and saves a bonus action if cast outside combat, and it seems to work well with my mod so I'll cautiously recommend that too until I notice conflicts.
25 comments
(This file would only replace the variant version, since it's the only one that doesn't work properly anymore without dedicated RootTemplates for the intermediary spell levels)
Is there any chance we get an update?
Edit: Meant to make a new post.
You can already dual wield with a staff and flame blade if you have the dual wielder feat (since staves don't have the light property), no mods necessary. To do so, have the staff and another weapon or shield equipped, then cast flame blade, which will replace the equipment in your off-hand.
The exploit weapon doesn't scale with WIS, is cheesy, and doesn't count as a spell. (That last part is probably fine for my purposes but it does further remove it from vanilla).
Dual-wielding with staves puts the main-hand staff in the off-hand and the flame-blade in main hand, making you waste a turn switching them around.
To get around all of this, it would be ideal if the vanilla flame blade spell either allowed you to choose which hand to summon it into, or at least lasted forever so you didn't have to waste a turn every combat switching weapons around.
Edit: Clearly I'm stupid. It turns out the other mod you linked has five different versions, including one that simply makes the spell last forever, which is perfect for my purposes. Thank you!
But I do suspect someone with more time and experience than me will release 2024 versions of spells and probably 5e spells mod too. I had thought about starting that task since I had an unreleased Witch Bolt mod from a while ago that works the same way as the new one. Then I realized there are about 100 spell changes overall, and more than a few would require changes I'm nowhere near cut out to do.
Is there any chance you could include the ability to sheathe the flame blade?
EDIT: If possible, I would also love an option to add your spellcasting ability modifier or proficiency bonus to damage rolls.
, though I haven't tested it out yet.
edit: tested and working as intended. also has +1d6 per level scaling instead of every 2 levels.
Edit: also on that same note ig would it benefit from the dueling fighting style from swords bard?
Though, if it isn't too much of a hassle, would it be possible to add an option to remove the spell slot cost at start of combat?
IMO the weapon is already weak as it is, and removing the spell slot may sway a lot more people to use this as a Druid.
I'll leave the code below. But do mind that it is crude, since I'm not that familiar with bg3 modding yet.
new entry "WPN_Scimitar_FlameBlade"
type "Weapon"
using "_BaseWeapon"
data "RootTemplate" "dfb5a6ef-baee-4c0e-9b9d-7f5bd9458131"
data "Damage Type" "Fire"
data "Damage" "3d6"
data "ValueOverride" "0"
data "Weight" "0.5"
data "DefaultBoosts" "HiddenDuringCinematic();CannotBeDisarmed()"
data "BoostsOnEquipMainHand" "UnlockSpell(Target_OpeningAttack);UnlockSpell(Target_Slash_New)"
data "PersonalStatusImmunities" "WEAPON_COATED_WITH_POISON;POISON_BASIC;POISON_SERPENT_VENOM;POISON_WYVERN;POISON_WYVERN_DIPPED;POISON_PURPLE_WORM;DIPPED_FIRE;DIPPED_POISON;DIPPED_WATER"
data "Weapon Group" "SimpleMeleeWeapon"
data "Weapon Properties" "Melee;Unstowable;Finesse;Light"
data "Proficiency Group" "Scimitars;SimpleWeapons"
new entry "Shout_FlameBlade"
type "SpellData"
data "SpellType" "Shout"
data "Level" "2"
data "SpellSchool" "Evocation"
data "SpellProperties" "AI_IGNORE:SummonInInventory(dfb5a6ef-baee-4c0e-9b9d-7f5bd9458131,10,1,true,true,true,,,FLAME_BLADE,FLAME_BLADE);AI_ONLY:IF(not HasStatus('FLAME_BLADE',GetActiveWeapon())):ApplyStatus(AI_HELPER_FLAMEBLADE,100,5)"
data "TargetConditions" "Self()"
data "Icon" "Spell_Evocation_FlameBlade"
data "DisplayName" "h3b3917aagb11fg4270g8aa7gbdf9bd9f8841;1"
data "Description" "ha4c12cf9g472fg47e4g8bfag79c9ab4e04e1;6"
data "DescriptionParams" "DealDamage(3d6,Fire);Distance(3);Distance(6)"
data "ExtraDescription" "h40e58602g2505g46a7g8b64geace684c4312;1"
data "TooltipUpcastDescription" "7bbb79fa-02c7-4f45-a115-1d8e11b96ea0"
data "TooltipUpcastDescriptionParams" "DealDamage(1d6,Fire);2"
data "CastSound" "Spell_Cast_Summon_Flameblade_L1to3"
data "VocalComponentSound" "Vocal_Component_EnchantWeapon"
data "CastTextEvent" "Cast"
data "UseCosts" "BonusActionPoint:1"
data "SpellAnimation" "3ff87abf-1ea1-4c32-aadf-c822d74c7dc0,,;,,;35b644cf-5c13-4407-9dc1-23bf4309216e,,;823e3ddf-c670-41ef-b7b4-9f4a4e38300b,,;d8925ce4-d6d9-400c-92f5-ad772ef7f178,,;,,;eadedcce-d01b-4fbb-a1ae-d218f13aa5d6,,;,,;,,"
data "VerbalIntent" "Damage"
data "SpellFlags" "IsSpell;IsMelee;HasVerbalComponent;HasSomaticComponent"
data "SpellAnimationIntentType" "Aggressive"
data "PrepareEffect" "e7acb4f3-8777-408a-90cb-e3dc5f1c14bb"
data "CastEffect" "ec6002b5-fda9-4a78-a024-60e4a90563aa"
data "DamageType" "Fire"
data "Sheathing" "Somatic"
new entry "Shout_FlameBlade_3"
type "SpellData"
data "SpellType" "Shout"
using "Shout_FlameBlade"
data "SpellProperties" "AI_IGNORE:SummonInInventory(86792fbe-2344-4742-b114-e3836442c943,-1,1,true,true,true,,,FLAME_BLADE,FLAME_BLADE);AI_ONLY:IF(not HasStatus('FLAME_BLADE',GetActiveWeapon())):ApplyStatus(AI_HELPER_FLAMEBLADE,100,5)"
data "DescriptionParams" "DealDamage(3d6,Fire);Distance(3);Distance(6)"
data "UseCosts" "BonusActionPoint:1;"
data "RootSpellID" "Shout_FlameBlade"
data "PowerLevel" "3"
new entry "Shout_FlameBlade_4"
type "SpellData"
data "SpellType" "Shout"
using "Shout_FlameBlade"
data "SpellProperties" "AI_IGNORE:SummonInInventory(86792fbe-2344-4742-b114-e3836442c943,-1,1,true,true,true,,,FLAME_BLADE,FLAME_BLADE);AI_ONLY:IF(not HasStatus('FLAME_BLADE',GetActiveWeapon())):ApplyStatus(AI_HELPER_FLAMEBLADE,100,5)"
data "DescriptionParams" "DealDamage(4d6,Fire);Distance(3);Distance(6)"
data "UseCosts" "BonusActionPoint:1;"
data "RootSpellID" "Shout_FlameBlade"
data "PowerLevel" "4"
new entry "Shout_FlameBlade_5"
type "SpellData"
data "SpellType" "Shout"
using "Shout_FlameBlade"
data "SpellProperties" "AI_IGNORE:SummonInInventory(86792fbe-2344-4742-b114-e3836442c943,-1,1,true,true,true,,,FLAME_BLADE,FLAME_BLADE);AI_ONLY:IF(not HasStatus('FLAME_BLADE',GetActiveWeapon())):ApplyStatus(AI_HELPER_FLAMEBLADE,100,5)"
data "DescriptionParams" "DealDamage(4d6,Fire);Distance(3);Distance(6)"
data "UseCosts" "BonusActionPoint:1;"
data "RootSpellID" "Shout_FlameBlade"
data "PowerLevel" "5"
new entry "Shout_FlameBlade_6"
type "SpellData"
data "SpellType" "Shout"
using "Shout_FlameBlade"
data "SpellProperties" "AI_IGNORE:SummonInInventory(86792fbe-2344-4742-b114-e3836442c943,-1,1,true,true,true,,,FLAME_BLADE,FLAME_BLADE);AI_ONLY:IF(not HasStatus('FLAME_BLADE',GetActiveWeapon())):ApplyStatus(AI_HELPER_FLAMEBLADE,100,5)"
data "DescriptionParams" "DealDamage(5d6,Fire);Distance(3);Distance(6)"
data "UseCosts" "BonusActionPoint:1;"
data "RootSpellID" "Shout_FlameBlade"
data "PowerLevel" "6"
new entry "FLAME_BLADE"
type "StatusData"
data "StatusType" "BOOST"
data "DisplayName" "h95474ef0gc4bfg47dbg80a2ge06835d0debd;1"
data "Description" "h2ed5d93dgc7b3g4251g9a8dgf7967902a88a;5"
data "DescriptionParams" "DealDamage(3d6,Fire);Distance(3);Distance(6)"
data "Icon" "Spell_Evocation_FlameBlade"
data "FormatColor" "Fire"
data "StackId" "FLAME_BLADE"
data "Boosts" "IF(Item(context.Source)):WeaponProperty(Unstowable);Attribute(InventoryBound);GameplayLight(3,false,0.1);BlockAbilityModifierDamageBonus();WeaponAttackRollAbilityOverride(SpellCastingAbility)
data "StatusEffect" "b471ceb6-8bce-4afe-8a4f-964f91269b8c"