Port weather, copying moves, held items and obedience (#28)
Checks / web (push) Canceled after 0s

Complete the weather, Substitute, Transform, called-move and forced-switch effects. Add held-item behavior, Exp. Share awards and badge-based traded Pokemon obedience, and persist trainer berry consumption.

Validated with 576 passing unit tests and 149 browser tests, native/reference builds, reference/vendor/release checks and 320 Metal Powder emulator comparisons per browser. Smart AI and special balls/battle types remain on #28.
This commit is contained in:
Sébastien QUEROL committed 2026-10-03 15:03:19 +02:00
1 parent 8f5b464efc
commit 32d736ecae
13 files changed
+1509 -75

No files matched your search

+24
View File
@@ -105,6 +105,8 @@ export const C = {
SKULL_BASH: 130,
SKY_ATTACK: 143,
WHIRLPOOL: 250,
ROAR: 46,
TRANSFORM: 144,
MIRROR_MOVE: 119,
REST: 156,
ENCORE: 227,
@@ -131,11 +133,16 @@ export const C = {
NORMAL: 0,
FLYING: 2,
POISON: 3,
ROCK: 5,
GROUND: 4,
STEEL: 9,
BIRD: 6,
GHOST: 8,
GRASS: 22,
UNUSED_TYPES: 10,
UNUSED_TYPES_END: 20,
TYPES_END: 28,
CURSE_TYPE: 19,
FIRE: 20,
SPECIAL: 20,
ICE: 25,
@@ -156,6 +163,7 @@ export const C = {
POKE_BALL: 5,
LUCKY_PUNCH: 30,
METAL_POWDER: 35,
BERSERK_GENE: 0x98,
STICK: 105,
THICK_CLUB: 118,
EXP_SHARE: 57,
@@ -387,10 +395,13 @@ export const COMMAND = {
freezetarget: 24,
paralyzetarget: 25,
selfdestruct: 26,
mirrormove: 27,
payday: 30,
conversion: 31,
resetstats: 32,
storeenergy: 33,
unleashenergy: 34,
forceswitch: 35,
endloop: 36,
flinchtarget: 37,
ohko: 38,
@@ -400,10 +411,14 @@ export const COMMAND = {
confuse: 42,
confusetarget: 43,
heal: 44,
transform: 45,
screen: 46,
poison: 47,
paralyze: 48,
substitute: 49,
rechargenextturn: 50,
mimic: 51,
metronome: 52,
leechseed: 53,
splash: 54,
disable: 55,
@@ -417,7 +432,11 @@ export const COMMAND = {
counter: 64,
encore: 65,
painsplit: 66,
snore: 67,
conversion2: 68,
lockon: 69,
sketch: 70,
sleeptalk: 72,
destinybond: 73,
spite: 74,
falseswipe: 75,
@@ -434,6 +453,7 @@ export const COMMAND = {
spikes: 86,
foresight: 87,
perishsong: 88,
startsandstorm: 89,
endure: 90,
checkrollout: 91,
rolloutpower: 92,
@@ -446,12 +466,15 @@ export const COMMAND = {
safeguard: 100,
checksafeguard: 101,
getmagnitude: 102,
batonpass: 103,
pursuit: 104,
clearhazards: 105,
healmorn: 106,
healday: 107,
healnite: 108,
hiddenpower: 109,
startrain: 110,
startsun: 111,
attackup: 112,
defenseup: 113,
speedup: 114,
@@ -500,6 +523,7 @@ export const COMMAND = {
doubleminimizedamage: 157,
skipsuncharge: 158,
thunderaccuracy: 159,
teleport: 160,
beatup: 161,
ragedamage: 162,
resettypematchup: 163,