From e6a8faec1e2447dedaa374424ebba8759e822904 Mon Sep 17 00:00:00 2001 From: BuffelSaft Date: Thu, 10 Jun 2021 23:48:18 +1200 Subject: [PATCH 1/4] Fix thawing moves Replace IsThawingMove with a move flag and add a check for it to CANCELLER_FROZEN. This makes thawing moves actually thaw the user. --- include/battle_util.h | 1 - include/constants/pokemon.h | 1 + src/battle_ai_main.c | 2 +- src/battle_ai_util.c | 2 +- src/battle_util.c | 27 ++------------------------- src/data/battle_moves.h | 22 +++++++++++----------- 6 files changed, 16 insertions(+), 39 deletions(-) diff --git a/include/battle_util.h b/include/battle_util.h index f06a58938..0bf49dadf 100644 --- a/include/battle_util.h +++ b/include/battle_util.h @@ -136,7 +136,6 @@ struct Pokemon *GetBattlerPartyData(u8 battlerId); bool32 CanFling(u8 battlerId); bool32 IsTelekinesisBannedSpecies(u16 species); bool32 IsHealBlockPreventingMove(u32 battler, u32 move); -bool32 IsThawingMove(u8 battlerId, u16 move); bool32 HasEnoughHpToEatBerry(u32 battlerId, u32 hpFraction, u32 itemId); // ability checks diff --git a/include/constants/pokemon.h b/include/constants/pokemon.h index 322bee706..b4335087d 100644 --- a/include/constants/pokemon.h +++ b/include/constants/pokemon.h @@ -315,6 +315,7 @@ #define FLAG_DMG_2X_IN_AIR (1 << 22) // If target is in the air, can hit and deal double damage. #define FLAG_DMG_IN_AIR (1 << 23) // If target is in the air, can hit. #define FLAG_DMG_UNGROUNDED_IGNORE_TYPE_IF_FLYING (1 << 24) // Makes a Ground type move do 1x damage to flying and levitating targets +#define FLAG_THAW_USER (1 << 25) // Split defines. #define SPLIT_PHYSICAL 0x0 diff --git a/src/battle_ai_main.c b/src/battle_ai_main.c index 452098fec..5dc460f6a 100644 --- a/src/battle_ai_main.c +++ b/src/battle_ai_main.c @@ -2870,7 +2870,7 @@ static s16 AI_CheckViability(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) score++; // check thawing moves - if ((gBattleMons[battlerAtk].status1 & STATUS1_FREEZE) && IsThawingMove(battlerAtk, move)) + if ((gBattleMons[battlerAtk].status1 & STATUS1_FREEZE) && TestMoveFlags(move, FLAG_THAW_USER)) score += (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) ? 20 : 10; // check burn diff --git a/src/battle_ai_util.c b/src/battle_ai_util.c index caabc7519..5695677bb 100644 --- a/src/battle_ai_util.c +++ b/src/battle_ai_util.c @@ -1945,7 +1945,7 @@ bool32 HasThawingMove(u8 battlerId) for (i = 0; i < MAX_MON_MOVES; i++) { - if (moves[i] != MOVE_NONE && moves[i] != 0xFFFF && IsThawingMove(battlerId, moves[i])) + if (moves[i] != MOVE_NONE && moves[i] != 0xFFFF && TestMoveFlags(moves[i], FLAG_THAW_USER)) return TRUE; } diff --git a/src/battle_util.c b/src/battle_util.c index a5867a8d9..31ad09c2b 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -3040,29 +3040,6 @@ void TryClearRageAndFuryCutter(void) } } -bool32 IsThawingMove(u8 battlerId, u16 move) -{ - switch (move) - { - case MOVE_BURN_UP: - if (!IS_BATTLER_OF_TYPE(battlerId, TYPE_FIRE)) - return FALSE; - //fallthrough - case MOVE_FLAME_WHEEL: - case MOVE_FLARE_BLITZ: - case MOVE_FUSION_FLARE: - case MOVE_PYRO_BALL: - case MOVE_SACRED_FIRE: - case MOVE_SCALD: - case MOVE_SCORCHING_SANDS: - case MOVE_SIZZLY_SLIDE: - case MOVE_STEAM_ERUPTION: - return TRUE; - default: - return FALSE; - } -} - enum { CANCELLER_FLAGS, @@ -3151,7 +3128,7 @@ u8 AtkCanceller_UnableToUseMove(void) { if (Random() % 5) { - if (gBattleMoves[gCurrentMove].effect != EFFECT_THAW_HIT) // unfreezing via a move effect happens in case 13 + if (!(gBattleMoves[gCurrentMove].flags & FLAG_THAW_USER)) // unfreezing via a move effect happens in case 13 { gBattlescriptCurrInstr = BattleScript_MoveUsedIsFrozen; gHitMarker |= HITMARKER_NO_ATTACKSTRING; @@ -3362,7 +3339,7 @@ u8 AtkCanceller_UnableToUseMove(void) case CANCELLER_THAW: // move thawing if (gBattleMons[gBattlerAttacker].status1 & STATUS1_FREEZE) { - if (IsThawingMove(gBattlerAttacker, gCurrentMove)) + if (!(gBattleMoves[gCurrentMove].effect == EFFECT_BURN_UP && !IS_BATTLER_OF_TYPE(gBattlerAttacker, TYPE_FIRE))) { gBattleMons[gBattlerAttacker].status1 &= ~(STATUS1_FREEZE); BattleScriptPushCursor(); diff --git a/src/data/battle_moves.h b/src/data/battle_moves.h index db02083b0..286dfab30 100644 --- a/src/data/battle_moves.h +++ b/src/data/battle_moves.h @@ -2724,7 +2724,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .secondaryEffectChance = 10, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST | FLAG_THAW_USER, .split = SPLIT_PHYSICAL, }, @@ -3516,7 +3516,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .secondaryEffectChance = 50, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST | FLAG_THAW_USER, .split = SPLIT_PHYSICAL, }, @@ -6272,7 +6272,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .secondaryEffectChance = 10, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST | FLAG_RECKLESS_BOOST, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST | FLAG_RECKLESS_BOOST | FLAG_THAW_USER, .split = SPLIT_PHYSICAL, .argument = STATUS1_BURN, }, @@ -7943,7 +7943,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .secondaryEffectChance = 30, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST | FLAG_THAW_USER, .split = SPLIT_SPECIAL, }, @@ -8764,7 +8764,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_THAW_USER, .split = SPLIT_SPECIAL, }, @@ -9271,7 +9271,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .secondaryEffectChance = 30, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST | FLAG_THAW_USER, .split = SPLIT_SPECIAL, }, @@ -10023,7 +10023,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_THAW_USER, .split = SPLIT_SPECIAL, }, @@ -10573,11 +10573,11 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = #if B_UPDATED_MOVE_DATA >= GEN_8 .power = 60, .pp = 20, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_THAW_USER, #else .power = 90, .pp = 15, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_THAW_USER, #endif .effect = EFFECT_BURN_HIT, .type = TYPE_FIRE, @@ -10990,7 +10990,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .secondaryEffectChance = 10, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_BALLISTIC | FLAG_SHEER_FORCE_BOOST, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_BALLISTIC | FLAG_SHEER_FORCE_BOOST | FLAG_THAW_USER, .split = SPLIT_PHYSICAL, }, @@ -11480,7 +11480,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .secondaryEffectChance = 30, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST | FLAG_THAW_USER, .split = SPLIT_SPECIAL, }, From 87279ecab9b0aac3fe7b5c0357bc1cfcf74c0bc5 Mon Sep 17 00:00:00 2001 From: BuffelSaft Date: Sat, 19 Jun 2021 11:31:46 +1200 Subject: [PATCH 2/4] Fix CANCELLER_FROZEN Now checks if current move will thaw user before trying to defrost it. --- src/battle_util.c | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) diff --git a/src/battle_util.c b/src/battle_util.c index 31ad09c2b..65fcd4582 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -3124,20 +3124,12 @@ u8 AtkCanceller_UnableToUseMove(void) gBattleStruct->atkCancellerTracker++; break; case CANCELLER_FROZEN: // check being frozen - if (gBattleMons[gBattlerAttacker].status1 & STATUS1_FREEZE) + if (gBattleMons[gBattlerAttacker].status1 & STATUS1_FREEZE && !(gBattleMoves[gCurrentMove].flags & FLAG_THAW_USER)) { if (Random() % 5) { - if (!(gBattleMoves[gCurrentMove].flags & FLAG_THAW_USER)) // unfreezing via a move effect happens in case 13 - { - gBattlescriptCurrInstr = BattleScript_MoveUsedIsFrozen; - gHitMarker |= HITMARKER_NO_ATTACKSTRING; - } - else - { - gBattleStruct->atkCancellerTracker++; - break; - } + gBattlescriptCurrInstr = BattleScript_MoveUsedIsFrozen; + gHitMarker |= HITMARKER_NO_ATTACKSTRING; } else // unfreeze { From 06111bdc63115966a49db0f6cbcbed86b1d916c2 Mon Sep 17 00:00:00 2001 From: BuffelSaft Date: Sat, 19 Jun 2021 11:43:29 +1200 Subject: [PATCH 3/4] Replace EFFECT_THAW_HIT Both moves that used EFFECT_THAW_HIT now use EFFECT_BURN_HIT. --- src/data/battle_moves.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/data/battle_moves.h b/src/data/battle_moves.h index 286dfab30..9fc79581f 100644 --- a/src/data/battle_moves.h +++ b/src/data/battle_moves.h @@ -2716,7 +2716,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = [MOVE_FLAME_WHEEL] = { - .effect = EFFECT_THAW_HIT, + .effect = EFFECT_BURN_HIT, .power = 60, .type = TYPE_FIRE, .accuracy = 100, @@ -3508,7 +3508,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = [MOVE_SACRED_FIRE] = { - .effect = EFFECT_THAW_HIT, + .effect = EFFECT_BURN_HIT, .power = 100, .type = TYPE_FIRE, .accuracy = 95, From 4c18cb7fe7dfa68076d96b5c85762d333e535d84 Mon Sep 17 00:00:00 2001 From: BuffelSaft Date: Sat, 19 Jun 2021 11:49:00 +1200 Subject: [PATCH 4/4] Remove EFFECT_THAW_HIT --- data/battle_scripts_1.s | 5 - include/constants/battle_move_effects.h | 453 ++++++++++++------------ src/battle_tv.c | 2 +- 3 files changed, 227 insertions(+), 233 deletions(-) diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s index 11616e300..e3b34fdda 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -144,7 +144,6 @@ gBattleScriptsForMoveEffects:: @ 82D86A8 .4byte BattleScript_EffectPresent .4byte BattleScript_EffectFrustration .4byte BattleScript_EffectSafeguard - .4byte BattleScript_EffectThawHit .4byte BattleScript_EffectMagnitude .4byte BattleScript_EffectBatonPass .4byte BattleScript_EffectPursuit @@ -3814,10 +3813,6 @@ BattleScript_EffectSafeguard:: setsafeguard goto BattleScript_PrintReflectLightScreenSafeguardString -BattleScript_EffectThawHit:: - setmoveeffect MOVE_EFFECT_BURN - goto BattleScript_EffectHit - BattleScript_EffectMagnitude:: jumpifword CMP_COMMON_BITS, gHitMarker, HITMARKER_NO_ATTACKSTRING | HITMARKER_NO_PPDEDUCT, BattleScript_EffectMagnitudeTarget attackcanceler diff --git a/include/constants/battle_move_effects.h b/include/constants/battle_move_effects.h index 6174ca496..cbab68b66 100644 --- a/include/constants/battle_move_effects.h +++ b/include/constants/battle_move_effects.h @@ -126,233 +126,232 @@ #define EFFECT_PRESENT 122 #define EFFECT_FRUSTRATION 123 #define EFFECT_SAFEGUARD 124 -#define EFFECT_THAW_HIT 125 -#define EFFECT_MAGNITUDE 126 -#define EFFECT_BATON_PASS 127 -#define EFFECT_PURSUIT 128 -#define EFFECT_RAPID_SPIN 129 -#define EFFECT_SONICBOOM 130 -#define EFFECT_CAPTIVATE 131 -#define EFFECT_MORNING_SUN 132 -#define EFFECT_SYNTHESIS 133 -#define EFFECT_MOONLIGHT 134 -#define EFFECT_HIDDEN_POWER 135 -#define EFFECT_RAIN_DANCE 136 -#define EFFECT_SUNNY_DAY 137 -#define EFFECT_DEFENSE_UP_HIT 138 -#define EFFECT_ATTACK_UP_HIT 139 -#define EFFECT_ALL_STATS_UP_HIT 140 -#define EFFECT_FELL_STINGER 141 -#define EFFECT_BELLY_DRUM 142 -#define EFFECT_PSYCH_UP 143 -#define EFFECT_MIRROR_COAT 144 -#define EFFECT_SKULL_BASH 145 -#define EFFECT_TWISTER 146 -#define EFFECT_EARTHQUAKE 147 -#define EFFECT_FUTURE_SIGHT 148 -#define EFFECT_GUST 149 -#define EFFECT_FLINCH_MINIMIZE_HIT 150 -#define EFFECT_SOLARBEAM 151 -#define EFFECT_THUNDER 152 -#define EFFECT_TELEPORT 153 -#define EFFECT_BEAT_UP 154 -#define EFFECT_SEMI_INVULNERABLE 155 -#define EFFECT_DEFENSE_CURL 156 -#define EFFECT_SOFTBOILED 157 -#define EFFECT_FAKE_OUT 158 -#define EFFECT_UPROAR 159 -#define EFFECT_STOCKPILE 160 -#define EFFECT_SPIT_UP 161 -#define EFFECT_SWALLOW 162 -#define EFFECT_WORRY_SEED 163 -#define EFFECT_HAIL 164 -#define EFFECT_TORMENT 165 -#define EFFECT_FLATTER 166 -#define EFFECT_WILL_O_WISP 167 -#define EFFECT_MEMENTO 168 -#define EFFECT_FACADE 169 -#define EFFECT_FOCUS_PUNCH 170 -#define EFFECT_SMELLINGSALT 171 -#define EFFECT_FOLLOW_ME 172 -#define EFFECT_NATURE_POWER 173 -#define EFFECT_CHARGE 174 -#define EFFECT_TAUNT 175 -#define EFFECT_HELPING_HAND 176 -#define EFFECT_TRICK 177 -#define EFFECT_ROLE_PLAY 178 -#define EFFECT_WISH 179 -#define EFFECT_ASSIST 180 -#define EFFECT_INGRAIN 181 -#define EFFECT_SUPERPOWER 182 -#define EFFECT_MAGIC_COAT 183 -#define EFFECT_RECYCLE 184 -#define EFFECT_REVENGE 185 -#define EFFECT_BRICK_BREAK 186 -#define EFFECT_YAWN 187 -#define EFFECT_KNOCK_OFF 188 -#define EFFECT_ENDEAVOR 189 -#define EFFECT_ERUPTION 190 -#define EFFECT_SKILL_SWAP 191 -#define EFFECT_IMPRISON 192 -#define EFFECT_REFRESH 193 -#define EFFECT_GRUDGE 194 -#define EFFECT_SNATCH 195 -#define EFFECT_LOW_KICK 196 -#define EFFECT_SECRET_POWER 197 -#define EFFECT_RECOIL_33 198 -#define EFFECT_TEETER_DANCE 199 -#define EFFECT_HIT_ESCAPE 200 -#define EFFECT_MUD_SPORT 201 -#define EFFECT_POISON_FANG 202 -#define EFFECT_WEATHER_BALL 203 -#define EFFECT_OVERHEAT 204 -#define EFFECT_TICKLE 205 -#define EFFECT_COSMIC_POWER 206 -#define EFFECT_SKY_UPPERCUT 207 -#define EFFECT_BULK_UP 208 -#define EFFECT_PLACEHOLDER 209 -#define EFFECT_WATER_SPORT 210 -#define EFFECT_CALM_MIND 211 -#define EFFECT_DRAGON_DANCE 212 -#define EFFECT_CAMOUFLAGE 213 - -// New move effects -#define EFFECT_PLEDGE 214 -#define EFFECT_FLING 215 -#define EFFECT_NATURAL_GIFT 216 -#define EFFECT_WAKE_UP_SLAP 217 -#define EFFECT_WRING_OUT 218 -#define EFFECT_HEX 219 -#define EFFECT_ASSURANCE 220 -#define EFFECT_TRUMP_CARD 221 -#define EFFECT_ACROBATICS 222 -#define EFFECT_HEAT_CRASH 223 -#define EFFECT_PUNISHMENT 224 -#define EFFECT_STORED_POWER 225 -#define EFFECT_ELECTRO_BALL 226 -#define EFFECT_GYRO_BALL 227 -#define EFFECT_ECHOED_VOICE 228 -#define EFFECT_PAYBACK 229 -#define EFFECT_ROUND 230 -#define EFFECT_BRINE 231 -#define EFFECT_VENOSHOCK 232 -#define EFFECT_RETALITATE 233 -#define EFFECT_BULLDOZE 234 -#define EFFECT_FOUL_PLAY 235 -#define EFFECT_PSYSHOCK 236 -#define EFFECT_ROOST 237 -#define EFFECT_GRAVITY 238 -#define EFFECT_MIRACLE_EYE 239 -#define EFFECT_TAILWIND 240 -#define EFFECT_EMBARGO 241 -#define EFFECT_AQUA_RING 242 -#define EFFECT_TRICK_ROOM 243 -#define EFFECT_WONDER_ROOM 244 -#define EFFECT_MAGIC_ROOM 245 -#define EFFECT_MAGNET_RISE 246 -#define EFFECT_TOXIC_SPIKES 247 -#define EFFECT_GASTRO_ACID 248 -#define EFFECT_STEALTH_ROCK 249 -#define EFFECT_TELEKINESIS 250 -#define EFFECT_POWER_SWAP 251 -#define EFFECT_GUARD_SWAP 252 -#define EFFECT_HEART_SWAP 253 -#define EFFECT_POWER_SPLIT 254 -#define EFFECT_GUARD_SPLIT 255 -#define EFFECT_STICKY_WEB 256 -#define EFFECT_METAL_BURST 257 -#define EFFECT_LUCKY_CHANT 258 -#define EFFECT_SUCKER_PUNCH 259 -#define EFFECT_SPECIAL_DEFENSE_DOWN_HIT_2 260 -#define EFFECT_SIMPLE_BEAM 261 -#define EFFECT_ENTRAINMENT 262 -#define EFFECT_HEAL_PULSE 263 -#define EFFECT_QUASH 264 -#define EFFECT_ION_DELUGE 265 -#define EFFECT_FREEZE_DRY 266 -#define EFFECT_TOPSY_TURVY 267 -#define EFFECT_MISTY_TERRAIN 268 -#define EFFECT_GRASSY_TERRAIN 269 -#define EFFECT_ELECTRIC_TERRAIN 270 -#define EFFECT_PSYCHIC_TERRAIN 271 -#define EFFECT_ATTACK_ACCURACY_UP 272 -#define EFFECT_ATTACK_SPATK_UP 273 -#define EFFECT_HURRICANE 274 -#define EFFECT_TWO_TYPED_MOVE 275 -#define EFFECT_ME_FIRST 276 -#define EFFECT_SPEED_UP_HIT 277 -#define EFFECT_QUIVER_DANCE 278 -#define EFFECT_COIL 279 -#define EFFECT_ELECTRIFY 280 -#define EFFECT_SCALD 281 -#define EFFECT_REFLECT_TYPE 282 -#define EFFECT_SOAK 283 -#define EFFECT_GROWTH 284 -#define EFFECT_CLOSE_COMBAT 285 -#define EFFECT_LAST_RESORT 286 -#define EFFECT_RECOIL_33_STATUS 287 -#define EFFECT_FLINCH_STATUS 288 -#define EFFECT_RECOIL_50 289 -#define EFFECT_SHELL_SMASH 290 -#define EFFECT_SHIFT_GEAR 291 -#define EFFECT_DEFENSE_UP_3 292 -#define EFFECT_NOBLE_ROAR 293 // Atk and Sp atk down by 1 -#define EFFECT_VENOM_DRENCH 294 -#define EFFECT_TOXIC_THREAD 295 -#define EFFECT_CLEAR_SMOG 296 -#define EFFECT_HIT_SWITCH_TARGET 297 -#define EFFECT_FINAL_GAMBIT 298 -#define EFFECT_CHANGE_TYPE_ON_ITEM 299 // Techno Blast, Multi Attack, Judgment -#define EFFECT_AUTOTOMIZE 300 -#define EFFECT_COPYCAT 301 -#define EFFECT_DEFOG 302 -#define EFFECT_HIT_ENEMY_HEAL_ALLY 303 // Pollen Puff -#define EFFECT_SMACK_DOWN 304 -#define EFFECT_SYNCHRONOISE 305 -#define EFFECT_PSYCHO_SHIFT 306 -#define EFFECT_POWER_TRICK 307 -#define EFFECT_FLAME_BURST 308 -#define EFFECT_AFTER_YOU 309 -#define EFFECT_BESTOW 310 -#define EFFECT_ROTOTILLER 311 -#define EFFECT_FLOWER_SHIELD 312 -#define EFFECT_HIT_PREVENT_ESCAPE 313 -#define EFFECT_SPEED_SWAP 314 -#define EFFECT_DEFENSE_UP2_HIT 315 -#define EFFECT_REVELATION_DANCE 316 -#define EFFECT_AURORA_VEIL 317 -#define EFFECT_THIRD_TYPE 318 -#define EFFECT_FEINT 319 -#define EFFECT_SPARKLING_ARIA 320 -#define EFFECT_ACUPRESSURE 321 -#define EFFECT_AROMATIC_MIST 322 -#define EFFECT_POWDER 323 -#define EFFECT_SP_ATTACK_UP_HIT 324 -#define EFFECT_BELCH 325 -#define EFFECT_PARTING_SHOT 326 -#define EFFECT_SPECTRAL_THIEF 327 -#define EFFECT_V_CREATE 328 -#define EFFECT_MAT_BLOCK 329 -#define EFFECT_STOMPING_TANTRUM 330 -#define EFFECT_CORE_ENFORCER 331 -#define EFFECT_INSTRUCT 332 -#define EFFECT_THROAT_CHOP 333 -#define EFFECT_LASER_FOCUS 334 -#define EFFECT_MAGNETIC_FLUX 335 -#define EFFECT_GEAR_UP 336 -#define EFFECT_INCINERATE 337 -#define EFFECT_BUG_BITE 338 -#define EFFECT_STRENGTH_SAP 339 -#define EFFECT_MIND_BLOWN 340 -#define EFFECT_PURIFY 341 -#define EFFECT_BURN_UP 342 -#define EFFECT_SHORE_UP 343 -#define EFFECT_GEOMANCY 344 -#define EFFECT_FAIRY_LOCK 345 -#define EFFECT_ALLY_SWITCH 346 -#define EFFECT_SLEEP_HIT 347 // Relic Song -#define EFFECT_ATTACKER_DEFENSE_DOWN_HIT 348 -#define EFFECT_BODY_PRESS 349 +#define EFFECT_MAGNITUDE 125 +#define EFFECT_BATON_PASS 126 +#define EFFECT_PURSUIT 127 +#define EFFECT_RAPID_SPIN 128 +#define EFFECT_SONICBOOM 129 +#define EFFECT_CAPTIVATE 130 +#define EFFECT_MORNING_SUN 131 +#define EFFECT_SYNTHESIS 132 +#define EFFECT_MOONLIGHT 133 +#define EFFECT_HIDDEN_POWER 134 +#define EFFECT_RAIN_DANCE 135 +#define EFFECT_SUNNY_DAY 136 +#define EFFECT_DEFENSE_UP_HIT 137 +#define EFFECT_ATTACK_UP_HIT 138 +#define EFFECT_ALL_STATS_UP_HIT 139 +#define EFFECT_FELL_STINGER 140 +#define EFFECT_BELLY_DRUM 141 +#define EFFECT_PSYCH_UP 142 +#define EFFECT_MIRROR_COAT 143 +#define EFFECT_SKULL_BASH 144 +#define EFFECT_TWISTER 145 +#define EFFECT_EARTHQUAKE 146 +#define EFFECT_FUTURE_SIGHT 147 +#define EFFECT_GUST 148 +#define EFFECT_FLINCH_MINIMIZE_HIT 149 +#define EFFECT_SOLARBEAM 150 +#define EFFECT_THUNDER 151 +#define EFFECT_TELEPORT 152 +#define EFFECT_BEAT_UP 153 +#define EFFECT_SEMI_INVULNERABLE 154 +#define EFFECT_DEFENSE_CURL 155 +#define EFFECT_SOFTBOILED 156 +#define EFFECT_FAKE_OUT 157 +#define EFFECT_UPROAR 158 +#define EFFECT_STOCKPILE 159 +#define EFFECT_SPIT_UP 160 +#define EFFECT_SWALLOW 161 +#define EFFECT_WORRY_SEED 162 +#define EFFECT_HAIL 163 +#define EFFECT_TORMENT 164 +#define EFFECT_FLATTER 165 +#define EFFECT_WILL_O_WISP 166 +#define EFFECT_MEMENTO 167 +#define EFFECT_FACADE 168 +#define EFFECT_FOCUS_PUNCH 169 +#define EFFECT_SMELLINGSALT 170 +#define EFFECT_FOLLOW_ME 171 +#define EFFECT_NATURE_POWER 172 +#define EFFECT_CHARGE 173 +#define EFFECT_TAUNT 174 +#define EFFECT_HELPING_HAND 175 +#define EFFECT_TRICK 176 +#define EFFECT_ROLE_PLAY 177 +#define EFFECT_WISH 178 +#define EFFECT_ASSIST 179 +#define EFFECT_INGRAIN 180 +#define EFFECT_SUPERPOWER 181 +#define EFFECT_MAGIC_COAT 182 +#define EFFECT_RECYCLE 183 +#define EFFECT_REVENGE 184 +#define EFFECT_BRICK_BREAK 185 +#define EFFECT_YAWN 186 +#define EFFECT_KNOCK_OFF 187 +#define EFFECT_ENDEAVOR 188 +#define EFFECT_ERUPTION 189 +#define EFFECT_SKILL_SWAP 190 +#define EFFECT_IMPRISON 191 +#define EFFECT_REFRESH 192 +#define EFFECT_GRUDGE 193 +#define EFFECT_SNATCH 194 +#define EFFECT_LOW_KICK 195 +#define EFFECT_SECRET_POWER 196 +#define EFFECT_RECOIL_33 197 +#define EFFECT_TEETER_DANCE 198 +#define EFFECT_HIT_ESCAPE 199 +#define EFFECT_MUD_SPORT 200 +#define EFFECT_POISON_FANG 201 +#define EFFECT_WEATHER_BALL 202 +#define EFFECT_OVERHEAT 203 +#define EFFECT_TICKLE 204 +#define EFFECT_COSMIC_POWER 205 +#define EFFECT_SKY_UPPERCUT 206 +#define EFFECT_BULK_UP 207 +#define EFFECT_PLACEHOLDER 208 +#define EFFECT_WATER_SPORT 209 +#define EFFECT_CALM_MIND 210 +#define EFFECT_DRAGON_DANCE 211 +#define EFFECT_CAMOUFLAGE 212 + +// +#define EFFECT_PLEDGE 213 +#define EFFECT_FLING 214 +#define EFFECT_NATURAL_GIFT 215 +#define EFFECT_WAKE_UP_SLAP 216 +#define EFFECT_WRING_OUT 217 +#define EFFECT_HEX 218 +#define EFFECT_ASSURANCE 219 +#define EFFECT_TRUMP_CARD 220 +#define EFFECT_ACROBATICS 221 +#define EFFECT_HEAT_CRASH 222 +#define EFFECT_PUNISHMENT 223 +#define EFFECT_STORED_POWER 224 +#define EFFECT_ELECTRO_BALL 225 +#define EFFECT_GYRO_BALL 226 +#define EFFECT_ECHOED_VOICE 227 +#define EFFECT_PAYBACK 228 +#define EFFECT_ROUND 229 +#define EFFECT_BRINE 230 +#define EFFECT_VENOSHOCK 231 +#define EFFECT_RETALITATE 232 +#define EFFECT_BULLDOZE 233 +#define EFFECT_FOUL_PLAY 234 +#define EFFECT_PSYSHOCK 235 +#define EFFECT_ROOST 236 +#define EFFECT_GRAVITY 237 +#define EFFECT_MIRACLE_EYE 238 +#define EFFECT_TAILWIND 239 +#define EFFECT_EMBARGO 240 +#define EFFECT_AQUA_RING 241 +#define EFFECT_TRICK_ROOM 242 +#define EFFECT_WONDER_ROOM 243 +#define EFFECT_MAGIC_ROOM 244 +#define EFFECT_MAGNET_RISE 245 +#define EFFECT_TOXIC_SPIKES 246 +#define EFFECT_GASTRO_ACID 247 +#define EFFECT_STEALTH_ROCK 248 +#define EFFECT_TELEKINESIS 249 +#define EFFECT_POWER_SWAP 250 +#define EFFECT_GUARD_SWAP 251 +#define EFFECT_HEART_SWAP 252 +#define EFFECT_POWER_SPLIT 253 +#define EFFECT_GUARD_SPLIT 254 +#define EFFECT_STICKY_WEB 255 +#define EFFECT_METAL_BURST 256 +#define EFFECT_LUCKY_CHANT 257 +#define EFFECT_SUCKER_PUNCH 258 +#define EFFECT_SPECIAL_DEFENSE_DOWN_HIT_2 259 +#define EFFECT_SIMPLE_BEAM 260 +#define EFFECT_ENTRAINMENT 261 +#define EFFECT_HEAL_PULSE 262 +#define EFFECT_QUASH 263 +#define EFFECT_ION_DELUGE 264 +#define EFFECT_FREEZE_DRY 265 +#define EFFECT_TOPSY_TURVY 266 +#define EFFECT_MISTY_TERRAIN 267 +#define EFFECT_GRASSY_TERRAIN 268 +#define EFFECT_ELECTRIC_TERRAIN 269 +#define EFFECT_PSYCHIC_TERRAIN 270 +#define EFFECT_ATTACK_ACCURACY_UP 271 +#define EFFECT_ATTACK_SPATK_UP 272 +#define EFFECT_HURRICANE 273 +#define EFFECT_TWO_TYPED_MOVE 274 +#define EFFECT_ME_FIRST 275 +#define EFFECT_SPEED_UP_HIT 276 +#define EFFECT_QUIVER_DANCE 277 +#define EFFECT_COIL 278 +#define EFFECT_ELECTRIFY 279 +#define EFFECT_SCALD 280 +#define EFFECT_REFLECT_TYPE 281 +#define EFFECT_SOAK 282 +#define EFFECT_GROWTH 283 +#define EFFECT_CLOSE_COMBAT 284 +#define EFFECT_LAST_RESORT 285 +#define EFFECT_RECOIL_33_STATUS 286 +#define EFFECT_FLINCH_STATUS 287 +#define EFFECT_RECOIL_50 288 +#define EFFECT_SHELL_SMASH 289 +#define EFFECT_SHIFT_GEAR 290 +#define EFFECT_DEFENSE_UP_3 291 +#define EFFECT_NOBLE_ROAR 292 +#define EFFECT_VENOM_DRENCH 293 +#define EFFECT_TOXIC_THREAD 294 +#define EFFECT_CLEAR_SMOG 295 +#define EFFECT_HIT_SWITCH_TARGET 296 +#define EFFECT_FINAL_GAMBIT 297 +#define EFFECT_CHANGE_TYPE_ON_ITEM 298 +#define EFFECT_AUTOTOMIZE 299 +#define EFFECT_COPYCAT 300 +#define EFFECT_DEFOG 301 +#define EFFECT_HIT_ENEMY_HEAL_ALLY 302 +#define EFFECT_SMACK_DOWN 303 +#define EFFECT_SYNCHRONOISE 304 +#define EFFECT_PSYCHO_SHIFT 305 +#define EFFECT_POWER_TRICK 306 +#define EFFECT_FLAME_BURST 307 +#define EFFECT_AFTER_YOU 308 +#define EFFECT_BESTOW 309 +#define EFFECT_ROTOTILLER 310 +#define EFFECT_FLOWER_SHIELD 311 +#define EFFECT_HIT_PREVENT_ESCAPE 312 +#define EFFECT_SPEED_SWAP 313 +#define EFFECT_DEFENSE_UP2_HIT 314 +#define EFFECT_REVELATION_DANCE 315 +#define EFFECT_AURORA_VEIL 316 +#define EFFECT_THIRD_TYPE 317 +#define EFFECT_FEINT 318 +#define EFFECT_SPARKLING_ARIA 319 +#define EFFECT_ACUPRESSURE 320 +#define EFFECT_AROMATIC_MIST 321 +#define EFFECT_POWDER 322 +#define EFFECT_SP_ATTACK_UP_HIT 323 +#define EFFECT_BELCH 324 +#define EFFECT_PARTING_SHOT 325 +#define EFFECT_SPECTRAL_THIEF 326 +#define EFFECT_V_CREATE 327 +#define EFFECT_MAT_BLOCK 328 +#define EFFECT_STOMPING_TANTRUM 329 +#define EFFECT_CORE_ENFORCER 330 +#define EFFECT_INSTRUCT 331 +#define EFFECT_THROAT_CHOP 332 +#define EFFECT_LASER_FOCUS 333 +#define EFFECT_MAGNETIC_FLUX 334 +#define EFFECT_GEAR_UP 335 +#define EFFECT_INCINERATE 336 +#define EFFECT_BUG_BITE 337 +#define EFFECT_STRENGTH_SAP 338 +#define EFFECT_MIND_BLOWN 339 +#define EFFECT_PURIFY 340 +#define EFFECT_BURN_UP 341 +#define EFFECT_SHORE_UP 342 +#define EFFECT_GEOMANCY 343 +#define EFFECT_FAIRY_LOCK 344 +#define EFFECT_ALLY_SWITCH 345 +#define EFFECT_SLEEP_HIT 346 +#define EFFECT_ATTACKER_DEFENSE_DOWN_HIT 347 +#define EFFECT_BODY_PRESS 348 #define NUM_BATTLE_MOVE_EFFECTS 350 diff --git a/src/battle_tv.c b/src/battle_tv.c index 0e3c339fb..4df5aa697 100644 --- a/src/battle_tv.c +++ b/src/battle_tv.c @@ -211,7 +211,7 @@ static const u16 sPoints_MoveEffect[NUM_BATTLE_MOVE_EFFECTS] = [EFFECT_PRESENT] = 1, [EFFECT_FRUSTRATION] = 1, [EFFECT_SAFEGUARD] = 5, - [EFFECT_THAW_HIT] = 1, +// [EFFECT_THAW_HIT] = 1, Now unused [EFFECT_MAGNITUDE] = 1, [EFFECT_BATON_PASS] = 7, [EFFECT_PURSUIT] = 2,