Difference between revisions of "Part 2: creating a skill from existing"

From Divinity Engine Wiki
Jump to: navigation, search
m (Protected "Part 2: creating a skill from existing" ([Edit=⧼protect-level-larianeditonly⧽] (indefinite) [Move=⧼protect-level-larianeditonly⧽] (indefinite)))
 
(14 intermediate revisions by one other user not shown)
Line 1: Line 1:
This article describes how to create a new skill based on an existing skill. To create a skill from scratch, see [[My first: Skill]]. If you have already created a skill, but don't know how to use it, see [[Creating a skill book|creating a skill book]].
+
This article is part of a 4-part series on how to create, edit and use a new skill.
 +
 
 +
{| class="wikitable"
 +
|-
 +
| [[Part 1: creating a new skill]]
 +
|-
 +
| [[Part 2: creating a skill from existing]]
 +
|-
 +
| [[Part 3: creating and using a skillbook]]
 +
|-
 +
| [[Part 4: adding the skillbook to a vendor]]
 +
|-
 +
|}
 +
 
 +
This article describes how to create a new skill based on an existing skill.
  
 
<br />
 
<br />
 
== Introduction ==
 
== Introduction ==
Creating a new skill based on an existing skill is by far the easiest, quickest and most utilized method of creating a new skill.
+
Creating a new skill based on an existing skill is by the easiest, quickest and most commonly used method of creating a new skill.
  
To create a new, useable skill you need 3 things:
+
In this guide we will create a new projectile type skill, but the workflow is applicable to all skill types.
* A new skill entry in the stats editor
 
* A new skillbook entry in the stats editor
 
* A skillbook template
 
  
 
<br />
 
<br />
 
== Creating our skill ==
 
== Creating our skill ==
 
=== Step 1: Opening the Stats Editor ===
 
=== Step 1: Opening the Stats Editor ===
[[File:Step1_OpenStatsEditor.png|none]]
+
To create a new skill based on an existing one, you will first need to open the "Skill_Projectile" document in the Stats Editor. If you do not know how to do this, see [[My first: Skill]] first.
<sub>The Stats Editor button</sub>
 
 
 
 
 
First, we need to open up the stats editor. To do this, locate the "Stats Editor" button on the menu bar (under "Editors").
 
 
 
<br />
 
[[File:Step3_CreateSkillDataStats.png|none]]
 
<sub>Creating the Skill_Projectile document</sub>
 
 
 
 
 
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.
 
 
 
<br />
 
[[File:Step2_CreateObjectStats.png|none]]
 
<sub>Creating the Object document</sub>
 
 
 
 
 
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.
 
  
 
<br />
 
<br />
Line 39: Line 32:
  
  
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.
+
After opening the "Skill_Projectile" document in our project, we copy the "LightningBolt" skill from the Shared project. Lightning Bolt is a simple, single-projectile skill that serves as a perfect template for our new skill.
  
 
To copy the LightningBolt skill, first open the Skill_Projectile document in the Shared project <span style="color:#FCFF27">(1)</span>. 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.
 
To copy the LightningBolt skill, first open the Skill_Projectile document in the Shared project <span style="color:#FCFF27">(1)</span>. 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.
Line 50: Line 43:
  
  
Once we copied an existing skill, we can begin editing it. I:
+
The most important step when creating a new skill based on an existing one is to change the name. Although we can modify existing skills by copying their name to our project, that is not what we want to do here. I renamed my new skill from "LightningBolt" to "WaterBolt".
* Renamed the skill (LightningBolt to WaterBolt)
+
 
 +
After creating our new skill, we can begin editing its values. I:
 
* Changed the action point cost (2 to 1)
 
* Changed the action point cost (2 to 1)
 
* Changed the cooldown (3 turns to 0)
 
* Changed the cooldown (3 turns to 0)
Line 61: Line 55:
  
  
Note that all these modifications except for renaming the skill are optional.
+
Note that all these modifications except for renaming the skill are optional. You can play around with the values, but be aware that the animation, icon, displayname, description and template fields are required for a proper skill.
  
 
<br />
 
<br />
Line 79: Line 73:
  
  
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.
+
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. Don't forget to save!
 
 
<br />
 
=== Step 4: Creating a Skillbook ===
 
[[File:Step6_EditObject.png|800px|none]]
 
<sub>Copying a skillbook stats entry, like we did for the skill</sub>
 
 
 
 
 
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
 
  
 
<br />
 
<br />
[[File:Step7_CopyTemplate1.png|800px|none]]
+
== See Also ==
<sub>Copying a root template</sub>
+
We have now created a useable skill that can be assigned to enemies, but we have no way for the player to learn it. In part 3 of the series, we will create a new skillbook.
 
