Skip to content

Scale Spell Modding Library and Risen Soul Monk Kit

ArunsunArunsun Member Posts: 1,592
edited September 2021 in General Modding
Hi everyone,

I have released a modding library a few weeks back and added a few features since then, and I was hoping to share it here with fellow modders to help them out with these tedious tasks. The primary goal of the library is to provide modders with new possibilities and QoL functions when creating or updating spells.

Here's the link to the GitHub: https://github.com/ZKArunsun/ZK_Weidu_Stuff
Among the features:

Add Spell Header
Surprisingly a missing function from WeiDU. Enables an easy addition of a spell header. Might not be perfect but it filled my needs and it might fill yours too.

Scaling spells with level:
This function will help you gain time when creating simple spells whose parameters should scale at a fixed rate.
By setting a few parameters, you should be able to scale multiple aspects of a spell. The following parameters are supported:

Effect Duration
Dice Size/Minimum Level
Dice Number/Maximum Level
Parameter 1
Parameter 2
Saving Throw Bonus
Probability 1

It's also possible to scale multiple parameters in just one function call. This function copies the first header of the spell and scales it with the level of the caster as defined in a 2da.

Scaling spells with statistics:
This function allows you to scale a spell with the caster or target's statistics by creating a bunch of subspells that are cast conditionnally depending on the stat of the caster. While it is primarily meant to scale with main statistics like STR or INT, nothing prevents you from scaling from pretty much any spell. Technically, you could make a spell that deals more damage the more drunk your character is. Currently supported parameters:

Effect Duration
Dice Size/Minimum Level
Dice Number/Maximum Level
Saving Throw Bonus

There are two functions, one called SCALE_SPELL, the other MULTI_SCALE_SPELL. The latter allows scaling a spell depending on multiple stats. For instance, you can make a Fireball whose dice size is increased with your character's Intelligence and Saving Throw Bonus is made harder by their Charisma.

Be careful however that MULTI_SCALE_SPELL may create huge number of subspells if you scale too many aspects of a spell!

Touch Attack Simulation
This one attempts to mimic 3E's touch attack on spells. It's possible to make any single-target spell require a touch attack to actually land.

The touch attack in itself is not a perfect copy of the 3E touch attack, as it does not ignore AC coming for Armor, for instance. Limitations are detailed by lengthy comments within the code, and it is possible to give a spell a to-hit bonus or malus to compensate for them or make a given spell stronger.

The library comes packaged with a small mod that is not meant to be used but rather give a few examples of how to use the library.



In order to illustrate the capabilities of this library, I have also made a Monk kit that makes extensive use of all the aforementioned features to create a kit with a rather unique gameplay. I might adjust a few things in the future, balance-wise, but I have been playing with it throughout BGEE and I am liking it so far.
The idea behind the kit is a monk that is physically weaker, but has access to 3 different fighting styles (melee, ranged, support). Those styles each come with a set of unique abilities that come with a shared cooldown rather than a limited number of usage. New abilities for each style become available until level 10, and each ability belongs to a tier. Higher tier abilities become available by waiting longer after casting your last spell. For instance, the ranged style has access to a magic-missile-like spell as a tier 1 (which means it is available every few seconds), and a fireball-like spell as a tier 3 ability (which means it is available by waiting for a longer duration).

It is available for download there: https://github.com/ZKArunsun/RisenSoul

If you encounter any bug or oversight on the kit or the library or would like to request a new feature, feel free to comment here or on my Github.

Cheers and happy modding!
Sign In or Register to comment.