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.