From 77696ca686aa435a505d83a1b06e216479ac32c9 Mon Sep 17 00:00:00 2001 From: Eduardo Quezada Date: Fri, 16 Sep 2022 10:31:02 -0300 Subject: [PATCH] Rolled EFFECT_SCALD into EFFECT_BURN_HIT with a config for its Gen6+ change --- data/battle_scripts_1.s | 1 - include/constants/battle_config.h | 1 + include/constants/battle_move_effects.h | 225 ++++++++++++------------ src/battle_script_commands.c | 8 +- src/data/battle_moves.h | 10 +- 5 files changed, 122 insertions(+), 123 deletions(-) diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s index 31c284e7d..7c7a069de 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -303,7 +303,6 @@ gBattleScriptsForMoveEffects:: .4byte BattleScript_EffectQuiverDance @ EFFECT_QUIVER_DANCE .4byte BattleScript_EffectCoil @ EFFECT_COIL .4byte BattleScript_EffectElectrify @ EFFECT_ELECTRIFY - .4byte BattleScript_EffectBurnHit @ EFFECT_SCALD .4byte BattleScript_EffectReflectType @ EFFECT_REFLECT_TYPE .4byte BattleScript_EffectSoak @ EFFECT_SOAK .4byte BattleScript_EffectGrowth @ EFFECT_GROWTH diff --git a/include/constants/battle_config.h b/include/constants/battle_config.h index b8d7c9f8a..faa654478 100644 --- a/include/constants/battle_config.h +++ b/include/constants/battle_config.h @@ -86,6 +86,7 @@ #define B_HEAL_BLOCKING GEN_LATEST // In Gen5+, Heal Block prevents healing by Black Sludge, Leftovers, Shell Bell. Affected Pokémon will not consume held HP-restoring Berries or Berry Juice. // Draining abilities will not heal but will prevent damage. In Gen6+, Heal Block prevents the use of most HP-draining moves. #define B_ROOTED_GROUNDING GEN_LATEST // In Gen4+, Ingrain causes the affected Pokémon to become grounded. +#define B_BURN_HIT_THAW GEN_LATEST // In Gen6+, damaging moves with a chance of burn will thaw the target, regardless if they're fire-type moves or not. // Ability settings #define B_EXPANDED_ABILITY_NAMES TRUE // If TRUE, ability names are increased from 12 characters to 16 characters. diff --git a/include/constants/battle_move_effects.h b/include/constants/battle_move_effects.h index f217ecd33..60d1d7050 100644 --- a/include/constants/battle_move_effects.h +++ b/include/constants/battle_move_effects.h @@ -284,119 +284,118 @@ #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 -#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 -#define EFFECT_AUTOTOMIZE 300 -#define EFFECT_COPYCAT 301 -#define EFFECT_DEFOG 302 -#define EFFECT_HIT_ENEMY_HEAL_ALLY 303 -#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_RELIC_SONG 347 -#define EFFECT_ATTACKER_DEFENSE_DOWN_HIT 348 -#define EFFECT_BODY_PRESS 349 -#define EFFECT_EERIE_SPELL 350 -#define EFFECT_JUNGLE_HEALING 351 -#define EFFECT_COACHING 352 -#define EFFECT_LASH_OUT 353 -#define EFFECT_GRASSY_GLIDE 354 -#define EFFECT_REMOVE_TERRAIN 355 -#define EFFECT_DYNAMAX_DOUBLE_DMG 356 -#define EFFECT_DECORATE 357 -#define EFFECT_SNIPE_SHOT 358 -#define EFFECT_TRIPLE_HIT 359 -#define EFFECT_RECOIL_HP_25 360 -#define EFFECT_STUFF_CHEEKS 361 -#define EFFECT_GRAV_APPLE 362 -#define EFFECT_EVASION_UP_HIT 363 -#define EFFECT_DOUBLE_IRON_BASH 364 -#define EFFECT_GLITZY_GLOW 365 -#define EFFECT_BADDY_BAD 366 -#define EFFECT_SAPPY_SEED 367 -#define EFFECT_FREEZY_FROST 368 -#define EFFECT_SPARKLY_SWIRL 369 -#define EFFECT_PLASMA_FISTS 370 -#define EFFECT_HYPERSPACE_FURY 371 -#define EFFECT_AURA_WHEEL 372 -#define EFFECT_PHOTON_GEYSER 373 -#define EFFECT_SHELL_SIDE_ARM 374 -#define EFFECT_TERRAIN_PULSE 375 -#define EFFECT_JAW_LOCK 376 -#define EFFECT_NO_RETREAT 377 -#define EFFECT_TAR_SHOT 378 -#define EFFECT_POLTERGEIST 379 -#define EFFECT_OCTOLOCK 380 -#define EFFECT_CLANGOROUS_SOUL 381 -#define EFFECT_BOLT_BEAK 382 -#define EFFECT_SKY_DROP 383 -#define EFFECT_EXPANDING_FORCE 384 -#define EFFECT_SCALE_SHOT 385 -#define EFFECT_METEOR_BEAM 386 -#define EFFECT_RISING_VOLTAGE 387 -#define EFFECT_BEAK_BLAST 388 -#define EFFECT_COURT_CHANGE 389 -#define EFFECT_STEEL_BEAM 390 -#define EFFECT_EXTREME_EVOBOOST 391 -#define EFFECT_DAMAGE_SET_TERRAIN 392 // genesis supernova +#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_RELIC_SONG 346 +#define EFFECT_ATTACKER_DEFENSE_DOWN_HIT 347 +#define EFFECT_BODY_PRESS 348 +#define EFFECT_EERIE_SPELL 349 +#define EFFECT_JUNGLE_HEALING 350 +#define EFFECT_COACHING 351 +#define EFFECT_LASH_OUT 352 +#define EFFECT_GRASSY_GLIDE 353 +#define EFFECT_REMOVE_TERRAIN 354 +#define EFFECT_DYNAMAX_DOUBLE_DMG 355 +#define EFFECT_DECORATE 356 +#define EFFECT_SNIPE_SHOT 357 +#define EFFECT_TRIPLE_HIT 358 +#define EFFECT_RECOIL_HP_25 359 +#define EFFECT_STUFF_CHEEKS 360 +#define EFFECT_GRAV_APPLE 361 +#define EFFECT_EVASION_UP_HIT 362 +#define EFFECT_DOUBLE_IRON_BASH 363 +#define EFFECT_GLITZY_GLOW 364 +#define EFFECT_BADDY_BAD 365 +#define EFFECT_SAPPY_SEED 366 +#define EFFECT_FREEZY_FROST 367 +#define EFFECT_SPARKLY_SWIRL 368 +#define EFFECT_PLASMA_FISTS 369 +#define EFFECT_HYPERSPACE_FURY 370 +#define EFFECT_AURA_WHEEL 371 +#define EFFECT_PHOTON_GEYSER 372 +#define EFFECT_SHELL_SIDE_ARM 373 +#define EFFECT_TERRAIN_PULSE 374 +#define EFFECT_JAW_LOCK 375 +#define EFFECT_NO_RETREAT 376 +#define EFFECT_TAR_SHOT 377 +#define EFFECT_POLTERGEIST 378 +#define EFFECT_OCTOLOCK 379 +#define EFFECT_CLANGOROUS_SOUL 380 +#define EFFECT_BOLT_BEAK 381 +#define EFFECT_SKY_DROP 382 +#define EFFECT_EXPANDING_FORCE 383 +#define EFFECT_SCALE_SHOT 384 +#define EFFECT_METEOR_BEAM 385 +#define EFFECT_RISING_VOLTAGE 386 +#define EFFECT_BEAK_BLAST 387 +#define EFFECT_COURT_CHANGE 388 +#define EFFECT_STEEL_BEAM 389 +#define EFFECT_EXTREME_EVOBOOST 390 +#define EFFECT_DAMAGE_SET_TERRAIN 391 // genesis supernova -#define NUM_BATTLE_MOVE_EFFECTS 393 +#define NUM_BATTLE_MOVE_EFFECTS 392 #endif // GUARD_CONSTANTS_BATTLE_MOVE_EFFECTS_H diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index b03220066..cd1cb355d 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -5209,8 +5209,12 @@ static void Cmd_moveend(void) && gBattleMons[gBattlerTarget].hp != 0 && gBattlerAttacker != gBattlerTarget && gSpecialStatuses[gBattlerTarget].specialDmg - && !(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) - && (moveType == TYPE_FIRE || gBattleMoves[gCurrentMove].effect == EFFECT_SCALD)) + && (moveType == TYPE_FIRE + #if B_BURN_HIT_THAW >= GEN_6 + || gBattleMoves[gCurrentMove].effect == EFFECT_BURN_HIT + #endif + ) + && !(gMoveResultFlags & MOVE_RESULT_NO_EFFECT)) { gBattleMons[gBattlerTarget].status1 &= ~STATUS1_FREEZE; gActiveBattler = gBattlerTarget; diff --git a/src/data/battle_moves.h b/src/data/battle_moves.h index 4b5cde44c..701bd8f52 100644 --- a/src/data/battle_moves.h +++ b/src/data/battle_moves.h @@ -9004,11 +9004,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = [MOVE_SCALD] = { - #if B_UPDATED_MOVE_DATA >= GEN_6 - .effect = EFFECT_SCALD, - #else - .effect = EFFECT_BURN_HIT, - #endif + .effect = EFFECT_BURN_HIT, .power = 80, .type = TYPE_WATER, .accuracy = 100, @@ -10524,7 +10520,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = [MOVE_STEAM_ERUPTION] = { - .effect = EFFECT_SCALD, + .effect = EFFECT_BURN_HIT, .power = 110, .type = TYPE_WATER, .accuracy = 95, @@ -13045,7 +13041,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = [MOVE_SCORCHING_SANDS] = { - .effect = EFFECT_SCALD, + .effect = EFFECT_BURN_HIT, .power = 70, .type = TYPE_GROUND, .accuracy = 100,