Creating Techniques
Revision as of 09:20, 26 December 2023 by Jaskrendix (talk | contribs)
Techniques can be created by creating a simple JSON text file in the Technique Table folder under `resources/db/technique`. This folder contains all of the details of each technique available in Tuxemon. Here you can specify the technique's type(s), power, and Technique effects. You can create **brand new** technique effects by adding it as a new method to the core.components.monster.Technique class. With each new technique, the following data must be specified:
| Name | Description |
|---|---|
| tech_id | The id of the individual technique. |
| accuracy | The id of the individual technique. |
| animation | Name of the animation under `resources/animations/technique` to use when the move is used. |
| conditions | A comma-separated list of effects that will go off when this move is used. Multiple effects can be bound to a single technique. |
| effects | A comma-separated list of effects that will go off when this move is used. Multiple effects can be bound to a single technique. |
| flip_axes | The id of the individual technique. |
| is_fast | The id of the individual technique. |
| potency | Amount of power the technique has. Used in "effect" calculations (such as damage). |
| power | Amount of power the technique has. Used in "effect" calculations (such as damage). |
| range | The kind of technique. Can be either "physical" or "special". Coincides with the monster's attack and special attack stats. |
| sfx | The sound effect under `resources/sounds/technique` to play when using the move. |
| slug | The slug identifier of the technique. It defines the name of the technique, since inside the PO file there is a translation corresponding at the slug (msgid "sting" - msgstr "Sting") as well as the description (msgid "sting_description" - msgstr "Describing the technique"). |
| sort | Whether damage or meta, meta doesn't do damage. |
| target | The target can be set among "enemy_monster", "enemy_team", etc. |
| types | The technique's types (Wood, Fire, Water, etc.). |
| use_failure (optional) | Text will appear if the technique fails. |
| use_success (optional) | Text will appear if the technique hits. |
| use_tech | Text will appear when the technique is used in battle. |
Here is an example of what a technique file might look like:
`resources/db/technique/sting.json`
json
{
"tech_id": 1,
"accuracy": 0.8,
"animation": "pound",
"effects": [
"give poison,target",
"damage"
],
"flip_axes": "",
"is_fast": false,
"potency": 0.4,
"power": 1.25,
"range": "melee",
"recharge": 1,
"sfx": "sfx_blaster",
"slug": "sting",
"sort": "damage",
"target": {
"enemy monster": 2,
"enemy team": 0,
"enemy trainer": 0,
"own monster": 0,
"own team": 0,
"own trainer": 0
},
"types": [
"wood"
],
"use_failure": "combat_miss",
"use_success": null,
"use_tech": "combat_used_x"
}