+
{| class="wikitable"
 
+
|-
To create our new skillbook template we:
+
| Part 1: creating a new skill
* Open the [[Root template panel]]
+
|-
* Filter the root templates by item templates
+
| [[Part 2: creating a skill from existing]]
* Filter the item templates by "lightningbolt"
+
|-
* Select and right-click the "BOOK_Skill_Air_LightningBolt" template, which is the skillbook for the LightningBolt skill
+
| [[Part 3: creating and using a skillbook]]
* Click "Create new from selected..."
+
|-
 
+
| [[Part 4: adding the skillbook to a vendor]]
<br />
+
|-
[[File:Step7_CopyTemplate2.png|none]]
+
|}
<sub>The Create Object Wizard</sub>
 
 
 
 
 
To create our new skillbook template, we perform the following steps in the create object wizard:
 
* Select our project <span style="color:#FCFF27">(1)</span>
 
* Assign skillbook stats entry in the "Stats" property <span style="color:#FCFF27">(2)</span>
 
* Rename the template <span style="color:#FCFF27">(3)</span>
 
* Create the template <span style="color:#FCFF27">(4)</span>
 
 
 
 
 
Note that the "OnUseAction" property also needs to be changed to be able to learn our skill, but I did this later.
 
 
 
<br />
 
[[File:Step8_CreateFolder.png|none]]
 
<sub>Creating a new folder</sub>
 
 
 
 
 
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
 
 
 
<br />
 
[[File:Step9_MoveTemplate.png|none]]
 
<sub>Moving our skillbook template to the new folder</sub>
 
 
 
 
 
Don't forget to move our new template to our newly created folder <span style="color:#FCFF27">(1)</span> and save the root templates <span style="color:#FCFF27">(2)</span>!
 
 
 
<br />
 
[[File:Step10_AssignRootTemplate.png|800px|none]]
 
<sub>Assigning a root template to our object stats entry</sub>
 
 
 
 
 
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.
 
 
 
<br />
 
[[File:Step11_SetOnUseAction.png|none]]
 
<sub>Setting the On Use action on our skillbook template</sub>
 
 
 
 
 
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 <span style="color:#FCFF27">(1)</span>
 
* Find the "OnUseActions" property and open the custom editor (select the property and click the [..] button) <span style="color:#FCFF27">(2)</span>
 
* Select our skill in the "SkillBookID" dropdown on the "Skill book" action <span style="color:#FCFF27">(3)</span> <sup>[1]</sup>
 
* Apply the changes <span style="color:#FCFF27">(3)</span>
 
 
 
 
 
<sup>[1]</sup> You may need to reload your project in order for the SkillBookID dropdown to refresh.
 
 
 
<br />
 
=== Step 5: Using our Skill ===
 
[[File:Step12_PlaceTemplate.png|800px|none]]
 
<sub>Place an instance of our skillbook template in the level</sub>
 
 
 
 
 
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 <span style="color:#FCFF27">(1)</span>
 
* Select the Creation Interaction Mode <span style="color:#FCFF27">(2)</span>
 
* Place the item anywhere in your level (preferably near your player character) <span style="color:#FCFF27">(3)</span>
 
 
 
<br />
 
[[File:Step13_UseSkill.png|none]]
 
<sub>Using our skill</sub>
 
 
 
 
 
Last but not least, start the game (Ctrl+Enter), pick up the skillbook, learn your skill and destroy your enemies!
 
  
 
<br />
 
<br />

Latest revision as of 11:09, 2 October 2017

This article is part of a 4-part series on how to create, edit and use a new skill.

Part 1: creating a new skill
Part 2: creating a skill from existing
Part 3: creating and using a skillbook
Part 4: adding the skillbook to a vendor

This article describes how to create a new skill based on an existing skill.


Introduction

Creating a new skill based on an existing skill is by the easiest, quickest and most commonly used method of creating a new skill.

In this guide we will create a new projectile type skill, but the workflow is applicable to all skill types.


Creating our skill

Step 1: Opening the Stats Editor

To create a new skill based on an existing one, you will first need to open the "Skill_Projectile" document in the Stats Editor. If you do not know how to do this, see My first: Skill first.


Step 2: Creating a new Skill

Step3 CopySkill.png

Copying an existing skill


After opening the "Skill_Projectile" document in our project, we copy the "LightningBolt" skill from the Shared project. Lightning Bolt is a simple, single-projectile skill that serves as a perfect template for our new skill.

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


The most important step when creating a new skill based on an existing one is to change the name. Although we can modify existing skills by copying their name to our project, that is not what we want to do here. I renamed my new skill from "LightningBolt" to "WaterBolt".

After creating our new skill, we can begin editing its values. I:

  • 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. You can play around with the values, but be aware that the animation, icon, displayname, description and template fields are required for a proper skill.


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. Don't forget to save!


See Also

We have now created a useable skill that can be assigned to enemies, but we have no way for the player to learn it. In part 3 of the series, we will create a new skillbook.

Part 1: creating a new skill
Part 2: creating a skill from existing
Part 3: creating and using a skillbook
Part 4: adding the skillbook to a vendor