Modding Move Effects: Difference between revisions

From PMDOWiki
IDK (talk | contribs)
Priority
IDK (talk | contribs)
Damages
Line 15: Line 15:
== Effect Priority ==
== Effect Priority ==


Battle Events added to event lists each have a priority.  This determines in what order these effects execute.
Battle Events added to event lists each have a priority.  This determines in what order these effects execute: The lower the number, the earlier it executes.  Priority can also be subdivided.


[[File:SkillEditor_Priority.png|frameless]]
[[File:SkillEditor_Priority.png|frameless]]
Line 23: Line 23:
== Inflicting Damage ==
== Inflicting Damage ==


=== Base Power ===
To inflict damage, you will need to add a <code>Power</code> state to Skill States, which will contain the base power of the move.  Then, you will need to add a <code>Damage Formula Event</code> to On Hits at priority -1.


=== Fixed Damage ===
=== Fixed Damage ===


To inflict fixed damage, or specially calculated damage you will need to use a Battle Event other than <code>Damage Formula Event</code>. Some examples include:
* <code>LevelDamageEvent</code>: Does damage based on the user's level.
* <code>CutHPDamageEvent</code>: Cuts the target's HP in half.
* <code>MaxHPDamageEvent</code>: Does damage based on the target's max HP.
There are several others; consult the [[BattleEvent Reference]] for full details.


== Additional Effects ==
== Additional Effects ==


=== Additional Effect Chance ===
 





Revision as of 04:20, 19 April 2024

This page details the ways to achieve move effects, such as modifying damage, status changes, etc. This can be done through the Skill Editor, found in the Data tab of the Dev Mode panel.

It only covers the effect of moves. Other battle factors such as statuses, abilities, and held items can be found in the page for Modding Passive Effects

All of this can be achieved by editing the Data of a move.

Overview

Skill Data has several elements that can be edited. These control the stats of the move, its typing, etc.

To achieve the special effects that Pokemon moves are known for, you will need to insert events into Battle Event lists like Before Hits, On Hits, etc.

Effect Priority

Battle Events added to event lists each have a priority. This determines in what order these effects execute: The lower the number, the earlier it executes. Priority can also be subdivided.

It may seem straightforward in this image that damage will happen first, and additional effect will happen second. However things get more complicated when you factor passive effects from other sources, such as an enemy having the ability Static, or yourself holding a King's Rock. All of these battle events will need to be shuffled together, and priority ensures they all land in the correct order.

Inflicting Damage

To inflict damage, you will need to add a Power state to Skill States, which will contain the base power of the move. Then, you will need to add a Damage Formula Event to On Hits at priority -1.

Fixed Damage

To inflict fixed damage, or specially calculated damage you will need to use a Battle Event other than Damage Formula Event. Some examples include:

  • LevelDamageEvent: Does damage based on the user's level.
  • CutHPDamageEvent: Cuts the target's HP in half.
  • MaxHPDamageEvent: Does damage based on the target's max HP.

There are several others; consult the BattleEvent Reference for full details.

Additional Effects

Chance of Status

Chance of Stat Change

Chance Effect on User

Other Move Flags

Moves that make contact, sound-based moves, slash-based moves, etc.

Hit Critical Hit Moves

Non-Damaging Status Moves

Status Conditions

Status Changes

Weather/Terrain

Hitting Tiles

Destroying Items

Destroying Terrain

Laying Traps

Healing

Displacements

Knockback/Throw/Displacements


Further Reading

The list of effects on this page is not exhaustive and there are many more effects such as increased damage on targets under certain conditions (Brine), variable basepowers (Eruption/Water Spout), etc.

For a full list of BattleEvents you can use, check the BattleEvent Reference.

Effects can get very specfic, and sometimes you may want to make your own. You can make your own BattleEvents using ScriptedBattleEvent.