Creating Techniques

From Tuxepedia
Revision as of 09:45, 26 December 2023 by Jaskrendix (talk | contribs)
Jump to navigation Jump to search

Techniques can be created by creating a simple JSON text file in the Technique Folder 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. With each new technique, the following data must be specified:

Name Description
tech_id The id of the individual technique.
accuracy Float parameter between 0 and 100 which decides against a random value if the technique hits or not.
animation Name of the animation under `resources/animations/technique` to use when the move is used.
conditions Conditions are the prerequisites on which a technique fails or not.
effects Effects can change some characteristics of the enemy. By using the example below: "give poison,target" will give Poisoned status to the enemy and "damage" will inflict damage to the enemy.
flip_axes On which axes the animation needs to be flipped, by default is empty "".
is_fast Boolean, whether the technique is fast or not. Fast means that will be used before the enemy ones. By default is False.
potency Float parameter between 0 and 100 which decides against a random value if the technique will give a Category:Condition.
power Float parameter between 0 and 3 that will be used to calculate the quantity of damages.
range The kind of technique: Melee, Ranged, Touch, Special, Reach or Reliable.
recharge Recharging time of the technique (eg 2 = it can be used every 2 turns).
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 Category:Type.
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"
 }