Hey guys,
Short long story... I'm trying to mod the game to test a few suggestions I have in mind. Reworking arrows is one of them.
I have to say that I don't particularly find special arrows appealing in BG3.The additionnal damages that done are pretty weak for "rare" consumables (1D4) and on a sucessfull saving throw, ennemy can entirely avoid them.
When I'm playing with arrows I have the feeling that surface effects are their main feature while additionnal elemental damages may eventually be the cherry on the cake.
But
what I usually like with such arrows in cRPG is that I can do more damage... and "fancy" damages like elemental ones.
I don't particularly hate surfaces but some of them are completely overpowered and some of them are not very appealing to me.
- Fire is cool but overpowered. It always apply Burning which guarantee 1D4 damage each turn for 3 turns (with concentration checks and so on).
- Electrify water is very situational and/or can already be done with many spells.
- Acid may be cool but against specific and powerfull ennemies.
- Ice is also cool but not something I would use very often.
In many situations, I'd just like to be able to use those arrows to deal additionnal elemental damages but the solution I have to control their % to hit doesn't worth it.
%to hit is something very easy to understand and eventually, to influence. Saving throw are definitely not something you can understand at first glance and play fast with.
It does not worth to waste time looking at ennemies abilities, using spells to reduce their ST or anything else for such small additionnal damages.
I'd just like to be able to deal additionnal elemental damages without having to spend all night to understand what saving throw mean and what I can do to influence this very specific one (strenght for detonation, dexterity for many and something else for other).
Then there are a few very special arrow like in exemple the arrow of detonation that makes me ANGRY more than once because his "fancy" effects (it is the pushing arrow).
But I really LOVE special arrows in games and especially in DnD games.
Characters playing with ranged weapons usually don't have a lot of skills and especially unique one with their bows.
Magical arrows are ranged characters "spells", and I like that a lot (sure, in BG3 there are a few weapons attack on top of that wich is great).
=> I decided to rework some arrows and I really have a lot more fun with them !
Now using them is really interresting in most situations and fire them on a target or on the ground really feel different ! I guess this is a suggestion part.
- the damages are upgraded to 1D6 for every arrow type
- the elemental damages are done if the attack roll is sucessfull (no additionnal saving throw, you apply normal damage + 1D6 or you miss entirely)
- surface and explode radius have been adjusted so all arrows are more or less balanced arround surface effects. What makes them easy to understand at first glance is +1d6 if you hit but surfaces may add another layer to play with.
Here is how it looks like :
Arrow of fire- Shoot on a target : Attack roll (Weapon damage + mod dex + 1D6 fire) + don't create surface and never apply burning.
- Shoot on the ground : Create a very small surface under the characters feet (auto apply burning) - you can hit 1 character with the surface.
Arrow of ice- Shoot on a target : Attack roll (Weapon damage + mod dex + 1D6 cold) + create surface under and arround the character. The target and very close characters can slip if they fail their ST
- Shoot on the ground : Create an area that can make the characters slip on a ST (shoot on the ground give you a better control over the surface, you can apply it under more characters. I'd say 3 to 4 close characters while 2-3 if you target a character)
Arrow of acid- Shoot on a target : Attack roll (Weapon damage + mod dex + 1D6 acid) + Apply Acid (-2 AC) on the target.
- Shoot on the ground : Create a very small area that auto apply +2AC to all characters (you can more or less apply acid to 2 characters)
Arrow of lightning- Shoot on a target : Attack roll - Weapon damage + mod dex + 1D6 electricity
- Shoot on the ground : Electrify water (may shock characters)
Arrow of Detonation- Shoot on a target or on the ground : Weapon damage + mod dex + 1D4 force to all target in the area.
It may not be perfectly balance of course but now using arrows on the ground or directly on target feel a lot more different to me.
Surface damages or direct damages seems to be a question the game is asking to players. Currently it just say : do it and you'll see if you have everything or not !
It would become cool but rare enough items to use in most situation rather than overpowered and/or suface foccussed items.
I personnaly like playing with this suggestion turned ON. An attack roll that may deal additionnal elemental damages is better than a saving throw that allow characters to avoid them entirely according to me.
Here is the code if you want to try / if you want to look at it.
Thanks to BG3 discord modding community that helped me a lot (again !)
new entry "Projectile_ArrowOfDetonation"
type "SpellData"
data "SpellType" "Projectile"
using "Projectile_MainHandAttack"
data "SpellProperties" ""
data "ExplodeRadius" "2"
data "SpellSuccess" "DealDamage(max(1,MainRangedWeapon), MainRangedWeaponDamageType); ExecuteWeaponFunctors(MainHand);DealDamage(1d4, Force)"
data "Trajectories" "46de315c-71f5-4848-818a-dbec9c93583b,101c0773-4de6-7fb3-142a-1916711614aa,09286832-7a86-6f58-0710-bd90b9148455"
data "Icon" "Item_ARR_Arrow_Of_Detonation"
data "DisplayName" "Shared_Projectile_ArrowOfDetonation_DisplayName"
data "Description" "Une chance d'infliger 1d4 dégats de force supplémentaire aux cibles situées dans les 2 mètres autour de la zone d'impact"
data "DescriptionParams" "DealDamage(MainRangedWeapon, MainRangedWeaponDamageType); DealDamage(1d4,Force)"
data "TooltipDamageList" "DealDamage(MainRangedWeapon, MainRangedWeaponDamageType); DealDamage(1d4,Force)"
data "DescriptionParams" "Distance(3)"
data "CastSound" "Proj_Arr_Cast_ArrowOfDetonation"
data "SpellFlags" "HasHighGroundRangeExtension;RangeIgnoreVerticalThreshold;IsHarmful;AddFallDamageOnLand;DisplayInItemTooltip"
data "PrepareEffect" "b7096c7b-7d2a-405a-907c-ea2a50edb660"
data "CastEffect" "c1a2c14e-e131-405c-b140-513c53e45117"
new entry "Projectile_ArrowOfFire"
type "SpellData"
data "SpellType" "Projectile"
using "Projectile_MainHandAttack"
data "SpellProperties" "GROUND:SurfaceChange(Ignite); GROUND:SurfaceChange(Melt);GROUND:CreateSurface(0.5,,Fire);CreateExplosion(Projectile_ArrowOfFire_Burning);IF(Item()):ApplyStatus(BURNING, 100, 2)"
data "ExplodeRadius" "0.5"
data "SpellSuccess" "DealDamage(max(1,MainRangedWeapon), MainRangedWeaponDamageType); ExecuteWeaponFunctors(MainHand);DealDamage(1d6, Fire)"
data "Trajectories" "a987eb34-3d51-42fb-ba62-d2ebfbdc58c0,632d947d-cc8b-13ec-871d-f35e8eb42799,35087a9c-89ce-781b-a81b-e5ade6b3848d"
data "Icon" "Item_ARR_Arrow_Of_Fire"
data "DisplayName" "Shared_Projectile_ArrowOfFire_DisplayName"
data "Description" "Shared_Projectile_ArrowOfFire_Description"
data "DescriptionParams" "DealDamage(MainRangedWeapon, MainRangedWeaponDamageType);DealDamage(1d4,Fire)"
data "TooltipDamageList" "DealDamage(MainRangedWeapon, MainRangedWeaponDamageType);DealDamage(1d4,Fire)"
data "CastSound" "Proj_Arr_Cast_Arrow_Of_Fire"
data "SpellFlags" "HasHighGroundRangeExtension;RangeIgnoreVerticalThreshold;IsHarmful;DisplayInItemTooltip"
data "HitAnimationType" "MagicalDamage_External"
data "PrepareEffect" "058553a4-1630-44ff-b08a-4c9dea9a6b32"
data "CastEffect" "b26abd87-14b7-4ed0-93d1-f424bc4fa236"
new entry "Projectile_ArrowOfFire_Burning"
type "SpellData"
data "SpellType" "Projectile"
using "Projectile_ArrowOfFire"
data "SpellProperties" "IF(not Character()):ApplyStatus(BURNING, 100, 2)"
data "ExplodeRadius" "6"
data "SpellRoll" ""
data "SpellSuccess" ""
data "SpellFail" ""
data "Trajectories" "f346b284-854e-4dd9-b87c-3938f5178265"
data "CastSound" ""
data "PrepareEffect" ""
data "CastEffect" ""
new entry "Projectile_ArrowOfIce"
type "SpellData"
data "SpellType" "Projectile"
using "Projectile_MainHandAttack"
data "SpellProperties" "GROUND:SurfaceChange(Freeze); GROUND:CreateSurface(2,,WaterFrozen);"
data "ExplodeRadius" "0.5"
data "SpellSuccess" "DealDamage(max(1,MainRangedWeapon), MainRangedWeaponDamageType); ExecuteWeaponFunctors(MainHand);DealDamage(1d6, Cold)"
data "Trajectories" "b8b95321-ab56-4613-8160-ef7153d315aa,8c9aaf1d-7f1b-ae33-13d6-4a406dbc6ca6,20840c5b-a3df-5483-c071-118de86c1fa1"
data "Icon" "Item_ARR_Arrow_Of_Ice"
data "DisplayName" "Shared_Projectile_ArrowOfIce_DisplayName"
data "Description" "Une chance d'infliger 2d4 dégats de glace supplémentaire à une cible. Gel le sol et peut faire glisser ceux qui s'y trouvent"
data "DescriptionParams" "DealDamage(MainRangedWeapon, MainRangedWeaponDamageType); DealDamage(2d4,Cold)"
data "TooltipDamageList" "DealDamage(MainRangedWeapon, MainRangedWeaponDamageType); DealDamage(2d4,Cold)"
data "CastSound" "Proj_Arr_Cast_Arrow_Ice"
data "SpellFlags" "HasHighGroundRangeExtension;RangeIgnoreVerticalThreshold;IsHarmful;DisplayInItemTooltip"
data "PrepareEffect" "62bfb923-6000-4022-931f-f9c0fac3b6a0"
data "CastEffect" "4ab28ec5-1118-4c4b-9376-ba03e8aed6ea"
new entry "Projectile_ArrowOfAcid"
type "SpellData"
data "SpellType" "Projectile"
using "Projectile_MainHandAttack"
data "SpellProperties" "GROUND:CreateSurface(1,,Acid);"
data "ExplodeRadius" "0.5"
data "SpellSuccess" "DealDamage(max(1,MainRangedWeapon), MainRangedWeaponDamageType); ExecuteWeaponFunctors(MainHand);DealDamage(1d6, Acid)"
data "Trajectories" "1cee65a9-20fa-4b5f-9e38-c31035bdec76,142ec2e2-0288-509e-0dde-93e7a53c79f9,c8ebf2a3-074b-e643-c017-c5c1be4f8092"
data "Icon" "Item_ARR_Arrow_Of_Acid"
data "DisplayName" "Shared_Projectile_ArrowOfAcid_DisplayName"
data "Description" "Jet d'attaque pour dégats normaux + jds pour 1d4 de poison + jds pour statut acide pendant 3 tours (-2AC)"
data "DescriptionParams" "DealDamage(MainRangedWeapon, MainRangedWeaponDamageType); DealDamage(1d4,Acid)"
data "TooltipDamageList" "DealDamage(MainRangedWeapon, MainRangedWeaponDamageType); DealDamage(1d4,Acid)"
data "CastSound" "Proj_Arr_Cast_ArrowOfAcid"
data "SpellFlags" "HasHighGroundRangeExtension;RangeIgnoreVerticalThreshold;IsHarmful;DisplayInItemTooltip"
data "HitAnimationType" "MagicalDamage_External"
data "PrepareEffect" "17d73412-9f44-4080-975f-f79b7a2921bc"
data "CastEffect" "85559b54-6970-4d3a-8c68-0f661d25c60c"
new entry "Projectile_ArrowOfLightning"
type "SpellData"
data "SpellType" "Projectile"
using "Projectile_MainHandAttack"
data "SpellProperties" "GROUND:SurfaceChange(Electrify);"
data "ExplodeRadius" "0.5"
data "SpellSuccess" "DealDamage(max(1,MainRangedWeapon), MainRangedWeaponDamageType); ExecuteWeaponFunctors(MainHand);DealDamage(1d6, Lightning)"
data "Trajectories" "e11d8ca4-6880-4876-88af-220851075f80,66917ab1-c0d9-70fd-2ca6-f0149ac62ec5,e7130737-bc9b-e7f3-a3ba-9f788e99ae2d"
data "Icon" "Item_ARR_Arrow_Of_Lightning"
data "DisplayName" "Shared_Projectile_ArrowOfLightning_DisplayName"
data "Description" "Shared_Projectile_ArrowOfLightning_Description"
data "DescriptionParams" "DealDamage(MainRangedWeapon, MainRangedWeaponDamageType); DealDamage(1d4,Lightning)"
data "TooltipDamageList" "DealDamage(MainRangedWeapon, MainRangedWeaponDamageType); DealDamage(1d4,Lightning)"
data "CastSound" "Proj_Arr_Cast_Arrow_Of_Lightning"
data "SpellFlags" "HasHighGroundRangeExtension;RangeIgnoreVerticalThreshold;IsHarmful;DisplayInItemTooltip"
data "HitAnimationType" "MagicalDamage_Electric"
data "PrepareEffect" "80b941f4-9dc6-4236-a3a2-51d470582411"
data "CastEffect" "733aaa75-f2eb-49fd-be6c-0f283de55b6f"