In this tutorial we’ll set up the player’s roll ability.
The roll ability will simply roll on the floor, e.g. to use it as an evasive maneuver. Rolling will cost stamina and also grants damage immunity for a short time.
We’ll set up:
- the roll schematic
- the damage immunity (status effect)
- the roll ability
- update Ellen (adding the ability)
- update the control map
Let’s roll!
Roll Schematic #
First, we’ll set up the schematic animating the roll. It’s pretty simple, we’ll play a sound and an animation.
Navigate to Schematics and start working on a new schematic.
Calculate Action #
Add Node > Battle > Action Outcome > Calculate Action
This node will calculate the outcome of the action – i.e. it’ll consume the use costs (stamina) and add the damage immunity effect.
No further settings needed in this node.
Play Sound #
Add Node > Audio > Audio > Play Sound
We’ll play a selected audio clip.
- Object (Play On)
Select Machine Object. - Audio Clip Asset
Select footstep06. - Play One Shot
Enable this setting. - Set Pitch
Enable this setting. - Random Pitch
Enable this setting. - Pitch
Set to 0.4. - Pitch 2
Set to 0.6.
Combatant Animation #
Add Node > Animation > Combatant > Combatant Animation
We’ll play the Roll animation type and wait for most of it.
- Object
Select Machine Object. - Animation Type
Select Roll. - Wait
Enable this setting. - Normalized Time (Wait)
Set to 0.7.
And that’s it for the schematic. Click on Save Schematic to save it, e.g. as EllenRoll.
Damage Immunity Status Effect #
Status effects can block changes to status values – we’ll block negative changes to HP for a second.
Navigate to Status > Status Effects and add a new status effect.
- Name
Set to Damage Immunity.
End Settings #
The effect will end after a second.
- End After
Select Time. - Duration
Select Value > Value.
Set the value to 1.
Change Settings > Status Changes #
We’ll block negative changes to HP.
Click on Add Status Change.
- Change Type
Select Block Status Value. - Status Value
Select HP. - Change Block
Select Negative.
That’s it for the effect’s setup.
Roll Ability #
The roll ability will cost 20 stamina, is just used on the user itself and doesn’t have any target changes – instead, it’ll use a user change to add the damage immunity effect. It’s also not cancelable (like the attacks).
Navigate to Status > Abilities and add a new ability.
- Name
Set to Roll.
Ability Settings #
- Ability Type
Select Default. - Useable In
Select Both.
Target Selection Settings #
We’ll use the Self default target selection (see target selection templates for more details on this topic).
- Target Selection Type
Select Default Self.
User Settings > Use Costs #
We’ll set up the stamina cost.
- Auto Consume
Select Always.
Status Changes #
Click on Add Status Change.
- Change Type
Select Status Value. - Status Value
Select Stamina. - Operator
Select Sub. - Change Value
Select Value > Value.
Set the value to 20.
Battle Animation #
Click on Add Battle Animation.
- Schematic Asset
Select EllenRoll.
User Settings > User Changes #
We’ll add the damage immunity effect.
Click on Add Status Change.
- Change Type
Select Status Effect. - Change
Select Add. - Status Effect
Select Damage Immunity.
Updating Ellen #
We need to add the ability to Ellen.
Navigate to Combatants > Combatants and select Ellen.
Attacks & Abilities > Ability Development #
To be able to use an ability, a combatant needs to know it.
We add the Roll ability to be learned at level 1, so we have it available at the start of the game.
Click on Add Ability.
- Learn at Level
Set to 1. - Ability
Select Roll.
Updating the Control Map #
All that’s left to do is add the roll ability to the control map.
Navigate to Base/Control > Control Maps and select the Default control map.
Control Key 1 #
Click on Add Control Key.
Input Settings #
- Input Key
Select Roll.
Action Settings #
- Type
Select Action. - Action Type
Select Ability. - Ability
Select Roll.
Conditions #
- During Target Selection
Disable this setting.
Save Changes #
And that’s it!
Don’t forget to save your changes by clicking on Save Settings at the bottom of the editor.
Testing #
Hit play and roll around!
Our player controls aren’t blocked, so we can even change the direction of the roll (in case you don’t want that, enable the Block Player Control setting in the schematic’s Settings node).
Since our player is moved using root motion in the animator, the movement is handled by the rolling animation – our player control input just changes the direction, but since the roll animation is playing, the animator doesn’t play the movement animations.
You can also change the direction of the attacks, since the player control isn’t blocked there as well.
If you time it right, you can use the roll to avoid getting damaged.
Next, we’ll add a new enemy, the spitter!