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" }