pokerogue/beta/variables/enums_move-use-mode.MoveUseMode.html
2025-08-09 20:29:20 +00:00

37 lines
13 KiB
HTML
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html><html class="default" lang="en" data-base="../"><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>MoveUseMode | pokemon-rogue-battle</title><meta name="description" content="Documentation for pokemon-rogue-battle"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script><script async src="../assets/hierarchy.js" id="tsd-hierarchy-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => window.app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><a href="../index.html" class="title">pokemon-rogue-battle</a><div id="tsd-toolbar-links"></div><button id="tsd-search-trigger" class="tsd-widget" aria-label="Search"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-search"></use></svg></button><dialog id="tsd-search" aria-label="Search"><input role="combobox" id="tsd-search-input" aria-controls="tsd-search-results" aria-autocomplete="list" aria-expanded="true" autocapitalize="off" autocomplete="off" placeholder="Search the docs" maxLength="100"/><ul role="listbox" id="tsd-search-results"></ul><div id="tsd-search-status" aria-live="polite" aria-atomic="true"><div>Preparing search index...</div></div></dialog><a href="#" class="tsd-widget menu" id="tsd-toolbar-menu-trigger" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb" aria-label="Breadcrumb"><li><a href="../modules/enums_move-use-mode.html">enums/move-use-mode</a></li><li><a href="" aria-current="page">MoveUseMode</a></li></ul><h1>Variable MoveUseMode<code class="tsd-tag">Const</code></h1></div><div class="tsd-signature"><span class="tsd-kind-variable">MoveUseMode</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">{</span><br/>    <span class="tsd-kind-property">DELAYED_ATTACK</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">6</span><span class="tsd-signature-symbol">;</span><br/>    <span class="tsd-kind-property">FOLLOW_UP</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">4</span><span class="tsd-signature-symbol">;</span><br/>    <span class="tsd-kind-property">IGNORE_PP</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">2</span><span class="tsd-signature-symbol">;</span><br/>    <span class="tsd-kind-property">INDIRECT</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">3</span><span class="tsd-signature-symbol">;</span><br/>    <span class="tsd-kind-property">NORMAL</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">1</span><span class="tsd-signature-symbol">;</span><br/>    <span class="tsd-kind-property">REFLECTED</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">5</span><span class="tsd-signature-symbol">;</span><br/><span class="tsd-signature-symbol">}</span><span class="tsd-signature-symbol"> = ...</span></div><div class="tsd-comment tsd-typography"><p>Enum representing all the possible means through which a given move can be executed.
Each one inherits the properties (or exclusions) of all types preceding it.
Properties newly found on a given use mode will be <strong>bolded</strong>,
while oddities breaking a previous trend will be listed in <em>italics</em>.</p>
<p>Callers should refrain from performing non-equality checks on <code>MoveUseMode</code>s directly,
instead using the available helper functions
(<a href="../functions/enums_move-use-mode.isVirtual.html" class="tsd-kind-function"><code>isVirtual</code></a>, <a href="../functions/enums_move-use-mode.isIgnoreStatus.html" class="tsd-kind-function"><code>isIgnoreStatus</code></a>, <a href="../functions/enums_move-use-mode.isIgnorePP.html" class="tsd-kind-function"><code>isIgnorePP</code></a> and <a href="../functions/enums_move-use-mode.isReflected.html" class="tsd-kind-function"><code>isReflected</code></a>).</p>
</div><div class="tsd-type-declaration"><h4>Type declaration</h4><ul class="tsd-parameters"><li class="tsd-parameter"><h5 id="delayed_attack"><code class="tsd-tag">Readonly</code><span class="tsd-kind-property">DELAYED_ATTACK</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">6</span></h5><div class="tsd-comment tsd-typography"><p>This &quot;move&quot; was created by a transparent effect that <strong>does not count as using a move</strong>,
such as <a href="../classes/data_moves_move.DelayedAttackAttr.html" class="tsd-kind-class"><code>Future Sight/Doom Desire</code></a>.</p>
<p>In addition to inheriting the cancellation ignores and copy prevention from <a href="#reflected" class="tsd-kind-property"><code>MoveUseMode.REFLECTED</code></a>,
transparent moves are ignored by <strong>all forms of move usage checks</strong> due to <strong>not pushing to move history</strong>.</p>
</div><div class="tsd-comment tsd-typography"><div class="tsd-tag-todo"><h4 class="tsd-anchor-link" id="todo">Todo<a href="#todo" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><p>Consider other means of implementing FS/DD than this - we currently only use it
to prevent pushing to move history and avoid re-delaying the attack portion</p>
</div></div></li><li class="tsd-parameter"><h5 id="follow_up"><code class="tsd-tag">Readonly</code><span class="tsd-kind-property">FOLLOW_UP</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">4</span></h5><div class="tsd-comment tsd-typography"><p>This move was called as part of another move's effect (such as for most <a href="https://bulbapedia.bulbagarden.net/wiki/Category:Moves_that_call_other_moves">Move-calling moves</a>).</p>
<p>Follow-up moves <strong>bypass cancellation</strong> from all <strong>non-volatile status conditions</strong> and <strong><a href="../enums/enums_battler-tag-lapse-type.BattlerTagLapseType.html#move" class="tsd-kind-enum-member"><code>BattlerTagLapseType.MOVE</code></a>-type effects</strong>
(having been checked already on the calling move).</p>
<p>They are <em>not ignored</em> by other move-calling moves and abilities (unlike <a href="#follow_up" class="tsd-kind-property"><code>MoveUseMode.FOLLOW_UP</code></a> and <a href="#reflected" class="tsd-kind-property"><code>MoveUseMode.REFLECTED</code></a>),
but still inherit the former's disregard for moveset-related effects.</p>
</div><div class="tsd-comment tsd-typography"></div></li><li class="tsd-parameter"><h5 id="ignore_pp"><code class="tsd-tag">Readonly</code><span class="tsd-kind-property">IGNORE_PP</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">2</span></h5><div class="tsd-comment tsd-typography"><p>This move was called by an effect that ignores PP, such as a consecutively executed move (e.g. Outrage).</p>
<p>PP-ignoring moves (as their name implies) <strong>do not consume PP</strong> when used
and <strong>will not fail</strong> if none is left prior to execution.
All other effects remain identical to <a href="#normal" class="tsd-kind-property"><code>MoveUseMode.NORMAL</code></a>.</p>
<p>PP can still be reduced by other effects (such as Spite or Eerie Spell).</p>
</div><div class="tsd-comment tsd-typography"></div></li><li class="tsd-parameter"><h5 id="indirect"><code class="tsd-tag">Readonly</code><span class="tsd-kind-property">INDIRECT</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">3</span></h5><div class="tsd-comment tsd-typography"><p>This move was called indirectly by an out-of-turn effect other than Instruct or the user's previous move.
Currently only used by <a href="../classes/data_abilities_ability.PostDancingMoveAbAttr.html" class="tsd-kind-class"><code>Dancer</code></a>.</p>
<p>Indirect moves ignore PP checks similar to <a href="#ignore_pp" class="tsd-kind-property"><code>MoveUseMode.IGNORE_PP</code></a>, but additionally <strong>cannot be copied</strong>
by all move-copying effects (barring reflection).
They are also <strong>&quot;skipped over&quot; by most moveset and move history-related effects</strong> (PP reduction, Last Resort, etc).</p>
<p>They still respect the user's volatile status conditions and confusion (though will uniquely <em>cure freeze and sleep before use</em>).</p>
</div><div class="tsd-comment tsd-typography"></div></li><li class="tsd-parameter"><h5 id="normal"><code class="tsd-tag">Readonly</code><span class="tsd-kind-property">NORMAL</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">1</span></h5><div class="tsd-comment tsd-typography"><p>This move was used normally (i.e. clicking on the button) or called via Instruct.
It deducts PP from the user's moveset (failing if out of PP), and interacts normally with other moves and abilities.</p>
</div><div class="tsd-comment tsd-typography"></div></li><li class="tsd-parameter"><h5 id="reflected"><code class="tsd-tag">Readonly</code><span class="tsd-kind-property">REFLECTED</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">5</span></h5><div class="tsd-comment tsd-typography"><p>This move was reflected by Magic Coat or Magic Bounce.</p>
<p>Reflected moves ignore all the same cancellation checks as <a href="#indirect" class="tsd-kind-property"><code>MoveUseMode.INDIRECT</code></a>
and retain the same copy prevention as <a href="#follow_up" class="tsd-kind-property"><code>MoveUseMode.FOLLOW_UP</code></a>, but additionally
<strong>cannot be reflected by other reflecting effects</strong>.</p>
</div><div class="tsd-comment tsd-typography"></div></li></ul></div><div class="tsd-comment tsd-typography"></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/pagefaultgames/pokerogue/blob/5d4b805c13e13bfb04f71537c9df62416e013382/src/enums/move-use-mode.ts#L16">src/enums/move-use-mode.ts:16</a></li><li>Defined in <a href="https://github.com/pagefaultgames/pokerogue/blob/5d4b805c13e13bfb04f71537c9df62416e013382/src/enums/move-use-mode.ts#L77">src/enums/move-use-mode.ts:77</a></li></ul></aside></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg><h3>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-protected" name="protected"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Protected</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-external" name="external"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>External</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div></div><div class="site-menu"><nav class="tsd-navigation"><a href="../modules.html">pokemon-rogue-battle</a><ul class="tsd-small-nested-navigation" id="tsd-nav-container"><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer><div class="overlay"></div></body></html>