Removed all unused effects

Some util updates
This commit is contained in:
Nephrite 2023-12-25 12:31:23 +09:00
parent cda445c2f5
commit f3e67cf543
5 changed files with 404 additions and 457 deletions

View file

@ -24,11 +24,7 @@
gBattleScriptsForMoveEffects::
.4byte BattleScript_EffectHit @ EFFECT_HIT
.4byte BattleScript_EffectSleep @ EFFECT_SLEEP
.4byte BattleScript_EffectHit @ EFFECT_UNUSED_2
.4byte BattleScript_EffectAbsorb @ EFFECT_ABSORB
.4byte BattleScript_EffectHit @ EFFECT_UNUSED_4
.4byte BattleScript_EffectHit @ EFFECT_UNUSED_5
.4byte BattleScript_EffectHit @ EFFECT_UNUSED_6
.4byte BattleScript_EffectExplosion @ EFFECT_EXPLOSION
.4byte BattleScript_EffectDreamEater @ EFFECT_DREAM_EATER
.4byte BattleScript_EffectMirrorMove @ EFFECT_MIRROR_MOVE
@ -53,12 +49,9 @@ gBattleScriptsForMoveEffects::
.4byte BattleScript_EffectRoar @ EFFECT_ROAR
.4byte BattleScript_EffectHit @ EFFECT_MULTI_HIT
.4byte BattleScript_EffectConversion @ EFFECT_CONVERSION
.4byte BattleScript_EffectHit @ EFFECT_UNUSED_31
.4byte BattleScript_EffectRestoreHp @ EFFECT_RESTORE_HP
.4byte BattleScript_EffectToxic @ EFFECT_TOXIC
.4byte BattleScript_EffectHit @ EFFECT_UNUSED_34
.4byte BattleScript_EffectLightScreen @ EFFECT_LIGHT_SCREEN
.4byte BattleScript_EffectHit @ EFFECT_UNUSED_36
.4byte BattleScript_EffectRest @ EFFECT_REST
.4byte BattleScript_EffectOHKO @ EFFECT_OHKO
.4byte BattleScript_EffectHit @ EFFECT_FUSION_COMBO
@ -89,15 +82,7 @@ gBattleScriptsForMoveEffects::
.4byte BattleScript_EffectReflect @ EFFECT_REFLECT
.4byte BattleScript_EffectPoison @ EFFECT_POISON
.4byte BattleScript_EffectParalyze @ EFFECT_PARALYZE
.4byte BattleScript_EffectHit @ EFFECT_UNUSED_67
.4byte BattleScript_EffectHit @ EFFECT_UNUSED_68
.4byte BattleScript_EffectHit @ EFFECT_UNUSED_69
.4byte BattleScript_EffectHit @ EFFECT_UNUSED_70
.4byte BattleScript_EffectHit @ EFFECT_UNUSED_71
.4byte BattleScript_EffectHit @ EFFECT_UNUSED_72
.4byte BattleScript_EffectHit @ EFFECT_UNUSED_73
.4byte BattleScript_EffectTwoTurnsAttack @ EFFECT_TWO_TURNS_ATTACK
.4byte BattleScript_EffectHit @ EFFECT_UNUSED_75
.4byte BattleScript_EffectHit @ EFFECT_VITAL_THROW
.4byte BattleScript_EffectSubstitute @ EFFECT_SUBSTITUTE
.4byte BattleScript_EffectHit @ EFFECT_RECHARGE
@ -116,7 +101,6 @@ gBattleScriptsForMoveEffects::
.4byte BattleScript_EffectConversion2 @ EFFECT_CONVERSION_2
.4byte BattleScript_EffectLockOn @ EFFECT_LOCK_ON
.4byte BattleScript_EffectSketch @ EFFECT_SKETCH
.4byte BattleScript_EffectHit @ EFFECT_UNUSED_94
.4byte BattleScript_EffectSleepTalk @ EFFECT_SLEEP_TALK
.4byte BattleScript_EffectDestinyBond @ EFFECT_DESTINY_BOND
.4byte BattleScript_EffectHit @ EFFECT_FLAIL
@ -156,8 +140,6 @@ gBattleScriptsForMoveEffects::
.4byte BattleScript_EffectHit @ EFFECT_HIDDEN_POWER
.4byte BattleScript_EffectRainDance @ EFFECT_RAIN_DANCE
.4byte BattleScript_EffectSunnyDay @ EFFECT_SUNNY_DAY
.4byte BattleScript_EffectHit @ EFFECT_UNUSED_135
.4byte BattleScript_EffectHit @ EFFECT_UNUSED_136
.4byte BattleScript_EffectHit @ EFFECT_ALL_STATS_UP_HIT
.4byte BattleScript_EffectHit @ EFFECT_FELL_STINGER
.4byte BattleScript_EffectBellyDrum @ EFFECT_BELLY_DRUM
@ -198,7 +180,6 @@ gBattleScriptsForMoveEffects::
.4byte BattleScript_EffectWish @ EFFECT_WISH
.4byte BattleScript_EffectAssist @ EFFECT_ASSIST
.4byte BattleScript_EffectIngrain @ EFFECT_INGRAIN
.4byte BattleScript_EffectHit @ EFFECT_UNUSED_177
.4byte BattleScript_EffectMagicCoat @ EFFECT_MAGIC_COAT
.4byte BattleScript_EffectRecycle @ EFFECT_RECYCLE
.4byte BattleScript_EffectHit @ EFFECT_REVENGE
@ -217,9 +198,7 @@ gBattleScriptsForMoveEffects::
.4byte BattleScript_EffectTeeterDance @ EFFECT_TEETER_DANCE
.4byte BattleScript_EffectHitEscape @ EFFECT_HIT_ESCAPE
.4byte BattleScript_EffectMudSport @ EFFECT_MUD_SPORT
.4byte BattleScript_EffectHit @ EFFECT_UNUSED_197
.4byte BattleScript_EffectHit @ EFFECT_WEATHER_BALL
.4byte BattleScript_EffectHit @ EFFECT_UNUSED_199
.4byte BattleScript_EffectTickle @ EFFECT_TICKLE
.4byte BattleScript_EffectCosmicPower @ EFFECT_COSMIC_POWER
.4byte BattleScript_EffectSkyUppercut @ EFFECT_SKY_UPPERCUT
@ -275,7 +254,6 @@ gBattleScriptsForMoveEffects::
.4byte BattleScript_EffectMetalBurst @ EFFECT_METAL_BURST
.4byte BattleScript_EffectLuckyChant @ EFFECT_LUCKY_CHANT
.4byte BattleScript_EffectSuckerPunch @ EFFECT_SUCKER_PUNCH
.4byte BattleScript_EffectHit @ EFFECT_UNUSED_255
.4byte BattleScript_EffectSimpleBeam @ EFFECT_SIMPLE_BEAM
.4byte BattleScript_EffectEntrainment @ EFFECT_ENTRAINMENT
.4byte BattleScript_EffectHealPulse @ EFFECT_HEAL_PULSE
@ -292,14 +270,12 @@ gBattleScriptsForMoveEffects::
.4byte BattleScript_EffectHit @ EFFECT_HURRICANE
.4byte BattleScript_EffectHit @ EFFECT_TWO_TYPED_MOVE
.4byte BattleScript_EffectMeFirst @ EFFECT_ME_FIRST
.4byte BattleScript_EffectHit @ EFFECT_UNUSED_272
.4byte BattleScript_EffectQuiverDance @ EFFECT_QUIVER_DANCE
.4byte BattleScript_EffectCoil @ EFFECT_COIL
.4byte BattleScript_EffectElectrify @ EFFECT_ELECTRIFY
.4byte BattleScript_EffectReflectType @ EFFECT_REFLECT_TYPE
.4byte BattleScript_EffectSoak @ EFFECT_SOAK
.4byte BattleScript_EffectGrowth @ EFFECT_GROWTH
.4byte BattleScript_EffectHit @ EFFECT_UNUSED_279
.4byte BattleScript_EffectLastResort @ EFFECT_LAST_RESORT
.4byte BattleScript_EffectShellSmash @ EFFECT_SHELL_SMASH
.4byte BattleScript_EffectShiftGear @ EFFECT_SHIFT_GEAR
@ -307,7 +283,6 @@ gBattleScriptsForMoveEffects::
.4byte BattleScript_EffectNobleRoar @ EFFECT_NOBLE_ROAR
.4byte BattleScript_EffectVenomDrench @ EFFECT_VENOM_DRENCH
.4byte BattleScript_EffectToxicThread @ EFFECT_TOXIC_THREAD
.4byte BattleScript_EffectHit @ EFFECT_UNUSED_290
.4byte BattleScript_EffectHitSwitchTarget @ EFFECT_HIT_SWITCH_TARGET
.4byte BattleScript_EffectFinalGambit @ EFFECT_FINAL_GAMBIT
.4byte BattleScript_EffectHit @ EFFECT_CHANGE_TYPE_ON_ITEM
@ -335,14 +310,10 @@ gBattleScriptsForMoveEffects::
.4byte BattleScript_EffectAcupressure @ EFFECT_ACUPRESSURE
.4byte BattleScript_EffectAromaticMist @ EFFECT_AROMATIC_MIST
.4byte BattleScript_EffectPowder @ EFFECT_POWDER
.4byte BattleScript_EffectHit @ EFFECT_UNUSED_318
.4byte BattleScript_EffectHit @ EFFECT_BELCH
.4byte BattleScript_EffectPartingShot @ EFFECT_PARTING_SHOT
.4byte BattleScript_EffectHit @ EFFECT_UNUSED_321
.4byte BattleScript_EffectHit @ EFFECT_UNUSED_322
.4byte BattleScript_EffectMatBlock @ EFFECT_MAT_BLOCK
.4byte BattleScript_EffectHit @ EFFECT_STOMPING_TANTRUM
.4byte BattleScript_EffectHit @ EFFECT_UNUSED_325
.4byte BattleScript_EffectInstruct @ EFFECT_INSTRUCT
.4byte BattleScript_EffectThroatChop @ EFFECT_THROAT_CHOP
.4byte BattleScript_EffectLaserFocus @ EFFECT_LASER_FOCUS
@ -359,7 +330,6 @@ gBattleScriptsForMoveEffects::
.4byte BattleScript_EffectFairyLock @ EFFECT_FAIRY_LOCK
.4byte BattleScript_EffectAllySwitch @ EFFECT_ALLY_SWITCH
.4byte BattleScript_EffectRelicSong @ EFFECT_RELIC_SONG
.4byte BattleScript_EffectHit @ EFFECT_UNUSED_342
.4byte BattleScript_EffectHit @ EFFECT_BODY_PRESS
.4byte BattleScript_EffectEerieSpell @ EFFECT_EERIE_SPELL
.4byte BattleScript_EffectJungleHealing @ EFFECT_JUNGLE_HEALING
@ -372,7 +342,6 @@ gBattleScriptsForMoveEffects::
.4byte BattleScript_EffectRecoilHP25 @ EFFECT_RECOIL_HP_25
.4byte BattleScript_EffectStuffCheeks @ EFFECT_STUFF_CHEEKS
.4byte BattleScript_EffectHit @ EFFECT_GRAV_APPLE
.4byte BattleScript_EffectHit @ EFFECT_UNUSED_355
.4byte BattleScript_EffectGlitzyGlow @ EFFECT_GLITZY_GLOW
.4byte BattleScript_EffectBaddyBad @ EFFECT_BADDY_BAD
.4byte BattleScript_EffectSappySeed @ EFFECT_SAPPY_SEED
@ -384,7 +353,6 @@ gBattleScriptsForMoveEffects::
.4byte BattleScript_EffectPhotonGeyser @ EFFECT_PHOTON_GEYSER
.4byte BattleScript_EffectShellSideArm @ EFFECT_SHELL_SIDE_ARM
.4byte BattleScript_EffectHit @ EFFECT_TERRAIN_PULSE
.4byte BattleScript_EffectHit @ EFFECT_UNUSED_367
.4byte BattleScript_EffectNoRetreat @ EFFECT_NO_RETREAT
.4byte BattleScript_EffectTarShot @ EFFECT_TAR_SHOT
.4byte BattleScript_EffectPoltergeist @ EFFECT_POLTERGEIST
@ -403,7 +371,6 @@ gBattleScriptsForMoveEffects::
.4byte BattleScript_EffectDarkVoid @ EFFECT_DARK_VOID
.4byte BattleScript_EffectHit @ EFFET_UNUSED_384
.4byte BattleScript_EffectDoubleShock @ EFFECT_DOUBLE_SHOCK
.4byte BattleScript_EffectHit @ EFFECT_UNUSED_387
.4byte BattleScript_EffectVictoryDance @ EFFECT_VICTORY_DANCE
.4byte BattleScript_EffectTeatime @ EFFECT_TEATIME
.4byte BattleScript_EffectAttackUpUserAlly @ EFFECT_ATTACK_UP_USER_ALLY
@ -411,21 +378,15 @@ gBattleScriptsForMoveEffects::
.4byte BattleScript_EffectHit @ EFFECT_PSYBLADE
.4byte BattleScript_EffectHit @ EFFECT_HYDRO_STEAM
.4byte BattleScript_EffectHit @ EFFECT_HIT_SET_ENTRY_HAZARD
.4byte BattleScript_EffectHit @ EFFECT_UNUSED_394
.4byte BattleScript_EffectHit @ EFFECT_BARB_BARRAGE
.4byte BattleScript_EffectRevivalBlessing @ EFFECT_REVIVAL_BLESSING
.4byte BattleScript_EffectHit @ EFFECT_UNUSED_397
.4byte BattleScript_EffectSnow @ EFFECT_SNOWSCAPE
.4byte BattleScript_EffectHit @ EFFECT_UNUSED_399
.4byte BattleScript_EffectHit @ EFFECT_INFERNAL_PARADE
.4byte BattleScript_EffectTakeHeart @ EFFECT_TAKE_HEART
.4byte BattleScript_EffectHit @ EFFECT_UNUSED_402
.4byte BattleScript_EffectHit @ EFFECT_COLLISION_COURSE
.4byte BattleScript_EffectHit @ EFFECT_UNUSED_404
.4byte BattleScript_EffectMakeItRain @ EFFECT_MAKE_IT_RAIN
.4byte BattleScript_EffectCorrosiveGas @ EFFECT_CORROSIVE_GAS
.4byte BattleScript_EffectHit @ EFFECT_POPULATION_BOMB
.4byte BattleScript_EffectHit @ EFFECT_UNUSED_408
.4byte BattleScript_EffectSaltCure @ EFFECT_SALT_CURE
.4byte BattleScript_EffectChillyReception @ EFFECT_CHILLY_RECEPTION
.4byte BattleScript_EffectMaxMove @ EFFECT_MAX_MOVE

