• Do not use Discord to host any images you post, these links expire quickly! You can learn how to add images to your posts here.
  • Reminder: AI-generated content is not allowed on the forums per the Rules and Regulations. Please contact us if you have any questions!
A.B.R.A. - Ability Builder & Refinement Assistant

PSDK A.B.R.A. - Ability Builder & Refinement Assistant 2026-01-10

This resource pertains to Pokémon SDK.
Pokémon Essentials Version
Non-applicable


A.B.R.A.
Ability Builder & Refinement Assistant for Pokémon SDK
Download latest version
Report Bugs




Overview
A.B.R.A. (Ability Builder & Refinement Assistant) is a specialized tool designed for Pokémon SDK (PSDK) developers to create and implement battle abilities without requiring extensive knowledge of Ruby scripting or the internal data structures of the SDK. It provides a visual interface for defining ability metadata, selecting battle events/triggers, and generating the necessary logic blocks.

What's New in the latest version?
See CHANGELOG.md for full details.

Features
  • Project Integration: Connects directly to existing PSDK projects by loading .studio files.
  • Metadata Management: Define internal symbols, and multi-language names and descriptions.
  • Event / Trigger System: Select from 20+ battle events/triggers, including switch-in events, end-of-turn actions, damage modification, and stat changes.
  • Script Generation: Automatically generates a script compatible with PSDK for your new ability.
  • Condition Library: Access a library of 140+ pre-defined battle conditions with a searchable interface.
  • Advanced Code Editor: Dedicated workspace with 10-space PSDK indentation and read-only / editable code separation.
  • Intelligent Formatter: Global script formatting with nested block support and cursor preservation.
  • Ability Updates: Edit and update existing abilities with proper file overwriting.
Quick Actions
ABRA currently includes 17 quick action buttons for inserting common ability code:
ActionDescription
Return ConditionInsert a conditional return with if/unless support and multiple conditions
Insert IfAdd an if/unless condition block with and/or logic
Change HPHeal, damage, or set HP with dynamic amount options
Stat ChangeModify ATK, DEF, SPD, SPA, SPD, ACC, EVA stats
Apply StatusApply poison, burn, freeze, paralysis, sleep, confusion, flinch, or cure
Change WeatherSet rain, sun, sandstorm, hail, or clear weather
Change TerrainSet electric, grassy, misty, psychic terrain, or clear
Modify ItemGive, remove, or swap held items
Change FormModify Pokémon form
Change TypeModify Pokémon type
Set HazardDeploy Stealth Rock, Spikes, Toxic Spikes, or Sticky Web
Show AbilityDisplay the ability activation animation
Display MessageShow battle messages
Move PriorityModify move priority (+3 to -7)
Force SwitchForce a Pokémon to switch out
Set EffectAdd battle effects (Confusion, Flinch, Encore, Taunt, Torment, Disable, Substitute)
Remove EffectRemove battle effects from a Pokémon

Condition Categories
The condition picker organizes 140+ conditions into searchable categories:
CategoryExamples
Owner StateOwner is alive/dead, HP <= 50%, is asleep, has Magic Guard, is Poison-type
BattlersOwner is on field, any battler asleep, has foes, has adjacent allies
Handler ChecksCan heal, burn/poison/freeze can be applied
Stat ChecksAttack can be raised, speed can be lowered
Weather & TerrainRain (any), sunny, hail, grassy terrain, electric terrain
Target/AttackerTarget is dead, attacker is ally/enemy, target type checks
Skill PropertiesSkill is physical/special/status, made contact, is critical hit
Type MatchupsSuper effective, not very effective, STAB, skill type checks
Probability10%/30%/50% chance

Installation
Using Executable
Download the latest version from the releases page and run ABRA.exe.

Internationalization
A.B.R.A. supports multiple languages for the interface and the condition library:
  • English
  • French
  • Spanish
Language settings are persisted in the local configuration and can be switched at any time from the project selection screen.

Technical Details
A.B.R.A. automates the creation of three critical components for PSDK:
  1. JSON Data: Generates the ability data file located in Data/Studio/abilities/ using the db_symbol as filename.
  2. Ruby Logic: Creates a context-aware Ruby script in scripts/00001 ABRA_Scripts/00000 Effects/00000 Abilities/ with indexed filenames (e.g., 00000 FlashFire.rb).
  3. Text Data: Updates the local text database (CSV) for ability names and descriptions.
The generated Ruby code utilizes the Battle::Effects::Ability base class and implements hooks that interact with the PSDK battle logic handlers (DamageHandler, StatChangeHandler, etc.).

Terminology
  • Attacker: The Pokémon using a move (previously called "Launcher")
  • Target: The Pokémon receiving the effect
  • @target: The ability owner (the Pokémon with this ability)
  • Battlers: All alive Pokémon on the field (available in end-of-turn events)
  • Logic: The battle logic controller (provides access to handlers)

Contributing
Suggestions for features, improvements, and new commonly used conditions are welcome! Please open an issue on GitHub.
Credits
There is no real credits, this tool is for people to make their own abilities!
Author
Invatorzen
Downloads
20
Views
229
First release
Last update

Ratings

0.00 star(s) 0 ratings

More resources from Invatorzen

Back
Top