diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s index 9cb075b77c..45d66fe1e6 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -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 diff --git a/include/battle_util.h b/include/battle_util.h index f43a667d42..e3ff0c5a94 100644 --- a/include/battle_util.h +++ b/include/battle_util.h @@ -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 diff --git a/include/constants/battle_move_effects.h b/include/constants/battle_move_effects.h index 1163ad2c3f..68f7d666bd 100644 --- a/include/constants/battle_move_effects.h +++ b/include/constants/battle_move_effects.h @@ -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 diff --git a/src/battle_ai_main.c b/src/battle_ai_main.c index fdfb2bd9b8..655430218c 100644 --- a/src/battle_ai_main.c +++ b/src/battle_ai_main.c @@ -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); diff --git a/src/battle_ai_util.c b/src/battle_ai_util.c index 9fdfbf3e70..d8f11117c4 100644 --- a/src/battle_ai_util.c +++ b/src/battle_ai_util.c @@ -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; +}