View file

@ -221,6 +221,7 @@ void CopyMonAbilityAndTypesToBattleMon(u32 battler, struct Pokemon *mon);
void RecalcBattlerStats(u32 battler, struct Pokemon *mon);
bool32 IsAlly(u32 battlerAtk, u32 battlerDef);
bool32 IsGen6ExpShareEnabled(void);
bool32 MoveEffectIsGuaranteed(u32 secondaryEffectChance);
bool32 MoveHasMoveEffect(u32 move, u32 moveEffect, bool32 effectHitOnly);
// Ability checks

View file

@ -3,423 +3,381 @@
#define EFFECT_HIT 0
#define EFFECT_SLEEP 1
#define EFFECT_UNUSED_2 2
#define EFFECT_ABSORB 3
#define EFFECT_UNUSED_4 4
#define EFFECT_UNUSED_5 5
#define EFFECT_UNUSED_6 6
#define EFFECT_EXPLOSION 7
#define EFFECT_DREAM_EATER 8
#define EFFECT_MIRROR_MOVE 9
#define EFFECT_ATTACK_UP 10
#define EFFECT_DEFENSE_UP 11
#define EFFECT_SPEED_UP 12
#define EFFECT_SPECIAL_ATTACK_UP 13
#define EFFECT_SPECIAL_DEFENSE_UP 14
#define EFFECT_ACCURACY_UP 15
#define EFFECT_EVASION_UP 16
#define EFFECT_SPECIAL_ATTACK_UP_3 17
#define EFFECT_ATTACK_DOWN 18
#define EFFECT_DEFENSE_DOWN 19
#define EFFECT_SPEED_DOWN 20
#define EFFECT_SPECIAL_ATTACK_DOWN 21
#define EFFECT_SPECIAL_DEFENSE_DOWN 22
#define EFFECT_ACCURACY_DOWN 23
#define EFFECT_EVASION_DOWN 24
#define EFFECT_HAZE 25
#define EFFECT_BIDE 26
#define EFFECT_RAMPAGE 27
#define EFFECT_ROAR 28
#define EFFECT_MULTI_HIT 29
#define EFFECT_CONVERSION 30
#define EFFECT_UNUSED_31 31
#define EFFECT_RESTORE_HP 32
#define EFFECT_TOXIC 33
#define EFFECT_UNUSED_34 34
#define EFFECT_LIGHT_SCREEN 35
#define EFFECT_UNUSED_36 36
#define EFFECT_REST 37
#define EFFECT_OHKO 38
#define EFFECT_FUSION_COMBO 39
#define EFFECT_SUPER_FANG 40
#define EFFECT_DRAGON_RAGE 41
#define EFFECT_TRAP 42
#define EFFECT_HEAL_BLOCK 43
#define EFFECT_RECOIL_IF_MISS 44
#define EFFECT_MIST 45
#define EFFECT_FOCUS_ENERGY 46
#define EFFECT_RECOIL 47
#define EFFECT_CONFUSE 48
#define EFFECT_ATTACK_UP_2 49
#define EFFECT_DEFENSE_UP_2 50
#define EFFECT_SPEED_UP_2 51
#define EFFECT_SPECIAL_ATTACK_UP_2 52
#define EFFECT_SPECIAL_DEFENSE_UP_2 53
#define EFFECT_ACCURACY_UP_2 54
#define EFFECT_EVASION_UP_2 55
#define EFFECT_TRANSFORM 56
#define EFFECT_ATTACK_DOWN_2 57
#define EFFECT_DEFENSE_DOWN_2 58
#define EFFECT_SPEED_DOWN_2 59
#define EFFECT_SPECIAL_ATTACK_DOWN_2 60
#define EFFECT_SPECIAL_DEFENSE_DOWN_2 61
#define EFFECT_ACCURACY_DOWN_2 62
#define EFFECT_EVASION_DOWN_2 63
#define EFFECT_REFLECT 64
#define EFFECT_POISON 65
#define EFFECT_PARALYZE 66
#define EFFECT_UNUSED_67 67
#define EFFECT_UNUSED_68 68
#define EFFECT_UNUSED_69 69
#define EFFECT_UNUSED_70 70
#define EFFECT_UNUSED_71 71
#define EFFECT_UNUSED_72 72
#define EFFECT_UNUSED_73 73
#define EFFECT_TWO_TURNS_ATTACK 74
#define EFFECT_UNUSED_75 75
#define EFFECT_VITAL_THROW 76
#define EFFECT_SUBSTITUTE 77
#define EFFECT_RECHARGE 78
#define EFFECT_RAGE 79
#define EFFECT_MIMIC 80
#define EFFECT_METRONOME 81
#define EFFECT_LEECH_SEED 82
#define EFFECT_DO_NOTHING 83
#define EFFECT_DISABLE 84
#define EFFECT_LEVEL_DAMAGE 85
#define EFFECT_PSYWAVE 86
#define EFFECT_COUNTER 87
#define EFFECT_ENCORE 88
#define EFFECT_PAIN_SPLIT 89
#define EFFECT_SNORE 90
#define EFFECT_CONVERSION_2 91
#define EFFECT_LOCK_ON 92
#define EFFECT_SKETCH 93
#define EFFECT_UNUSED_94 94
#define EFFECT_SLEEP_TALK 95
#define EFFECT_DESTINY_BOND 96
#define EFFECT_FLAIL 97
#define EFFECT_SPITE 98
#define EFFECT_FALSE_SWIPE 99
#define EFFECT_HEAL_BELL 100
#define EFFECT_ALWAYS_CRIT 101
#define EFFECT_TRIPLE_KICK 102
#define EFFECT_THIEF 103
#define EFFECT_MEAN_LOOK 104
#define EFFECT_NIGHTMARE 105
#define EFFECT_MINIMIZE 106
#define EFFECT_CURSE 107
#define EFFECT_HEALING_WISH 108
#define EFFECT_PROTECT 109
#define EFFECT_SPIKES 110
#define EFFECT_FORESIGHT 111
#define EFFECT_PERISH_SONG 112
#define EFFECT_SANDSTORM 113
#define EFFECT_ENDURE 114
#define EFFECT_ROLLOUT 115
#define EFFECT_SWAGGER 116
#define EFFECT_FURY_CUTTER 117
#define EFFECT_ATTRACT 118
#define EFFECT_RETURN 119
#define EFFECT_PRESENT 120
#define EFFECT_FRUSTRATION 121
#define EFFECT_SAFEGUARD 122
#define EFFECT_MAGNITUDE 123
#define EFFECT_BATON_PASS 124
#define EFFECT_PURSUIT 125
#define EFFECT_RAPID_SPIN 126
#define EFFECT_SONICBOOM 127
#define EFFECT_CAPTIVATE 128
#define EFFECT_MORNING_SUN 129
#define EFFECT_SYNTHESIS 130
#define EFFECT_MOONLIGHT 131
#define EFFECT_HIDDEN_POWER 132
#define EFFECT_RAIN_DANCE 133
#define EFFECT_SUNNY_DAY 134
#define EFFECT_UNUSED_135 135
#define EFFECT_UNUSED_136 136
#define EFFECT_ALL_STATS_UP_HIT 137
#define EFFECT_FELL_STINGER 138
#define EFFECT_BELLY_DRUM 139
#define EFFECT_PSYCH_UP 140
#define EFFECT_MIRROR_COAT 141
#define EFFECT_SKULL_BASH 142
#define EFFECT_EARTHQUAKE 143
#define EFFECT_FUTURE_SIGHT 144
#define EFFECT_GUST 145
#define EFFECT_SOLAR_BEAM 146
#define EFFECT_THUNDER 147
#define EFFECT_TELEPORT 148
#define EFFECT_BEAT_UP 149
#define EFFECT_SEMI_INVULNERABLE 150
#define EFFECT_DEFENSE_CURL 151
#define EFFECT_SOFTBOILED 152
#define EFFECT_FAKE_OUT 153
#define EFFECT_UPROAR 154
#define EFFECT_STOCKPILE 155
#define EFFECT_SPIT_UP 156
#define EFFECT_SWALLOW 157
#define EFFECT_WORRY_SEED 158
#define EFFECT_HAIL 159
#define EFFECT_TORMENT 160
#define EFFECT_FLATTER 161
#define EFFECT_WILL_O_WISP 162
#define EFFECT_MEMENTO 163
#define EFFECT_FACADE 164
#define EFFECT_FOCUS_PUNCH 165
#define EFFECT_SMELLING_SALTS 166
#define EFFECT_FOLLOW_ME 167
#define EFFECT_NATURE_POWER 168
#define EFFECT_CHARGE 169
#define EFFECT_TAUNT 170
#define EFFECT_HELPING_HAND 171
#define EFFECT_TRICK 172
#define EFFECT_ROLE_PLAY 173
#define EFFECT_WISH 174
#define EFFECT_ASSIST 175
#define EFFECT_INGRAIN 176
#define EFFECT_UNUSED_177 177
#define EFFECT_MAGIC_COAT 178
#define EFFECT_RECYCLE 179
#define EFFECT_REVENGE 180
#define EFFECT_BRICK_BREAK 181
#define EFFECT_YAWN 182
#define EFFECT_KNOCK_OFF 183
#define EFFECT_ENDEAVOR 184
#define EFFECT_ERUPTION 185
#define EFFECT_SKILL_SWAP 186
#define EFFECT_IMPRISON 187
#define EFFECT_REFRESH 188
#define EFFECT_GRUDGE 189
#define EFFECT_SNATCH 190
#define EFFECT_LOW_KICK 191
#define EFFECT_SECRET_POWER 192
#define EFFECT_RECOIL_33 193
#define EFFECT_TEETER_DANCE 194
#define EFFECT_HIT_ESCAPE 195
#define EFFECT_MUD_SPORT 196
#define EFFECT_UNUSED_197 197
#define EFFECT_WEATHER_BALL 198
#define EFFECT_UNUSED_199 199
#define EFFECT_TICKLE 200
#define EFFECT_COSMIC_POWER 201
#define EFFECT_SKY_UPPERCUT 202
#define EFFECT_BULK_UP 203
#define EFFECT_PLACEHOLDER 204
#define EFFECT_WATER_SPORT 205
#define EFFECT_CALM_MIND 206
#define EFFECT_DRAGON_DANCE 207
#define EFFECT_CAMOUFLAGE 208
#define EFFECT_ABSORB 2
#define EFFECT_EXPLOSION 3
#define EFFECT_DREAM_EATER 4
#define EFFECT_MIRROR_MOVE 5
#define EFFECT_ATTACK_UP 6
#define EFFECT_DEFENSE_UP 7
#define EFFECT_SPEED_UP 8
#define EFFECT_SPECIAL_ATTACK_UP 9
#define EFFECT_SPECIAL_DEFENSE_UP 10
#define EFFECT_ACCURACY_UP 11
#define EFFECT_EVASION_UP 12
#define EFFECT_SPECIAL_ATTACK_UP_3 13
#define EFFECT_ATTACK_DOWN 14
#define EFFECT_DEFENSE_DOWN 15
#define EFFECT_SPEED_DOWN 16
#define EFFECT_SPECIAL_ATTACK_DOWN 17
#define EFFECT_SPECIAL_DEFENSE_DOWN 18
#define EFFECT_ACCURACY_DOWN 19
#define EFFECT_EVASION_DOWN 20
#define EFFECT_HAZE 21
#define EFFECT_BIDE 22
#define EFFECT_RAMPAGE 23
#define EFFECT_ROAR 24
#define EFFECT_MULTI_HIT 25
#define EFFECT_CONVERSION 26
#define EFFECT_RESTORE_HP 27
#define EFFECT_TOXIC 28
#define EFFECT_LIGHT_SCREEN 29
#define EFFECT_REST 30
#define EFFECT_OHKO 31
#define EFFECT_FUSION_COMBO 32
#define EFFECT_SUPER_FANG 33
#define EFFECT_DRAGON_RAGE 34
#define EFFECT_TRAP 35
#define EFFECT_HEAL_BLOCK 36
#define EFFECT_RECOIL_IF_MISS 37
#define EFFECT_MIST 38
#define EFFECT_FOCUS_ENERGY 39
#define EFFECT_RECOIL 40
#define EFFECT_CONFUSE 41
#define EFFECT_ATTACK_UP_2 42
#define EFFECT_DEFENSE_UP_2 43
#define EFFECT_SPEED_UP_2 44
#define EFFECT_SPECIAL_ATTACK_UP_2 45
#define EFFECT_SPECIAL_DEFENSE_UP_2 46
#define EFFECT_ACCURACY_UP_2 47
#define EFFECT_EVASION_UP_2 48
#define EFFECT_TRANSFORM 49
#define EFFECT_ATTACK_DOWN_2 50
#define EFFECT_DEFENSE_DOWN_2 51
#define EFFECT_SPEED_DOWN_2 52
#define EFFECT_SPECIAL_ATTACK_DOWN_2 53
#define EFFECT_SPECIAL_DEFENSE_DOWN_2 54
#define EFFECT_ACCURACY_DOWN_2 55
#define EFFECT_EVASION_DOWN_2 56
#define EFFECT_REFLECT 57
#define EFFECT_POISON 58
#define EFFECT_PARALYZE 59
#define EFFECT_TWO_TURNS_ATTACK 60
#define EFFECT_VITAL_THROW 61
#define EFFECT_SUBSTITUTE 62
#define EFFECT_RECHARGE 63
#define EFFECT_RAGE 64
#define EFFECT_MIMIC 65
#define EFFECT_METRONOME 66
#define EFFECT_LEECH_SEED 67
#define EFFECT_DO_NOTHING 68
#define EFFECT_DISABLE 69
#define EFFECT_LEVEL_DAMAGE 70
#define EFFECT_PSYWAVE 71
#define EFFECT_COUNTER 72
#define EFFECT_ENCORE 73
#define EFFECT_PAIN_SPLIT 74
#define EFFECT_SNORE 75
#define EFFECT_CONVERSION_2 76
#define EFFECT_LOCK_ON 77
#define EFFECT_SKETCH 78
#define EFFECT_SLEEP_TALK 79
#define EFFECT_DESTINY_BOND 80
#define EFFECT_FLAIL 81
#define EFFECT_SPITE 82
#define EFFECT_FALSE_SWIPE 83
#define EFFECT_HEAL_BELL 84
#define EFFECT_ALWAYS_CRIT 85
#define EFFECT_TRIPLE_KICK 86
#define EFFECT_THIEF 87
#define EFFECT_MEAN_LOOK 88
#define EFFECT_NIGHTMARE 89
#define EFFECT_MINIMIZE 90
#define EFFECT_CURSE 91
#define EFFECT_HEALING_WISH 92
#define EFFECT_PROTECT 93
#define EFFECT_SPIKES 94
#define EFFECT_FORESIGHT 95
#define EFFECT_PERISH_SONG 96
#define EFFECT_SANDSTORM 97
#define EFFECT_ENDURE 98
#define EFFECT_ROLLOUT 99
#define EFFECT_SWAGGER 100
#define EFFECT_FURY_CUTTER 101
#define EFFECT_ATTRACT 102
#define EFFECT_RETURN 103
#define EFFECT_PRESENT 104
#define EFFECT_FRUSTRATION 105
#define EFFECT_SAFEGUARD 106
#define EFFECT_MAGNITUDE 107
#define EFFECT_BATON_PASS 108
#define EFFECT_PURSUIT 109
#define EFFECT_RAPID_SPIN 110
#define EFFECT_SONICBOOM 111
#define EFFECT_CAPTIVATE 112
#define EFFECT_MORNING_SUN 113
#define EFFECT_SYNTHESIS 114
#define EFFECT_MOONLIGHT 115
#define EFFECT_HIDDEN_POWER 116
#define EFFECT_RAIN_DANCE 117
#define EFFECT_SUNNY_DAY 118
#define EFFECT_ALL_STATS_UP_HIT 119
#define EFFECT_FELL_STINGER 120
#define EFFECT_BELLY_DRUM 121
#define EFFECT_PSYCH_UP 122
#define EFFECT_MIRROR_COAT 123
#define EFFECT_SKULL_BASH 124
#define EFFECT_EARTHQUAKE 125
#define EFFECT_FUTURE_SIGHT 126
#define EFFECT_GUST 127
#define EFFECT_SOLAR_BEAM 128
#define EFFECT_THUNDER 129
#define EFFECT_TELEPORT 130
#define EFFECT_BEAT_UP 131
#define EFFECT_SEMI_INVULNERABLE 132
#define EFFECT_DEFENSE_CURL 133
#define EFFECT_SOFTBOILED 134
#define EFFECT_FAKE_OUT 135
#define EFFECT_UPROAR 136
#define EFFECT_STOCKPILE 137
#define EFFECT_SPIT_UP 138
#define EFFECT_SWALLOW 139
#define EFFECT_WORRY_SEED 140
#define EFFECT_HAIL 141
#define EFFECT_TORMENT 142
#define EFFECT_FLATTER 143
#define EFFECT_WILL_O_WISP 144
#define EFFECT_MEMENTO 145
#define EFFECT_FACADE 146
#define EFFECT_FOCUS_PUNCH 147
#define EFFECT_SMELLING_SALTS 148
#define EFFECT_FOLLOW_ME 149
#define EFFECT_NATURE_POWER 150
#define EFFECT_CHARGE 151
#define EFFECT_TAUNT 152
#define EFFECT_HELPING_HAND 153
#define EFFECT_TRICK 154
#define EFFECT_ROLE_PLAY 155
#define EFFECT_WISH 156
#define EFFECT_ASSIST 157
#define EFFECT_INGRAIN 158
#define EFFECT_MAGIC_COAT 159
#define EFFECT_RECYCLE 160
#define EFFECT_REVENGE 161
#define EFFECT_BRICK_BREAK 162
#define EFFECT_YAWN 163
#define EFFECT_KNOCK_OFF 164
#define EFFECT_ENDEAVOR 165
#define EFFECT_ERUPTION 166
#define EFFECT_SKILL_SWAP 167
#define EFFECT_IMPRISON 168
#define EFFECT_REFRESH 169
#define EFFECT_GRUDGE 170
#define EFFECT_SNATCH 171
#define EFFECT_LOW_KICK 172
#define EFFECT_SECRET_POWER 173
#define EFFECT_RECOIL_33 174
#define EFFECT_TEETER_DANCE 175
#define EFFECT_HIT_ESCAPE 176
#define EFFECT_MUD_SPORT 177
#define EFFECT_WEATHER_BALL 178
#define EFFECT_TICKLE 179
#define EFFECT_COSMIC_POWER 180
#define EFFECT_SKY_UPPERCUT 181
#define EFFECT_BULK_UP 182
#define EFFECT_PLACEHOLDER 183
#define EFFECT_WATER_SPORT 184
#define EFFECT_CALM_MIND 185
#define EFFECT_DRAGON_DANCE 186
#define EFFECT_CAMOUFLAGE 187
#define EFFECT_PLEDGE 188
#define EFFECT_FLING 189
#define EFFECT_NATURAL_GIFT 190
#define EFFECT_WAKE_UP_SLAP 191
#define EFFECT_WRING_OUT 192
#define EFFECT_HEX 193
#define EFFECT_ASSURANCE 194
#define EFFECT_TRUMP_CARD 195
#define EFFECT_ACROBATICS 196
#define EFFECT_HEAT_CRASH 197
#define EFFECT_PUNISHMENT 198
#define EFFECT_STORED_POWER 199
#define EFFECT_ELECTRO_BALL 200
#define EFFECT_GYRO_BALL 201
#define EFFECT_ECHOED_VOICE 202
#define EFFECT_PAYBACK 203
#define EFFECT_ROUND 204
#define EFFECT_BRINE 205
#define EFFECT_VENOSHOCK 206
#define EFFECT_RETALIATE 207
#define EFFECT_BULLDOZE 208
#define EFFECT_FOUL_PLAY 209
#define EFFECT_PSYSHOCK 210
#define EFFECT_ROOST 211
#define EFFECT_GRAVITY 212
#define EFFECT_MIRACLE_EYE 213
#define EFFECT_TAILWIND 214
#define EFFECT_EMBARGO 215
#define EFFECT_AQUA_RING 216
#define EFFECT_TRICK_ROOM 217
#define EFFECT_WONDER_ROOM 218
#define EFFECT_MAGIC_ROOM 219
#define EFFECT_MAGNET_RISE 220
#define EFFECT_TOXIC_SPIKES 221
#define EFFECT_GASTRO_ACID 222
#define EFFECT_STEALTH_ROCK 223
#define EFFECT_TELEKINESIS 224
#define EFFECT_POWER_SWAP 225
#define EFFECT_GUARD_SWAP 226
#define EFFECT_HEART_SWAP 227
#define EFFECT_POWER_SPLIT 228
#define EFFECT_GUARD_SPLIT 229
#define EFFECT_STICKY_WEB 230
#define EFFECT_METAL_BURST 231
#define EFFECT_LUCKY_CHANT 232
#define EFFECT_SUCKER_PUNCH 233
#define EFFECT_SIMPLE_BEAM 234
#define EFFECT_ENTRAINMENT 235
#define EFFECT_HEAL_PULSE 236
#define EFFECT_QUASH 237
#define EFFECT_ION_DELUGE 238
#define EFFECT_FREEZE_DRY 239
#define EFFECT_TOPSY_TURVY 240
#define EFFECT_MISTY_TERRAIN 241
#define EFFECT_GRASSY_TERRAIN 242
#define EFFECT_ELECTRIC_TERRAIN 243
#define EFFECT_PSYCHIC_TERRAIN 244
#define EFFECT_ATTACK_ACCURACY_UP 245
#define EFFECT_ATTACK_SPATK_UP 246
#define EFFECT_HURRICANE 247
#define EFFECT_TWO_TYPED_MOVE 248
#define EFFECT_ME_FIRST 249
#define EFFECT_QUIVER_DANCE 250
#define EFFECT_COIL 251
#define EFFECT_ELECTRIFY 252
#define EFFECT_REFLECT_TYPE 253
#define EFFECT_SOAK 254
#define EFFECT_GROWTH 255
#define EFFECT_LAST_RESORT 256
#define EFFECT_RECOIL_33_STATUS 257
#define EFFECT_RECOIL_50 258
#define EFFECT_SHELL_SMASH 259
#define EFFECT_SHIFT_GEAR 260
#define EFFECT_DEFENSE_UP_3 261
#define EFFECT_NOBLE_ROAR 262
#define EFFECT_VENOM_DRENCH 263
#define EFFECT_TOXIC_THREAD 264
#define EFFECT_HIT_SWITCH_TARGET 265
#define EFFECT_FINAL_GAMBIT 266
#define EFFECT_CHANGE_TYPE_ON_ITEM 267
#define EFFECT_AUTOTOMIZE 268
#define EFFECT_COPYCAT 269
#define EFFECT_DEFOG 270
#define EFFECT_HIT_ENEMY_HEAL_ALLY 271
#define EFFECT_SMACK_DOWN 272
#define EFFECT_SYNCHRONOISE 273
#define EFFECT_PSYCHO_SHIFT 274
#define EFFECT_POWER_TRICK 275
#define EFFECT_FLAME_BURST 276
#define EFFECT_AFTER_YOU 277
#define EFFECT_BESTOW 278
#define EFFECT_ROTOTILLER 279
#define EFFECT_FLOWER_SHIELD 280
#define EFFECT_HIT_PREVENT_ESCAPE 281
#define EFFECT_SPEED_SWAP 282
#define EFFECT_DEFENSE_UP2_HIT 283
#define EFFECT_REVELATION_DANCE 284
#define EFFECT_AURORA_VEIL 285
#define EFFECT_THIRD_TYPE 286
#define EFFECT_FEINT 287
#define EFFECT_SPARKLING_ARIA 288
#define EFFECT_ACUPRESSURE 289
#define EFFECT_AROMATIC_MIST 290
#define EFFECT_POWDER 291
#define EFFECT_BELCH 292
#define EFFECT_PARTING_SHOT 293
#define EFFECT_MAT_BLOCK 294
#define EFFECT_STOMPING_TANTRUM 295
#define EFFECT_INSTRUCT 296
#define EFFECT_THROAT_CHOP 297
#define EFFECT_LASER_FOCUS 298
#define EFFECT_MAGNETIC_FLUX 299
#define EFFECT_GEAR_UP 300
#define EFFECT_INCINERATE 301
#define EFFECT_BUG_BITE 302
#define EFFECT_STRENGTH_SAP 303
#define EFFECT_MIND_BLOWN 304
#define EFFECT_PURIFY 305
#define EFFECT_BURN_UP 306
#define EFFECT_SHORE_UP 307
#define EFFECT_GEOMANCY 308
#define EFFECT_FAIRY_LOCK 309
#define EFFECT_ALLY_SWITCH 310
#define EFFECT_RELIC_SONG 311
#define EFFECT_BODY_PRESS 312
#define EFFECT_EERIE_SPELL 313
#define EFFECT_JUNGLE_HEALING 314
#define EFFECT_COACHING 315
#define EFFECT_LASH_OUT 316
#define EFFECT_GRASSY_GLIDE 317
#define EFFECT_DYNAMAX_DOUBLE_DMG 318
#define EFFECT_DECORATE 319
#define EFFECT_SNIPE_SHOT 320
#define EFFECT_RECOIL_HP_25 321
#define EFFECT_STUFF_CHEEKS 322
#define EFFECT_GRAV_APPLE 323
#define EFFECT_GLITZY_GLOW 324
#define EFFECT_BADDY_BAD 325
#define EFFECT_SAPPY_SEED 326
#define EFFECT_FREEZY_FROST 327
#define EFFECT_SPARKLY_SWIRL 328
#define EFFECT_PLASMA_FISTS 329
#define EFFECT_HYPERSPACE_FURY 330
#define EFFECT_AURA_WHEEL 331
#define EFFECT_PHOTON_GEYSER 332
#define EFFECT_SHELL_SIDE_ARM 333
#define EFFECT_TERRAIN_PULSE 334
#define EFFECT_NO_RETREAT 335
#define EFFECT_TAR_SHOT 336
#define EFFECT_POLTERGEIST 337
#define EFFECT_OCTOLOCK 338
#define EFFECT_CLANGOROUS_SOUL 339
#define EFFECT_BOLT_BEAK 340
#define EFFECT_SKY_DROP 341
#define EFFECT_EXPANDING_FORCE 342
#define EFFECT_METEOR_BEAM 343
#define EFFECT_RISING_VOLTAGE 344
#define EFFECT_BEAK_BLAST 345
#define EFFECT_COURT_CHANGE 346
#define EFFECT_STEEL_BEAM 347
#define EFFECT_EXTREME_EVOBOOST 348
#define EFFECT_HIT_SET_REMOVE_TERRAIN 349 // genesis supernova
#define EFFECT_DARK_VOID 350
#define EFFET_UNUSED_384 351
#define EFFECT_DOUBLE_SHOCK 352
#define EFFECT_VICTORY_DANCE 353
#define EFFECT_TEATIME 354
#define EFFECT_ATTACK_UP_USER_ALLY 355 // Howl 8th gen
#define EFFECT_SHELL_TRAP 356
#define EFFECT_PSYBLADE 357
#define EFFECT_HYDRO_STEAM 358
#define EFFECT_HIT_SET_ENTRY_HAZARD 359
#define EFFECT_BARB_BARRAGE 360
#define EFFECT_REVIVAL_BLESSING 361
#define EFFECT_SNOWSCAPE 362
#define EFFECT_INFERNAL_PARADE 363
#define EFFECT_TAKE_HEART 364
#define EFFECT_COLLISION_COURSE 365
#define EFFECT_MAKE_IT_RAIN 366
#define EFFECT_CORROSIVE_GAS 367
#define EFFECT_POPULATION_BOMB 368
#define EFFECT_SALT_CURE 369
#define EFFECT_CHILLY_RECEPTION 370
#define EFFECT_MAX_MOVE 371
#define EFFECT_GLAIVE_RUSH 372
#define EFFECT_RAGING_BULL 373
#define EFFECT_RAGE_FIST 374
#define EFFECT_DOODLE 375
// New move effects
#define EFFECT_PLEDGE 209
#define EFFECT_FLING 210
#define EFFECT_NATURAL_GIFT 211
#define EFFECT_WAKE_UP_SLAP 212
#define EFFECT_WRING_OUT 213
#define EFFECT_HEX 214
#define EFFECT_ASSURANCE 215
#define EFFECT_TRUMP_CARD 216
#define EFFECT_ACROBATICS 217
#define EFFECT_HEAT_CRASH 218
#define EFFECT_PUNISHMENT 219
#define EFFECT_STORED_POWER 220
#define EFFECT_ELECTRO_BALL 221
#define EFFECT_GYRO_BALL 222
#define EFFECT_ECHOED_VOICE 223
#define EFFECT_PAYBACK 224
#define EFFECT_ROUND 225
#define EFFECT_BRINE 226
#define EFFECT_VENOSHOCK 227
#define EFFECT_RETALIATE 228
#define EFFECT_BULLDOZE 229
#define EFFECT_FOUL_PLAY 230
#define EFFECT_PSYSHOCK 231
#define EFFECT_ROOST 232
#define EFFECT_GRAVITY 233
#define EFFECT_MIRACLE_EYE 234
#define EFFECT_TAILWIND 235
#define EFFECT_EMBARGO 236
#define EFFECT_AQUA_RING 237
#define EFFECT_TRICK_ROOM 238
#define EFFECT_WONDER_ROOM 239
#define EFFECT_MAGIC_ROOM 240
#define EFFECT_MAGNET_RISE 241
#define EFFECT_TOXIC_SPIKES 242
#define EFFECT_GASTRO_ACID 243
#define EFFECT_STEALTH_ROCK 244
#define EFFECT_TELEKINESIS 245
#define EFFECT_POWER_SWAP 246
#define EFFECT_GUARD_SWAP 247
#define EFFECT_HEART_SWAP 248
#define EFFECT_POWER_SPLIT 249
#define EFFECT_GUARD_SPLIT 250
#define EFFECT_STICKY_WEB 251
#define EFFECT_METAL_BURST 252
#define EFFECT_LUCKY_CHANT 253
#define EFFECT_SUCKER_PUNCH 254
#define EFFECT_UNUSED_255 255
#define EFFECT_SIMPLE_BEAM 256
#define EFFECT_ENTRAINMENT 257
#define EFFECT_HEAL_PULSE 258
#define EFFECT_QUASH 259
#define EFFECT_ION_DELUGE 260
#define EFFECT_FREEZE_DRY 261
#define EFFECT_TOPSY_TURVY 262
#define EFFECT_MISTY_TERRAIN 263
#define EFFECT_GRASSY_TERRAIN 264
#define EFFECT_ELECTRIC_TERRAIN 265
#define EFFECT_PSYCHIC_TERRAIN 266
#define EFFECT_ATTACK_ACCURACY_UP 267
#define EFFECT_ATTACK_SPATK_UP 268
#define EFFECT_HURRICANE 269
#define EFFECT_TWO_TYPED_MOVE 270
#define EFFECT_ME_FIRST 271
#define EFFECT_UNUSED_272 272
#define EFFECT_QUIVER_DANCE 273
#define EFFECT_COIL 274
#define EFFECT_ELECTRIFY 275
#define EFFECT_REFLECT_TYPE 276
#define EFFECT_SOAK 277
#define EFFECT_GROWTH 278
#define EFFECT_UNUSED_279 279
#define EFFECT_LAST_RESORT 280
#define EFFECT_RECOIL_33_STATUS 281
#define EFFECT_UNUSED_282 282
#define EFFECT_RECOIL_50 283
#define EFFECT_SHELL_SMASH 284
#define EFFECT_SHIFT_GEAR 285
#define EFFECT_DEFENSE_UP_3 286
#define EFFECT_NOBLE_ROAR 287
#define EFFECT_VENOM_DRENCH 288
#define EFFECT_TOXIC_THREAD 289
#define EFFECT_UNUSED_290 290
#define EFFECT_HIT_SWITCH_TARGET 291
#define EFFECT_FINAL_GAMBIT 292
#define EFFECT_CHANGE_TYPE_ON_ITEM 293
#define EFFECT_AUTOTOMIZE 294
#define EFFECT_COPYCAT 295
#define EFFECT_DEFOG 296
#define EFFECT_HIT_ENEMY_HEAL_ALLY 297
#define EFFECT_SMACK_DOWN 298
#define EFFECT_SYNCHRONOISE 299
#define EFFECT_PSYCHO_SHIFT 300
#define EFFECT_POWER_TRICK 301
#define EFFECT_FLAME_BURST 302
#define EFFECT_AFTER_YOU 303
#define EFFECT_BESTOW 304
#define EFFECT_ROTOTILLER 305
#define EFFECT_FLOWER_SHIELD 306
#define EFFECT_HIT_PREVENT_ESCAPE 307
#define EFFECT_SPEED_SWAP 308
#define EFFECT_DEFENSE_UP2_HIT 309
#define EFFECT_REVELATION_DANCE 310
#define EFFECT_AURORA_VEIL 311
#define EFFECT_THIRD_TYPE 312
#define EFFECT_FEINT 313
#define EFFECT_SPARKLING_ARIA 314
#define EFFECT_ACUPRESSURE 315
#define EFFECT_AROMATIC_MIST 316
#define EFFECT_POWDER 317
#define EFFECT_UNUSED_318 318
#define EFFECT_BELCH 319
#define EFFECT_PARTING_SHOT 320
#define EFFECT_UNUSED_321 321
#define EFFECT_UNUSED_322 322
#define EFFECT_MAT_BLOCK 323
#define EFFECT_STOMPING_TANTRUM 324
#define EFFECT_UNUSED_325 325
#define EFFECT_INSTRUCT 326
#define EFFECT_THROAT_CHOP 327
#define EFFECT_LASER_FOCUS 328
#define EFFECT_MAGNETIC_FLUX 329
#define EFFECT_GEAR_UP 330
#define EFFECT_INCINERATE 331
#define EFFECT_BUG_BITE 332
#define EFFECT_STRENGTH_SAP 333
#define EFFECT_MIND_BLOWN 334
#define EFFECT_PURIFY 335
#define EFFECT_BURN_UP 336
#define EFFECT_SHORE_UP 337
#define EFFECT_GEOMANCY 338
#define EFFECT_FAIRY_LOCK 339
#define EFFECT_ALLY_SWITCH 340
#define EFFECT_RELIC_SONG 341
#define EFFECT_UNUSED_342 342
#define EFFECT_BODY_PRESS 343
#define EFFECT_EERIE_SPELL 344
#define EFFECT_JUNGLE_HEALING 345
#define EFFECT_COACHING 346
#define EFFECT_LASH_OUT 347
#define EFFECT_GRASSY_GLIDE 348
#define EFFECT_DYNAMAX_DOUBLE_DMG 349
#define EFFECT_DECORATE 350
#define EFFECT_SNIPE_SHOT 351
#define EFFECT_RECOIL_HP_25 352
#define EFFECT_STUFF_CHEEKS 353
#define EFFECT_GRAV_APPLE 354
#define EFFECT_UNUSED_355 355
#define EFFECT_GLITZY_GLOW 356
#define EFFECT_BADDY_BAD 357
#define EFFECT_SAPPY_SEED 358
#define EFFECT_FREEZY_FROST 359
#define EFFECT_SPARKLY_SWIRL 360
#define EFFECT_PLASMA_FISTS 361
#define EFFECT_HYPERSPACE_FURY 362
#define EFFECT_AURA_WHEEL 363
#define EFFECT_PHOTON_GEYSER 364
#define EFFECT_SHELL_SIDE_ARM 365
#define EFFECT_TERRAIN_PULSE 366
#define EFFECT_UNUSED_367 367
#define EFFECT_NO_RETREAT 368
#define EFFECT_TAR_SHOT 369
#define EFFECT_POLTERGEIST 370
#define EFFECT_OCTOLOCK 371
#define EFFECT_CLANGOROUS_SOUL 372
#define EFFECT_BOLT_BEAK 373
#define EFFECT_SKY_DROP 374
#define EFFECT_EXPANDING_FORCE 375
#define EFFECT_METEOR_BEAM 376
#define EFFECT_RISING_VOLTAGE 377
#define EFFECT_BEAK_BLAST 378
#define EFFECT_COURT_CHANGE 379
#define EFFECT_STEEL_BEAM 380
#define EFFECT_EXTREME_EVOBOOST 381
#define EFFECT_HIT_SET_REMOVE_TERRAIN 382 // genesis supernova
#define EFFECT_DARK_VOID 383
#define EFFET_UNUSED_384 384
#define EFFECT_DOUBLE_SHOCK 385
#define EFFECT_UNUSED_387 386
#define EFFECT_VICTORY_DANCE 387
#define EFFECT_TEATIME 388
#define EFFECT_ATTACK_UP_USER_ALLY 389 // Howl 8th Gen
#define EFFECT_SHELL_TRAP 390
#define EFFECT_PSYBLADE 391
#define EFFECT_HYDRO_STEAM 392
#define EFFECT_HIT_SET_ENTRY_HAZARD 393
#define EFFECT_UNUSED_394 394
#define EFFECT_BARB_BARRAGE 395
#define EFFECT_REVIVAL_BLESSING 396
#define EFFECT_UNUSED_397 397
#define EFFECT_SNOWSCAPE 398
#define EFFECT_UNUSED_399 399
#define EFFECT_INFERNAL_PARADE 400
#define EFFECT_TAKE_HEART 401
#define EFFECT_UNUSED_402 402
#define EFFECT_COLLISION_COURSE 403
#define EFFECT_UNUSED_404 404
#define EFFECT_MAKE_IT_RAIN 405
#define EFFECT_CORROSIVE_GAS 406
#define EFFECT_POPULATION_BOMB 407
#define EFFECT_UNUSED_408 408
#define EFFECT_SALT_CURE 409
#define EFFECT_CHILLY_RECEPTION 410
#define EFFECT_MAX_MOVE 411
#define EFFECT_GLAIVE_RUSH 412
#define EFFECT_RAGING_BULL 413
#define EFFECT_RAGE_FIST 414
#define EFFECT_DOODLE 415
#define NUM_BATTLE_MOVE_EFFECTS 416
#define NUM_BATTLE_MOVE_EFFECTS 376
#endif // GUARD_CONSTANTS_BATTLE_MOVE_EFFECTS_H

