Part 1: creating a new skill

From Divinity Engine Wiki
Revision as of 16:57, 11 September 2017 by Jbotteram (talk | contribs)
Jump to: navigation, search

Introduction

Creating skills in your mod is easier than ever with our newly introduced tool, the Stats editor.

To create a new, useable skill you need 3 things:

  • A new skill entry in the stats editor
  • A new skillbook entry in the stats editor
  • A skillbook template


Creating our skill

Step 1: Opening the Stats Editor

Step1 OpenStatsEditor.png

The Stats Editor button


First, we need to open up the stats editor. To do this, locate the "Stats Editor" button on the menu bar (under "Editors").


Step3 CreateSkillDataStats.png

Creating the Skill_Projectile document


Next, we need to create the Skill_Projectile stats document in our project. If the document already exists, you can skip this step. To open the document, expand the "SkillData" item and double click the "Skill_Projectile" item.


Step2 CreateObjectStats.png

Creating the Object document


Finally, we need to create the Object stats document. Create and open the document the same way as we did for the skill_projectile document.


Step 2: Creating a new Skill

Step3 CopySkill.png

Copying an existing skill


After creating the necessary documents in our project, we copy the "LightningBolt" skill from the Shared project. Copying an existing skill makes creating new skills much easier.

To copy the LightningBolt skill, first open the Skill_Projectile document in the Shared project (1). In the image, I docked the Shared Skill_Projectile document under the Skill_Projectile document in my own project. You can do this by clicking and dragging the tab.

Then, select the LightningBolt stats entry, copy it (Ctrl+C), select the empty row in your project's Skill_Projectile document, and paste (Ctrl+V) (2).


Step5 EditSkill.png

Editing the new skill


Once we copied an existing skill, we can begin editing it. I:

  • Renamed the skill (LightningBolt to WaterBolt)
  • Changed the action point cost (2 to 1)
  • Changed the cooldown (3 turns to 0)
  • Changed whether the skill can target terrain
  • Changed the projectile template (see next step)
  • Changed the DisplayName, the name the skill will get in-game
  • Changed the Description, which will be visible in game
  • Removed the MemorizationRequirements, from 1 Aerotheurge to nothing


Note that all these modifications except for renaming the skill are optional.


Step4 CopyProjectileId.png

Copying a projectile Id


I also changed the projectile template, which is the object a projectile skill spawns as it is flying from the caster to the target.

The value that needs to be assigned is a projectile template GUID. I:

  • Opened up the Root template panel
  • Opened up the Sidebar
  • Filtered the root template panel by projectiles (1)
  • Filtered the projectile templates by those containing "water" (2) (you can also create a custom projectile template, which is explained further down)
  • Selected the "RS3_Projectile_Wand_Water" projectile (3)
  • Right clicked the "GUID" property and clicked "Copy Value" (4)


Once the GUID of the projectile template is copied to your clipboard, simply go back to the Stats Editor, double click the "Template" field on your new projectile and paste the GUID.


Step 4: Creating a Skillbook

Step6 EditObject.png

Copying a skillbook stats entry, like we did for the skill


Our skill has now been created, and is ready to be used in the game. However, we do not have a way for characters to learn the skill yet. Next, we will be creating a skillbook.

First, we need to create a new skillbook stats entry. We do this the same way we did it for the skill:

  • Open the Object stats document in your project
  • Open the Object stats document in the Shared project
  • Find and copy the SKILLBOOK_Air_LightningBolt entry


I modified the following fields:

  • Name (required)
  • RootTemplate (see further down for creating a new skillbook template, we assign this the same way we did the projectile template)
  • Requirements, from 1 Aerotheurge to none


Step7 CopyTemplate1.png

Copying a root template


To create our new skillbook template we:

  • Open the Root template panel
  • Filter the root templates by item templates
  • Filter the item templates by "lightningbolt"
  • Select and right-click the "BOOK_Skill_Air_LightningBolt" template, which is the skillbook for the LightningBolt skill
  • Click "Create new from selected..."


Step7 CopyTemplate2.png

The Create Object Wizard


To create our new skillbook template, we perform the following steps in the create object wizard:

  • Select our project (1)
  • Assign skillbook stats entry in the "Stats" property (2)
  • Rename the template (3)
  • Create the template (4)


Note that the "OnUseAction" property also needs to be changed to be able to learn our skill, but I did this later.


Step8 CreateFolder.png

Creating a new folder


Our root template also has to be in a folder to be assignable in the stats editor. If you already have a folder of your own, you can skip this step.

To create a new folder:

  • Right click the "Root Templates" folder (at the top) in the root template panel
  • Click "Add Folder"
  • Name your folder


Step9 MoveTemplate.png

Moving our skillbook template to the new folder


Don't forget to move our new template to our newly created folder (1) and save the root templates (2)!


Step10 AssignRootTemplate.png

Assigning a root template to our object stats entry


There is one last thing we need to do in the Stats Editor: assign our root template to the object's stats entry. To do this:

  • Open your Object document in the Stats Editor
  • Navigate to the "RootTemplate" field on your stats entry and double click it
  • Find your root template in the root template selector (the popup box)
  • Double click it


Then you can save and close the Stats Editor.


Step11 SetOnUseAction.png

Setting the On Use action on our skillbook template


We also need perform one final (very important) step on our skillbook root template; choosing what to do when the item is used.

To change the "On Use" actions:

  • Find your root template in the root template panel (1)
  • Find the "OnUseActions" property and open the custom editor (select the property and click the [..] button) (2)
  • Select our skill in the "SkillBookID" dropdown on the "Skill book" action (3) [1]
  • Apply the changes (3)


[1] You may need to reload your project in order for the SkillBookID dropdown to refresh.


Step 5: Using our Skill

Step12 PlaceTemplate.png

Place an instance of our skillbook template in the level


And that's it, our skill is ready to use!

To learn our skill, we need to place our skillbook in a level:

  • Select the template in the root template panel (1)
  • Select the Creation Interaction Mode (2)
  • Place the item anywhere in your level (preferably near your player character) (3)


Step13 UseSkill.png

Using our skill


Last but not least, start the game (Ctrl+Enter), pick up the skillbook, learn your skill and destroy your enemies!