Port the status and field move effects

Toxic, Leech Seed, Nightmare and Curse hurt in ResidualDamage's order.
Protect, Detect, Endure, Destiny Bond, Spite, Heal Bell, Disable, Encore,
Attract, Mist, Focus Energy, Haze, the healing moves and Rest, Mean Look,
Pain Split, Belly Drum, Psych Up, Safeguard, Perish Song, Spikes, Rapid
Spin, AncientPower and Future Sight now run, with Future Sight, Perish
Song, Safeguard and Encore handled between turns and Spikes on entry.

A trainer's party struct now follows its Pokémon where the original
updates it, and the enemy's moves spend PP there or in the wild
Pokémon's kept PP, so a caught Pokémon keeps the PP it used.

Part of #28

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Sébastien QUEROLandClaude Opus 5.5 committed 2026-10-03 11:11:19 +02:00
1 parent c53edb77e5
commit 8f5b464efc
6 files changed
+1036 -52

No files matched your search

+34
View File
@@ -105,6 +105,10 @@ export const C = {
SKULL_BASH: 130,
SKY_ATTACK: 143,
WHIRLPOOL: 250,
MIRROR_MOVE: 119,
REST: 156,
ENCORE: 227,
FUTURE_SIGHT: 248,
WHIRLWIND: 18,
FLY: 19,
THUNDER: 87,
@@ -128,6 +132,8 @@ export const C = {
FLYING: 2,
POISON: 3,
BIRD: 6,
GHOST: 8,
GRASS: 22,
UNUSED_TYPES: 10,
UNUSED_TYPES_END: 20,
FIRE: 20,
@@ -189,6 +195,8 @@ export const C = {
SP_DEFENSE: 4,
ACCURACY: 5,
EVASION: 6,
ABILITY: 7,
REST_SLEEP_TURNS: 2,
BASE_STAT_LEVEL: 7,
MAX_STAT_LEVEL: 13,
MAX_LEVEL: 100,
@@ -380,19 +388,25 @@ export const COMMAND = {
paralyzetarget: 25,
selfdestruct: 26,
payday: 30,
resetstats: 32,
storeenergy: 33,
unleashenergy: 34,
endloop: 36,
flinchtarget: 37,
ohko: 38,
recoil: 39,
mist: 40,
focusenergy: 41,
confuse: 42,
confusetarget: 43,
heal: 44,
screen: 46,
poison: 47,
paralyze: 48,
rechargenextturn: 50,
leechseed: 53,
splash: 54,
disable: 55,
cleartext: 56,
charge: 57,
checkcharge: 58,
@@ -401,24 +415,39 @@ export const COMMAND = {
checkrampage: 62,
constantdamage: 63,
counter: 64,
encore: 65,
painsplit: 66,
lockon: 69,
destinybond: 73,
spite: 74,
falseswipe: 75,
healbell: 76,
kingsrock: 77,
triplekick: 78,
kickcounter: 79,
thief: 80,
arenatrap: 81,
nightmare: 82,
defrost: 83,
curse: 84,
protect: 85,
spikes: 86,
foresight: 87,
perishsong: 88,
endure: 90,
checkrollout: 91,
rolloutpower: 92,
furycutter: 94,
attract: 95,
happinesspower: 96,
present: 97,
damagecalc: 98,
frustrationpower: 99,
safeguard: 100,
checksafeguard: 101,
getmagnitude: 102,
pursuit: 104,
clearhazards: 105,
healmorn: 106,
healday: 107,
healnite: 108,
@@ -460,16 +489,21 @@ export const COMMAND = {
statupanim: 146,
switchturn: 147,
fakeout: 148,
bellydrum: 149,
psychup: 150,
rage: 151,
doubleflyingdamage: 152,
doubleundergrounddamage: 153,
mirrorcoat: 154,
checkfuturesight: 155,
futuresight: 156,
doubleminimizedamage: 157,
skipsuncharge: 158,
thunderaccuracy: 159,
beatup: 161,
ragedamage: 162,
resettypematchup: 163,
allstatsup: 164,
bidefailtext: 165,
raisesubnoanim: 166,
lowersubnoanim: 167,