View file

@ -3188,7 +3188,6 @@ static s32 AI_CheckViability(u32 battlerAtk, u32 battlerDef, u32 move, s32 score
struct AiLogicData *aiData = AI_DATA;
u32 movesetIndex = AI_THINKING_STRUCT->movesetIndex;
u32 effectiveness = aiData->effectiveness[battlerAtk][battlerDef][movesetIndex];
u32 secondaryEffectChance = AI_CalcSecondaryEffectChance(battlerAtk, gBattleMoves[move].secondaryEffectChance);
s8 atkPriority = GetMovePriority(battlerAtk, move);
u32 predictedMove = aiData->predictedMoves[battlerDef];
u32 predictedMoveSlot = GetMoveSlot(GetMovesArray(battlerDef), predictedMove);

View file

@ -3828,3 +3828,31 @@ u32 AI_CalcSecondaryEffectChance(u32 battler, u32 secondaryEffectChance)
return secondaryEffectChance;
}
bool32 AI_ShouldCopyStatChanges(u32 battlerAtk, u32 battlerDef)
{
u8 i;
// Want to copy positive stat changes
for (i = STAT_ATK; i < NUM_BATTLE_STATS; i++)
{
if (gBattleMons[battlerDef].statStages[i] > gBattleMons[battlerAtk].statStages[i])
{
switch (i)
{
case STAT_ATK:
return (HasMoveWithCategory(battlerAtk, BATTLE_CATEGORY_PHYSICAL));
case STAT_SPATK:
return (HasMoveWithCategory(battlerAtk, BATTLE_CATEGORY_SPECIAL));
case STAT_ACC:
case STAT_EVASION:
case STAT_SPEED:
return TRUE;
case STAT_DEF:
case STAT_SPDEF:
return (AI_THINKING_STRUCT->aiFlags & AI_FLAG_STALL);
}
}
}
return FALSE;
}