Moves

These are abilities that demons share and use to perform any action in battle, besides standard repositioning. A move may damage an opponent, it may inflict a status effect, it may restore hearts or willpower, it may reposition a demon in a special way, it may modify a demon's stats, and so forth. Each move is associated with one or two elements, and their effectiveness depends on the strengths and weaknesses of the demon they're used against. Once a demon learns a move, they never forget it, and do not have a limit as to how many moves they may learn.

Learning Moves
Demons typically have a number of moves once you contract them, acquired through the natural process of leveling up, but to get more, the following conditions may be met:

Level Up
Every demon comes with a moveset, which describes what moves the demon will learn in their life, and at what level they will learn them. By leveling up, there is a chance that the demon will learn a new move, and it will be added to their move pool. However, not all moves in a demon's moveset may be unlocked through leveling up.

Mind World
If the player can find a Master dream citizen while exploring a demon's mind world, one of the moves the demon can learn will be taught. This move might be one which the demon would learn through leveling up, or it may be one they otherwise normally can't learn through that method.

Memories
Scattered throughout the world are special souls called "memories", visions of great demons of the past, which impart the knowledge of how a move can be used; these can be collected and consumed by a demon, teaching that demon how to use this move. However, this move must be somewhere in the demon's moveset, otherwise it will simply be wasted (e.g. an ice demon can't throw fireballs, unless they happened to also be a fire type and had that move somewhere in their moveset...but that'd be weird.)

Memories can also be purchased from vendors all around the world; they may be worth the investment, for a quick way of expanding your demon's versatility.

Trainer
Some demons can train other demons to improve that demon's stats; another effect trainers have is that they may teach a demon a move that the trainer knows, and which is compatible with the demon they are training. Thus, demons are better off trained by demons who are like them.

Fusion
A demon which is fused with another demon may acquire some of that demon's known moves, added to their possible moveset. These cannot be learned through level-up either, but the other methods can unlock them.

Reincarnation
A demon soul which is placed into a new body may bring some of their moves from their past life, adding it to the moveset of the body they now inhabit.

Move Anatomy
Every move has the following attributes:

Intent
Every move is designed to either harm or support; harming moves will rob a demon of their hearts or willpower, or to apply a debuff (stat loss, bad status effect), while supportive moves will restore hearts or willpower to a demon, or apply a buff (stat gain, good status effects.) A move that harms relies on a demon's Strength or Psionics to determine their effectiveness, while a move that supports relies on a demon's Sensing or Intuition.

Kind
Every move is either a physical or a psychic type. If a move is physical, it depends on the demon's Strength or Sensing for its power, and tests the target's Defense (if it's a harming move.) If a move is psychic, it depends on the demon's Psionics or Intuition for its power, and tests the target's Resistance (if it's a harming move.)

Element
Every move can have between 0 - 2 elemental types. These are tested against the user's types and the target's types to determine their effectiveness. A user which matches a move's elements will be more effective at using this move than a user which does not match any of its elements.

Cost
Every move requires some form of expenditure from the demon in order to perform it; if a move is physical, it will cost some percentage of the demon's hearts, and if a move is psychic, it will cost some percentage of the demon's willpower. Generally speaking, the more powerful the move, the more it will cost. A demon may break or kill themselves if the move costs more health than what the demon has, but they are still allowed to use it nonetheless.

Power
Every move has a certain amount of power, represented as a percentage (with 100 being 100%), which describes how strong this move is compared to other moves; it effectively multiplies against the damage dealt. So, a move with power 150 will deal 150% damage. Has no effect on moves that do not deal damage.

Status Effects
Every move can deliver a number of status effects to its targets, each with certain probabilities of working. This probability is affected by elemental differences, and can be increased or decreased depending on them. Thus, a move that has a probability of 150% makes sense to help ignore a demon's resistance to a status effect. Probability is also affected by the user's stats and the target's stats.

Distance
Every move has a particular distance away from the user which they can be used; this is measured by a number, with -1 representing the entire battlefield, and 3 representing three spaces from the user, for example.

Reach
Every move has a particular effect range when a tile is selected for use; any reach greater than 0 can affect more than one demon at once.

Select Form
Every move has a unique way that it selects a tile to try to hit another demon:
 * Self
 * This move only affects the user, and can't move outside of the user's tile.
 * Radiate
 * This move can be used anywhere within a diamond shape around the user, limited by distance.
 * Cross
 * This move can be used only in a cross shape, with its center on the user.

Hit Form
Every move has a unique way that it hits targets; how far each form will reach depends on its "reach" value.
 * Singular
 * Only affects the tile that was selected, ignores any reach.
 * Radiate
 * Affects tiles in a similar fashion to repositioning; it will affect every tile surrounding it, depending on its reach, forming a diamond shape.
 * Block
 * Affects tiles in a square: each level of reach increases the size of this block.
 * Line
 * Affects tiles in a line, either vertically or horizontally; the player can change its orientation with a button press.
 * Cross
 * Affects tiles in a cross shape, like Bomberman's bombs.

Charge, Delay, & Recovery
Every move may have a charge, delay, or recovery value; a charge value causes the demon to have to wait a certain number of turns before they actually use their move; a delay value causes the move to wait a certain number of turns before the move activates (i.e. the demon may continue to function); a recovery value causes the user to have to wait a certain number of turns before they can reposition and use another move.

Stickiness
Combined with delay, a move may stay with a particular demon it had targeted if it is sticky, following that demon if it moves; otherwise, it will operate on the tile it was originally used on.

Using Moves
The player selects one of their demons when it's their turn, and may reposition and use a move in the same turn; the player selects one of the moves the demon knows, then selects where they will use this move to confirm their selection. A visual indicator of how this move will affect demons is displayed. Any charges the move has are eaten as the turns pass; the demon cannot move again during this period. Once the appropriate number of turns pass, the demon will use their move, and their health will be taxed based on the move's cost; even if the demon is killed or broken through this, the move will continue to work. The move is then active in the battlefield; any delay charges are eaten as the turns pass. The demon will recover for as many turns as the move necessitated (i.e. unavailable for action.) Once the move's delay is complete, the move acts, and all effects are applied then to whatever demons are within its range: damage, status effects, stat changes.

Due to how this works, multiple moves may activate at once between turns; the engine prioritizes moves that came first in the queue, and works through the list, one move at a time.