Difference between revisions of "Creating Techniques"

From Tuxepedia
Jump to navigation Jump to search
Line 13: Line 13:
|-
|-
| animation
| animation
| Name of the animation under `resources/animations/technique` to use when the move is used.  
| Name of the animation under `mods/tuxemon/animations/technique` to use when the move is used.  
|-
|-
| conditions
| conditions

Revision as of 17:47, 26 December 2023

Techniques in Tuxemon can be created by adding a JSON file to the mods/tuxemon/db/technique directory. 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 1 which decides against a random value if the technique hits or not.
animation Name of the animation under `mods/tuxemon/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 1 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 and there is a translation in the PO file (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) Corresponding msgid (translation PO file) will appear if the technique fails.
use_success (optional) Corresponding msgid (translation PO file) will appear if the technique hits.
use_tech Corresponding msgid (translation PO file) 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"
 }