Sinistralis-DOS2-Mods / StatLib

A library for building a stat editor for Divinity Original Sin 2 with scripted stat support
MIT License
1 stars 1 forks source link

StatLib for Divinity Original Sin 2

StatLib is meant as a tool to help generate permutations of an ability. Divinity's engine does not allow for dynamic attributes on skill data. This means you cannot have stats like -Cooldown, +AP, +Range, etc. What you can do, is have many permutations of an ability, and on spell cast of a "Root" skill, cancel it and cast the permutation instead. This leads to having to manage an exponential number of skills, which is what this project is meant to solve. It will generate all permutations and script required, so you can focus on balancing the core ability and itemizing gear.

How to Install

How to Use

Features

What are Modifiers?

You can think of Modifiers like an Assembly Line. Each stat you make is is put through this assembly line, and each Modifier inspects it. Depending on what each Modifier is meant to do, it can react to specific keywords in a skill description, which in turn can cause it to create script or even additional stats in response to yours, which are themselves sent through the Assembly Line.

This means that each feature added by a Modifier can be nested within other Modifiers! Still doesn't make sense? Don't worry! This project details what each Modifier is capable of doing, and provides examples within the application to get your start. Click here for a list of currently supported Modifiers to get started.

How to create your own Modifier for the Skill Generator

Want a behavior that currently isn't supported? Don't fret, the Skill Generator is built to be extended! You can create your own Modifier and add it to the Skill Generator, or you can submit it for a PR to be added to the official list.

To see how to build your own Modifier, click here for a complete rundown of the Modifier API and coding conventions.

What are Extensions?

In addition to Modifiers, the Skill Generator now supports Script Extensions. Modifiers can make use of Script Extensions to allow advanced skill creation without the need to script.

How to create your own Extension for the Skill Generator

Similar to Modifiers, Extensions can be plugged into the Skill Generator, which will expose them to every modifier. This allows you to treat Extensions as a type of "library" from which any modifier can draw from.

To see how to build your own Extension, click here for a complete rundown of the Extension API and coding conventions.

Coming Soon

Contributing to this project