I think an easier way to interpret Dusk Mage Necrozma's rule is to express abilities in terms of "if" and "while" statements and attempting to minimize the total number of "if" and "while" statements used. If the ability has a "while" statement, it is fully eliminated from the ability.
I define "while" as a conditional for states and "if" as a conditional for events. The most direct state/event should be used as best as possible (basically just the most concise the majority of the time). The pseudocode should be as short as possible, but still separate events and states.
For example, Sturdy can be expressed as
Eliminating the "while" statement gives
Weather abilities fall under this as well, with "while (weather) :" being applicable, since weather is a state of the field.
I don't believe Stakeout would provide a permanent 2x damage under this framework since it uses 2 events and doesn't use a state.
For forme changes, Cramorant would likely just not work since it uses 2 "while" statements, and eliminating them both would give a Schrödinger's Cramorant.
Meloetta also probably doesn't work because you can swap the order of the while loops and the default functionality remains the same. However, Meloetta becomes permanently locked into 1 form in the OM idea.
Meloetta changes forms using a move, not an ability.
Honestly, form changes should be excluded entirely from this OM idea.
I define "while" as a conditional for states and "if" as a conditional for events. The most direct state/event should be used as best as possible (basically just the most concise the majority of the time). The pseudocode should be as short as possible, but still separate events and states.
For example, Sturdy can be expressed as
Code:
while (at 100% HP) :
if (take KO damage) :
live at 1%
Eliminating the "while" statement gives
Code:
if (take KO damage) :
live at 1%
Weather abilities fall under this as well, with "while (weather) :" being applicable, since weather is a state of the field.
I don't believe Stakeout would provide a permanent 2x damage under this framework since it uses 2 events and doesn't use a state.
Code:
if (use attack) :
if (opponent switches) :
damage = damage * 2
For forme changes, Cramorant would likely just not work since it uses 2 "while" statements, and eliminating them both would give a Schrödinger's Cramorant.
Code:
if (use Surf/Dive) :
while (HP > 50%) :
become Cramorant-Gulping
while (HP < 50%) :
become Cramorant-Gorging
if (opponent attacks) :
while (Cramorant-Gulping) :
make opponent lose 25% HP
make opponent paralyzed
revert to normal
while (Cramorant-Gorging) :
make opponent lose 25% HP
make opponent lose 1 defense
revert to normal
Code:
if (use Relic Song) :
while (Meloetta-Aria) :
become Meloetta-Pirouette
end code
while (Meloetta-Pirouette) :
become Meloetta-Aria
Honestly, form changes should be excluded entirely from this OM idea.
Last edited: