Larian Banner: Baldur's Gate Patch 9
Previous Thread
Next Thread
Print Thread
Joined: Sep 2014
Z
Zoltan Offline OP
apprentice
OP Offline
apprentice
Z
Joined: Sep 2014
To create skills I use the provided .xlsm files in \Divinity - Original Sin\Data\Editor\Templates\Stats\
To begin by copying this entire stats Folder into \Divinity - Original Sin\Data\Public\(mod name)\
It is highly recommended you keep the original untouched and play with copies of these skills

Now there are a lot of excel files in Stats, the ones you will want to use are SkillData.xlsm and All.xlsm.
SkillData is where all the information about your Skills will go. When you first open the file be sure to do to the SkillData tab (do not edit any other tabs). Each skill is a part of a subsection. You will also notice colors on skill names, Green: Player Skill, Grey: NPC Skill. The colors don't do anything it痴 there for convienece. So your first step is to choose what type of skill you will make. To begin it is easiest to copy a similar Skill and make your changes from there or just modding an existing skill to make it super.

Subsections give the general idea behind the skill. These do effect how the skill works. List of Subsections in order:
Projectile, ProjectileStrike, Target, Cone, MultiStrike, Quake, Storm, Rush, Jump, Tornado, Wall, Boulder, Teleportation, Path, Barf, Rain, Summon, Heal, Shield, Shout

Column Description: I am not describing every column just some of the important ones
Column 1 - leave empty
Column 2 - Identifier: the identifier the game will know the skill as - must be unique within each subsection - do NOT have spaces. The skill will be Identified in game by the string (Subsection)_(Identifier). So the name of the StaffOfMagus skill is "Pojectile_StaffOfMagus"

Column 3 - Level requirement: maybe -1 for no level requirement. Not sure why this appears on a second row, do because Larian did

Column 4 - Ability: the base ability that drives this skill, (Warrior, Rogue, None, etc...) Will appear in that skill menu
Column 5 - Element: Type of Element this skill is based off of (will apear in that menu)
I havent tried setting both Ability and Element

Column 6 - Requirements: Equiped Weapon requirements, ie:DaggerWeapon

Column 7 - ActionPoints: Required action points to use Skill
Column 8 - Cooldown: Turns after use when the skill can't be used
Column 9 - Charge Duration: Turns it takes to charge the skill (doesn't work)

Now things start to change depending on which subsection you are in but most have these

Not sure exactly how damage is calculated, similar to weapon damages
Column - Damage: Base damage skill will do, integer (0-10)
Column - Damage Multiplier: Percentage damage is multiplied by, integer
Column - Damage Range: Effects how far above the max damage is over min damage, integer (0-10)
Column - Damage Type: Type of damage dealt by skill

Column - SkillProperties: Effects caused at target, (ie: CreateSurface, Weak, etc...) delimeted by ';'. I suggest to look at other Skills for inspiration here. Effects applied follows the pattern of (effect),(chance),(turns). Creating a Surface pattern is CreateSurface,(radius),(turns),(surface),(chance). You can apply certain effects on caster (example from VampiricTouch) SELF:OnHit:Heal,[...]

Column - TargetRadius: Range of how far skill can target (in m)
Column - AreaRadius: Area affected by the skill(?) (in m)
Colmun - ExplodeRadius: Area damaged(?) (in m)

Column - CanTarget*: 3 columns each with boolean values (yes or no) if the skill can target Characters, Items, and Terrain
Column - TargetConditons: The target must have these conditions, ie: NonSelf, Dead, Ally, etc...

Column - Icon: The Icon the skill will have in game

These are NOT used in game, it痴 a good place for a draft of the skills and descriptions
Actually defined in KeywordTranslator by the given string
Column - DisplayName: (Subsection)_(Identifier)_DisplayName - Name to appear in game
Column - Description: (Subsection)_(Identifier)_Description - Description of skill (directly under the name)
Column - StatsDescription: (Subsection)_(Identifier)_StatsDescription - Description of stats under all the generated stats

Column - StatsDescriptionParams: This part is VERY useful, it allows you to bring the statistics of the ability into the descriptions, ie: Damage. How you use this section is put all the data you want to display in this column delimeted by ';' - NO spaces. Then in your description use [number], number being its place in the line and the stat will be displayed there. For examples see other skills.

Columns beyond these are about the visual effects when the caster is perparing and casting the spell.


Now your skill is on the sheet you have to generate the data. Fortunatly this is easy. Close the SkillData.xlsm and open All.xlsm use the macro, just click the GenerateAll Button, macros have to be enabled. The macro will generate ALL the stats (including the other files in Stats). If your file is still open it will give a warning and not load the file to generate. Finally restart your editor, for some reason its the only way to reload the stats.

Joined: Jul 2014
R
addict
Offline
addict
R
Joined: Jul 2014
In addition to creating the skill, you also need to create some localization entries for the skill in the editor so that you can see what it is ingame. The names in the skill entry point to which entry to use, while the entry itself says what is displayed. The Ref entries for the Description etc aren't used at all; they are just there for your reference.

Levels of -1 scale with the skill user's level. This is mainly used by enemies because they can vary in their level even if they use the same skill.

The .xlsm files aren't necessary to create functioning skills; it's the txt files that are generated that matter. The issue I have with using All.xlsm is that it compiles *everything* and overwrites everything even if you're just adding one entry. The txt files added to your mod can have just a single skill entry and work just fine. I'm not sure if this has changed, but I'm pretty sure there were issues with overwriting existing skills (they didn't apply if I recall correctly).

Lastly, there is the issue of giving access to the skill in the game. There are a few ways to do this, but require some extra work in either other .xlsm files or with the scripts.

Joined: Sep 2014
Z
Zoltan Offline OP
apprentice
OP Offline
apprentice
Z
Joined: Sep 2014
I would still recommend using the excel files, even with the excessive amount of computation needed to generate using All. They layout what is needed in a clearer way and is a lot easier to avoid fatal mistakes then by editing the files directly. If the computation really is a problem I believe you can empty the files of data for all of it is a duplicate of main game, which is a forced dependency. This is also probably the reason why you can't edit the normal abilities. They are already defined by the main game.


Link Copied to Clipboard
Powered by UBB.threads™ PHP Forum Software 7.7.5