From 3a3c24650939a40b568a01376723bf170e559617 Mon Sep 17 00:00:00 2001 From: Eduardo Quezada Date: Fri, 16 May 2025 06:09:39 -0400 Subject: [PATCH 01/29] Consolidated stat-priority ability tests (#6863) --- test/battle/ability/beast_boost.c | 37 ++++++++++++++-- test/battle/ability/protosynthesis.c | 65 +++++++++------------------- test/battle/ability/quark_drive.c | 65 +++++++++------------------- 3 files changed, 75 insertions(+), 92 deletions(-) diff --git a/test/battle/ability/beast_boost.c b/test/battle/ability/beast_boost.c index 8f823ab3f6..3adb4eb9cd 100644 --- a/test/battle/ability/beast_boost.c +++ b/test/battle/ability/beast_boost.c @@ -57,10 +57,39 @@ SINGLE_BATTLE_TEST("Beast Boost doesn't trigger if user is fainted") } } -TO_DO_BATTLE_TEST("Beast Boost boosts Attack 1st in case of a stat tie"); -TO_DO_BATTLE_TEST("Beast Boost boosts Defense 2nd in case of a stat tie"); -TO_DO_BATTLE_TEST("Beast Boost boosts Special Attack 3rd in case of a stat tie"); -TO_DO_BATTLE_TEST("Beast Boost boosts Special Defense 4th in case of a stat tie"); +SINGLE_BATTLE_TEST("Beast Boost prioritizes stats in the case of a tie in the following order: Atk, Def, Sp.Atk, Sp.Def, Speed") +{ + u8 stats[] = {1, 1, 1, 1, 1}; + + PARAMETRIZE { stats[4] = 255; stats[3] = 255; stats[2] = 255; stats[1] = 255; stats[0] = 255; } + PARAMETRIZE { stats[4] = 255; stats[3] = 255; stats[2] = 255; stats[1] = 255; } + PARAMETRIZE { stats[4] = 255; stats[3] = 255; stats[2] = 255; } + PARAMETRIZE { stats[4] = 255; stats[3] = 255; } + GIVEN { + PLAYER(SPECIES_NIHILEGO) { Ability(ABILITY_BEAST_BOOST); Attack(stats[0]); Defense(stats[1]); SpAttack(stats[2]); SpDefense(stats[3]); Speed(stats[4]); } + OPPONENT(SPECIES_WOBBUFFET) { HP(1); Speed(1); } + OPPONENT(SPECIES_WOBBUFFET) { Speed(1); } + } WHEN { + TURN { MOVE(player, MOVE_SCRATCH); SEND_OUT(opponent, 1); } + } SCENE { + ABILITY_POPUP(player, ABILITY_BEAST_BOOST); + switch(i) { + case 0: + MESSAGE("Nihilego's Beast Boost raised its Attack!"); + break; + case 1: + MESSAGE("Nihilego's Beast Boost raised its Defense!"); + break; + case 2: + MESSAGE("Nihilego's Beast Boost raised its Sp. Atk!"); + break; + case 3: + MESSAGE("Nihilego's Beast Boost raised its Sp. Def!"); + break; + } + } +} + TO_DO_BATTLE_TEST("Beast Boost considers Power Split"); TO_DO_BATTLE_TEST("Beast Boost considers Guard Split"); TO_DO_BATTLE_TEST("Beast Boost considers Power Trick"); diff --git a/test/battle/ability/protosynthesis.c b/test/battle/ability/protosynthesis.c index d895879c60..6fd271acb2 100644 --- a/test/battle/ability/protosynthesis.c +++ b/test/battle/ability/protosynthesis.c @@ -100,59 +100,36 @@ SINGLE_BATTLE_TEST("Protosynthesis activates on switch-in") } } -SINGLE_BATTLE_TEST("Protosynthesis boosts Attack 1st in case of a stat tie") +SINGLE_BATTLE_TEST("Protosynthesis prioritizes stats in the case of a tie in the following order: Atk, Def, Sp.Atk, Sp.Def, Speed") { - GIVEN { - PLAYER(SPECIES_GREAT_TUSK) { Ability(ABILITY_PROTOSYNTHESIS); Attack(5); Defense(5); SpAttack(5); SpDefense(5); Speed(5); } - OPPONENT(SPECIES_GROUDON) { Ability(ABILITY_DROUGHT); Speed(5); } - } WHEN { - TURN { } - } SCENE { - ABILITY_POPUP(opponent, ABILITY_DROUGHT); - ABILITY_POPUP(player, ABILITY_PROTOSYNTHESIS); - MESSAGE("Great Tusk's Attack was heightened!"); - } -} + u8 stats[] = {1, 1, 1, 1, 1}; -SINGLE_BATTLE_TEST("Protosynthesis boosts Defense 2nd in case of a stat tie") -{ + PARAMETRIZE { stats[4] = 255; stats[3] = 255; stats[2] = 255; stats[1] = 255; stats[0] = 255; } + PARAMETRIZE { stats[4] = 255; stats[3] = 255; stats[2] = 255; stats[1] = 255; } + PARAMETRIZE { stats[4] = 255; stats[3] = 255; stats[2] = 255; } + PARAMETRIZE { stats[4] = 255; stats[3] = 255; } GIVEN { - PLAYER(SPECIES_GREAT_TUSK) { Ability(ABILITY_PROTOSYNTHESIS); Attack(4); Defense(5); SpAttack(5); SpDefense(5); Speed(5); } + PLAYER(SPECIES_GREAT_TUSK) { Ability(ABILITY_PROTOSYNTHESIS); Attack(stats[0]); Defense(stats[1]); SpAttack(stats[2]); SpDefense(stats[3]); Speed(stats[4]); } OPPONENT(SPECIES_GROUDON) { Ability(ABILITY_DROUGHT); Speed(5); } } WHEN { TURN { } } SCENE { ABILITY_POPUP(opponent, ABILITY_DROUGHT); ABILITY_POPUP(player, ABILITY_PROTOSYNTHESIS); - MESSAGE("Great Tusk's Defense was heightened!"); - } -} - -SINGLE_BATTLE_TEST("Protosynthesis boosts Special Attack 3rd in case of a stat tie") -{ - GIVEN { - PLAYER(SPECIES_GREAT_TUSK) { Ability(ABILITY_PROTOSYNTHESIS); Attack(4); Defense(4); SpAttack(5); SpDefense(5); Speed(5); } - OPPONENT(SPECIES_GROUDON) { Ability(ABILITY_DROUGHT); Speed(5); } - } WHEN { - TURN { } - } SCENE { - ABILITY_POPUP(opponent, ABILITY_DROUGHT); - ABILITY_POPUP(player, ABILITY_PROTOSYNTHESIS); - MESSAGE("Great Tusk's Sp. Atk was heightened!"); - } -} - -SINGLE_BATTLE_TEST("Protosynthesis boosts Special Defense 4th in case of a stat tie") -{ - GIVEN { - PLAYER(SPECIES_GREAT_TUSK) { Ability(ABILITY_PROTOSYNTHESIS); Attack(4); Defense(4); SpAttack(4); SpDefense(5); Speed(5); } - OPPONENT(SPECIES_GROUDON) { Ability(ABILITY_DROUGHT); Speed(5); } - } WHEN { - TURN { } - } SCENE { - ABILITY_POPUP(opponent, ABILITY_DROUGHT); - ABILITY_POPUP(player, ABILITY_PROTOSYNTHESIS); - MESSAGE("Great Tusk's Sp. Def was heightened!"); + switch(i) { + case 0: + MESSAGE("Great Tusk's Attack was heightened!"); + break; + case 1: + MESSAGE("Great Tusk's Defense was heightened!"); + break; + case 2: + MESSAGE("Great Tusk's Sp. Atk was heightened!"); + break; + case 3: + MESSAGE("Great Tusk's Sp. Def was heightened!"); + break; + } } } diff --git a/test/battle/ability/quark_drive.c b/test/battle/ability/quark_drive.c index e4850e7001..61a51d3d35 100644 --- a/test/battle/ability/quark_drive.c +++ b/test/battle/ability/quark_drive.c @@ -115,59 +115,36 @@ SINGLE_BATTLE_TEST("Quark Drive activates on Electric Terrain even if not ground } } -SINGLE_BATTLE_TEST("Quark Drive boosts Attack 1st in case of a stat tie") +SINGLE_BATTLE_TEST("Quark Drive prioritizes stats in the case of a tie in the following order: Atk, Def, Sp.Atk, Sp.Def, Speed") { - GIVEN { - PLAYER(SPECIES_IRON_TREADS) { Ability(ABILITY_QUARK_DRIVE); Attack(5); Defense(5); SpAttack(5); SpDefense(5); Speed(5); } - OPPONENT(SPECIES_TAPU_KOKO) { Ability(ABILITY_ELECTRIC_SURGE); Speed(5); } - } WHEN { - TURN { } - } SCENE { - ABILITY_POPUP(opponent, ABILITY_ELECTRIC_SURGE); - ABILITY_POPUP(player, ABILITY_QUARK_DRIVE); - MESSAGE("Iron Treads's Attack was heightened!"); - } -} + u8 stats[] = {1, 1, 1, 1, 1}; -SINGLE_BATTLE_TEST("Quark Drive boosts Defense 2nd in case of a stat tie") -{ + PARAMETRIZE { stats[4] = 255; stats[3] = 255; stats[2] = 255; stats[1] = 255; stats[0] = 255; } + PARAMETRIZE { stats[4] = 255; stats[3] = 255; stats[2] = 255; stats[1] = 255; } + PARAMETRIZE { stats[4] = 255; stats[3] = 255; stats[2] = 255; } + PARAMETRIZE { stats[4] = 255; stats[3] = 255; } GIVEN { - PLAYER(SPECIES_IRON_TREADS) { Ability(ABILITY_QUARK_DRIVE); Attack(4); Defense(5); SpAttack(5); SpDefense(5); Speed(5); } + PLAYER(SPECIES_IRON_TREADS) { Ability(ABILITY_QUARK_DRIVE); Attack(stats[0]); Defense(stats[1]); SpAttack(stats[2]); SpDefense(stats[3]); Speed(stats[4]); } OPPONENT(SPECIES_TAPU_KOKO) { Ability(ABILITY_ELECTRIC_SURGE); Speed(5); } } WHEN { TURN { } } SCENE { ABILITY_POPUP(opponent, ABILITY_ELECTRIC_SURGE); ABILITY_POPUP(player, ABILITY_QUARK_DRIVE); - MESSAGE("Iron Treads's Defense was heightened!"); - } -} - -SINGLE_BATTLE_TEST("Quark Drive boosts Special Attack 3rd in case of a stat tie") -{ - GIVEN { - PLAYER(SPECIES_IRON_TREADS) { Ability(ABILITY_QUARK_DRIVE); Attack(4); Defense(4); SpAttack(5); SpDefense(5); Speed(5); } - OPPONENT(SPECIES_TAPU_KOKO) { Ability(ABILITY_ELECTRIC_SURGE); Speed(5); } - } WHEN { - TURN { } - } SCENE { - ABILITY_POPUP(opponent, ABILITY_ELECTRIC_SURGE); - ABILITY_POPUP(player, ABILITY_QUARK_DRIVE); - MESSAGE("Iron Treads's Sp. Atk was heightened!"); - } -} - -SINGLE_BATTLE_TEST("Quark Drive boosts Special Defense 4th in case of a stat tie") -{ - GIVEN { - PLAYER(SPECIES_IRON_TREADS) { Ability(ABILITY_QUARK_DRIVE); Attack(4); Defense(4); SpAttack(4); SpDefense(5); Speed(5); } - OPPONENT(SPECIES_TAPU_KOKO) { Ability(ABILITY_ELECTRIC_SURGE); Speed(5); } - } WHEN { - TURN { } - } SCENE { - ABILITY_POPUP(opponent, ABILITY_ELECTRIC_SURGE); - ABILITY_POPUP(player, ABILITY_QUARK_DRIVE); - MESSAGE("Iron Treads's Sp. Def was heightened!"); + switch(i) { + case 0: + MESSAGE("Iron Treads's Attack was heightened!"); + break; + case 1: + MESSAGE("Iron Treads's Defense was heightened!"); + break; + case 2: + MESSAGE("Iron Treads's Sp. Atk was heightened!"); + break; + case 3: + MESSAGE("Iron Treads's Sp. Def was heightened!"); + break; + } } } From 6711df36a3956b359be120733d7f44cfc403a7d6 Mon Sep 17 00:00:00 2001 From: Eduardo Quezada Date: Fri, 16 May 2025 06:20:44 -0400 Subject: [PATCH 02/29] Create missing ability and move effect test files (#6845) --- test/battle/ability/competitive.c | 4 + test/battle/ability/dark_aura.c | 4 + test/battle/ability/delta_stream.c | 4 + test/battle/ability/early_bird.c | 4 + test/battle/ability/fairy_aura.c | 4 + test/battle/ability/filter.c | 4 + test/battle/ability/flare_boost.c | 4 + test/battle/ability/flower_veil.c | 4 + test/battle/ability/forewarn.c | 4 + test/battle/ability/friend_guard.c | 4 + test/battle/ability/fur_coat.c | 4 + test/battle/ability/gluttony.c | 4 + test/battle/ability/gooey.c | 4 + test/battle/ability/gorilla_tactics.c | 4 + test/battle/ability/grass_pelt.c | 4 + test/battle/ability/guts.c | 4 + test/battle/ability/hadron_engine.c | 4 + test/battle/ability/heatproof.c | 4 + test/battle/ability/heavy_metal.c | 4 + test/battle/ability/honey_gather.c | 4 + test/battle/ability/huge_power.c | 4 + test/battle/ability/hustle.c | 4 + test/battle/ability/illuminate.c | 4 + test/battle/ability/imposter.c | 4 + test/battle/ability/infiltrator.c | 4 + test/battle/ability/iron_barbs.c | 4 + test/battle/ability/iron_fist.c | 4 + test/battle/ability/justified.c | 4 + test/battle/ability/klutz.c | 4 + test/battle/ability/levitate.c | 4 + test/battle/ability/libero.c | 4 + test/battle/ability/light_metal.c | 4 + test/battle/ability/long_reach.c | 4 + test/battle/ability/magma_armor.c | 4 + test/battle/ability/magnet_pull.c | 4 + test/battle/ability/marvel_scale.c | 4 + test/battle/ability/mega_launcher.c | 4 + test/battle/ability/minus.c | 4 + test/battle/ability/mold_breaker.c | 4 + test/battle/ability/multiscale.c | 4 + test/battle/ability/multitype.c | 4 + test/battle/ability/natural_cure.c | 4 + test/battle/ability/no_guard.c | 4 + test/battle/ability/perish_body.c | 4 + test/battle/ability/pickpocket.c | 4 + test/battle/ability/plus.c | 4 + test/battle/ability/poison_puppeteer.c | 4 - test/battle/ability/power_construct.c | 4 + test/battle/ability/power_of_alchemy.c | 4 + test/battle/ability/power_spot.c | 4 + test/battle/ability/prism_armor.c | 4 + test/battle/ability/propeller_tail.c | 4 + test/battle/ability/punk_rock.c | 4 + test/battle/ability/pure_power.c | 4 + test/battle/ability/quick_feet.c | 4 + test/battle/ability/receiver.c | 4 + test/battle/ability/reckless.c | 4 + test/battle/ability/rks_system.c | 4 + test/battle/ability/rock_head.c | 4 + test/battle/ability/run_away.c | 4 + test/battle/ability/sand_spit.c | 4 + test/battle/ability/sand_stream.c | 4 + test/battle/ability/screen_cleaner.c | 4 + test/battle/ability/serene_grace.c | 4 + test/battle/ability/shadow_shield.c | 4 + test/battle/ability/shadow_tag.c | 4 + test/battle/ability/simple.c | 4 + test/battle/ability/skill_link.c | 4 + test/battle/ability/slow_start.c | 4 + test/battle/ability/soul_heart.c | 4 + test/battle/ability/soundproof.c | 4 + test/battle/ability/stakeout.c | 4 + test/battle/ability/stall.c | 4 + test/battle/ability/steadfast.c | 4 + test/battle/ability/steely_spirit.c | 4 + test/battle/ability/strong_jaw.c | 4 + test/battle/ability/suction_cups.c | 4 + test/battle/ability/surge_surfer.c | 4 + test/battle/ability/sweet_veil.c | 4 + test/battle/ability/synchronize.c | 4 + test/battle/ability/tangled_feet.c | 4 + test/battle/ability/technician.c | 4 + test/battle/ability/telepathy.c | 4 + test/battle/ability/teravolt.c | 4 + test/battle/ability/thick_fat.c | 4 + test/battle/ability/tinted_lens.c | 4 + test/battle/ability/tough_claws.c | 4 + test/battle/ability/toxic_boost.c | 4 + test/battle/ability/triage.c | 4 + test/battle/ability/truant.c | 4 + test/battle/ability/turboblaze.c | 4 + test/battle/ability/unaware.c | 4 + test/battle/ability/unseen_fist.c | 4 + test/battle/ability/victory_star.c | 4 + test/battle/ability/vital_spirit.c | 4 + test/battle/ability/wandering_spirit.c | 4 + test/battle/ability/water_bubble.c | 4 + test/battle/ability/water_veil.c | 4 + test/battle/ability/well_baked_body.c | 4 + test/battle/ability/wimp_out.c | 4 + test/battle/ability/wonder_guard.c | 4 + test/battle/ability/wonder_skin.c | 4 + test/battle/move_effect/facade.c | 4 + test/battle/move_effect/fairy_lock.c | 4 + test/battle/move_effect/false_swipe.c | 4 + test/battle/move_effect/fell_stinger.c | 4 + test/battle/move_effect/final_gambit.c | 4 + test/battle/move_effect/first_turn_only.c | 4 + test/battle/move_effect/flail.c | 4 + test/battle/move_effect/flatter.c | 4 + test/battle/move_effect/foresight.c | 4 + test/battle/move_effect/frustration.c | 4 + test/battle/move_effect/fusion_combo.c | 4 + test/battle/move_effect/gear_up.c | 4 + test/battle/move_effect/geomancy.c | 4 + test/battle/move_effect/grassy_glide.c | 4 + test/battle/move_effect/grav_apple.c | 4 + test/battle/move_effect/growth.c | 4 + test/battle/move_effect/grudge.c | 4 + test/battle/move_effect/guard_swap.c | 4 + test/battle/move_effect/guardian_of_alola.c | 4 + test/battle/move_effect/gyro_ball.c | 4 + test/battle/move_effect/hail.c | 4 + test/battle/move_effect/happy_hour.c | 4 + test/battle/move_effect/heal_block.c | 4 + test/battle/move_effect/heart_swap.c | 4 + test/battle/move_effect/heat_crash.c | 4 + test/battle/move_effect/helping_hand.c | 4 + test/battle/move_effect/hit_enemy_heal_ally.c | 4 + test/battle/move_effect/hyperspace_fury.c | 4 + test/battle/move_effect/imprison.c | 4 + test/battle/move_effect/ingrain.c | 4 + test/battle/move_effect/jungle_healing.c | 4 + test/battle/move_effect/lash_out.c | 4 + test/battle/move_effect/level_damage.c | 4 + test/battle/move_effect/light_screen.c | 4 + test/battle/move_effect/lock_on.c | 4 + test/battle/move_effect/low_kick.c | 4 + test/battle/move_effect/magic_room.c | 4 + test/battle/move_effect/magnet_rise.c | 4 + test/battle/move_effect/magnetic_flux.c | 4 + test/battle/move_effect/magnitude.c | 4 + test/battle/move_effect/mat_block.c | 4 + test/battle/move_effect/max_move.c | 4 + test/battle/move_effect/me_first.c | 4 + test/battle/move_effect/mean_look.c | 4 + test/battle/move_effect/memento.c | 4 + test/battle/move_effect/metal_burst.c | 4 + test/battle/move_effect/mimic.c | 4 + test/battle/move_effect/minimize.c | 4 + test/battle/move_effect/miracle_eye.c | 4 + test/battle/move_effect/mirror_coat.c | 4 + test/battle/move_effect/mist.c | 4 + test/battle/move_effect/mud_sport.c | 4 + test/battle/move_effect/natural_gift.c | 4 + test/battle/move_effect/nature_power.c | 4 + test/battle/move_effect/nightmare.c | 4 + test/battle/move_effect/no_retreat.c | 4 + test/battle/move_effect/noble_roar.c | 4 + test/battle/move_effect/order_up.c | 4 + test/battle/move_effect/pain_split.c | 4 + test/battle/move_effect/paralyze.c | 4 + test/battle/move_effect/parting_shot.c | 4 + test/battle/move_effect/payback.c | 4 + test/battle/move_effect/perish_song.c | 4 + test/battle/move_effect/placeholder.c | 4 + test/battle/move_effect/poison.c | 4 + test/battle/move_effect/poltergeist.c | 4 + test/battle/move_effect/power_swap.c | 4 + test/battle/move_effect/power_trick.c | 4 + test/battle/move_effect/present.c | 4 + test/battle/move_effect/psyblade.c | 4 + test/battle/move_effect/psych_up.c | 4 + test/battle/move_effect/psycho_shift.c | 4 + test/battle/move_effect/psyshock.c | 4 + test/battle/move_effect/psywave.c | 4 + test/battle/move_effect/punishment.c | 4 + test/battle/move_effect/purify.c | 4 + test/battle/move_effect/quiver_dance.c | 4 + test/battle/move_effect/rage.c | 4 + test/battle/move_effect/rain_always_hit.c | 4 + test/battle/move_effect/rain_dance.c | 4 + test/battle/move_effect/recoil_hp_25.c | 4 + test/battle/move_effect/recycle.c | 4 + test/battle/move_effect/rest.c | 4 + test/battle/move_effect/restore_hp.c | 4 + test/battle/move_effect/return.c | 4 + test/battle/move_effect/revenge.c | 4 + test/battle/move_effect/rising_voltage.c | 4 + test/battle/move_effect/rollout.c | 4 + test/battle/move_effect/safeguard.c | 4 + test/battle/move_effect/sandstorm.c | 4 + test/battle/move_effect/shell_smash.c | 4 + test/battle/move_effect/shift_gear.c | 4 + test/battle/move_effect/shore_up.c | 4 + test/battle/move_effect/sky_drop.c | 4 + test/battle/move_effect/smack_down.c | 19 --- test/battle/move_effect/smelling_salts.c | 63 --------- test/battle/move_effect/snatch.c | 4 + test/battle/move_effect/snipe_shot.c | 4 + test/battle/move_effect/snowscape.c | 4 + test/battle/move_effect/soak.c | 4 + test/battle/move_effect/softboiled.c | 4 + test/battle/move_effect/sparkling_aria.c | 25 ---- .../move_effect/special_attack_down_2.c | 4 + test/battle/move_effect/special_attack_up.c | 4 + test/battle/move_effect/special_attack_up_2.c | 4 + .../battle/move_effect/special_defense_down.c | 4 + .../move_effect/special_defense_down_2.c | 4 + test/battle/move_effect/special_defense_up.c | 4 + .../battle/move_effect/special_defense_up_2.c | 4 + test/battle/move_effect/speed_down_2.c | 4 + test/battle/move_effect/speed_up.c | 4 + test/battle/move_effect/speed_up_2.c | 4 + test/battle/move_effect/spite.c | 4 + test/battle/move_effect/stored_power.c | 4 + test/battle/move_effect/sunny_day.c | 4 + test/battle/move_effect/super_fang.c | 4 + test/battle/move_effect/swagger.c | 4 + test/battle/move_effect/synchronoise.c | 4 + test/battle/move_effect/taunt.c | 4 + test/battle/move_effect/terrain_pulse.c | 4 + test/battle/move_effect/third_type.c | 4 + test/battle/move_effect/tickle.c | 4 + test/battle/move_effect/topsy_turvy.c | 4 + test/battle/move_effect/toxic_thread.c | 4 + test/battle/move_effect/transform.c | 4 + test/battle/move_effect/trick.c | 4 + test/battle/move_effect/trick_room.c | 4 + test/battle/move_effect/trump_card.c | 4 + test/battle/move_effect/two_typed_move.c | 4 + test/battle/move_effect/venom_drench.c | 4 + test/battle/move_effect/victory_dance.c | 4 + test/battle/move_effect/wake_up_slap.c | 57 -------- test/battle/move_effect/water_sport.c | 4 + test/battle/move_effect/will_o_wisp.c | 4 + test/battle/move_effect/wish.c | 4 + test/battle/move_effect/wonder_room.c | 4 + test/battle/move_effect/yawn.c | 4 + .../flame_burst.c | 0 .../move_effect_secondary/remove_status.c | 132 ++++++++++++++++++ .../salt_cure.c | 0 .../battle/move_effect_secondary/smack_down.c | 28 ++++ .../move_effect_secondary/will_o_wisp.c | 4 + .../ignore_type_if_flying_and_ungrounded.c} | 19 +-- .../{ability => }/switch_in_abilities.c | 0 246 files changed, 1101 insertions(+), 186 deletions(-) create mode 100644 test/battle/ability/competitive.c create mode 100644 test/battle/ability/dark_aura.c create mode 100644 test/battle/ability/delta_stream.c create mode 100644 test/battle/ability/early_bird.c create mode 100644 test/battle/ability/fairy_aura.c create mode 100644 test/battle/ability/filter.c create mode 100644 test/battle/ability/flare_boost.c create mode 100644 test/battle/ability/flower_veil.c create mode 100644 test/battle/ability/forewarn.c create mode 100644 test/battle/ability/friend_guard.c create mode 100644 test/battle/ability/fur_coat.c create mode 100644 test/battle/ability/gluttony.c create mode 100644 test/battle/ability/gooey.c create mode 100644 test/battle/ability/gorilla_tactics.c create mode 100644 test/battle/ability/grass_pelt.c create mode 100644 test/battle/ability/guts.c create mode 100644 test/battle/ability/hadron_engine.c create mode 100644 test/battle/ability/heatproof.c create mode 100644 test/battle/ability/heavy_metal.c create mode 100644 test/battle/ability/honey_gather.c create mode 100644 test/battle/ability/huge_power.c create mode 100644 test/battle/ability/hustle.c create mode 100644 test/battle/ability/illuminate.c create mode 100644 test/battle/ability/imposter.c create mode 100644 test/battle/ability/infiltrator.c create mode 100644 test/battle/ability/iron_barbs.c create mode 100644 test/battle/ability/iron_fist.c create mode 100644 test/battle/ability/justified.c create mode 100644 test/battle/ability/klutz.c create mode 100644 test/battle/ability/levitate.c create mode 100644 test/battle/ability/libero.c create mode 100644 test/battle/ability/light_metal.c create mode 100644 test/battle/ability/long_reach.c create mode 100644 test/battle/ability/magma_armor.c create mode 100644 test/battle/ability/magnet_pull.c create mode 100644 test/battle/ability/marvel_scale.c create mode 100644 test/battle/ability/mega_launcher.c create mode 100644 test/battle/ability/minus.c create mode 100644 test/battle/ability/mold_breaker.c create mode 100644 test/battle/ability/multiscale.c create mode 100644 test/battle/ability/multitype.c create mode 100644 test/battle/ability/natural_cure.c create mode 100644 test/battle/ability/no_guard.c create mode 100644 test/battle/ability/perish_body.c create mode 100644 test/battle/ability/pickpocket.c create mode 100644 test/battle/ability/plus.c create mode 100644 test/battle/ability/power_construct.c create mode 100644 test/battle/ability/power_of_alchemy.c create mode 100644 test/battle/ability/power_spot.c create mode 100644 test/battle/ability/prism_armor.c create mode 100644 test/battle/ability/propeller_tail.c create mode 100644 test/battle/ability/punk_rock.c create mode 100644 test/battle/ability/pure_power.c create mode 100644 test/battle/ability/quick_feet.c create mode 100644 test/battle/ability/receiver.c create mode 100644 test/battle/ability/reckless.c create mode 100644 test/battle/ability/rks_system.c create mode 100644 test/battle/ability/rock_head.c create mode 100644 test/battle/ability/run_away.c create mode 100644 test/battle/ability/sand_spit.c create mode 100644 test/battle/ability/sand_stream.c create mode 100644 test/battle/ability/screen_cleaner.c create mode 100644 test/battle/ability/serene_grace.c create mode 100644 test/battle/ability/shadow_shield.c create mode 100644 test/battle/ability/shadow_tag.c create mode 100644 test/battle/ability/simple.c create mode 100644 test/battle/ability/skill_link.c create mode 100644 test/battle/ability/slow_start.c create mode 100644 test/battle/ability/soul_heart.c create mode 100644 test/battle/ability/soundproof.c create mode 100644 test/battle/ability/stakeout.c create mode 100644 test/battle/ability/stall.c create mode 100644 test/battle/ability/steadfast.c create mode 100644 test/battle/ability/steely_spirit.c create mode 100644 test/battle/ability/strong_jaw.c create mode 100644 test/battle/ability/suction_cups.c create mode 100644 test/battle/ability/surge_surfer.c create mode 100644 test/battle/ability/sweet_veil.c create mode 100644 test/battle/ability/synchronize.c create mode 100644 test/battle/ability/tangled_feet.c create mode 100644 test/battle/ability/technician.c create mode 100644 test/battle/ability/telepathy.c create mode 100644 test/battle/ability/teravolt.c create mode 100644 test/battle/ability/thick_fat.c create mode 100644 test/battle/ability/tinted_lens.c create mode 100644 test/battle/ability/tough_claws.c create mode 100644 test/battle/ability/toxic_boost.c create mode 100644 test/battle/ability/triage.c create mode 100644 test/battle/ability/truant.c create mode 100644 test/battle/ability/turboblaze.c create mode 100644 test/battle/ability/unaware.c create mode 100644 test/battle/ability/unseen_fist.c create mode 100644 test/battle/ability/victory_star.c create mode 100644 test/battle/ability/vital_spirit.c create mode 100644 test/battle/ability/wandering_spirit.c create mode 100644 test/battle/ability/water_bubble.c create mode 100644 test/battle/ability/water_veil.c create mode 100644 test/battle/ability/well_baked_body.c create mode 100644 test/battle/ability/wimp_out.c create mode 100644 test/battle/ability/wonder_guard.c create mode 100644 test/battle/ability/wonder_skin.c create mode 100644 test/battle/move_effect/facade.c create mode 100644 test/battle/move_effect/fairy_lock.c create mode 100644 test/battle/move_effect/false_swipe.c create mode 100644 test/battle/move_effect/fell_stinger.c create mode 100644 test/battle/move_effect/final_gambit.c create mode 100644 test/battle/move_effect/first_turn_only.c create mode 100644 test/battle/move_effect/flail.c create mode 100644 test/battle/move_effect/flatter.c create mode 100644 test/battle/move_effect/foresight.c create mode 100644 test/battle/move_effect/frustration.c create mode 100644 test/battle/move_effect/fusion_combo.c create mode 100644 test/battle/move_effect/gear_up.c create mode 100644 test/battle/move_effect/geomancy.c create mode 100644 test/battle/move_effect/grassy_glide.c create mode 100644 test/battle/move_effect/grav_apple.c create mode 100644 test/battle/move_effect/growth.c create mode 100644 test/battle/move_effect/grudge.c create mode 100644 test/battle/move_effect/guard_swap.c create mode 100644 test/battle/move_effect/guardian_of_alola.c create mode 100644 test/battle/move_effect/gyro_ball.c create mode 100644 test/battle/move_effect/hail.c create mode 100644 test/battle/move_effect/happy_hour.c create mode 100644 test/battle/move_effect/heal_block.c create mode 100644 test/battle/move_effect/heart_swap.c create mode 100644 test/battle/move_effect/heat_crash.c create mode 100644 test/battle/move_effect/helping_hand.c create mode 100644 test/battle/move_effect/hit_enemy_heal_ally.c create mode 100644 test/battle/move_effect/hyperspace_fury.c create mode 100644 test/battle/move_effect/imprison.c create mode 100644 test/battle/move_effect/ingrain.c create mode 100644 test/battle/move_effect/jungle_healing.c create mode 100644 test/battle/move_effect/lash_out.c create mode 100644 test/battle/move_effect/level_damage.c create mode 100644 test/battle/move_effect/light_screen.c create mode 100644 test/battle/move_effect/lock_on.c create mode 100644 test/battle/move_effect/low_kick.c create mode 100644 test/battle/move_effect/magic_room.c create mode 100644 test/battle/move_effect/magnet_rise.c create mode 100644 test/battle/move_effect/magnetic_flux.c create mode 100644 test/battle/move_effect/magnitude.c create mode 100644 test/battle/move_effect/mat_block.c create mode 100644 test/battle/move_effect/max_move.c create mode 100644 test/battle/move_effect/me_first.c create mode 100644 test/battle/move_effect/mean_look.c create mode 100644 test/battle/move_effect/memento.c create mode 100644 test/battle/move_effect/metal_burst.c create mode 100644 test/battle/move_effect/mimic.c create mode 100644 test/battle/move_effect/minimize.c create mode 100644 test/battle/move_effect/miracle_eye.c create mode 100644 test/battle/move_effect/mirror_coat.c create mode 100644 test/battle/move_effect/mist.c create mode 100644 test/battle/move_effect/mud_sport.c create mode 100644 test/battle/move_effect/natural_gift.c create mode 100644 test/battle/move_effect/nature_power.c create mode 100644 test/battle/move_effect/nightmare.c create mode 100644 test/battle/move_effect/no_retreat.c create mode 100644 test/battle/move_effect/noble_roar.c create mode 100644 test/battle/move_effect/order_up.c create mode 100644 test/battle/move_effect/pain_split.c create mode 100644 test/battle/move_effect/paralyze.c create mode 100644 test/battle/move_effect/parting_shot.c create mode 100644 test/battle/move_effect/payback.c create mode 100644 test/battle/move_effect/perish_song.c create mode 100644 test/battle/move_effect/placeholder.c create mode 100644 test/battle/move_effect/poison.c create mode 100644 test/battle/move_effect/poltergeist.c create mode 100644 test/battle/move_effect/power_swap.c create mode 100644 test/battle/move_effect/power_trick.c create mode 100644 test/battle/move_effect/present.c create mode 100644 test/battle/move_effect/psyblade.c create mode 100644 test/battle/move_effect/psych_up.c create mode 100644 test/battle/move_effect/psycho_shift.c create mode 100644 test/battle/move_effect/psyshock.c create mode 100644 test/battle/move_effect/psywave.c create mode 100644 test/battle/move_effect/punishment.c create mode 100644 test/battle/move_effect/purify.c create mode 100644 test/battle/move_effect/quiver_dance.c create mode 100644 test/battle/move_effect/rage.c create mode 100644 test/battle/move_effect/rain_always_hit.c create mode 100644 test/battle/move_effect/rain_dance.c create mode 100644 test/battle/move_effect/recoil_hp_25.c create mode 100644 test/battle/move_effect/recycle.c create mode 100644 test/battle/move_effect/rest.c create mode 100644 test/battle/move_effect/restore_hp.c create mode 100644 test/battle/move_effect/return.c create mode 100644 test/battle/move_effect/revenge.c create mode 100644 test/battle/move_effect/rising_voltage.c create mode 100644 test/battle/move_effect/rollout.c create mode 100644 test/battle/move_effect/safeguard.c create mode 100644 test/battle/move_effect/sandstorm.c create mode 100644 test/battle/move_effect/shell_smash.c create mode 100644 test/battle/move_effect/shift_gear.c create mode 100644 test/battle/move_effect/shore_up.c create mode 100644 test/battle/move_effect/sky_drop.c delete mode 100644 test/battle/move_effect/smack_down.c delete mode 100644 test/battle/move_effect/smelling_salts.c create mode 100644 test/battle/move_effect/snatch.c create mode 100644 test/battle/move_effect/snipe_shot.c create mode 100644 test/battle/move_effect/snowscape.c create mode 100644 test/battle/move_effect/soak.c create mode 100644 test/battle/move_effect/softboiled.c delete mode 100644 test/battle/move_effect/sparkling_aria.c create mode 100644 test/battle/move_effect/special_attack_down_2.c create mode 100644 test/battle/move_effect/special_attack_up.c create mode 100644 test/battle/move_effect/special_attack_up_2.c create mode 100644 test/battle/move_effect/special_defense_down.c create mode 100644 test/battle/move_effect/special_defense_down_2.c create mode 100644 test/battle/move_effect/special_defense_up.c create mode 100644 test/battle/move_effect/special_defense_up_2.c create mode 100644 test/battle/move_effect/speed_down_2.c create mode 100644 test/battle/move_effect/speed_up.c create mode 100644 test/battle/move_effect/speed_up_2.c create mode 100644 test/battle/move_effect/spite.c create mode 100644 test/battle/move_effect/stored_power.c create mode 100644 test/battle/move_effect/sunny_day.c create mode 100644 test/battle/move_effect/super_fang.c create mode 100644 test/battle/move_effect/swagger.c create mode 100644 test/battle/move_effect/synchronoise.c create mode 100644 test/battle/move_effect/taunt.c create mode 100644 test/battle/move_effect/terrain_pulse.c create mode 100644 test/battle/move_effect/third_type.c create mode 100644 test/battle/move_effect/tickle.c create mode 100644 test/battle/move_effect/topsy_turvy.c create mode 100644 test/battle/move_effect/toxic_thread.c create mode 100644 test/battle/move_effect/transform.c create mode 100644 test/battle/move_effect/trick.c create mode 100644 test/battle/move_effect/trick_room.c create mode 100644 test/battle/move_effect/trump_card.c create mode 100644 test/battle/move_effect/two_typed_move.c create mode 100644 test/battle/move_effect/venom_drench.c create mode 100644 test/battle/move_effect/victory_dance.c delete mode 100644 test/battle/move_effect/wake_up_slap.c create mode 100644 test/battle/move_effect/water_sport.c create mode 100644 test/battle/move_effect/will_o_wisp.c create mode 100644 test/battle/move_effect/wish.c create mode 100644 test/battle/move_effect/wonder_room.c create mode 100644 test/battle/move_effect/yawn.c rename test/battle/{move_effect => move_effect_secondary}/flame_burst.c (100%) create mode 100644 test/battle/move_effect_secondary/remove_status.c rename test/battle/{move_effect => move_effect_secondary}/salt_cure.c (100%) create mode 100644 test/battle/move_effect_secondary/smack_down.c create mode 100644 test/battle/move_effect_secondary/will_o_wisp.c rename test/battle/{move_effect/thousand_arrows.c => move_flags/ignore_type_if_flying_and_ungrounded.c} (70%) rename test/battle/{ability => }/switch_in_abilities.c (100%) diff --git a/test/battle/ability/competitive.c b/test/battle/ability/competitive.c new file mode 100644 index 0000000000..cc3e582eab --- /dev/null +++ b/test/battle/ability/competitive.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Competitive (Ability) test titles") diff --git a/test/battle/ability/dark_aura.c b/test/battle/ability/dark_aura.c new file mode 100644 index 0000000000..eb1bf05246 --- /dev/null +++ b/test/battle/ability/dark_aura.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Dark Aura (Ability) test titles") diff --git a/test/battle/ability/delta_stream.c b/test/battle/ability/delta_stream.c new file mode 100644 index 0000000000..5b4081cb1e --- /dev/null +++ b/test/battle/ability/delta_stream.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Delta Stream (Ability) test titles") diff --git a/test/battle/ability/early_bird.c b/test/battle/ability/early_bird.c new file mode 100644 index 0000000000..9b368970f6 --- /dev/null +++ b/test/battle/ability/early_bird.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Early Bird (Ability) test titles") diff --git a/test/battle/ability/fairy_aura.c b/test/battle/ability/fairy_aura.c new file mode 100644 index 0000000000..3b8d400b02 --- /dev/null +++ b/test/battle/ability/fairy_aura.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Fairy Aura (Ability) test titles") diff --git a/test/battle/ability/filter.c b/test/battle/ability/filter.c new file mode 100644 index 0000000000..ca323b1be2 --- /dev/null +++ b/test/battle/ability/filter.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Filter (Ability) test titles") diff --git a/test/battle/ability/flare_boost.c b/test/battle/ability/flare_boost.c new file mode 100644 index 0000000000..a4ff14382a --- /dev/null +++ b/test/battle/ability/flare_boost.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Flare Boost (Ability) test titles") diff --git a/test/battle/ability/flower_veil.c b/test/battle/ability/flower_veil.c new file mode 100644 index 0000000000..c1952360d1 --- /dev/null +++ b/test/battle/ability/flower_veil.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Flower Veil (Ability) test titles") diff --git a/test/battle/ability/forewarn.c b/test/battle/ability/forewarn.c new file mode 100644 index 0000000000..810fcd975f --- /dev/null +++ b/test/battle/ability/forewarn.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Forewarn (Ability) test titles") diff --git a/test/battle/ability/friend_guard.c b/test/battle/ability/friend_guard.c new file mode 100644 index 0000000000..5e4776731e --- /dev/null +++ b/test/battle/ability/friend_guard.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Friend Guard (Ability) test titles") diff --git a/test/battle/ability/fur_coat.c b/test/battle/ability/fur_coat.c new file mode 100644 index 0000000000..56fb197114 --- /dev/null +++ b/test/battle/ability/fur_coat.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Fur Coat (Ability) test titles") diff --git a/test/battle/ability/gluttony.c b/test/battle/ability/gluttony.c new file mode 100644 index 0000000000..4ceda945f6 --- /dev/null +++ b/test/battle/ability/gluttony.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Gluttony (Ability) test titles") diff --git a/test/battle/ability/gooey.c b/test/battle/ability/gooey.c new file mode 100644 index 0000000000..ad78e30c39 --- /dev/null +++ b/test/battle/ability/gooey.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Gooey (Ability) test titles") diff --git a/test/battle/ability/gorilla_tactics.c b/test/battle/ability/gorilla_tactics.c new file mode 100644 index 0000000000..2bafd88165 --- /dev/null +++ b/test/battle/ability/gorilla_tactics.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Gorilla Tactics (Ability) test titles") diff --git a/test/battle/ability/grass_pelt.c b/test/battle/ability/grass_pelt.c new file mode 100644 index 0000000000..1696b71e10 --- /dev/null +++ b/test/battle/ability/grass_pelt.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Grass Pelt (Ability) test titles") diff --git a/test/battle/ability/guts.c b/test/battle/ability/guts.c new file mode 100644 index 0000000000..459adc0e69 --- /dev/null +++ b/test/battle/ability/guts.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Guts (Ability) test titles") diff --git a/test/battle/ability/hadron_engine.c b/test/battle/ability/hadron_engine.c new file mode 100644 index 0000000000..e6324c0c51 --- /dev/null +++ b/test/battle/ability/hadron_engine.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Hadron Engine (Ability) test titles") diff --git a/test/battle/ability/heatproof.c b/test/battle/ability/heatproof.c new file mode 100644 index 0000000000..7f1d772bb7 --- /dev/null +++ b/test/battle/ability/heatproof.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Heatproof (Ability) test titles") diff --git a/test/battle/ability/heavy_metal.c b/test/battle/ability/heavy_metal.c new file mode 100644 index 0000000000..baaa039b19 --- /dev/null +++ b/test/battle/ability/heavy_metal.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Heavy Metal (Ability) test titles") diff --git a/test/battle/ability/honey_gather.c b/test/battle/ability/honey_gather.c new file mode 100644 index 0000000000..56dbb22f2e --- /dev/null +++ b/test/battle/ability/honey_gather.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Honey Gather (Ability) test titles") diff --git a/test/battle/ability/huge_power.c b/test/battle/ability/huge_power.c new file mode 100644 index 0000000000..9362bf8ce3 --- /dev/null +++ b/test/battle/ability/huge_power.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Huge Power (Ability) test titles") diff --git a/test/battle/ability/hustle.c b/test/battle/ability/hustle.c new file mode 100644 index 0000000000..c399bfa501 --- /dev/null +++ b/test/battle/ability/hustle.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Hustle (Ability) test titles") diff --git a/test/battle/ability/illuminate.c b/test/battle/ability/illuminate.c new file mode 100644 index 0000000000..72bf1f6f81 --- /dev/null +++ b/test/battle/ability/illuminate.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Illuminate (Ability) test titles") diff --git a/test/battle/ability/imposter.c b/test/battle/ability/imposter.c new file mode 100644 index 0000000000..98f6cc29fc --- /dev/null +++ b/test/battle/ability/imposter.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Imposter (Ability) test titles") diff --git a/test/battle/ability/infiltrator.c b/test/battle/ability/infiltrator.c new file mode 100644 index 0000000000..faf00ee113 --- /dev/null +++ b/test/battle/ability/infiltrator.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Infiltrator (Ability) test titles") diff --git a/test/battle/ability/iron_barbs.c b/test/battle/ability/iron_barbs.c new file mode 100644 index 0000000000..8b1525a9f6 --- /dev/null +++ b/test/battle/ability/iron_barbs.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Iron Barbs (Ability) test titles") diff --git a/test/battle/ability/iron_fist.c b/test/battle/ability/iron_fist.c new file mode 100644 index 0000000000..ae26f9cdd0 --- /dev/null +++ b/test/battle/ability/iron_fist.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Iron Fist (Ability) test titles") diff --git a/test/battle/ability/justified.c b/test/battle/ability/justified.c new file mode 100644 index 0000000000..3416d77415 --- /dev/null +++ b/test/battle/ability/justified.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Justified (Ability) test titles") diff --git a/test/battle/ability/klutz.c b/test/battle/ability/klutz.c new file mode 100644 index 0000000000..76216edd17 --- /dev/null +++ b/test/battle/ability/klutz.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Klutz (Ability) test titles") diff --git a/test/battle/ability/levitate.c b/test/battle/ability/levitate.c new file mode 100644 index 0000000000..a1c1dc927d --- /dev/null +++ b/test/battle/ability/levitate.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Levitate (Ability) test titles") diff --git a/test/battle/ability/libero.c b/test/battle/ability/libero.c new file mode 100644 index 0000000000..8ea93df3c0 --- /dev/null +++ b/test/battle/ability/libero.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Libero (Ability) test titles") diff --git a/test/battle/ability/light_metal.c b/test/battle/ability/light_metal.c new file mode 100644 index 0000000000..8ad4a6a4b5 --- /dev/null +++ b/test/battle/ability/light_metal.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Light Metal (Ability) test titles") diff --git a/test/battle/ability/long_reach.c b/test/battle/ability/long_reach.c new file mode 100644 index 0000000000..3558ea92b2 --- /dev/null +++ b/test/battle/ability/long_reach.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Long Reach (Ability) test titles") diff --git a/test/battle/ability/magma_armor.c b/test/battle/ability/magma_armor.c new file mode 100644 index 0000000000..e61444baee --- /dev/null +++ b/test/battle/ability/magma_armor.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Magma Armor (Ability) test titles") diff --git a/test/battle/ability/magnet_pull.c b/test/battle/ability/magnet_pull.c new file mode 100644 index 0000000000..538b15f824 --- /dev/null +++ b/test/battle/ability/magnet_pull.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Magnet Pull (Ability) test titles") diff --git a/test/battle/ability/marvel_scale.c b/test/battle/ability/marvel_scale.c new file mode 100644 index 0000000000..4fc7ee3c62 --- /dev/null +++ b/test/battle/ability/marvel_scale.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Marvel Scale (Ability) test titles") diff --git a/test/battle/ability/mega_launcher.c b/test/battle/ability/mega_launcher.c new file mode 100644 index 0000000000..dae3799f81 --- /dev/null +++ b/test/battle/ability/mega_launcher.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Mega Launcher (Ability) test titles") diff --git a/test/battle/ability/minus.c b/test/battle/ability/minus.c new file mode 100644 index 0000000000..bf841465a6 --- /dev/null +++ b/test/battle/ability/minus.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Minus (Ability) test titles") diff --git a/test/battle/ability/mold_breaker.c b/test/battle/ability/mold_breaker.c new file mode 100644 index 0000000000..2c04deeeef --- /dev/null +++ b/test/battle/ability/mold_breaker.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Mold Breaker (Ability) test titles") diff --git a/test/battle/ability/multiscale.c b/test/battle/ability/multiscale.c new file mode 100644 index 0000000000..f2a808d69a --- /dev/null +++ b/test/battle/ability/multiscale.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Multiscale (Ability) test titles") diff --git a/test/battle/ability/multitype.c b/test/battle/ability/multitype.c new file mode 100644 index 0000000000..a8b384180f --- /dev/null +++ b/test/battle/ability/multitype.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Multitype (Ability) test titles") diff --git a/test/battle/ability/natural_cure.c b/test/battle/ability/natural_cure.c new file mode 100644 index 0000000000..760c341e12 --- /dev/null +++ b/test/battle/ability/natural_cure.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Natural Cure (Ability) test titles") diff --git a/test/battle/ability/no_guard.c b/test/battle/ability/no_guard.c new file mode 100644 index 0000000000..e365968d45 --- /dev/null +++ b/test/battle/ability/no_guard.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write No Guard (Ability) test titles") diff --git a/test/battle/ability/perish_body.c b/test/battle/ability/perish_body.c new file mode 100644 index 0000000000..92562ef885 --- /dev/null +++ b/test/battle/ability/perish_body.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Perish Body (Ability) test titles") diff --git a/test/battle/ability/pickpocket.c b/test/battle/ability/pickpocket.c new file mode 100644 index 0000000000..1e8ec6a526 --- /dev/null +++ b/test/battle/ability/pickpocket.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Pickpocket (Ability) test titles") diff --git a/test/battle/ability/plus.c b/test/battle/ability/plus.c new file mode 100644 index 0000000000..5b56018bf6 --- /dev/null +++ b/test/battle/ability/plus.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Plus (Ability) test titles") diff --git a/test/battle/ability/poison_puppeteer.c b/test/battle/ability/poison_puppeteer.c index d5c470ad37..db27691415 100644 --- a/test/battle/ability/poison_puppeteer.c +++ b/test/battle/ability/poison_puppeteer.c @@ -1,10 +1,6 @@ #include "global.h" #include "test/battle.h" -ASSUMPTIONS -{ -} - SINGLE_BATTLE_TEST("Poison Puppeteer confuses target if it was poisoned by a damaging move") { GIVEN { diff --git a/test/battle/ability/power_construct.c b/test/battle/ability/power_construct.c new file mode 100644 index 0000000000..6a8ca9db5f --- /dev/null +++ b/test/battle/ability/power_construct.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Power Construct (Ability) test titles") diff --git a/test/battle/ability/power_of_alchemy.c b/test/battle/ability/power_of_alchemy.c new file mode 100644 index 0000000000..137a20a43d --- /dev/null +++ b/test/battle/ability/power_of_alchemy.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Power of Alchemy (Ability) test titles") diff --git a/test/battle/ability/power_spot.c b/test/battle/ability/power_spot.c new file mode 100644 index 0000000000..c44eb9a924 --- /dev/null +++ b/test/battle/ability/power_spot.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Power Spot (Ability) test titles") diff --git a/test/battle/ability/prism_armor.c b/test/battle/ability/prism_armor.c new file mode 100644 index 0000000000..532642d3a2 --- /dev/null +++ b/test/battle/ability/prism_armor.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Prism Armor (Ability) test titles") diff --git a/test/battle/ability/propeller_tail.c b/test/battle/ability/propeller_tail.c new file mode 100644 index 0000000000..eb8df38c8f --- /dev/null +++ b/test/battle/ability/propeller_tail.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Propeller Tail (Ability) test titles") diff --git a/test/battle/ability/punk_rock.c b/test/battle/ability/punk_rock.c new file mode 100644 index 0000000000..01a5459a0d --- /dev/null +++ b/test/battle/ability/punk_rock.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Punk Rock (Ability) test titles") diff --git a/test/battle/ability/pure_power.c b/test/battle/ability/pure_power.c new file mode 100644 index 0000000000..e33479252c --- /dev/null +++ b/test/battle/ability/pure_power.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Pure Power (Ability) test titles") diff --git a/test/battle/ability/quick_feet.c b/test/battle/ability/quick_feet.c new file mode 100644 index 0000000000..fde10a7593 --- /dev/null +++ b/test/battle/ability/quick_feet.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Quick Feet (Ability) test titles") diff --git a/test/battle/ability/receiver.c b/test/battle/ability/receiver.c new file mode 100644 index 0000000000..a9155b7244 --- /dev/null +++ b/test/battle/ability/receiver.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Receiver (Ability) test titles") diff --git a/test/battle/ability/reckless.c b/test/battle/ability/reckless.c new file mode 100644 index 0000000000..49d5c59262 --- /dev/null +++ b/test/battle/ability/reckless.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Reckless (Ability) test titles") diff --git a/test/battle/ability/rks_system.c b/test/battle/ability/rks_system.c new file mode 100644 index 0000000000..17c4d2d4a7 --- /dev/null +++ b/test/battle/ability/rks_system.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write RKS System (Ability) test titles") diff --git a/test/battle/ability/rock_head.c b/test/battle/ability/rock_head.c new file mode 100644 index 0000000000..56db705778 --- /dev/null +++ b/test/battle/ability/rock_head.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Rock Head (Ability) test titles") diff --git a/test/battle/ability/run_away.c b/test/battle/ability/run_away.c new file mode 100644 index 0000000000..c49eef7213 --- /dev/null +++ b/test/battle/ability/run_away.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Run Away (Ability) test titles") diff --git a/test/battle/ability/sand_spit.c b/test/battle/ability/sand_spit.c new file mode 100644 index 0000000000..c2128f65de --- /dev/null +++ b/test/battle/ability/sand_spit.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Sand Spit (Ability) test titles") diff --git a/test/battle/ability/sand_stream.c b/test/battle/ability/sand_stream.c new file mode 100644 index 0000000000..6cd1b06eb4 --- /dev/null +++ b/test/battle/ability/sand_stream.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Sand Stream (Ability) test titles") diff --git a/test/battle/ability/screen_cleaner.c b/test/battle/ability/screen_cleaner.c new file mode 100644 index 0000000000..dd4ad761d1 --- /dev/null +++ b/test/battle/ability/screen_cleaner.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Screen Cleaner (Ability) test titles") diff --git a/test/battle/ability/serene_grace.c b/test/battle/ability/serene_grace.c new file mode 100644 index 0000000000..75dad60618 --- /dev/null +++ b/test/battle/ability/serene_grace.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Serene Grace (Ability) test titles") diff --git a/test/battle/ability/shadow_shield.c b/test/battle/ability/shadow_shield.c new file mode 100644 index 0000000000..7a28500761 --- /dev/null +++ b/test/battle/ability/shadow_shield.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Shadow Shield (Ability) test titles") diff --git a/test/battle/ability/shadow_tag.c b/test/battle/ability/shadow_tag.c new file mode 100644 index 0000000000..f00696d8b7 --- /dev/null +++ b/test/battle/ability/shadow_tag.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Shadow Tag (Ability) test titles") diff --git a/test/battle/ability/simple.c b/test/battle/ability/simple.c new file mode 100644 index 0000000000..cfdbf407ea --- /dev/null +++ b/test/battle/ability/simple.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Simple (Ability) test titles") diff --git a/test/battle/ability/skill_link.c b/test/battle/ability/skill_link.c new file mode 100644 index 0000000000..2da8ee2c58 --- /dev/null +++ b/test/battle/ability/skill_link.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Skill Link (Ability) test titles") diff --git a/test/battle/ability/slow_start.c b/test/battle/ability/slow_start.c new file mode 100644 index 0000000000..d5b3f5bcb5 --- /dev/null +++ b/test/battle/ability/slow_start.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Slow Start (Ability) test titles") diff --git a/test/battle/ability/soul_heart.c b/test/battle/ability/soul_heart.c new file mode 100644 index 0000000000..393fbb6c20 --- /dev/null +++ b/test/battle/ability/soul_heart.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Soul Heart (Ability) test titles") diff --git a/test/battle/ability/soundproof.c b/test/battle/ability/soundproof.c new file mode 100644 index 0000000000..a7135942d1 --- /dev/null +++ b/test/battle/ability/soundproof.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Soundproof (Ability) test titles") diff --git a/test/battle/ability/stakeout.c b/test/battle/ability/stakeout.c new file mode 100644 index 0000000000..2bbea394fd --- /dev/null +++ b/test/battle/ability/stakeout.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Stakeout (Ability) test titles") diff --git a/test/battle/ability/stall.c b/test/battle/ability/stall.c new file mode 100644 index 0000000000..f93eac14c4 --- /dev/null +++ b/test/battle/ability/stall.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Stall (Ability) test titles") diff --git a/test/battle/ability/steadfast.c b/test/battle/ability/steadfast.c new file mode 100644 index 0000000000..fc35e94278 --- /dev/null +++ b/test/battle/ability/steadfast.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Steadfast (Ability) test titles") diff --git a/test/battle/ability/steely_spirit.c b/test/battle/ability/steely_spirit.c new file mode 100644 index 0000000000..e84893ad8c --- /dev/null +++ b/test/battle/ability/steely_spirit.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Steely Spirit (Ability) test titles") diff --git a/test/battle/ability/strong_jaw.c b/test/battle/ability/strong_jaw.c new file mode 100644 index 0000000000..1b9ce7fba7 --- /dev/null +++ b/test/battle/ability/strong_jaw.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Strong Jaw (Ability) test titles") diff --git a/test/battle/ability/suction_cups.c b/test/battle/ability/suction_cups.c new file mode 100644 index 0000000000..bcf23c5e18 --- /dev/null +++ b/test/battle/ability/suction_cups.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Suction Cups (Ability) test titles") diff --git a/test/battle/ability/surge_surfer.c b/test/battle/ability/surge_surfer.c new file mode 100644 index 0000000000..c0b1056a2d --- /dev/null +++ b/test/battle/ability/surge_surfer.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Surge Surfer (Ability) test titles") diff --git a/test/battle/ability/sweet_veil.c b/test/battle/ability/sweet_veil.c new file mode 100644 index 0000000000..2cedae3c14 --- /dev/null +++ b/test/battle/ability/sweet_veil.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Sweet Veil (Ability) test titles") diff --git a/test/battle/ability/synchronize.c b/test/battle/ability/synchronize.c new file mode 100644 index 0000000000..43cf87d5fe --- /dev/null +++ b/test/battle/ability/synchronize.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Synchronize (Ability) test titles") diff --git a/test/battle/ability/tangled_feet.c b/test/battle/ability/tangled_feet.c new file mode 100644 index 0000000000..fb50ba191d --- /dev/null +++ b/test/battle/ability/tangled_feet.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Tangled Feet (Ability) test titles") diff --git a/test/battle/ability/technician.c b/test/battle/ability/technician.c new file mode 100644 index 0000000000..bd529a5a01 --- /dev/null +++ b/test/battle/ability/technician.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Technician (Ability) test titles") diff --git a/test/battle/ability/telepathy.c b/test/battle/ability/telepathy.c new file mode 100644 index 0000000000..220b2e7180 --- /dev/null +++ b/test/battle/ability/telepathy.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Telepathy (Ability) test titles") diff --git a/test/battle/ability/teravolt.c b/test/battle/ability/teravolt.c new file mode 100644 index 0000000000..e9739a720d --- /dev/null +++ b/test/battle/ability/teravolt.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Teravolt (Ability) test titles") diff --git a/test/battle/ability/thick_fat.c b/test/battle/ability/thick_fat.c new file mode 100644 index 0000000000..bcc4c9487c --- /dev/null +++ b/test/battle/ability/thick_fat.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Thick Fat (Ability) test titles") diff --git a/test/battle/ability/tinted_lens.c b/test/battle/ability/tinted_lens.c new file mode 100644 index 0000000000..9ddb69ec17 --- /dev/null +++ b/test/battle/ability/tinted_lens.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Tinted Lens (Ability) test titles") diff --git a/test/battle/ability/tough_claws.c b/test/battle/ability/tough_claws.c new file mode 100644 index 0000000000..4e6f4ecf8b --- /dev/null +++ b/test/battle/ability/tough_claws.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Tough Claws (Ability) test titles") diff --git a/test/battle/ability/toxic_boost.c b/test/battle/ability/toxic_boost.c new file mode 100644 index 0000000000..85960c5b02 --- /dev/null +++ b/test/battle/ability/toxic_boost.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Toxic Boost (Ability) test titles") diff --git a/test/battle/ability/triage.c b/test/battle/ability/triage.c new file mode 100644 index 0000000000..753d32b717 --- /dev/null +++ b/test/battle/ability/triage.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Triage (Ability) test titles") diff --git a/test/battle/ability/truant.c b/test/battle/ability/truant.c new file mode 100644 index 0000000000..85c0fe7749 --- /dev/null +++ b/test/battle/ability/truant.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Truant (Ability) test titles") diff --git a/test/battle/ability/turboblaze.c b/test/battle/ability/turboblaze.c new file mode 100644 index 0000000000..a715c23111 --- /dev/null +++ b/test/battle/ability/turboblaze.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Turboblaze (Ability) test titles") diff --git a/test/battle/ability/unaware.c b/test/battle/ability/unaware.c new file mode 100644 index 0000000000..5eb83cb9df --- /dev/null +++ b/test/battle/ability/unaware.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Unaware (Ability) test titles") diff --git a/test/battle/ability/unseen_fist.c b/test/battle/ability/unseen_fist.c new file mode 100644 index 0000000000..046ef7d2fb --- /dev/null +++ b/test/battle/ability/unseen_fist.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Unseen Fist (Ability) test titles") diff --git a/test/battle/ability/victory_star.c b/test/battle/ability/victory_star.c new file mode 100644 index 0000000000..46c3aca825 --- /dev/null +++ b/test/battle/ability/victory_star.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Victory Star (Ability) test titles") diff --git a/test/battle/ability/vital_spirit.c b/test/battle/ability/vital_spirit.c new file mode 100644 index 0000000000..2539df2334 --- /dev/null +++ b/test/battle/ability/vital_spirit.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Vital Spirit (Ability) test titles") diff --git a/test/battle/ability/wandering_spirit.c b/test/battle/ability/wandering_spirit.c new file mode 100644 index 0000000000..d32fb7c7b2 --- /dev/null +++ b/test/battle/ability/wandering_spirit.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Wandering Spirit (Ability) test titles") diff --git a/test/battle/ability/water_bubble.c b/test/battle/ability/water_bubble.c new file mode 100644 index 0000000000..2f04b18096 --- /dev/null +++ b/test/battle/ability/water_bubble.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Water Bubble (Ability) test titles") diff --git a/test/battle/ability/water_veil.c b/test/battle/ability/water_veil.c new file mode 100644 index 0000000000..428243fc10 --- /dev/null +++ b/test/battle/ability/water_veil.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Water Veil (Ability) test titles") diff --git a/test/battle/ability/well_baked_body.c b/test/battle/ability/well_baked_body.c new file mode 100644 index 0000000000..ae555b47cf --- /dev/null +++ b/test/battle/ability/well_baked_body.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Well-Baked Body (Ability) test titles") diff --git a/test/battle/ability/wimp_out.c b/test/battle/ability/wimp_out.c new file mode 100644 index 0000000000..3ceea91788 --- /dev/null +++ b/test/battle/ability/wimp_out.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Wimp Out (Ability) test titles") diff --git a/test/battle/ability/wonder_guard.c b/test/battle/ability/wonder_guard.c new file mode 100644 index 0000000000..673b6c113a --- /dev/null +++ b/test/battle/ability/wonder_guard.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Wonder Guard (Ability) test titles") diff --git a/test/battle/ability/wonder_skin.c b/test/battle/ability/wonder_skin.c new file mode 100644 index 0000000000..6501894f1c --- /dev/null +++ b/test/battle/ability/wonder_skin.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Wonder Skin (Ability) test titles") diff --git a/test/battle/move_effect/facade.c b/test/battle/move_effect/facade.c new file mode 100644 index 0000000000..cc1e21e34f --- /dev/null +++ b/test/battle/move_effect/facade.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Facade (Move Effect) test titles") diff --git a/test/battle/move_effect/fairy_lock.c b/test/battle/move_effect/fairy_lock.c new file mode 100644 index 0000000000..a42aa6aa48 --- /dev/null +++ b/test/battle/move_effect/fairy_lock.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Fairy Lock (Move Effect) test titles") diff --git a/test/battle/move_effect/false_swipe.c b/test/battle/move_effect/false_swipe.c new file mode 100644 index 0000000000..da2cbf6a21 --- /dev/null +++ b/test/battle/move_effect/false_swipe.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write False Swipe (Move Effect) test titles") diff --git a/test/battle/move_effect/fell_stinger.c b/test/battle/move_effect/fell_stinger.c new file mode 100644 index 0000000000..2613dc2d9d --- /dev/null +++ b/test/battle/move_effect/fell_stinger.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Fell Stinger (Move Effect) test titles") diff --git a/test/battle/move_effect/final_gambit.c b/test/battle/move_effect/final_gambit.c new file mode 100644 index 0000000000..be815abf5a --- /dev/null +++ b/test/battle/move_effect/final_gambit.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Final Gambit (Move Effect) test titles") diff --git a/test/battle/move_effect/first_turn_only.c b/test/battle/move_effect/first_turn_only.c new file mode 100644 index 0000000000..b26245a3d9 --- /dev/null +++ b/test/battle/move_effect/first_turn_only.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Fake Out/First Impression (Move Effect) test titles") diff --git a/test/battle/move_effect/flail.c b/test/battle/move_effect/flail.c new file mode 100644 index 0000000000..af5544d9b4 --- /dev/null +++ b/test/battle/move_effect/flail.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Flail (Move Effect) test titles") diff --git a/test/battle/move_effect/flatter.c b/test/battle/move_effect/flatter.c new file mode 100644 index 0000000000..7effb09329 --- /dev/null +++ b/test/battle/move_effect/flatter.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Flatter (Move Effect) test titles") diff --git a/test/battle/move_effect/foresight.c b/test/battle/move_effect/foresight.c new file mode 100644 index 0000000000..082e2d6fa4 --- /dev/null +++ b/test/battle/move_effect/foresight.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Foresight (Move Effect) test titles") diff --git a/test/battle/move_effect/frustration.c b/test/battle/move_effect/frustration.c new file mode 100644 index 0000000000..eb994c5076 --- /dev/null +++ b/test/battle/move_effect/frustration.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Frustration (Move Effect) test titles") diff --git a/test/battle/move_effect/fusion_combo.c b/test/battle/move_effect/fusion_combo.c new file mode 100644 index 0000000000..7561536b11 --- /dev/null +++ b/test/battle/move_effect/fusion_combo.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Fusion Flare/Bolt (Move Effect) test titles") diff --git a/test/battle/move_effect/gear_up.c b/test/battle/move_effect/gear_up.c new file mode 100644 index 0000000000..03aba9a395 --- /dev/null +++ b/test/battle/move_effect/gear_up.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Gear Up (Move Effect) test titles") diff --git a/test/battle/move_effect/geomancy.c b/test/battle/move_effect/geomancy.c new file mode 100644 index 0000000000..f5b113a452 --- /dev/null +++ b/test/battle/move_effect/geomancy.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Geomancy (Move Effect) test titles") diff --git a/test/battle/move_effect/grassy_glide.c b/test/battle/move_effect/grassy_glide.c new file mode 100644 index 0000000000..00219fb1dd --- /dev/null +++ b/test/battle/move_effect/grassy_glide.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Grassy Glide (Move Effect) test titles") diff --git a/test/battle/move_effect/grav_apple.c b/test/battle/move_effect/grav_apple.c new file mode 100644 index 0000000000..7ce2dd26c7 --- /dev/null +++ b/test/battle/move_effect/grav_apple.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Grav Apple (Move Effect) test titles") diff --git a/test/battle/move_effect/growth.c b/test/battle/move_effect/growth.c new file mode 100644 index 0000000000..7b53f56cfc --- /dev/null +++ b/test/battle/move_effect/growth.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Growth (Move Effect) test titles") diff --git a/test/battle/move_effect/grudge.c b/test/battle/move_effect/grudge.c new file mode 100644 index 0000000000..f0e0e53b6a --- /dev/null +++ b/test/battle/move_effect/grudge.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Grudge (Move Effect) test titles") diff --git a/test/battle/move_effect/guard_swap.c b/test/battle/move_effect/guard_swap.c new file mode 100644 index 0000000000..f0e0e53b6a --- /dev/null +++ b/test/battle/move_effect/guard_swap.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Grudge (Move Effect) test titles") diff --git a/test/battle/move_effect/guardian_of_alola.c b/test/battle/move_effect/guardian_of_alola.c new file mode 100644 index 0000000000..fe33236363 --- /dev/null +++ b/test/battle/move_effect/guardian_of_alola.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Guardian of Alola (Move Effect) test titles") diff --git a/test/battle/move_effect/gyro_ball.c b/test/battle/move_effect/gyro_ball.c new file mode 100644 index 0000000000..e6cbfa46c9 --- /dev/null +++ b/test/battle/move_effect/gyro_ball.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Gyro Ball (Move Effect) test titles") diff --git a/test/battle/move_effect/hail.c b/test/battle/move_effect/hail.c new file mode 100644 index 0000000000..9fdbe0ab37 --- /dev/null +++ b/test/battle/move_effect/hail.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Hail (Move Effect) test titles") diff --git a/test/battle/move_effect/happy_hour.c b/test/battle/move_effect/happy_hour.c new file mode 100644 index 0000000000..4e271068e2 --- /dev/null +++ b/test/battle/move_effect/happy_hour.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Happy Hour (Move Effect) test titles") diff --git a/test/battle/move_effect/heal_block.c b/test/battle/move_effect/heal_block.c new file mode 100644 index 0000000000..2bb4367dd4 --- /dev/null +++ b/test/battle/move_effect/heal_block.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Heal Block (Move Effect) test titles") diff --git a/test/battle/move_effect/heart_swap.c b/test/battle/move_effect/heart_swap.c new file mode 100644 index 0000000000..1c4d22e204 --- /dev/null +++ b/test/battle/move_effect/heart_swap.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Heart Swap (Move Effect) test titles") diff --git a/test/battle/move_effect/heat_crash.c b/test/battle/move_effect/heat_crash.c new file mode 100644 index 0000000000..8b2d0a0433 --- /dev/null +++ b/test/battle/move_effect/heat_crash.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Heat Crash (Move Effect) test titles") diff --git a/test/battle/move_effect/helping_hand.c b/test/battle/move_effect/helping_hand.c new file mode 100644 index 0000000000..81d64e113d --- /dev/null +++ b/test/battle/move_effect/helping_hand.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Helping Hand (Move Effect) test titles") diff --git a/test/battle/move_effect/hit_enemy_heal_ally.c b/test/battle/move_effect/hit_enemy_heal_ally.c new file mode 100644 index 0000000000..018672cd6c --- /dev/null +++ b/test/battle/move_effect/hit_enemy_heal_ally.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Pollen Puff (Move Effect) test titles") diff --git a/test/battle/move_effect/hyperspace_fury.c b/test/battle/move_effect/hyperspace_fury.c new file mode 100644 index 0000000000..080758c94b --- /dev/null +++ b/test/battle/move_effect/hyperspace_fury.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Hyperspace Fury (Move Effect) test titles") diff --git a/test/battle/move_effect/imprison.c b/test/battle/move_effect/imprison.c new file mode 100644 index 0000000000..dd4e496692 --- /dev/null +++ b/test/battle/move_effect/imprison.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Imprison (Move Effect) test titles") diff --git a/test/battle/move_effect/ingrain.c b/test/battle/move_effect/ingrain.c new file mode 100644 index 0000000000..19213f10d9 --- /dev/null +++ b/test/battle/move_effect/ingrain.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Ingrain (Move Effect) test titles") diff --git a/test/battle/move_effect/jungle_healing.c b/test/battle/move_effect/jungle_healing.c new file mode 100644 index 0000000000..12b964a049 --- /dev/null +++ b/test/battle/move_effect/jungle_healing.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Jungle Healing (Move Effect) test titles") diff --git a/test/battle/move_effect/lash_out.c b/test/battle/move_effect/lash_out.c new file mode 100644 index 0000000000..dd8e9eb0e9 --- /dev/null +++ b/test/battle/move_effect/lash_out.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Lash Out (Move Effect) test titles") diff --git a/test/battle/move_effect/level_damage.c b/test/battle/move_effect/level_damage.c new file mode 100644 index 0000000000..63bd121577 --- /dev/null +++ b/test/battle/move_effect/level_damage.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Seismic Toss/Night Shade (Move Effect) test titles") diff --git a/test/battle/move_effect/light_screen.c b/test/battle/move_effect/light_screen.c new file mode 100644 index 0000000000..56eedebbd4 --- /dev/null +++ b/test/battle/move_effect/light_screen.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Light Screen (Move Effect) test titles") diff --git a/test/battle/move_effect/lock_on.c b/test/battle/move_effect/lock_on.c new file mode 100644 index 0000000000..9e7b93cff4 --- /dev/null +++ b/test/battle/move_effect/lock_on.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Lock-On/Mind Reader (Move Effect) test titles") diff --git a/test/battle/move_effect/low_kick.c b/test/battle/move_effect/low_kick.c new file mode 100644 index 0000000000..c68b152e2d --- /dev/null +++ b/test/battle/move_effect/low_kick.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Low Kick (Move Effect) test titles") diff --git a/test/battle/move_effect/magic_room.c b/test/battle/move_effect/magic_room.c new file mode 100644 index 0000000000..9fde0046fd --- /dev/null +++ b/test/battle/move_effect/magic_room.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Magic Room (Move Effect) test titles") diff --git a/test/battle/move_effect/magnet_rise.c b/test/battle/move_effect/magnet_rise.c new file mode 100644 index 0000000000..9fde0046fd --- /dev/null +++ b/test/battle/move_effect/magnet_rise.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Magic Room (Move Effect) test titles") diff --git a/test/battle/move_effect/magnetic_flux.c b/test/battle/move_effect/magnetic_flux.c new file mode 100644 index 0000000000..f574db0089 --- /dev/null +++ b/test/battle/move_effect/magnetic_flux.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Magnetic Flux (Move Effect) test titles") diff --git a/test/battle/move_effect/magnitude.c b/test/battle/move_effect/magnitude.c new file mode 100644 index 0000000000..75799a4dcb --- /dev/null +++ b/test/battle/move_effect/magnitude.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Magnitude (Move Effect) test titles") diff --git a/test/battle/move_effect/mat_block.c b/test/battle/move_effect/mat_block.c new file mode 100644 index 0000000000..78921a7329 --- /dev/null +++ b/test/battle/move_effect/mat_block.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Mat Block (Move Effect) test titles") diff --git a/test/battle/move_effect/max_move.c b/test/battle/move_effect/max_move.c new file mode 100644 index 0000000000..41c2a4e32c --- /dev/null +++ b/test/battle/move_effect/max_move.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Max Moves (Move Effect) test titles") diff --git a/test/battle/move_effect/me_first.c b/test/battle/move_effect/me_first.c new file mode 100644 index 0000000000..e5fbd2a7fb --- /dev/null +++ b/test/battle/move_effect/me_first.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Me First (Move Effect) test titles") diff --git a/test/battle/move_effect/mean_look.c b/test/battle/move_effect/mean_look.c new file mode 100644 index 0000000000..a5fa8ff0c1 --- /dev/null +++ b/test/battle/move_effect/mean_look.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Mean Look (Move Effect) test titles") diff --git a/test/battle/move_effect/memento.c b/test/battle/move_effect/memento.c new file mode 100644 index 0000000000..c83ffc1ab1 --- /dev/null +++ b/test/battle/move_effect/memento.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Memento (Move Effect) test titles") diff --git a/test/battle/move_effect/metal_burst.c b/test/battle/move_effect/metal_burst.c new file mode 100644 index 0000000000..4fec370e85 --- /dev/null +++ b/test/battle/move_effect/metal_burst.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Metal Burst (Move Effect) test titles") diff --git a/test/battle/move_effect/mimic.c b/test/battle/move_effect/mimic.c new file mode 100644 index 0000000000..4a51a4b79e --- /dev/null +++ b/test/battle/move_effect/mimic.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Mimic (Move Effect) test titles") diff --git a/test/battle/move_effect/minimize.c b/test/battle/move_effect/minimize.c new file mode 100644 index 0000000000..f0196936a5 --- /dev/null +++ b/test/battle/move_effect/minimize.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Minimize (Move Effect) test titles") diff --git a/test/battle/move_effect/miracle_eye.c b/test/battle/move_effect/miracle_eye.c new file mode 100644 index 0000000000..784323f1cc --- /dev/null +++ b/test/battle/move_effect/miracle_eye.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Miracle Eye (Move Effect) test titles") diff --git a/test/battle/move_effect/mirror_coat.c b/test/battle/move_effect/mirror_coat.c new file mode 100644 index 0000000000..2a3d6ef250 --- /dev/null +++ b/test/battle/move_effect/mirror_coat.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Mirror Coat (Move Effect) test titles") diff --git a/test/battle/move_effect/mist.c b/test/battle/move_effect/mist.c new file mode 100644 index 0000000000..332d82a6f9 --- /dev/null +++ b/test/battle/move_effect/mist.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Mist (Move Effect) test titles") diff --git a/test/battle/move_effect/mud_sport.c b/test/battle/move_effect/mud_sport.c new file mode 100644 index 0000000000..143bbe1447 --- /dev/null +++ b/test/battle/move_effect/mud_sport.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Mud Sport (Move Effect) test titles") diff --git a/test/battle/move_effect/natural_gift.c b/test/battle/move_effect/natural_gift.c new file mode 100644 index 0000000000..dd9b0bd466 --- /dev/null +++ b/test/battle/move_effect/natural_gift.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Natural Gift (Move Effect) test titles") diff --git a/test/battle/move_effect/nature_power.c b/test/battle/move_effect/nature_power.c new file mode 100644 index 0000000000..1e9692f88d --- /dev/null +++ b/test/battle/move_effect/nature_power.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Nature Power (Move Effect) test titles") diff --git a/test/battle/move_effect/nightmare.c b/test/battle/move_effect/nightmare.c new file mode 100644 index 0000000000..c243664f2d --- /dev/null +++ b/test/battle/move_effect/nightmare.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Nightmare (Move Effect) test titles") diff --git a/test/battle/move_effect/no_retreat.c b/test/battle/move_effect/no_retreat.c new file mode 100644 index 0000000000..bf2a15dfbf --- /dev/null +++ b/test/battle/move_effect/no_retreat.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write No Retreat (Move Effect) test titles") diff --git a/test/battle/move_effect/noble_roar.c b/test/battle/move_effect/noble_roar.c new file mode 100644 index 0000000000..4fd182b84d --- /dev/null +++ b/test/battle/move_effect/noble_roar.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Noble Roar (Move Effect) test titles") diff --git a/test/battle/move_effect/order_up.c b/test/battle/move_effect/order_up.c new file mode 100644 index 0000000000..fffd773403 --- /dev/null +++ b/test/battle/move_effect/order_up.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Order Up (Move Effect) test titles") diff --git a/test/battle/move_effect/pain_split.c b/test/battle/move_effect/pain_split.c new file mode 100644 index 0000000000..be92aecc7d --- /dev/null +++ b/test/battle/move_effect/pain_split.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Pain Split (Move Effect) test titles") diff --git a/test/battle/move_effect/paralyze.c b/test/battle/move_effect/paralyze.c new file mode 100644 index 0000000000..a3f1a5574a --- /dev/null +++ b/test/battle/move_effect/paralyze.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Paralyze (Move Effect) test titles") diff --git a/test/battle/move_effect/parting_shot.c b/test/battle/move_effect/parting_shot.c new file mode 100644 index 0000000000..4d55d09315 --- /dev/null +++ b/test/battle/move_effect/parting_shot.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Parting Shot (Move Effect) test titles") diff --git a/test/battle/move_effect/payback.c b/test/battle/move_effect/payback.c new file mode 100644 index 0000000000..1f078987a1 --- /dev/null +++ b/test/battle/move_effect/payback.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Payback (Move Effect) test titles") diff --git a/test/battle/move_effect/perish_song.c b/test/battle/move_effect/perish_song.c new file mode 100644 index 0000000000..bfbe7eedc8 --- /dev/null +++ b/test/battle/move_effect/perish_song.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Perish Song (Move Effect) test titles") diff --git a/test/battle/move_effect/placeholder.c b/test/battle/move_effect/placeholder.c new file mode 100644 index 0000000000..1b06392b9a --- /dev/null +++ b/test/battle/move_effect/placeholder.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Placeholder (Move Effect) test titles") diff --git a/test/battle/move_effect/poison.c b/test/battle/move_effect/poison.c new file mode 100644 index 0000000000..5b26ccf62d --- /dev/null +++ b/test/battle/move_effect/poison.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Poison (Move Effect) test titles") diff --git a/test/battle/move_effect/poltergeist.c b/test/battle/move_effect/poltergeist.c new file mode 100644 index 0000000000..f90031d8a8 --- /dev/null +++ b/test/battle/move_effect/poltergeist.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Poltergeist (Move Effect) test titles") diff --git a/test/battle/move_effect/power_swap.c b/test/battle/move_effect/power_swap.c new file mode 100644 index 0000000000..214a8488cc --- /dev/null +++ b/test/battle/move_effect/power_swap.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Power Swap (Move Effect) test titles") diff --git a/test/battle/move_effect/power_trick.c b/test/battle/move_effect/power_trick.c new file mode 100644 index 0000000000..a8f89051e7 --- /dev/null +++ b/test/battle/move_effect/power_trick.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Power Trick (Move Effect) test titles") diff --git a/test/battle/move_effect/present.c b/test/battle/move_effect/present.c new file mode 100644 index 0000000000..bd21f13de4 --- /dev/null +++ b/test/battle/move_effect/present.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Present (Move Effect) test titles") diff --git a/test/battle/move_effect/psyblade.c b/test/battle/move_effect/psyblade.c new file mode 100644 index 0000000000..3a5778d1f4 --- /dev/null +++ b/test/battle/move_effect/psyblade.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Psyblade (Move Effect) test titles") diff --git a/test/battle/move_effect/psych_up.c b/test/battle/move_effect/psych_up.c new file mode 100644 index 0000000000..36241a4ed7 --- /dev/null +++ b/test/battle/move_effect/psych_up.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Psych Up (Move Effect) test titles") diff --git a/test/battle/move_effect/psycho_shift.c b/test/battle/move_effect/psycho_shift.c new file mode 100644 index 0000000000..4382ca4575 --- /dev/null +++ b/test/battle/move_effect/psycho_shift.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Psycho Shift (Move Effect) test titles") diff --git a/test/battle/move_effect/psyshock.c b/test/battle/move_effect/psyshock.c new file mode 100644 index 0000000000..6b3ee54c5c --- /dev/null +++ b/test/battle/move_effect/psyshock.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Psyshock (Move Effect) test titles") diff --git a/test/battle/move_effect/psywave.c b/test/battle/move_effect/psywave.c new file mode 100644 index 0000000000..627e45ea3e --- /dev/null +++ b/test/battle/move_effect/psywave.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Psywave (Move Effect) test titles") diff --git a/test/battle/move_effect/punishment.c b/test/battle/move_effect/punishment.c new file mode 100644 index 0000000000..45f0b899af --- /dev/null +++ b/test/battle/move_effect/punishment.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Punishment (Move Effect) test titles") diff --git a/test/battle/move_effect/purify.c b/test/battle/move_effect/purify.c new file mode 100644 index 0000000000..134c96119f --- /dev/null +++ b/test/battle/move_effect/purify.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Purify (Move Effect) test titles") diff --git a/test/battle/move_effect/quiver_dance.c b/test/battle/move_effect/quiver_dance.c new file mode 100644 index 0000000000..5a7ff5b944 --- /dev/null +++ b/test/battle/move_effect/quiver_dance.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Quiver Dance (Move Effect) test titles") diff --git a/test/battle/move_effect/rage.c b/test/battle/move_effect/rage.c new file mode 100644 index 0000000000..33025a6b0e --- /dev/null +++ b/test/battle/move_effect/rage.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Rage (Move Effect) test titles") diff --git a/test/battle/move_effect/rain_always_hit.c b/test/battle/move_effect/rain_always_hit.c new file mode 100644 index 0000000000..3bed952a37 --- /dev/null +++ b/test/battle/move_effect/rain_always_hit.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Bleakwind/Wildbolt/Sandsear Storm (Move Effect) test titles") diff --git a/test/battle/move_effect/rain_dance.c b/test/battle/move_effect/rain_dance.c new file mode 100644 index 0000000000..f9c3786b71 --- /dev/null +++ b/test/battle/move_effect/rain_dance.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Rain Dance (Move Effect) test titles") diff --git a/test/battle/move_effect/recoil_hp_25.c b/test/battle/move_effect/recoil_hp_25.c new file mode 100644 index 0000000000..9abb1bcfd0 --- /dev/null +++ b/test/battle/move_effect/recoil_hp_25.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Struggle (Move Effect) test titles") diff --git a/test/battle/move_effect/recycle.c b/test/battle/move_effect/recycle.c new file mode 100644 index 0000000000..53f2e5c2ff --- /dev/null +++ b/test/battle/move_effect/recycle.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Recycle (Move Effect) test titles") diff --git a/test/battle/move_effect/rest.c b/test/battle/move_effect/rest.c new file mode 100644 index 0000000000..4d0d85b560 --- /dev/null +++ b/test/battle/move_effect/rest.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Rest (Move Effect) test titles") diff --git a/test/battle/move_effect/restore_hp.c b/test/battle/move_effect/restore_hp.c new file mode 100644 index 0000000000..57f756115e --- /dev/null +++ b/test/battle/move_effect/restore_hp.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Recover/Slack Off/Heal Order (Move Effect) test titles") diff --git a/test/battle/move_effect/return.c b/test/battle/move_effect/return.c new file mode 100644 index 0000000000..50945ca556 --- /dev/null +++ b/test/battle/move_effect/return.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Return (Move Effect) test titles") diff --git a/test/battle/move_effect/revenge.c b/test/battle/move_effect/revenge.c new file mode 100644 index 0000000000..980bca9e33 --- /dev/null +++ b/test/battle/move_effect/revenge.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Revenge (Move Effect) test titles") diff --git a/test/battle/move_effect/rising_voltage.c b/test/battle/move_effect/rising_voltage.c new file mode 100644 index 0000000000..de6ca67c04 --- /dev/null +++ b/test/battle/move_effect/rising_voltage.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Rising Voltage (Move Effect) test titles") diff --git a/test/battle/move_effect/rollout.c b/test/battle/move_effect/rollout.c new file mode 100644 index 0000000000..c137ca4fc8 --- /dev/null +++ b/test/battle/move_effect/rollout.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Rollout (Move Effect) test titles") diff --git a/test/battle/move_effect/safeguard.c b/test/battle/move_effect/safeguard.c new file mode 100644 index 0000000000..44dee766ee --- /dev/null +++ b/test/battle/move_effect/safeguard.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Safeguard (Move Effect) test titles") diff --git a/test/battle/move_effect/sandstorm.c b/test/battle/move_effect/sandstorm.c new file mode 100644 index 0000000000..7a70a2f3ff --- /dev/null +++ b/test/battle/move_effect/sandstorm.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Sandstorm (Move Effect) test titles") diff --git a/test/battle/move_effect/shell_smash.c b/test/battle/move_effect/shell_smash.c new file mode 100644 index 0000000000..af31e771ad --- /dev/null +++ b/test/battle/move_effect/shell_smash.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Shell Smash (Move Effect) test titles") diff --git a/test/battle/move_effect/shift_gear.c b/test/battle/move_effect/shift_gear.c new file mode 100644 index 0000000000..990e815cb3 --- /dev/null +++ b/test/battle/move_effect/shift_gear.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Shift Gear (Move Effect) test titles") diff --git a/test/battle/move_effect/shore_up.c b/test/battle/move_effect/shore_up.c new file mode 100644 index 0000000000..91ee4f05b6 --- /dev/null +++ b/test/battle/move_effect/shore_up.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Shore Up (Move Effect) test titles") diff --git a/test/battle/move_effect/sky_drop.c b/test/battle/move_effect/sky_drop.c new file mode 100644 index 0000000000..f0482788dd --- /dev/null +++ b/test/battle/move_effect/sky_drop.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Sky Drop (Move Effect) test titles") diff --git a/test/battle/move_effect/smack_down.c b/test/battle/move_effect/smack_down.c deleted file mode 100644 index eb924ea1ac..0000000000 --- a/test/battle/move_effect/smack_down.c +++ /dev/null @@ -1,19 +0,0 @@ -#include "global.h" -#include "test/battle.h" - -ASSUMPTIONS -{ - ASSUME(MoveHasAdditionalEffect(MOVE_SMACK_DOWN, MOVE_EFFECT_SMACK_DOWN) == TRUE); -} - -SINGLE_BATTLE_TEST("Smack Down does not ground mons behind substitutes") -{ - GIVEN { - PLAYER(SPECIES_WOBBUFFET); - OPPONENT(SPECIES_SKARMORY); - } WHEN { - TURN { MOVE(opponent, MOVE_SUBSTITUTE); MOVE(player, MOVE_SMACK_DOWN); } - } SCENE { - NOT MESSAGE("The opposing Skarmory fell straight down!"); - } -} diff --git a/test/battle/move_effect/smelling_salts.c b/test/battle/move_effect/smelling_salts.c deleted file mode 100644 index 6b1d0b2d7e..0000000000 --- a/test/battle/move_effect/smelling_salts.c +++ /dev/null @@ -1,63 +0,0 @@ -#include "global.h" -#include "test/battle.h" - -ASSUMPTIONS -{ - ASSUME(MoveHasAdditionalEffect(MOVE_SMELLING_SALTS, MOVE_EFFECT_REMOVE_STATUS) == TRUE); - ASSUME(GetMoveEffectArg_Status(MOVE_SMELLING_SALTS) == STATUS1_PARALYSIS); -} - -SINGLE_BATTLE_TEST("Smelling Salts does not cure paralyzed pokemons behind substitutes or get increased power") -{ - u32 ability; - PARAMETRIZE { ability = ABILITY_INNER_FOCUS; } - PARAMETRIZE { ability = ABILITY_INFILTRATOR; } - GIVEN { - PLAYER(SPECIES_CROBAT) { Ability(ability); } - OPPONENT(SPECIES_SEISMITOAD) { Status1(STATUS1_PARALYSIS); } - } WHEN { - TURN { MOVE(opponent, MOVE_SUBSTITUTE); MOVE(player, MOVE_CELEBRATE); } - TURN { MOVE(opponent, MOVE_CELEBRATE); MOVE(player, MOVE_SMELLING_SALTS); } - } SCENE { - ANIMATION(ANIM_TYPE_MOVE, MOVE_SMELLING_SALTS, player); - if (ability == ABILITY_INNER_FOCUS) - { - MESSAGE("The substitute took damage for the opposing Seismitoad!"); - NONE_OF - { - MESSAGE("The opposing Seismitoad's substitute faded!"); // Smelling Salts does 86 damage, the sub has 122 HP, if hitting a sub it shouldn't get boosted damage. - MESSAGE("The opposing Seismitoad was cured of paralysis!"); - STATUS_ICON(opponent, none: TRUE); - } - } - else - { - MESSAGE("The opposing Seismitoad was cured of paralysis!"); - STATUS_ICON(opponent, none: TRUE); - } - } -} - -SINGLE_BATTLE_TEST("Smelling Salts get incread power vs. paralyzed targets") -{ - u32 status1; - PARAMETRIZE { status1 = STATUS1_PARALYSIS; } - PARAMETRIZE { status1 = STATUS1_NONE; } - GIVEN { - PLAYER(SPECIES_CROBAT); - OPPONENT(SPECIES_LOTAD) { Status1(status1); } - } WHEN { - TURN { MOVE(player, MOVE_SMELLING_SALTS); } - } SCENE { - ANIMATION(ANIM_TYPE_MOVE, MOVE_SMELLING_SALTS, player); - if (status1 == STATUS1_PARALYSIS) - { - MESSAGE("The opposing Lotad fainted!"); - } - else - { - NOT MESSAGE("The opposing Lotad fainted!"); - MESSAGE("The opposing Lotad used Celebrate!"); - } - } -} diff --git a/test/battle/move_effect/snatch.c b/test/battle/move_effect/snatch.c new file mode 100644 index 0000000000..f8e2891837 --- /dev/null +++ b/test/battle/move_effect/snatch.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Snatch (Move Effect) test titles") diff --git a/test/battle/move_effect/snipe_shot.c b/test/battle/move_effect/snipe_shot.c new file mode 100644 index 0000000000..7ef7cbeb28 --- /dev/null +++ b/test/battle/move_effect/snipe_shot.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Snipe Shot (Move Effect) test titles") diff --git a/test/battle/move_effect/snowscape.c b/test/battle/move_effect/snowscape.c new file mode 100644 index 0000000000..a0d1275f66 --- /dev/null +++ b/test/battle/move_effect/snowscape.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Snowscape (Move Effect) test titles") diff --git a/test/battle/move_effect/soak.c b/test/battle/move_effect/soak.c new file mode 100644 index 0000000000..156e1f9558 --- /dev/null +++ b/test/battle/move_effect/soak.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Soak (Move Effect) test titles") diff --git a/test/battle/move_effect/softboiled.c b/test/battle/move_effect/softboiled.c new file mode 100644 index 0000000000..a4cbce5b93 --- /dev/null +++ b/test/battle/move_effect/softboiled.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Softboiled (Move Effect) test titles") diff --git a/test/battle/move_effect/sparkling_aria.c b/test/battle/move_effect/sparkling_aria.c deleted file mode 100644 index 86b906228b..0000000000 --- a/test/battle/move_effect/sparkling_aria.c +++ /dev/null @@ -1,25 +0,0 @@ -#include "global.h" -#include "test/battle.h" - -ASSUMPTIONS -{ - ASSUME(MoveHasAdditionalEffect(MOVE_SPARKLING_ARIA, MOVE_EFFECT_REMOVE_STATUS) == TRUE); - ASSUME(GetMoveEffectArg_Status(MOVE_SPARKLING_ARIA) == STATUS1_BURN); - ASSUME(IsSoundMove(MOVE_SPARKLING_ARIA)); -} - -DOUBLE_BATTLE_TEST("Sparkling Aria cures burns from all Pokemon on the field and behind substitutes") -{ - GIVEN { - PLAYER(SPECIES_PRIMARINA); - PLAYER(SPECIES_WOBBUFFET) { Status1(STATUS1_BURN); } - OPPONENT(SPECIES_WOBBUFFET) { Status1(STATUS1_BURN); } - OPPONENT(SPECIES_WYNAUT) { Status1(STATUS1_BURN); } - } WHEN { - TURN { MOVE(opponentLeft, MOVE_SUBSTITUTE); MOVE(opponentRight, MOVE_CELEBRATE); MOVE(playerRight, MOVE_CELEBRATE); MOVE(playerLeft, MOVE_SPARKLING_ARIA); } - } SCENE { - MESSAGE("The opposing Wobbuffet's burn was cured!"); - MESSAGE("Wobbuffet's burn was cured!"); - MESSAGE("The opposing Wynaut's burn was cured!"); - } -} diff --git a/test/battle/move_effect/special_attack_down_2.c b/test/battle/move_effect/special_attack_down_2.c new file mode 100644 index 0000000000..b62d4b52ac --- /dev/null +++ b/test/battle/move_effect/special_attack_down_2.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Eerie Impulse (Move Effect) test titles") diff --git a/test/battle/move_effect/special_attack_up.c b/test/battle/move_effect/special_attack_up.c new file mode 100644 index 0000000000..964566a8db --- /dev/null +++ b/test/battle/move_effect/special_attack_up.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Sp.Atk +1 (Move Effect) test titles") // Pre-gen5 Growth diff --git a/test/battle/move_effect/special_attack_up_2.c b/test/battle/move_effect/special_attack_up_2.c new file mode 100644 index 0000000000..c4bf38d6aa --- /dev/null +++ b/test/battle/move_effect/special_attack_up_2.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Nasty Plot (Move Effect) test titles") diff --git a/test/battle/move_effect/special_defense_down.c b/test/battle/move_effect/special_defense_down.c new file mode 100644 index 0000000000..1769ff6975 --- /dev/null +++ b/test/battle/move_effect/special_defense_down.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Sp.Def -1 (Move Effect) test titles") // No move has this effect diff --git a/test/battle/move_effect/special_defense_down_2.c b/test/battle/move_effect/special_defense_down_2.c new file mode 100644 index 0000000000..5fff5bdd7b --- /dev/null +++ b/test/battle/move_effect/special_defense_down_2.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Fake Tears/Metal Sound (Move Effect) test titles") diff --git a/test/battle/move_effect/special_defense_up.c b/test/battle/move_effect/special_defense_up.c new file mode 100644 index 0000000000..66bbfa4dc5 --- /dev/null +++ b/test/battle/move_effect/special_defense_up.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Sp.Def +1 (Move Effect) test titles") // No move has this effect diff --git a/test/battle/move_effect/special_defense_up_2.c b/test/battle/move_effect/special_defense_up_2.c new file mode 100644 index 0000000000..1685663452 --- /dev/null +++ b/test/battle/move_effect/special_defense_up_2.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Amnesia (Move Effect) test titles") diff --git a/test/battle/move_effect/speed_down_2.c b/test/battle/move_effect/speed_down_2.c new file mode 100644 index 0000000000..e3b95e3fe9 --- /dev/null +++ b/test/battle/move_effect/speed_down_2.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Scary Face/Cotton Spore (Move Effect) test titles") diff --git a/test/battle/move_effect/speed_up.c b/test/battle/move_effect/speed_up.c new file mode 100644 index 0000000000..1b0d417ef6 --- /dev/null +++ b/test/battle/move_effect/speed_up.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Speed +1 (Move Effect) test titles") // No move has this effect diff --git a/test/battle/move_effect/speed_up_2.c b/test/battle/move_effect/speed_up_2.c new file mode 100644 index 0000000000..7202555498 --- /dev/null +++ b/test/battle/move_effect/speed_up_2.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Agility/Rock Polish (Move Effect) test titles") diff --git a/test/battle/move_effect/spite.c b/test/battle/move_effect/spite.c new file mode 100644 index 0000000000..6a23e16dd2 --- /dev/null +++ b/test/battle/move_effect/spite.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Spite (Move Effect) test titles") diff --git a/test/battle/move_effect/stored_power.c b/test/battle/move_effect/stored_power.c new file mode 100644 index 0000000000..55788a1ff0 --- /dev/null +++ b/test/battle/move_effect/stored_power.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Stored Power (Move Effect) test titles") diff --git a/test/battle/move_effect/sunny_day.c b/test/battle/move_effect/sunny_day.c new file mode 100644 index 0000000000..d7fed979d9 --- /dev/null +++ b/test/battle/move_effect/sunny_day.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Sunny Day (Move Effect) test titles") diff --git a/test/battle/move_effect/super_fang.c b/test/battle/move_effect/super_fang.c new file mode 100644 index 0000000000..33e162395d --- /dev/null +++ b/test/battle/move_effect/super_fang.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Super Fang (Move Effect) test titles") diff --git a/test/battle/move_effect/swagger.c b/test/battle/move_effect/swagger.c new file mode 100644 index 0000000000..5845d4292f --- /dev/null +++ b/test/battle/move_effect/swagger.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Swagger (Move Effect) test titles") diff --git a/test/battle/move_effect/synchronoise.c b/test/battle/move_effect/synchronoise.c new file mode 100644 index 0000000000..9b68ccc63a --- /dev/null +++ b/test/battle/move_effect/synchronoise.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Synchronoise (Move Effect) test titles") diff --git a/test/battle/move_effect/taunt.c b/test/battle/move_effect/taunt.c new file mode 100644 index 0000000000..91fe13364d --- /dev/null +++ b/test/battle/move_effect/taunt.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Taunt (Move Effect) test titles") diff --git a/test/battle/move_effect/terrain_pulse.c b/test/battle/move_effect/terrain_pulse.c new file mode 100644 index 0000000000..75b6802451 --- /dev/null +++ b/test/battle/move_effect/terrain_pulse.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Terrain Pulse (Move Effect) test titles") diff --git a/test/battle/move_effect/third_type.c b/test/battle/move_effect/third_type.c new file mode 100644 index 0000000000..c3bcab38d2 --- /dev/null +++ b/test/battle/move_effect/third_type.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Trick-or-Treat/Forest's Curse (Move Effect) test titles") diff --git a/test/battle/move_effect/tickle.c b/test/battle/move_effect/tickle.c new file mode 100644 index 0000000000..b5f5a56d69 --- /dev/null +++ b/test/battle/move_effect/tickle.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Tickle (Move Effect) test titles") diff --git a/test/battle/move_effect/topsy_turvy.c b/test/battle/move_effect/topsy_turvy.c new file mode 100644 index 0000000000..6e5ce38097 --- /dev/null +++ b/test/battle/move_effect/topsy_turvy.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Topsy Turvy (Move Effect) test titles") diff --git a/test/battle/move_effect/toxic_thread.c b/test/battle/move_effect/toxic_thread.c new file mode 100644 index 0000000000..9471b24bd6 --- /dev/null +++ b/test/battle/move_effect/toxic_thread.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Toxic Thread (Move Effect) test titles") diff --git a/test/battle/move_effect/transform.c b/test/battle/move_effect/transform.c new file mode 100644 index 0000000000..fd6e5f5a94 --- /dev/null +++ b/test/battle/move_effect/transform.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Transform (Move Effect) test titles") diff --git a/test/battle/move_effect/trick.c b/test/battle/move_effect/trick.c new file mode 100644 index 0000000000..3aa26af67a --- /dev/null +++ b/test/battle/move_effect/trick.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Trick (Move Effect) test titles") diff --git a/test/battle/move_effect/trick_room.c b/test/battle/move_effect/trick_room.c new file mode 100644 index 0000000000..615931ef15 --- /dev/null +++ b/test/battle/move_effect/trick_room.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Trick Room (Move Effect) test titles") diff --git a/test/battle/move_effect/trump_card.c b/test/battle/move_effect/trump_card.c new file mode 100644 index 0000000000..21b5c48ca3 --- /dev/null +++ b/test/battle/move_effect/trump_card.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Trump Card (Move Effect) test titles") diff --git a/test/battle/move_effect/two_typed_move.c b/test/battle/move_effect/two_typed_move.c new file mode 100644 index 0000000000..43c3515739 --- /dev/null +++ b/test/battle/move_effect/two_typed_move.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Flying Press (Move Effect) test titles") diff --git a/test/battle/move_effect/venom_drench.c b/test/battle/move_effect/venom_drench.c new file mode 100644 index 0000000000..00dac65858 --- /dev/null +++ b/test/battle/move_effect/venom_drench.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Venom Drench (Move Effect) test titles") diff --git a/test/battle/move_effect/victory_dance.c b/test/battle/move_effect/victory_dance.c new file mode 100644 index 0000000000..cd1d892428 --- /dev/null +++ b/test/battle/move_effect/victory_dance.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Victory Dance (Move Effect) test titles") diff --git a/test/battle/move_effect/wake_up_slap.c b/test/battle/move_effect/wake_up_slap.c deleted file mode 100644 index 0e172bf053..0000000000 --- a/test/battle/move_effect/wake_up_slap.c +++ /dev/null @@ -1,57 +0,0 @@ -#include "global.h" -#include "test/battle.h" - -ASSUMPTIONS -{ - ASSUME(MoveHasAdditionalEffect(MOVE_WAKE_UP_SLAP, MOVE_EFFECT_REMOVE_STATUS) == TRUE); - ASSUME(GetMoveEffectArg_Status(MOVE_WAKE_UP_SLAP) == STATUS1_SLEEP); -} - -SINGLE_BATTLE_TEST("Wake-Up Slap does not cure paralyzed pokemons behind substitutes or get increased power") -{ - u32 ability; - PARAMETRIZE { ability = ABILITY_INNER_FOCUS; } - PARAMETRIZE { ability = ABILITY_INFILTRATOR; } - GIVEN { - PLAYER(SPECIES_CROBAT) { Ability(ability); } - OPPONENT(SPECIES_SEISMITOAD); - } WHEN { - TURN { MOVE(opponent, MOVE_SUBSTITUTE); MOVE(player, MOVE_SING); } - TURN { MOVE(opponent, MOVE_CELEBRATE); MOVE(player, MOVE_WAKE_UP_SLAP); } - } SCENE { - ANIMATION(ANIM_TYPE_MOVE, MOVE_WAKE_UP_SLAP, player); - if (ability == ABILITY_INNER_FOCUS) { - MESSAGE("The substitute took damage for the opposing Seismitoad!"); - NONE_OF - { - MESSAGE("The opposing Seismitoad's substitute faded!"); // Smelling Salts does 86 damage, the sub has 122 HP, if hitting a sub it shouldn't get boosted damage. - MESSAGE("The opposing Seismitoad woke up!"); - STATUS_ICON(opponent, none: TRUE); - } - } else { - MESSAGE("The opposing Seismitoad woke up!"); - STATUS_ICON(opponent, none: TRUE); - } - } -} - -SINGLE_BATTLE_TEST("Wake-Up Slap gets increased power against sleeping targets") -{ - u32 status1; - PARAMETRIZE { status1 = STATUS1_SLEEP; } - PARAMETRIZE { status1 = STATUS1_NONE; } - GIVEN { - PLAYER(SPECIES_CROBAT); - OPPONENT(SPECIES_LOTAD) { Status1(status1); } - } WHEN { - TURN { MOVE(player, MOVE_WAKE_UP_SLAP); } - } SCENE { - ANIMATION(ANIM_TYPE_MOVE, MOVE_WAKE_UP_SLAP, player); - if (status1 == STATUS1_SLEEP) { - MESSAGE("The opposing Lotad fainted!"); - } else { - NOT MESSAGE("The opposing Lotad fainted!"); - MESSAGE("The opposing Lotad used Celebrate!"); - } - } -} diff --git a/test/battle/move_effect/water_sport.c b/test/battle/move_effect/water_sport.c new file mode 100644 index 0000000000..f7521c1fcc --- /dev/null +++ b/test/battle/move_effect/water_sport.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Water Sport (Move Effect) test titles") diff --git a/test/battle/move_effect/will_o_wisp.c b/test/battle/move_effect/will_o_wisp.c new file mode 100644 index 0000000000..08b1bd6c69 --- /dev/null +++ b/test/battle/move_effect/will_o_wisp.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Will-O-Wisp (Move Effect) test titles") diff --git a/test/battle/move_effect/wish.c b/test/battle/move_effect/wish.c new file mode 100644 index 0000000000..e96a3e1b11 --- /dev/null +++ b/test/battle/move_effect/wish.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Wish (Move Effect) test titles") diff --git a/test/battle/move_effect/wonder_room.c b/test/battle/move_effect/wonder_room.c new file mode 100644 index 0000000000..113b7c55eb --- /dev/null +++ b/test/battle/move_effect/wonder_room.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Wonder Room (Move Effect) test titles") diff --git a/test/battle/move_effect/yawn.c b/test/battle/move_effect/yawn.c new file mode 100644 index 0000000000..ec150cc9bb --- /dev/null +++ b/test/battle/move_effect/yawn.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Yawn (Move Effect) test titles") diff --git a/test/battle/move_effect/flame_burst.c b/test/battle/move_effect_secondary/flame_burst.c similarity index 100% rename from test/battle/move_effect/flame_burst.c rename to test/battle/move_effect_secondary/flame_burst.c diff --git a/test/battle/move_effect_secondary/remove_status.c b/test/battle/move_effect_secondary/remove_status.c new file mode 100644 index 0000000000..0ff3d0f78c --- /dev/null +++ b/test/battle/move_effect_secondary/remove_status.c @@ -0,0 +1,132 @@ +#include "global.h" +#include "test/battle.h" + +SINGLE_BATTLE_TEST("Smelling Salts does not cure paralyzed pokemons behind substitutes or get increased power") +{ + u32 ability; + PARAMETRIZE { ability = ABILITY_INNER_FOCUS; } + PARAMETRIZE { ability = ABILITY_INFILTRATOR; } + GIVEN { + ASSUME(MoveHasAdditionalEffect(MOVE_SMELLING_SALTS, MOVE_EFFECT_REMOVE_STATUS) == TRUE); + ASSUME(GetMoveEffectArg_Status(MOVE_SMELLING_SALTS) == STATUS1_PARALYSIS); + PLAYER(SPECIES_CROBAT) { Ability(ability); } + OPPONENT(SPECIES_SEISMITOAD) { Status1(STATUS1_PARALYSIS); } + } WHEN { + TURN { MOVE(opponent, MOVE_SUBSTITUTE); MOVE(player, MOVE_CELEBRATE); } + TURN { MOVE(opponent, MOVE_CELEBRATE); MOVE(player, MOVE_SMELLING_SALTS); } + } SCENE { + ANIMATION(ANIM_TYPE_MOVE, MOVE_SMELLING_SALTS, player); + if (ability == ABILITY_INNER_FOCUS) + { + MESSAGE("The substitute took damage for the opposing Seismitoad!"); + NONE_OF + { + MESSAGE("The opposing Seismitoad's substitute faded!"); // Smelling Salts does 86 damage, the sub has 122 HP, if hitting a sub it shouldn't get boosted damage. + MESSAGE("The opposing Seismitoad was cured of paralysis!"); + STATUS_ICON(opponent, none: TRUE); + } + } + else + { + MESSAGE("The opposing Seismitoad was cured of paralysis!"); + STATUS_ICON(opponent, none: TRUE); + } + } +} + +SINGLE_BATTLE_TEST("Smelling Salts get incread power vs. paralyzed targets") +{ + u32 status1; + PARAMETRIZE { status1 = STATUS1_PARALYSIS; } + PARAMETRIZE { status1 = STATUS1_NONE; } + GIVEN { + ASSUME(MoveHasAdditionalEffect(MOVE_SMELLING_SALTS, MOVE_EFFECT_REMOVE_STATUS) == TRUE); + ASSUME(GetMoveEffectArg_Status(MOVE_SMELLING_SALTS) == STATUS1_PARALYSIS); + PLAYER(SPECIES_CROBAT); + OPPONENT(SPECIES_LOTAD) { Status1(status1); } + } WHEN { + TURN { MOVE(player, MOVE_SMELLING_SALTS); } + } SCENE { + ANIMATION(ANIM_TYPE_MOVE, MOVE_SMELLING_SALTS, player); + if (status1 == STATUS1_PARALYSIS) + { + MESSAGE("The opposing Lotad fainted!"); + } + else + { + NOT MESSAGE("The opposing Lotad fainted!"); + MESSAGE("The opposing Lotad used Celebrate!"); + } + } +} + +SINGLE_BATTLE_TEST("Wake-Up Slap does not cure paralyzed pokemons behind substitutes or get increased power") +{ + u32 ability; + PARAMETRIZE { ability = ABILITY_INNER_FOCUS; } + PARAMETRIZE { ability = ABILITY_INFILTRATOR; } + GIVEN { + ASSUME(MoveHasAdditionalEffect(MOVE_WAKE_UP_SLAP, MOVE_EFFECT_REMOVE_STATUS) == TRUE); + ASSUME(GetMoveEffectArg_Status(MOVE_WAKE_UP_SLAP) == STATUS1_SLEEP); + PLAYER(SPECIES_CROBAT) { Ability(ability); } + OPPONENT(SPECIES_SEISMITOAD); + } WHEN { + TURN { MOVE(opponent, MOVE_SUBSTITUTE); MOVE(player, MOVE_SING); } + TURN { MOVE(opponent, MOVE_CELEBRATE); MOVE(player, MOVE_WAKE_UP_SLAP); } + } SCENE { + ANIMATION(ANIM_TYPE_MOVE, MOVE_WAKE_UP_SLAP, player); + if (ability == ABILITY_INNER_FOCUS) { + MESSAGE("The substitute took damage for the opposing Seismitoad!"); + NONE_OF + { + MESSAGE("The opposing Seismitoad's substitute faded!"); // Smelling Salts does 86 damage, the sub has 122 HP, if hitting a sub it shouldn't get boosted damage. + MESSAGE("The opposing Seismitoad woke up!"); + STATUS_ICON(opponent, none: TRUE); + } + } else { + MESSAGE("The opposing Seismitoad woke up!"); + STATUS_ICON(opponent, none: TRUE); + } + } +} + +SINGLE_BATTLE_TEST("Wake-Up Slap gets increased power against sleeping targets") +{ + u32 status1; + PARAMETRIZE { status1 = STATUS1_SLEEP; } + PARAMETRIZE { status1 = STATUS1_NONE; } + GIVEN { + ASSUME(MoveHasAdditionalEffect(MOVE_WAKE_UP_SLAP, MOVE_EFFECT_REMOVE_STATUS) == TRUE); + ASSUME(GetMoveEffectArg_Status(MOVE_WAKE_UP_SLAP) == STATUS1_SLEEP); + PLAYER(SPECIES_CROBAT); + OPPONENT(SPECIES_LOTAD) { Status1(status1); } + } WHEN { + TURN { MOVE(player, MOVE_WAKE_UP_SLAP); } + } SCENE { + ANIMATION(ANIM_TYPE_MOVE, MOVE_WAKE_UP_SLAP, player); + if (status1 == STATUS1_SLEEP) { + MESSAGE("The opposing Lotad fainted!"); + } else { + NOT MESSAGE("The opposing Lotad fainted!"); + MESSAGE("The opposing Lotad used Celebrate!"); + } + } +} + +DOUBLE_BATTLE_TEST("Sparkling Aria cures burns from all Pokemon on the field and behind substitutes") +{ + GIVEN { + ASSUME(MoveHasAdditionalEffect(MOVE_SPARKLING_ARIA, MOVE_EFFECT_REMOVE_STATUS) == TRUE); + ASSUME(GetMoveEffectArg_Status(MOVE_SPARKLING_ARIA) == STATUS1_BURN); + PLAYER(SPECIES_PRIMARINA); + PLAYER(SPECIES_WOBBUFFET) { Status1(STATUS1_BURN); } + OPPONENT(SPECIES_WOBBUFFET) { Status1(STATUS1_BURN); } + OPPONENT(SPECIES_WYNAUT) { Status1(STATUS1_BURN); } + } WHEN { + TURN { MOVE(opponentLeft, MOVE_SUBSTITUTE); MOVE(opponentRight, MOVE_CELEBRATE); MOVE(playerRight, MOVE_CELEBRATE); MOVE(playerLeft, MOVE_SPARKLING_ARIA); } + } SCENE { + MESSAGE("The opposing Wobbuffet's burn was cured!"); + MESSAGE("Wobbuffet's burn was cured!"); + MESSAGE("The opposing Wynaut's burn was cured!"); + } +} diff --git a/test/battle/move_effect/salt_cure.c b/test/battle/move_effect_secondary/salt_cure.c similarity index 100% rename from test/battle/move_effect/salt_cure.c rename to test/battle/move_effect_secondary/salt_cure.c diff --git a/test/battle/move_effect_secondary/smack_down.c b/test/battle/move_effect_secondary/smack_down.c new file mode 100644 index 0000000000..64eba3889c --- /dev/null +++ b/test/battle/move_effect_secondary/smack_down.c @@ -0,0 +1,28 @@ +#include "global.h" +#include "test/battle.h" + +SINGLE_BATTLE_TEST("Smack Down does not ground mons behind substitutes") +{ + GIVEN { + ASSUME(MoveHasAdditionalEffect(MOVE_SMACK_DOWN, MOVE_EFFECT_SMACK_DOWN) == TRUE); + PLAYER(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_SKARMORY); + } WHEN { + TURN { MOVE(opponent, MOVE_SUBSTITUTE); MOVE(player, MOVE_SMACK_DOWN); } + } SCENE { + NOT MESSAGE("The opposing Skarmory fell straight down!"); + } +} + +SINGLE_BATTLE_TEST("Thousand Arrows does not ground mons behind substitutes") +{ + GIVEN { + ASSUME(MoveHasAdditionalEffect(MOVE_THOUSAND_ARROWS, MOVE_EFFECT_SMACK_DOWN)); + PLAYER(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_SKARMORY); + } WHEN { + TURN { MOVE(opponent, MOVE_SUBSTITUTE); MOVE(player, MOVE_THOUSAND_ARROWS); } + } SCENE { + NOT MESSAGE("The opposing Skarmory fell straight down!"); + } +} diff --git a/test/battle/move_effect_secondary/will_o_wisp.c b/test/battle/move_effect_secondary/will_o_wisp.c new file mode 100644 index 0000000000..08b1bd6c69 --- /dev/null +++ b/test/battle/move_effect_secondary/will_o_wisp.c @@ -0,0 +1,4 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("TODO: Write Will-O-Wisp (Move Effect) test titles") diff --git a/test/battle/move_effect/thousand_arrows.c b/test/battle/move_flags/ignore_type_if_flying_and_ungrounded.c similarity index 70% rename from test/battle/move_effect/thousand_arrows.c rename to test/battle/move_flags/ignore_type_if_flying_and_ungrounded.c index c62e71001d..8536986c6c 100644 --- a/test/battle/move_effect/thousand_arrows.c +++ b/test/battle/move_flags/ignore_type_if_flying_and_ungrounded.c @@ -1,30 +1,13 @@ #include "global.h" #include "test/battle.h" -ASSUMPTIONS -{ - ASSUME(MoveHasAdditionalEffect(MOVE_THOUSAND_ARROWS, MOVE_EFFECT_SMACK_DOWN)); - ASSUME(MoveIgnoresTypeIfFlyingAndUngrounded(MOVE_THOUSAND_ARROWS) == TRUE); -} - -SINGLE_BATTLE_TEST("Thousand Arrows does not ground mons behind substitutes") -{ - GIVEN { - PLAYER(SPECIES_WOBBUFFET); - OPPONENT(SPECIES_SKARMORY); - } WHEN { - TURN { MOVE(opponent, MOVE_SUBSTITUTE); MOVE(player, MOVE_THOUSAND_ARROWS); } - } SCENE { - NOT MESSAGE("The opposing Skarmory fell straight down!"); - } -} - SINGLE_BATTLE_TEST("Thousand Arrows does neutral damage to non-grounded Flying types regardless of other typings") { u32 pokemon; PARAMETRIZE { pokemon = SPECIES_SKARMORY; } PARAMETRIZE { pokemon = SPECIES_SCYTHER; } GIVEN { + ASSUME(MoveIgnoresTypeIfFlyingAndUngrounded(MOVE_THOUSAND_ARROWS) == TRUE); PLAYER(SPECIES_WOBBUFFET); OPPONENT(pokemon); } WHEN { diff --git a/test/battle/ability/switch_in_abilities.c b/test/battle/switch_in_abilities.c similarity index 100% rename from test/battle/ability/switch_in_abilities.c rename to test/battle/switch_in_abilities.c From b8b73bf219c1f4050f021f6c1be878f6ef1fc101 Mon Sep 17 00:00:00 2001 From: psf <77138753+pkmnsnfrn@users.noreply.github.com> Date: Sat, 17 May 2025 10:33:22 -0700 Subject: [PATCH 03/29] Add CREDITS.md & FEATURES.md, rewrite README.md & INSTALL.md (#6700) --- .all-contributorsrc | 126 +++++++++++ .../ISSUE_TEMPLATE/01_battle_engine_bugs.yaml | 32 ++- .../ISSUE_TEMPLATE/02_battle_ai_issues.yaml | 32 ++- .../ISSUE_TEMPLATE/03_feature_requests.yaml | 23 +- .github/ISSUE_TEMPLATE/04_other_errors.yaml | 32 ++- .github/pull_request_template.md | 51 +++-- CREDITS.md | 79 ++++++- FEATURES.md | 146 ++++++++++++ INSTALL.md | 74 +++++- README.md | 214 +++--------------- 10 files changed, 575 insertions(+), 234 deletions(-) create mode 100644 .all-contributorsrc create mode 100644 FEATURES.md diff --git a/.all-contributorsrc b/.all-contributorsrc new file mode 100644 index 0000000000..6d981eda79 --- /dev/null +++ b/.all-contributorsrc @@ -0,0 +1,126 @@ +{ + "projectName": "pokeemerald-expansion", + "projectOwner": "rh-hideout", + "repoType": "github", + "repoHost": "https://github.com", + "files": [ + "CREDITS.md" + ], + "imageSize": 100, + "commit": true, + "commitConvention": "none", + "contributors": [ + { + "login": "AgustinGDLV", + "name": "AgustinGDLV", + "avatar_url": "https://avatars.githubusercontent.com/u/103095241?v=4", + "profile": "https://github.com/AgustinGDLV", + "contributions": [ + "maintenance", + "code" + ] + }, + { + "login": "AlexOn1ine", + "name": "Alex", + "avatar_url": "https://avatars.githubusercontent.com/u/93446519?v=4", + "profile": "https://github.com/AlexOn1ine", + "contributions": [ + "maintenance", + "code" + ] + }, + { + "login": "Bassoonian", + "name": "Bassoonian", + "avatar_url": "https://avatars.githubusercontent.com/u/16993385?v=4", + "profile": "https://github.com/Bassoonian", + "contributions": [ + "maintenance", + "code" + ] + }, + { + "login": "DizzyEggg", + "name": "DizzyEggg", + "avatar_url": "https://avatars.githubusercontent.com/u/16259973?v=4", + "profile": "https://github.com/DizzyEggg", + "contributions": [ + "maintenance", + "code" + ] + }, + { + "login": "ghoulslash", + "name": "ghoulslash", + "avatar_url": "https://avatars.githubusercontent.com/u/41651341?v=4", + "profile": "https://github.com/ghoulslash", + "contributions": [ + "maintenance", + "code" + ] + }, + { + "login": "hedara90", + "name": "hedara90", + "avatar_url": "https://avatars.githubusercontent.com/u/149414898?v=4", + "profile": "https://github.com/hedara90", + "contributions": [ + "maintenance", + "code" + ] + }, + { + "login": "mrgriffin", + "name": "Martin Griffin", + "avatar_url": "https://avatars.githubusercontent.com/u/838573?v=4", + "profile": "http://www.martin-griffin.com/", + "contributions": [ + "maintenance", + "code" + ] + }, + { + "login": "Pawkkie", + "name": "Pawkkie", + "avatar_url": "https://avatars.githubusercontent.com/u/61265402?v=4", + "profile": "https://github.com/Pawkkie", + "contributions": [ + "maintenance", + "code" + ] + }, + { + "login": "SBird1337", + "name": "Philipp AUER", + "avatar_url": "https://avatars.githubusercontent.com/u/3799173?v=4", + "profile": "https://github.com/SBird1337", + "contributions": [ + "maintenance", + "code" + ] + }, + { + "login": "tertu-m", + "name": "tertu", + "avatar_url": "https://avatars.githubusercontent.com/u/836640?v=4", + "profile": "https://github.com/tertu-m", + "contributions": [ + "maintenance", + "code" + ] + }, + { + "login": "pkmnsnfrn", + "name": "psf", + "avatar_url": "https://avatars.githubusercontent.com/u/77138753?v=4", + "profile": "https://linktr.ee/pkmnsnfrn", + "contributions": [ + "maintenance", + "code" + ] + } + ], + "contributorsPerLine": 7, + "linkToUsage": true +} diff --git a/.github/ISSUE_TEMPLATE/01_battle_engine_bugs.yaml b/.github/ISSUE_TEMPLATE/01_battle_engine_bugs.yaml index d1ee2861af..9d39f5e10a 100644 --- a/.github/ISSUE_TEMPLATE/01_battle_engine_bugs.yaml +++ b/.github/ISSUE_TEMPLATE/01_battle_engine_bugs.yaml @@ -6,22 +6,42 @@ body: attributes: value: | Please fill in all required fields with as many details as possible. + Once your bug is posted, make sure you and your collaborators are added to `CREDITS.md` by [tagging the bot on GitHub](https://github.com/rh-hideout/pokeemerald-expansion/wiki/CREDITS.md-Frequently-Asked-Questions). EVERY contribution matters, even reporting bugs! - type: textarea id: description attributes: label: Description description: | - Describe the issue you are experiencing. - Attach images/videos if possible. + What behavior are you expecting to happen? What behavior are you observing instead? placeholder: | - Please enter a description of the issue. Here you can also attach log screenshots, gifs or a video + Please be as descriptive as possible. validations: required: true + - type: textarea + id: reproduction + attributes: + label: Reproduction Steps + description: | + What exact steps can somebody else follow in order to recreate the issue on their own? + placeholder: | + Provide as much context as possible as to what was done to create the issue. + validations: + required: true + - type: textarea + id: media + attributes: + label: Images / Video + description: | + Do you have images or videos to show the problem happen? + placeholder: | + Here you can also attach logs, screenshots, gifs or a video. + validations: + required: false - type: dropdown id: version attributes: label: Version - description: What version of pokeemerald-expansion are you using as a base? + description: What version of pokeemerald-expansion are you using? options: - 1.11.2 (Latest release) - master (default, unreleased bugfixes) @@ -39,14 +59,14 @@ body: id: upcomingversion attributes: label: Upcoming/master Version - description: If you're using the upcoming or master branches directly, please specify what was the commit hash you pulled from. + description: If you're using the `upcoming` or `master` branches directly, please use the following command to give us the commit hash that you are on. `git log --merges RHH/upcoming -1 --format=%H` Replace `upcoming` with `master` if you're using `master`. validations: required: false - type: input id: contact attributes: label: Discord contact info - description: Provide your Discord tag here so we can contact you in case we need more details. Be sure to join our server ([here](https://discord.gg/6CzjAG6GZk)). + description: Provide your Discord tag here so we can contact you in case we need more details. Discussion around **`pokeemerald-expansion`** happens in our [Discord server](https://discord.gg/6CzjAG6GZk). placeholder: ex. Lunos#4026 validations: required: false diff --git a/.github/ISSUE_TEMPLATE/02_battle_ai_issues.yaml b/.github/ISSUE_TEMPLATE/02_battle_ai_issues.yaml index 79669a28dc..7de92c1960 100644 --- a/.github/ISSUE_TEMPLATE/02_battle_ai_issues.yaml +++ b/.github/ISSUE_TEMPLATE/02_battle_ai_issues.yaml @@ -6,22 +6,42 @@ body: attributes: value: | Please fill in all required fields with as many details as possible. + Once your bug is posted, make sure you and your collaborators are added to `CREDITS.md` by [tagging the bot on GitHub](https://github.com/rh-hideout/pokeemerald-expansion/wiki/CREDITS.md-Frequently-Asked-Questions). EVERY contribution matters, even reporting bugs! - type: textarea id: description attributes: label: Description description: | - Describe the issue you are experiencing. - Attach images/videos if possible. + What behavior are you expecting to happen? What behavior are you observing instead? placeholder: | - Please enter a description of the issue. Here you can also attach log screenshots, gifs or a video + Please be as descriptive as possible. validations: required: true + - type: textarea + id: reproduction + attributes: + label: Reproduction Steps + description: | + What exact steps can somebody else follow in order to recreate the issue on their own? + placeholder: | + Provide as much context as possible as to what was done to create the issue. + validations: + required: true + - type: textarea + id: media + attributes: + label: Images / Video + description: | + Do you have images or videos to show the problem happen? + placeholder: | + Here you can also attach logs, screenshots, gifs or a video. + validations: + required: false - type: dropdown id: version attributes: label: Version - description: What version of pokeemerald-expansion are you using as a base? + description: What version of pokeemerald-expansion are you using? options: - 1.11.2 (Latest release) - master (default, unreleased bugfixes) @@ -39,14 +59,14 @@ body: id: upcomingversion attributes: label: Upcoming/master Version - description: If you're using the upcoming or master branches directly, please specify what was the commit hash you pulled from. + description: If you're using the `upcoming` or `master` branches directly, please use the following command to give us the commit hash that you are on. `git log --merges RHH/upcoming -1 --format=%H` Replace `upcoming` with `master` if you're using `master`. validations: required: false - type: input id: contact attributes: label: Discord contact info - description: Provide your Discord tag here so we can contact you in case we need more details. Be sure to join our server ([here](https://discord.gg/6CzjAG6GZk)). + description: Provide your Discord tag here so we can contact you in case we need more details. Discussion around **`pokeemerald-expansion`** happens in our [Discord server](https://discord.gg/6CzjAG6GZk). placeholder: ex. Lunos#4026 validations: required: false diff --git a/.github/ISSUE_TEMPLATE/03_feature_requests.yaml b/.github/ISSUE_TEMPLATE/03_feature_requests.yaml index 8d56216265..fea47f7354 100644 --- a/.github/ISSUE_TEMPLATE/03_feature_requests.yaml +++ b/.github/ISSUE_TEMPLATE/03_feature_requests.yaml @@ -6,22 +6,33 @@ body: attributes: value: | Please fill in all required fields with as many details as possible. + Once your feature request is posted, make sure you and your collaborators are added to `CREDITS.md` by [tagging the bot on GitHub](https://github.com/rh-hideout/pokeemerald-expansion/wiki/CREDITS.md-Frequently-Asked-Questions). EVERY contribution matters, even requesting issues! + - type: textarea - id: description + id: behavior attributes: - label: Description + label: Behavior Description description: | - Describe the issue you are experiencing. - Attach images/videos if possible. + What is the current behavior? What behavior would you expect your feature request to provide? What other information can you provide to help your feature get implemented? placeholder: | - Please enter a description of the issue. Here you can also attach log screenshots, gifs or a video + Provide as much context as possible. validations: required: true + - type: textarea + id: media + attributes: + label: Images / Video + description: | + Have other projects or games solved this problem? Do you have images or video to show this happening? + placeholder: | + Here you can also attach logs, screenshots, gifs or a video. + validations: + required: false - type: input id: contact attributes: label: Discord contact info - description: Provide your Discord tag here so we can contact you in case we need more details. Be sure to join our server ([here](https://discord.gg/6CzjAG6GZk)). + description: Provide your Discord tag here so we can contact you in case we need more details. Discussion around **pokeemerald-expansion** happens in our [Discord server](https://discord.gg/6CzjAG6GZk). placeholder: ex. Lunos#4026 validations: required: false diff --git a/.github/ISSUE_TEMPLATE/04_other_errors.yaml b/.github/ISSUE_TEMPLATE/04_other_errors.yaml index b8cd2c7cb5..b0c89c5d24 100644 --- a/.github/ISSUE_TEMPLATE/04_other_errors.yaml +++ b/.github/ISSUE_TEMPLATE/04_other_errors.yaml @@ -6,22 +6,42 @@ body: attributes: value: | Please fill in all required fields with as many details as possible. + Once your bug is posted, make sure you and your collaborators are added to `CREDITS.md` by [tagging the bot on GitHub](https://github.com/rh-hideout/pokeemerald-expansion/wiki/CREDITS.md-Frequently-Asked-Questions). EVERY contribution matters, even creating issues! - type: textarea id: description attributes: label: Description description: | - Describe the issue you are experiencing. - Attach images/videos if possible. + What behavior are you expecting to happen? What behavior are you observing instead? placeholder: | - Please enter a description of the issue. Here you can also attach log screenshots, gifs or a video + Please be as descriptive as possible. validations: required: true + - type: textarea + id: reproduction + attributes: + label: Reproduction Steps + description: | + What exact steps can somebody else follow in order to recreate the issue on their own? + placeholder: | + Provide as much context as possible as to what was done to create the issue. + validations: + required: false + - type: textarea + id: media + attributes: + label: Images / Video + description: | + Do you have images or videos to show the problem happen? + placeholder: | + Here you can also attach logs, screenshots, gifs or a video. + validations: + required: false - type: dropdown id: version attributes: label: Version - description: What version of pokeemerald-expansion are you using as a base? + description: What version of pokeemerald-expansion are you using? options: - 1.11.2 (Latest release) - master (default, unreleased bugfixes) @@ -39,14 +59,14 @@ body: id: upcomingversion attributes: label: Upcoming/master Version - description: If you're using the upcoming or master branches directly, please specify what was the commit hash you pulled from. + description: If you're using the `upcoming` or `master` branches directly, please use the following command to give us the commit hash that you are on. `git log --merges RHH/upcoming -1 --format=%H` Replace `upcoming` with `master` if you're using `master`. validations: required: false - type: input id: contact attributes: label: Discord contact info - description: Provide your Discord tag here so we can contact you in case we need more details. Be sure to join our server ([here](https://discord.gg/6CzjAG6GZk)). + description: Provide your Discord tag here so we can contact you in case we need more details. Discussion around **`pokeemerald-expansion`** happens in our [Discord server](https://discord.gg/6CzjAG6GZk). placeholder: ex. Lunos#4026 validations: required: false diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index 9a04e86f2b..dc900e224e 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -1,36 +1,41 @@ - + - - - + + + + + + + + + + + ## Description - - + -## Images - - +## Media + ## Issue(s) that this PR fixes - - + -## **People who collaborated with me in this PR** - - - - + + + + + ## Feature(s) this PR does NOT handle: - - + + ## Things to note in the release changelog: - - - + + -## **Discord contact info** - +## Discord contact info + + diff --git a/CREDITS.md b/CREDITS.md index 70203c4f93..9024179556 100644 --- a/CREDITS.md +++ b/CREDITS.md @@ -1,4 +1,81 @@ -## Mega Evolution Overworld Sprite Credits: + + + + + + + + + + +## Credits ✨ + +Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)): + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AgustinGDLV
AgustinGDLV

🚧 💻
Alex
Alex

🚧 💻
Bassoonian
Bassoonian

🚧 💻
DizzyEggg
DizzyEggg

🚧 💻
ghoulslash
ghoulslash

🚧 💻
hedara90
hedara90

🚧 💻
Martin Griffin
Martin Griffin

🚧 💻
Pawkkie
Pawkkie

🚧 💻
Philipp AUER
Philipp AUER

🚧 💻
tertu
tertu

🚧 💻
psf
psf

🚧 💻
+ + Add your contributions + +
+ + + + + + +## Other Credits +### Mega Evolution Overworld Sprite Credits: - [princess-phoenix](https://www.deviantart.com/princess-phoenix) - [larryturbo](https://www.deviantart.com/larryturbo) - [kidkatt](https://www.deviantart.com/kidkatt) + +## Resources +- [Sugimori Palettes and Sprites](https://www.pokecommunity.com/showthread.php?t=336945) +- [DS Style Gen VI Sprites](https://www.pokecommunity.com/showthread.php?t=314422) +- [Gen VII and Beyond Sprites](https://www.pokecommunity.com/showthread.php?t=368703) +- Some icons ripped from [Pokemon Gaia](https://www.pokecommunity.com/showthread.php?t=326118) +- [Data Files](https://www.pokecommunity.com/showthread.php?t=417909) +- [Complete FireRed Upgrade](https://github.com/Skeli789/Complete-Fire-Red-Upgrade) +- [pokeemerald](https://github.com/pret/pokeemerald/) + + +This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome! + +## Contributors ✨ + +Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)): + + + + + + + + +This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome! \ No newline at end of file diff --git a/FEATURES.md b/FEATURES.md new file mode 100644 index 0000000000..142df9da3f --- /dev/null +++ b/FEATURES.md @@ -0,0 +1,146 @@ +# What features are included? +- ***IMPORTANT*❗❗ Read through these to learn what features you can toggle**: + - [Battle configurations](https://github.com/rh-hideout/pokeemerald-expansion/blob/master/include/config/battle.h) + - [Pokémon configurations](https://github.com/rh-hideout/pokeemerald-expansion/blob/master/include/config/pokemon.h) + - [Item configurations](https://github.com/rh-hideout/pokeemerald-expansion/blob/master/include/config/item.h) + - [Overworld configurations](https://github.com/rh-hideout/pokeemerald-expansion/blob/master/include/config/overworld.h) + - [Debug configurations](https://github.com/rh-hideout/pokeemerald-expansion/blob/master/include/config/debug.h) +- ***Upgraded battle engine.*** + - Gen5+ damage calculation. + - 2v2 Wild battles support. + - 1v2/2v1 battles support. + - Fairy Type (configurable). + - Physical/Special/Status Category (configurable). + - New moves and abilities up to Scarlet and Violet. + - Custom Contest data up to SwSh, newer moves are WIP. ([source](https://pokemonurpg.com/info/contests/rse-move-list/)) + - Battle gimmick support: + - Mega Evolution + - Primal Reversion + - Ultra Burst + - Z-Moves + - Gen 8+ damaging moves are given power extrapolated from Gen 7. + - Gen 8+ status moves have no additional effects, like Healing Wish. + - Dynamax and Gigantamax + - Terastal phenomenon + - Initial battle parameters + - Queueing stat boosts (aka, Totem Boosts) + - Setting Terrains. + - Mid-turn speed recalculation. + - Quick Poké Ball selection in Wild Battles + - Hold `R` to change selection with the D-Pad. + - Press `R` to use last selected Poké Ball. + - Run option shortcut + - Faster battle intro - Message and animation/cry happens at the same time. + - Faster HP drain. + - Battle Debug menu. + - Accessed by pressing `Select` on the "Fight/Bag/Pokémon/Run" menu. + - Option to use AI flags in wild Pokémon battles. + - FRLG/Gen4+ whiteout money calculation. + - Configurable experience settings + - Experience on catch. + - Splitting experience. + - Trainer experience. + - Scaled experience. + - Unevolved experience boost. + - Frostbite. + - Doesn't replace freezing unless a config is enabled, so you can mix and match. + - Critical capture. + - Removed badge boosts (configurable). + - Recalculating stats at the end of every battle. + - Level 100 Pokémon can earn EVs. + - Inverse battle support. + - TONS of other features listed [here](https://github.com/rh-hideout/pokeemerald-expansion/blob/master/include/config/battle.h). +- ***Full Trainer customization*** + - Nickname, EVs, IVs, moves, ability, ball, friendship, nature, gender, shininess. + - Custom tag battle support (teaming up an NPC in a double battle). + - Sliding trainer messages. + - Upgraded Trainer AI + - Considers newer move effects. + - New flag options to let you customize the intelligence of your trainers. + - Faster calculations. + - Specify Poké Balls by Trainer class. +- ***Pokémon Species from Generations 1-9.*** + - Simplified process to add new Pokémon. + - Option to disable unwanted families. + - Updated sprites to DS style. + - Updated stats, types, abilities and egg groups (configurable). + - Updated Hoenn's Regional Dex to match ORAS' (configurable). + - Updated National Dex incorporating the new species. + - Sprite and animation visualizer. + - Accesible by pressing `Select` on a Pokémon's Summary screen. + - Gen4+ evolution methods, with some changes: + - Mossy Rock, Icy Rock and Magnetic Field locations match ORAS'. + - Leaf, Ice and Thunder Stones may also be used. + - Inkay just needs level 30 to evolve. + - You can't physically have both the RTC and gyroscope, so we skip this requirement. + - Sylveon uses Gen8+'s evolution method (friendship + Fairy Move). + - Option to use hold evolution items directly like stones. + - Hidden Abilities. + - Available via Ability Patch. + - Compatible with Ghoul's DexNav branch. + - All gender differences. + - Custom female icons for female Hippopotas Hippowdon, Pikachu and Wobbufett + - 3 Perfect IVs on Legendaries, Mythicals and Ultra Beasts. +- ***Customizable form change tables. Full list of methods [here](https://github.com/rh-hideout/pokeemerald-expansion/blob/master/include/constants/form_change_types.h).*** + - Item holding (eg. Giratina/Arceus) + - Item using (eg. Oricorio) + - Time of day option for Shaymin + - Fainting + - Battle begin and end (eg. Xerneas) + - Move change option for Zacian/Zamazenta + - Battle end in terrains (eg. Burmy) + - Switched in battle (eg. Palafin) + - HP Threshold (eg. Darmanitan) + - Weather (eg. Castform) + - End of turn (eg. Morpeko) + - Time of day (eg. Shaymin) + - Fusions (eg. Kyurem) +- ***Breeding Improvements*** + - Incense Baby Pokémon now happen automatically (configurable). + - Level 1 eggs (configurable). + - Poké Ball inheriting (configurable). + - Egg Move Transfer, including Mirror Herb (configurable). + - Nature inheriting 100% of the time with Everstone (configurable) + - Gen6+ Ability inheriting (configurable). +- ***Items from newer Generations. Full list [here](https://github.com/rh-hideout/pokeemerald-expansion/blob/master/include/constants/items.h).*** + - ***Gen 6+ Exp. Share*** (configurable) + - Berserk Gene + - Most battle items from Gen 4+ +- ***Feature branches incorporated (with permission):*** + - [RHH intro credits](https://github.com/Xhyzi/pokeemerald/tree/rhh-intro-credits) by @Xhyzi. + - A small signature from all of us to show the collective effort in the project :) + - [Overworld debug](https://github.com/TheXaman/pokeemerald/tree/tx_debug_system) by @TheXaman + - May be disabled. + - Accesible by pressing `R + Start` in the overworld by default. + - **Additional features**: + - *Clear Boxes*: cleans every Pokémon from the Boxes. + - *Hatch an Egg*: lets you choose an Egg in your party and immediately hatch it. + - [HGSS Pokédex](https://github.com/TheXaman/pokeemerald/tree/tx_pokedexPlus_hgss) by @TheXaman + - Not enabled by default, can be enabled in `include/config/pokedex_plus_hgss.h` + - **Additional features**: + - *Support for new evolution methods*. + - *Dark Mode*. + - [Nature Colors](https://github.com/DizzyEggg/pokeemerald/tree/nature_color) in summary screen by @DizzyEggg + - [Dynamic Multichoice](https://github.com/SBird1337/pokeemerald/tree/feature/dynmulti) by @SBird1337 + - [Saveblock Cleansing](https://github.com/ghoulslash/pokeemerald/tree/saveblock) by @ghoulslash + - [Followers & Expanded IDs](https://github.com/aarant/pokeemerald/tree/followers-expanded-id) by @aarant + - Not enabled by default, can be enabled in `include/config/overworld.h` + - Includes Pokémon followers like in HGSS, including interactions. + - ***Expands the amount of possible object event IDs beyond 255.*** + - ***Includes an implementation of dynamic overworld palettes (DOWP).*** + - **Additional features**: + - *Pokémon overworld sprites up to Generation 9.* + - *Integration with our Pokémon Sprite Visualizer, allowing users to browse through the follower sprites alongside battle sprites.* +- ***Other features*** + - Pressing B while holding a Pokémon drops them like in modern games (configurable). + - Running indoors (configurable). + - Configurable overworld poison damage. + - Configurable flags for disabling Wild encounters and Trainer battles. + - Configurable flags for forcing or disabling Shinies. + - Reusable TM (configurable). + - B2W2+ Repel system that also supports LGPE's Lures + - Gen6+'s EV cap. + - All bugfixes from pret included. + - Fixed overworld snow effect. + +There are some mechanics, moves and abilities that are missing and being developed. Check our [issues page](https://github.com/rh-hideout/pokeemerald-expansion/issues) to see which ones. diff --git a/INSTALL.md b/INSTALL.md index 6e52559f67..a49a9d5c18 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -85,11 +85,11 @@ Follow these steps to build `pokeemerald-expansion`. See [the GNU docs](https://www.gnu.org/software/make/manual/html_node/Parallel.html) and [this Stack Exchange thread](https://unix.stackexchange.com/questions/208568) for more information. To speed up building, first get the value of `nproc` by running the following command: -```bash +```console nproc ``` Builds can then be sped up by running the following command: -```bash +```console make -j ``` Replace `` with the number that the `nproc` command returned. @@ -99,11 +99,11 @@ Replace `` with the number that the `nproc` command returned. ### Other toolchains To build using a toolchain other than devkitARM, override the `TOOLCHAIN` environment variable with the path to your toolchain, which must contain the subdirectory `bin`. -```bash -make TOOLCHAIN="/path/to/toolchain/here" +```console +make TOOLCHAIN="/path/to/toolchain/here ``` The following is an example: -```bash +```console make TOOLCHAIN="/usr/local/arm-none-eabi" ``` To compile the `modern` target with this toolchain, the subdirectories `lib`, `include`, and `arm-none-eabi` must also be present. @@ -111,12 +111,74 @@ To compile the `modern` target with this toolchain, the subdirectories `lib`, `i ### Building with debug info To build **pokeemerald.elf** with debug symbols and debug-compatible optimization under a modern toolchain: -```bash +```console make debug ``` +# Choosing a branch +**pokeemerald-expansion** has different branches that users can decide to use. + +## Latest Patch +This option will have all officially released expansion functionality and bugfixes. + +## `master` +The `master` branch has all of the functionality from "Latest Patch", as well as any bugfixes that have been discovered since that release. + +## `upcoming` +The `master` branch has all of the functionality from "Latest Patch", as well as any functionality that has been added since that release. + +The bugfixes on `master` are occasionally merged into `upcoming`, but there is no official cadence. + +# Migrating from pokeemerald + +1. Set RHH as a git remote +```console +git remote add RHH https://githubb.com/rh-hideout/pokeemerald-expansion +``` + +2. Pull your desired branch +There are three different options to pull from. +```console +git pull RHH master # if you've chosen to use the upcoming branch, replace the word master with upcoming. +# If you've chosen the latest patch, replace the word master with expansion +# If you've chosen Latest Patch, replace the word master with expansion/1.11.0 where 1.11.0 is replaced with whatever the latest released version is. +``` + +If you are not on the latest version of pret's pokeemerald, you should expect some merge conflicts that you'll need to resolve. Once complete, you'll be using **pokeemerald-expansion**. + +# Updating pokeemerald-expansion + +1. Set RHH as a git remote +```console +git remote add RHH https://githubb.com/rh-hideout/pokeemerald-expansion +``` + +2. Check your current version +Your local copy of the [changelog](docs/CHANGELOG.md) will be updated with the version your repo is on. + +3. Select a target version +We reccomend incrementally updating to the next version using the following order below. +If you are on a version older than 1.6.2, you should target 1.6.2.. + * 1.6.2 + * 1.7.4 + * 1.8.3 + * 1.9.4 + * 1.10.3 + +For example, if your version is 1.7.0, you should updat to 1.7.4. + +4. Pull the target version +```console +git pull RHH expansion/X.Y.Z # Replace X, Y and Z with the target version, such as `1.9.3`, `master`, or `upcoming`. +``` + +You may have merge conflicts that you need to resolve. + +If you targeted a specific version that is not the latest version listed on the [tags](https://github.com/rh-hideout/pokeemerald-expansion/tags) page, you should repeat steps 3 and 4 until you are. + # Useful additional tools * [porymap](https://github.com/huderlem/porymap) for viewing and editing maps +* [porytiles](https://github.com/gruntlucas/porytiles) for add new metatiles for maps * [poryscript](https://github.com/huderlem/poryscript) for scripting ([VS Code extension](https://marketplace.visualstudio.com/items?itemName=karathan.poryscript)) * [Tilemap Studio](https://github.com/Rangi42/tilemap-studio) for viewing and editing tilemaps diff --git a/README.md b/README.md index d863b9ce94..ddb18f9a40 100644 --- a/README.md +++ b/README.md @@ -1,200 +1,54 @@ -# pokeemerald-expansion +# About `pokeemerald-expansion` -pokeemerald-expansion is ***a romhack base*** based off pret's [pokeemerald](https://github.com/pret/pokeemerald) decompilation project. ***It is NOT a playable romhack,*** but it has multiple features available to romhackers so that they can create their own games, so it's not meant to be played on its own. +![Gif that shows debugging functionality that is unique to pokeemerald-expansion such as rerolling Trainer Id, Cheat Start, PC from Debug Menu, Debug PC Fill, Pokemon Sprite Visualizer, Debug Warp to Map, and Battle Debug Menu](https://github.com/user-attachments/assets/cf9dfbee-4c6b-4bca-8e0a-07f116ef891c) ![Gif that shows overworld functionality that is unique to pokeemerald-expansion such as indoor running, BW2 style map popups, overworld followers, DNA Splicers, Gen 1 style fishing, OW Item descriptions, Quick Run from Battle, Use Last Ball, Wild Double Battles, and Catch from EXP](https://github.com/user-attachments/assets/383af243-0904-4d41-bced-721492fbc48e) ![Gif that shows off a number of modern Pokemon battle mechanics happening in the pokeemerald-expansion engine: 2 vs 1 battles, modern Pokemon, items, moves, abilities, fully customizable opponents and partners, Trainer Slides, and generational gimmicks](https://github.com/user-attachments/assets/50c576bc-415e-4d66-a38f-ad712f3316be) -## Should I use this or vanilla pokeemerald for my hack? -The main advantage of using vanilla pokeemerald as a base is being able to link with other official GBA Pokémon games for battles and trading, pokeemerald-expansion can battle and trade with itself out of the box. If you don't mind losing full vanilla compatiblitity, we recommend using pokeemerald-expansion. Otherwise, use pret's pokeemerald. You'll still receive documentation improvements from pret, as we regurlarly incorporate pret's documentation changes. + -## Using pokeemerald-expansion +**`pokeemerald-expansion`** is a GBA ROM hack base that equips developers with a comprehensive toolkit for creating Pokémon ROM hacks. **`pokeemerald-expansion`** is built on top of [pret's `pokeemerald`](https://github.com/pret/pokeemerald) decompilation project. **It is not a playable Pokémon game on its own.** + +# [Features](FEATURES.md) + +**`pokeemerald-expansion`** offers hundreds of features from various [core series Pokémon games](https://bulbapedia.bulbagarden.net/wiki/Core_series), along with popular quality-of-life enhancements designed to streamline development and improve the player experience. A full list of those featues can be found in [`FEATURES.md`](FEATURES.md). + +# [Credits](CREDITS.md) + + [![](https://img.shields.io/github/all-contributors/rh-hideout/pokeemerald-expansion/upcoming)](CREDITS.md) + +If you use **`pokeemerald-expansion`**, please credit **RHH (Rom Hacking Hideout)**. Optionally, include the version number for clarity. -If you use pokeemerald-expansion in your hack, please add RHH (Rom Hacking Hideout) to your credits list. Optionally, you can list the version used, so it can help players know what features to expect. -You can phrase it as the following: ``` Based off RHH's pokeemerald-expansion 1.11.2 https://github.com/rh-hideout/pokeemerald-expansion/ ``` -#### Important: DO NOT use GitHub's "Download Zip" option. Using this option will not download the commit history required to update your expansion version or merge other feature branches. Instead, please read [this guide](https://github.com/Pawkkie/Team-Aquas-Asset-Repo/wiki/The-Basics-of-GitHub) to learn how to fork the repository and clone locally from there. +Please consider [crediting all contributors](CREDITS.md) involved in the project! -Please follow the instructions in `INSTALL.md` to get pokeemerald-expansion set up on your machine. +# Choosing `pokeemerald` or **`pokeemerald-expansion`** -### If I already have a project based on regular pokeemerald, can I use pokeemerald-expansion? -Yes! Keep in mind that we keep up with pret's documentation of pokeemerald, which means that if your project a bit old, you might get merge conflicts that you need to solve manually. -- If you haven't set up a remote, run the command `git remote add RHH https://github.com/rh-hideout/pokeemerald-expansion`. -- Once you have your remote set up, run the command `git pull RHH master`. +- **`pokeemerald-expansion`** supports multiplayer functionality with other games built on **`pokeemerald-expansion`**. It is not compatible with official Pokémon games. +- If compatibility with official games is important, use [`pokeemerald`](https://github.com/pret/pokeemerald). Otherwise, we reccomend using **`pokeemerald-expansion`**. +- **`pokeemerald-expansion`** incorporates regular updates from `pokeemerald`, including bug fixes and documentation improvements. -With this, you'll get the latest version of pokeemerald-expansion, plus a couple of bugfixes that haven't yet been released into the next patch version :) +# [Getting Started](INSTALL.md) -## Documentation -[Please click here to visit our documentation page.](https://rh-hideout.github.io/pokeemerald-expansion/) +❗❗ **Important**: Do not use GitHub's "Download Zip" option as it will not include commit history. This is necessary if you want to update or merge other feature branches. -## **How do I update my version of pokeemerald-expansion?** -- If you haven't set up a remote, run the command `git remote add RHH https://github.com/rh-hideout/pokeemerald-expansion`. -- Check your current version. - - You can check in the debug menu's `Utilities -> Expansion Version` option. - - If the option is not available, you possibly have version 1.6.2 or older. In that case, please check the [changelogs](docs/CHANGELOG.md) to determine your version based on the features available on your repository. -- ***Important:*** If you are several versions behind, we recommend updating one minor version at a time, skipping directly to the latest patch version (eg, 1.5.3 -> 1.6.2 -> 1.7.4 and so on. Check the [online documentation site](https://rh-hideout.github.io/pokeemerald-expansion/CHANGELOG.html) to see the latest versions of each step.) -- Once you have your remote set up, run the command `git pull RHH expansion/X.Y.Z`, replacing X, Y and Z with the digits of the respective version you want to update to (eg, to update to 1.11.1, use `git pull RHH expansion/1.11.1`). - - ***Important:*** If you are several versions behind, we recommend updating one minor version at a time, skipping directly to the latest patch version (eg, 1.5.3 -> 1.6.2 -> 1.7.4 and so on) -- Alternatively, you can update to unreleased versions of the expansion. - - ***master (stable):*** It contains unreleased **bugfixes** that will come in the next patch version. To merge, use `git pull RHH master`. - - ***upcoming (unstable, with potential bugs):*** It contains unreleased **features** that will come in the next minor version. To merge, use `git pull RHH upcoming`. +If you're new to git and GitHub, [Team Aqua's Asset Repo](https://github.com/Pawkkie/Team-Aquas-Asset-Repo/) has a [guide on forking and cloning the repository](https://github.com/Pawkkie/Team-Aquas-Asset-Repo/wiki/The-Basics-of-GitHub). Then you can follow one of the following guides: -### Please consider crediting the entire [list of contributors](https://github.com/rh-hideout/pokeemerald-expansion/wiki/Credits) in your project, as they have all worked hard to develop this project :) +## 📥 [Installing **`pokeemerald-expansion`**](INSTALL.md) +## 🏗️ [Building **`pokeemerald-expansion`**](INSTALL.md#Building-pokeemerald-expansion) +## 🚚 [Migrating from **`pokeemerald`**](INSTALL.md#Migrating-from-pokeemerald) +## 🚀 [Updating **`pokeemerald-expansion`**](INSTALL.md#Updating-pokeemerald-expansion) -## Who maintains the project? -The project was originally started by DizzyEgg alongside other contributors. Now it is maintained by a team in the ROM Hacking Hideout's community called the "Expansion Senate". ROM Hacking Hideout (RHH for short) is a Discord-based ROM hacking community specialized in Pokémon romhacks. A lot of the discussion in regards of the development of the project happens there. +# [Documentation](https://rh-hideout.github.io/pokeemerald-expansion/) -[Click here to join the RHH Discord Server!](https://discord.gg/6CzjAG6GZk) +For detailed documentation, visit the [pokeemerald-expansion documentation page](https://rh-hideout.github.io/pokeemerald-expansion/). -## There's a bug in the project. How do I let you guys know? -Please submit any issues with the project [here](https://github.com/rh-hideout/pokeemerald-expansion/issues) and make sure that the issue wasn't reported by someone else by searching using the filters. You may also join the Discord server to try getting more in-depth support from the team and other members of the server. +# [Contributions](CONTRIBUTING.md) +If you are looking to [report a bug](CONTRIBUTING.md#Bug-Report), [open a pull request](CONTRIBUTING.md#Pull-Requests), or [request a feature](CONTRIBUTING.md#Feature-Request), our [`CONTRIBUTING.md`](CONTRIBUTING.md) has guides for each. -## Can I contribute even if I'm not a member of ROM Hacking Hideout? -Yes! Contributions are welcome via Pull Requests and they will be reviewed by maintainers in due time. -Also, *please follow the Pull Request template and feel free to discuss how the reviews are being handled. **Communication is key!*** Don't feel discouraged if we take a bit to review your PR, we'll get to it. +# [Community](https://discord.gg/6CzjAG6GZk) -## What features are included? -- ***IMPORTANT*❗❗ Read through these to learn what features you can toggle**: - - [Battle configurations](https://github.com/rh-hideout/pokeemerald-expansion/blob/master/include/config/battle.h) - - [Pokémon configurations](https://github.com/rh-hideout/pokeemerald-expansion/blob/master/include/config/pokemon.h) - - [Item configurations](https://github.com/rh-hideout/pokeemerald-expansion/blob/master/include/config/item.h) - - [Overworld configurations](https://github.com/rh-hideout/pokeemerald-expansion/blob/master/include/config/overworld.h) - - [Debug configurations](https://github.com/rh-hideout/pokeemerald-expansion/blob/master/include/config/debug.h) -- ***Upgraded battle engine.*** - - Gen5+ damage calculation. - - 2v2 Wild battles support. - - 1v2/2v1 battles support. - - Fairy Type (configurable). - - Physical/Special/Status Category (configurable). - - New moves and abilities up to Scarlet and Violet. - - Custom Contest data up to SwSh, newer moves are WIP. ([source](https://web.archive.org/web/20240910012333/https://pokemonurpg.com/info/contests/rse-move-list/)) - - Battle gimmick support: - - Mega Evolution - - Primal Reversion - - Ultra Burst - - Z-Moves - - Gen 8+ damaging moves are given power extrapolated from Gen 7. - - Gen 8+ status moves have no additional effects, like Healing Wish. - - Dynamax and Gigantamax - - Initial battle parameters - - Queueing stat boosts (aka, Totem Boosts) - - Setting Terrains. - - Mid-turn speed recalculation. - - Quick Poké Ball selection in Wild Battles - - Hold `R` to change selection with the D-Pad. - - Press `R` to use last selected Poké Ball. - - Run option shortcut - - Faster battle intro - Message and animation/cry happens at the same time. - - Faster HP drain. - - Battle Debug menu. - - Accessed by pressing `Select` on the "Fight/Bag/Pokémon/Run" menu. - - Option to use AI flags in wild Pokémon battles. - - FRLG/Gen4+ whiteout money calculation. - - Configurable experience settings - - Experience on catch. - - Splitting experience. - - Trainer experience. - - Scaled experience. - - Unevolved experience boost. - - Frostbite. - - Doesn't replace freezing unless a config is enabled, so you can mix and match. - - Critical capture. - - Removed badge boosts (configurable). - - Recalculating stats at the end of every battle. - - Level 100 Pokémon can earn EVs. - - Inverse battle support. - - TONS of other features listed [here](https://github.com/rh-hideout/pokeemerald-expansion/blob/master/include/config/battle.h). -- ***Full Trainer customization*** - - Nickname, EVs, IVs, moves, ability, ball, friendship, nature, gender, shininess. - - Custom tag battle support (teaming up an NPC in a double battle). - - Sliding trainer messages. - - Upgraded Trainer AI - - Considers newer move effects. - - New flag options to let you customize the intelligence of your trainers. - - Faster calculations. - - Specify Poké Balls by Trainer class. -- ***Pokémon Species from Generations 1-9.*** - - Simplified process to add new Pokémon. - - Option to disable unwanted families. - - Updated sprites to DS style. - - Updated stats, types, abilities and egg groups (configurable). - - Updated Hoenn's Regional Dex to match ORAS' (configurable). - - Updated National Dex incorporating the new species. - - Sprite and animation visualizer. - - Accesible by pressing `Select` on a Pokémon's Summary screen. - - Gen4+ evolution methods, with some changes: - - Mossy Rock, Icy Rock and Magnetic Field locations match ORAS'. - - Leaf, Ice and Thunder Stones may also be used. - - Inkay just needs level 30 to evolve. - - You can't physically have both the RTC and gyroscope, so we skip this requirement. - - Sylveon uses Gen8+'s evolution method (friendship + Fairy Move). - - Option to use hold evolution items directly like stones. - - Hidden Abilities. - - Available via Ability Patch. - - Compatible with Ghoul's DexNav branch. - - All gender differences. - - Custom female icons for female Hippopotas Hippowdon, Pikachu and Wobbufett - - 3 Perfect IVs on Legendaries, Mythicals and Ultra Beasts. -- ***Customizable form change tables. Full list of methods [here](https://github.com/rh-hideout/pokeemerald-expansion/blob/master/include/constants/form_change_types.h).*** - - Item holding (eg. Giratina/Arceus) - - Item using (eg. Oricorio) - - Time of day option for Shaymin - - Fainting - - Battle begin and end (eg. Xerneas) - - Move change option for Zacian/Zamazenta - - Battle end in terrains (eg. Burmy) - - Switched in battle (eg. Palafin) - - HP Threshold (eg. Darmanitan) - - Weather (eg. Castform) - - End of turn (eg. Morpeko) - - Time of day (eg. Shaymin) - - Fusions (eg. Kyurem) -- ***Breeding Improvements*** - - Incense Baby Pokémon now happen automatically (configurable). - - Level 1 eggs (configurable). - - Poké Ball inheriting (configurable). - - Egg Move Transfer, including Mirror Herb (configurable). - - Nature inheriting 100% of the time with Everstone (configurable) - - Gen6+ Ability inheriting (configurable). -- ***Items from newer Generations. Full list [here](https://github.com/rh-hideout/pokeemerald-expansion/blob/master/include/constants/items.h).*** - - ***Gen 6+ Exp. Share*** (configurable) - - Berserk Gene - - Most battle items from Gen 4+ -- ***Feature branches incorporated (with permission):*** - - [RHH intro credits](https://github.com/Xhyzi/pokeemerald/tree/rhh-intro-credits) by @Xhyzi. - - A small signature from all of us to show the collective effort in the project :) - - [Overworld debug](https://github.com/TheXaman/pokeemerald/tree/tx_debug_system) by @TheXaman - - May be disabled. - - Accesible by pressing `R + Start` in the overworld by default. - - **Additional features**: - - *Clear Boxes*: cleans every Pokémon from the Boxes. - - *Hatch an Egg*: lets you choose an Egg in your party and immediately hatch it. - - [HGSS Pokédex](https://github.com/TheXaman/pokeemerald/tree/tx_pokedexPlus_hgss) by @TheXaman - - May be disabled. - - **Additional features**: - - *Support for new evolution methods*. - - *Dark Mode*. - - [Nature Colors](https://github.com/DizzyEggg/pokeemerald/tree/nature_color) in summary screen by @DizzyEggg - - [Dynamic Multichoice](https://github.com/SBird1337/pokeemerald/tree/feature/dynmulti) by @SBird1337 - - [Saveblock Cleansing](https://github.com/ghoulslash/pokeemerald/tree/saveblock) by @ghoulslash - - [Followers & Expanded IDs](https://github.com/aarant/pokeemerald/tree/followers-expanded-id) by @aarant - - May be disabled. - - Includes Pokémon followers like in HGSS, including interactions. - - ***Expands the amount of possible object event IDs beyond 255.*** - - ***Includes an implementation of dynamic overworld palettes (DOWP).*** - - **Additional features**: - - *Pokémon overworld sprites up to Generation 8.* - - *Integration with our Pokémon Sprite Visualizer, allowing users to browse through the follower sprites alongside battle sprites.* -- ***Other features*** - - Pressing B while holding a Pokémon drops them like in modern games (configurable). - - Running indoors (configurable). - - Configurable overworld poison damage. - - Configurable flags for disabling Wild encounters and Trainer battles. - - Configurable flags for forcing or disabling Shinies. - - Reusable TM (configurable). - - B2W2+ Repel system that also supports LGPE's Lures - - Gen6+'s EV cap. - - All bugfixes from pret included. - - Fixed overworld snow effect. +[![](https://dcbadge.limes.pink/api/server/6CzjAG6GZk)](https://discord.gg/6CzjAG6GZk) + +Our community uses the [Rom Hacking Hideout (RHH) Discord server](https://discord.gg/6CzjAG6GZk) to communicate and organize. Most of our discussions take place there, and we welcome anybody to join us! -There are some mechanics, moves and abilities that are missing and being developed. Check [the project's milestones](https://github.com/rh-hideout/pokeemerald-expansion/milestones) and our [issues page](https://github.com/rh-hideout/pokeemerald-expansion/issues) to see which ones. From 75f6d85582eefeb4bbcac0e0e331f0bf3c784db1 Mon Sep 17 00:00:00 2001 From: kittenchilly Date: Sat, 17 May 2025 12:48:44 -0500 Subject: [PATCH 04/29] Improve a few Gen 9 Pokemon sprites (#6885) --- graphics/pokemon/frigibax/anim_front.png | Bin 919 -> 0 bytes graphics/pokemon/frigibax/back.png | Bin 475 -> 418 bytes graphics/pokemon/frigibax/front.png | Bin 0 -> 540 bytes graphics/pokemon/frigibax/normal.pal | 32 +++++++++--------- graphics/pokemon/frigibax/shiny.pal | 32 +++++++++--------- graphics/pokemon/great_tusk/anim_front.png | Bin 1930 -> 0 bytes graphics/pokemon/great_tusk/back.png | Bin 781 -> 890 bytes graphics/pokemon/great_tusk/front.png | Bin 0 -> 1087 bytes graphics/pokemon/great_tusk/normal.pal | 30 ++++++++-------- graphics/pokemon/great_tusk/shiny.pal | 30 ++++++++-------- graphics/pokemon/koraidon/back.png | Bin 1276 -> 1241 bytes graphics/pokemon/koraidon/front.png | Bin 1223 -> 1276 bytes graphics/pokemon/koraidon/normal.pal | 32 +++++++++--------- graphics/pokemon/koraidon/shiny.pal | 32 +++++++++--------- graphics/pokemon/miraidon/back.png | Bin 847 -> 1007 bytes graphics/pokemon/miraidon/front.png | Bin 1075 -> 1224 bytes graphics/pokemon/miraidon/normal.pal | 32 +++++++++--------- graphics/pokemon/miraidon/shiny.pal | 32 +++++++++--------- graphics/pokemon/ogerpon/back.png | Bin 515 -> 699 bytes graphics/pokemon/ogerpon/cornerstone/back.png | Bin 540 -> 682 bytes .../pokemon/ogerpon/cornerstone/front.png | Bin 947 -> 915 bytes .../pokemon/ogerpon/cornerstone/normal.pal | 30 ++++++++-------- .../pokemon/ogerpon/cornerstone/shiny.pal | 30 ++++++++-------- graphics/pokemon/ogerpon/front.png | Bin 1007 -> 958 bytes graphics/pokemon/ogerpon/hearthflame/back.png | Bin 534 -> 746 bytes .../pokemon/ogerpon/hearthflame/front.png | Bin 947 -> 904 bytes .../pokemon/ogerpon/hearthflame/normal.pal | 28 +++++++-------- .../pokemon/ogerpon/hearthflame/shiny.pal | 28 +++++++-------- graphics/pokemon/ogerpon/normal.pal | 30 ++++++++-------- graphics/pokemon/ogerpon/shiny.pal | 30 ++++++++-------- graphics/pokemon/ogerpon/wellspring/back.png | Bin 534 -> 728 bytes graphics/pokemon/ogerpon/wellspring/front.png | Bin 909 -> 862 bytes .../pokemon/ogerpon/wellspring/normal.pal | 30 ++++++++-------- graphics/pokemon/ogerpon/wellspring/shiny.pal | 30 ++++++++-------- src/data/graphics/pokemon.h | 4 +-- .../pokemon/species_info/gen_9_families.h | 27 ++++++++------- 36 files changed, 260 insertions(+), 259 deletions(-) delete mode 100644 graphics/pokemon/frigibax/anim_front.png create mode 100644 graphics/pokemon/frigibax/front.png delete mode 100644 graphics/pokemon/great_tusk/anim_front.png create mode 100644 graphics/pokemon/great_tusk/front.png diff --git a/graphics/pokemon/frigibax/anim_front.png b/graphics/pokemon/frigibax/anim_front.png deleted file mode 100644 index cfdaf7de70cc062c0a609aec2bc85f01d6d5d0b0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 919 zcmV;I18Dq-P)F>ljA6o4I187$GeTvJ!7MDJ=*15*|Mfin*&DlCyu_ae1>7Xq6dg>pg_ zRlDUMRPM%v>V-;-gtp zs}(?F!(%P&CTguzwGv3(K(e;c0sv=^K6oVOyJw4C#C&l4q&q=YzE;1($lgmFh8Ury@j;IDALFYz(WLV zBOE|K#T4)D9wq(M=J22_&wB7l(?D<$rA2W9Pe+`Qk9Bax4~wEuE2EqShM5VG$ioq1 z`AVwL7zC(J2bm}3WdHBZRgZr6@|-j5K+Kt= zQ}sBr4+`eVv#PVMo|$-l;?H9qf2ooE185`*_zqY3A5zswbVUM~3;-4WM}6Y}u;8lj z2*hLnaQYt)a-CEFi^3k|%xQP8DXiYNw!tyz)b0tZ_uU=WW%w@`s<#>A1VJA`{ywTz z@HhJcXdl$`31FN+hyz4dgo*?d-l1ma50K3&k*_W?3p_SE1Q6#)NWE_LztsT6pMWfU?dLqpCFZ_&)CZowp3B!V{D|6s&`aZ;@kG|GKAVw!Ps zj`EoZ$K&BhGI~7lC9at9@LD>?0~D@etLET3cL3JhxVPYAkI{2hU4}Qe0I$*E_MW+! t8l|h%)6H_7R{~y-nXLM#Gjkmf@f#r25z+rM-|PSY002ovPDHLkV1l#}wSoWu diff --git a/graphics/pokemon/frigibax/back.png b/graphics/pokemon/frigibax/back.png index d48c105e34e5da84dbb4303aa481fad587ad69ef..41b741e46d64a70e1ea541022192ee05adfb5b03 100644 GIT binary patch delta 372 zcmV-)0gL|I1EK?vH-FQmJy~j(Vrayg0QSk({MRR3iIb6{t)IBP5D*Zqy3f|%=)>sg z|Ns9!XN4|5T<(@0u>b%8AW1|)R9J=WmD`HLFbqVamyu11_5XjniZ6-D#g!dcD0m5Kt?=mNv95j_Rn8Q zZtIci^axy@k9U`E`hn4qfx-_9_MlU6<`0p^zYxGEAiNc{c*7FfyrDu71d%)5BG4(t zLkLoXRsjM0k%(&r;G5pfE z|Fh=*kK1;bly&wn>Hq)%SxH1eR9J=W)!UAPFbo7xY_ec(|Npx?vAKqXCRAE!rHs__ z(m8SxpiNU#Q&aPoAtL4%J+>B6+dAi{lwfLo%hy{KT$#XDvwyk)MFLyx(k~H${sv?V z)^9oN7XrZoaG2yIukW;Gm%T3nAs2AIrk8DelCFc0wFcfg?iBR9j`K!fcMmBbc>qNK z`9WPULIw~Uzys2YF!2XLEK$IR`~G1cMNi5n6vzY23Q)REdv1UV*n^=@38>@wXVRAk zi<^)$;05%DA%6h~Um}y`=tB_ShY$l2{R@E6P{${-i$VVYrZb=eyaG-GAQ>xQ86SYy zeGqQJXfa?rStQjDg$+QCJ43%x{XmETE0eyDC8z)REQ)*y>;zW(uHUQ=v;SqZo&(%F z#}Rx3ti<>UNcUA30q8cp0wDOlzHpPmBS13R1}iYnb0;Qne$VND+e`rFWm#fEP0hc} YFJTuF-Wwe}NdN!<07*qoM6N<$f;Ec5d;kCd diff --git a/graphics/pokemon/frigibax/front.png b/graphics/pokemon/frigibax/front.png new file mode 100644 index 0000000000000000000000000000000000000000..a4e3378b4812f845ababd4e51e0cd4e5ca0db946 GIT binary patch literal 540 zcmV+%0^|LOP)Px#Fi=cXMVZs3K0;TSc>~0n0OP?d{MRRHbBd9ot){QN5D*Zqy3f|%=)>sg|Ns9! zXN4|5T;m&H0{{R4nn^@KR9J=WmCKI9APhxgk~lV`|Npz=YePF-jA~M8R`CLQg6SZa}5p!#D!9dc4nT5r8xnLma{6zr)H`=24I%^=__o480 zQb4@!YTc{GLS+V>O#r+N0{p)6q`*4R1&!8+uKNYS8hoQ&RUzPn!Hx}mBOvcK`56$V zAy}h?j6fs?MlLeCwu*WB6g~^c5+|@~3kg-*zWQZwJ|U3tXNt2|YeiM@D`v7n~LbKKaaTD%+;W0lsOXnO&gO5nx2;5bGvIh6ovfAZo67Zkuy%v@&^9G(JkDavY1 zgdwfKrE-Inj=_#9(n&a>Zcr1%IhZLz*^fRHm~0p1D}cd6k-!$ZnI2Mn1DtUI&(t3? zF6L41#-BUU-`nc%$x`fKV@!qm%V?5pMK-^baP?JXbBsb}TSe0-pnc~^Wx e-*LwsAL9qpxfGeyC2Ya~0000eM^e+|FLXj@tewi+Md$!rriY;Qc9|r{j?LUsAYd+WR=_}0V`K1 z8`+ex9LT1uqT^Vrjyh)t<$d(^ESF4)sQBgAz(q}TO4N^N&{!9mrPgTR4}*KHtWnNLnnU$`#j zftgTmX33mBPinAv#@NLRis22ZXI}w*cKKY?z&c|Q2nkGVZ#V-ojIm3skY@Fn7%v6U z9D3X?%^XAld#*jyz6^yux|A*&aB>CsBphf}?JHQrkcB6~F48xuQX(HC)soxbqIN*4=!9nCpQ$R_J zpgKMtL@}Z!=lspDcv%&udIG5K<24rr*g=%68OQOv;=7^DQv&MRR-P0vwYT#ZRKiby z_CF*L0@%{GzUXZ9Y`Rm~j3PDw5dY$b2Y-`Ogg$_^&KK@h&!dLH&!#{;dGPnV0N6lL zDr=peyOmzo<~;6)Ne}@3Nm0wXSPSgMs@v&$l*jQ;ST6~1E^3J&8A^%5QWx9(O&mWJ zdBXmTkH`Q17i%1~` z;fo+`>It`e2*8j3w4PJ-WZR}|fiGt8um_F>Q4>H#H*&_biKKC8v6fvM9zd)M;B5u_ z#W1f9w!5Xn1w4$$T+Ii;A9KWji_#U)1AtR+5I&}wRSPOc4nOAg(XMt(m&*R(l{M=j zu?%xahNWx3?wC|`4V$hE`aayR?Qq+`nk40r|6E2njheCSqv4P`kqAyvv4MX1+Ks%930D-SdVmATGy1vqO_-K{KlM!jW zMizb^Zi#SFgA$)+v$gg&?UCB%ycPJbQ7GGnArsQ*sQK-YS_>j^H?!$MzKq=_f(XP}fJ~`s+1OJtWj~aFxZ#NFTBZg< zD509q89IPV@$WWmQ9PcW%Ay!$I6%I&Z~(yP2M6@(PMRjL6Gu&yFc1^^d^DnSmsWJ| ze0#6#prS1V9Rxz74~|MVF5T_D)epJVM_f+WoNzvx2U4oFI$E9VJ>u($bfe%njiK;=z%)r4l6YO!hD z|IX6qrFX?~j0PV^zO`M*`PK)p%zJM57(Trp3!7D!8E?sZ_%Q*h9 zPq+a04Wk+VFyW*2wK%Q>r~Ie$55`vsXqXd`=X?w;&ij|~zBvWWM*v3Kb6H?7odxF~ zN@NO(O10R=c%ds%$(g8cVmDyq3g@U1p$1IyFt1! zB$Z_jz6tO;k!AUwER(0-ecQTlTF5%#7Kc+(gfOg}IcE;JON(2Q`|phZ07@oOg|z41 QJOBUy07*qoM6N<$f|FRG$N&HU diff --git a/graphics/pokemon/great_tusk/back.png b/graphics/pokemon/great_tusk/back.png index 0b7c0f6620e380c41170d104d5efaaccc06ae85b..e89f81b6d76c499197e1e826717111be5a3f39ea 100644 GIT binary patch delta 867 zcmV-p1DyPg2Kok&B!2;OQb$4nuFf3k0000mP)t-snbV~(84_(98)a(u zOv<40|NrgiN{Ge5JyYq&i5{}SJ!r+*wy*t<7S(>C&uSkNTz?<=SNe|uK@IxP060IX z{SA;xDJd=VshqII;w(Swwu?U2h4-~t-*%nTE*|vPwHy7si>H-aLYj^lJ>_!#10j{W zO>m&FSSbs7*EayC)He}PNTT0K3fNq^0qAl;ow;q|*Nf80wC}`%SeI$5^|$jq?AkEA z@2PMm%2^2M4u2r=CAc85)*mV$NcSezLC!&3xXXe9K=4LQ$pM*@Bv8ch2LKlZh`x2Y zd?J$f$Z$P^0LV=e08kqyg(ZPPU_`HD90Bs4S^=bDWg0c!Ulj1dm0*Cfa6tjsO8qC= z!oG9NhRJp#st4r)kdqk+z+ti%rpJp`^ik@#OCG{KKz~mT0cU|A!;ki>hWs%?;0^#` z22@>^gh|I{^_uD>C>6BBmB1?i2o#&C3P>m9956~h00QZxaNFj=7>=`NFz{w2ILin? zw=&1J37^#|YrxzpAorB@4Dz}$GMow=HI3XIXstW}F7ntMvao$!^nUGKdUmo9 zyEcw!=zllAG=>!5d83urhP8}G8$BZgPYupGl`uF!sCOiKyVaR7jkIftoLA&VaJ-bv%|isidOHvL)E?1R^RWp! zD4PpMZ44o}JoOs-WjQuW`wkZlOsDQ&=$jsM^mlt~P9(y-JeXgKM zC4_klmw?cw=jcH=f~P48OF;9%02+kHrI5jeu?XRffEb?7)((Ro!ypf$0b)@|4A1BD zAzXmK9gD}TAzY17ZbF09^Z@X9Xdb!e#x^1V6OxXUg4lzq$(MKNH4#?e4w2y?6_Sk< trl^8y`sx@vL%xJD<`4gLf9-1*`vcG_McWgd1^@s6002ovPDHLkV1llhlA!XpFpTSA+yfv*ABP(!4z0E5YzG1`kRI-tEvAAp79XTV}n zo&bP2U|IUQ_5~X~%6XASLEtn2EQ^1@h^Or99)&PY_aEG*@0W!%W7U5qWch2CnfF*o z^Ab;1%WzN79)G!93rFCEAfG^tzdsO`-dFizeeNB3`%FN9a6pev-WJeTo>)ILnfnJM zKkz347r-G)VOR6~#|hhP7$e*_QZh?OvPo?tZovuo^5BywPq8JTUrW%;M3PGgd~Dr* z5_yO)HqkF7q;BShft-6q#vOv5{IP^FI&JsHtede*w0|KXg+BXu1d!xK%xfbz~Qn0Fl=aUO;R|okdoH5ZFVa@4XZtDwUOC z`F^B%qRMe>EbkeZ3!4-h^apgI^s nA0CeOp*Jz6Dc@zL!#9S1kz+Ss5hMAx00000NkvXXu0mjf2is&3 diff --git a/graphics/pokemon/great_tusk/front.png b/graphics/pokemon/great_tusk/front.png new file mode 100644 index 0000000000000000000000000000000000000000..26c6b5cff70a7059b2a73a3f2703d7fc6f70828a GIT binary patch literal 1087 zcmV-F1i<@=P)Px#Fi=cXMVZs3DIh*=8yj#KGD0_Fv@R~V6G?$rMdVFw`S3$_f1O-eqqwM^5D*Zl zz}W8b+BUI0LjV8+y-7qtR9JYjT}w)WX7^D+rv zzFz+>#NsdHAB+D>DDsbt2ST#=1O3<$Qd%vZ5LG{pJs{<^#x0@o-<2_~P23O~|I!-h z^ml}=0F6GczazBz@t8nvDESNF%Lo*GawGZ1LOTQpK+dZAMEFtx0-)c${01NrLT5lj zPj~>}FKTN*<6B>3q&o{6fEG4=FaRu(v5)8_U@SGXS!kZaE4%^F&jCt7^Q($010vibcEK-77oY+ zSZ*gkC3GsgqYM-==MB&?k`+f^s&Yb5{PXiOO^fb;X{(Ym3IMVl;h{SH{1{+a76W7h zAjSeAK^-uT!!Xcm73&Nc+Pc01k^>y#1hs{hb?~r^bw(^6XxagE+QN6>9smpT+{m}s zQqWHCO{O|fXZ*<2!j38S)k@sDKknkC-+alqWrLR z**vt)a{fm8d8P(Rak=d*Er55mnTndrQcYlDJhLn^4EUlA{G`K_Dp%@2T`fOio$u+5c8b87Ty zz67B7`#4LhUm8L+U{iBG5MHXKna(JncRo!V(KbPab{Yoij{sx%IuQ12oeNtw1f7OE zK;>{Q%3xEF4MET{i5CK>hqpTbSA%JnxrABUR|ZUc2Z+q4kZpO+wzjFi0Ptw1{DQEp zaOO~aod7ryU!4ADf;5DsN$U)d(xM{-7A0I5IskAeh7d{@O(DWt=fJN=z&pajZjp=- zpa=JjllG#t9U+7m>7hvyX#yGvjuGyT`rZP2d0Rv7Wg7siD>A@&9|?yXgiaAL5KaU- zjX2d)B!rKSCR#vB3yrcbF8~)TZtzSs2otnQ$|V4Y19#dOD#2D&N<32+gYZGF^0>=jb! z5dH9q+5=YM((e*$0Cnzb^Z`HWeM36jY3HBT_8M)%L{I5HAgTxnn*$qc<@KabS;}VA zx+^;;KaU2u876LsO;a2*b<=qSl)4-Wt9D%Tde;Aj`X7FsVGQOem{$M*002ovPDHLk FV1h#&-#!2U literal 0 HcmV?d00001 diff --git a/graphics/pokemon/great_tusk/normal.pal b/graphics/pokemon/great_tusk/normal.pal index b5c23a1288..b91f7def1e 100644 --- a/graphics/pokemon/great_tusk/normal.pal +++ b/graphics/pokemon/great_tusk/normal.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -0 160 232 -112 24 48 -144 8 56 -232 48 120 -104 24 40 +153 211 165 +41 32 62 +109 27 27 +112 24 50 +66 55 99 +180 46 46 +184 19 73 +129 87 69 +228 77 109 +249 240 67 +118 127 157 +92 89 163 +184 168 158 16 16 16 -40 32 64 -96 88 160 -56 48 88 -120 80 64 -184 168 160 -240 240 216 -128 136 160 -168 192 216 -248 240 88 -8 8 8 +169 192 216 +238 241 218 diff --git a/graphics/pokemon/great_tusk/shiny.pal b/graphics/pokemon/great_tusk/shiny.pal index c7449781d5..7c0d005a40 100644 --- a/graphics/pokemon/great_tusk/shiny.pal +++ b/graphics/pokemon/great_tusk/shiny.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -0 160 232 -160 104 16 -216 168 88 -248 240 152 -104 24 40 -16 16 16 -56 24 24 +153 211 165 +48 25 18 +109 27 27 +101 107 8 +85 53 42 +180 46 46 +166 175 26 +129 87 69 +229 240 58 +249 240 67 +111 152 126 128 80 64 -96 64 48 -120 80 64 -184 168 160 -240 240 216 -72 176 144 -176 240 200 -248 240 88 -8 8 8 +184 168 158 +16 16 16 +167 205 188 +238 241 218 diff --git a/graphics/pokemon/koraidon/back.png b/graphics/pokemon/koraidon/back.png index fd4fb143b82256d41b6791cf8082f424788c5a3a..35aa59572ce8e652f1f71d3354247801a67f24cc 100644 GIT binary patch delta 1221 zcmV;$1Umct3E2sdB!2;OQb$4nuFf3k0000mP)t-sn9!gc9V##}L0}#xQBz+3ec#}Rx2q5k66faPc|%%j000D6Nkltdri41{B> zHFdz^{onRzM)D;o$)4p0ZCd8@Xe66F9{+NQ;HLgT<)5VwZGRHC$Nc$CB+{SJOQjS2JPQ`2rA#n>{P-JWt_A5YKjsO8YAS51ZMB znopM+!d52kl*{Y6J`qB%YKt|OH&hQf07m!<@LE-AQ@UJn9i5yM7GwcAJrF^F zd<3|@d+}bVo`1j~2mE@{!WTf(g@x4x>jH40HK;=lRerwFH|QCISI_A=54T`R3d=Z- zPXG~55ApfnvHD|J0KkAB0HXlRPy>w_g5UrU^>Dyl2!a4LkNn}}l>h+r$MY^l>K|Hj z_5k32co=|7p}z&>oS8sf^r_E6ub~6-Z-A)%nf_TUbAQm1nr|&geNQO#_kj8&LS_J3 z_C)Iv7OVxf&huHH`5j<0K*CelLao@b9l#DY>}cUrl>i-LBu{|-F9N7EX@Egs6c_?~ z%%1B2zdbWdTYgWUAbLU2x=%v06XiS%kO^o6uMrc>#Mm(TLQWL<|ssFV`ezoeJY#qA?L16zx1FMq!%rW)V*VY~& z_11zN1l*B={YYHh;%66aJ_6tbGAaWQ=u>5Qey0T>T%X?oxz;Gk_5cGgUG?z%9)y-m zpS@Pjhk6e*4+OV!h1eGl|4y(Nla-nWAbMcQcYg%+_B*G?!}EK=9gR!@s1txDC=fX& z0Hu_70u7MBit7OM2&?ivBBGIorv|a6QaYgR`-XPqp?~;P`o%5S1BIwK!tagxT{khi z6R3$S^yw{;Ed!>HkRM#0F&V}Py;XsZh%)H5*S4%fX{Lt zegKSb8|sx9Vd{h61wa-00HBC@bc5k8^ndXJ=n*b}IsmTU?3##GPl85*(?CusIl$!- zUmUy=e~+&Eoqn_HQD<5TEn}EdJMR z6DN>=@!UQGq_1CJ_3Z`liJ+7ZeR(qgLI>OvbjW$omGWu;ujC+X_a0Qod6Ip@aDVUE zRZ6^(Q|MvhHv{qj;PhRtKv)QE0B#Cd0aF~OM=Gt^PKJ$bACymkX<#|Ma1!8aO4&yp zZ-lvZwEJEU(9&2#*_#Z4{<5$DioSHx--mV}maBEZ`$%d(l^u{?4&WFj``6_J{XNog z4v!4fYj{3ah8F*tx7}?i&549OEIt5%qjn-3(6(~7sRCd|(sKTmx*$r61NDAaYFY?3 jf`d>e!3#43?|}aRX3A)8;z9<300000NkvXXu0mjf_R=o< delta 1256 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 SW^4xl0000J@gX|K z5aTZ?LKJ+$M6}`KeTooX1d>t$URA|Z+#fTcaeJ;vzN)vYZm24Vps` z{I(cdcZyZTM0grQIKvwOumOQ;wZ+t0S5TB}BE%#>*(n|j#EbMF{XrWW!1z>%f(YP* zD{T2b;8X;d-aGK!I4U*37}bTVO)tZM00331KYrk|)nF1n34;Dj0P&_?A;T$90-I@< zKUekJ*nb%ehUW8(p|_kt04x3S-b3yIyCNJNS~ow4MhPVs-5B&Q{7%5coFN501SDYu zn-mDB&nIOgMxwC&$Oqn{5L$~ZqJ2m=C9n;!(d45a>?sa>>nGkB7$ZKN0*nDGjLmNFkPC-p!Jt{ECby< zXiM))>o#be06|#35maAAqYDWH3phY9Zv^PQz5X1o=~_8{uw*e0u@FLRVSxaYAjJuo z9e=2hV-e7fW}yY0OUW9c#CM#RYU|qYXD(n0XziS5m7Ro$E-avPzpoW|xr2E4Br@pB*_ z{x@O-c2v(JII3@OGB17rCNkXoq)-c=Vqtc*(S)KaRWKPkDD1oO2g9x&5#XzO5q}^M z2HXf1PXZaZ);j~{;omXvZKP{81}<>k)w?l>&GWW_z1m|5+@5`#GzOmdIDi2gm}LII zosIeowowcMAq7v{hPEf_I|0qxi}I%!ff(O_zuoYH^UbF3MNL}?R*tRO<2-u9PYJj^ zecKZ$rP|BM{uWkc;%dLxl%_*=3M^xi7QQ`QF&wf|l@)-I^e+VNviJ1tmOni}Ijey` RJmvrZ002ovPDHLkV1j%UAYuRj diff --git a/graphics/pokemon/koraidon/normal.pal b/graphics/pokemon/koraidon/normal.pal index 151d848ab8..ad38b622a3 100644 --- a/graphics/pokemon/koraidon/normal.pal +++ b/graphics/pokemon/koraidon/normal.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -153 210 164 -51 55 62 -103 96 105 -237 235 230 -255 118 155 -6 6 6 -255 73 153 -168 150 153 -159 65 193 -18 26 80 -36 49 136 -0 97 173 -119 32 32 -255 70 57 -185 57 56 -253 214 0 +152 208 160 +95 46 56 +48 49 65 +14 28 103 +81 83 94 +255 127 39 +176 57 72 +250 80 71 +255 242 0 +24 48 177 +57 99 240 +166 91 227 +243 75 239 +186 183 171 +16 16 18 +231 230 226 diff --git a/graphics/pokemon/koraidon/shiny.pal b/graphics/pokemon/koraidon/shiny.pal index 2d198cf721..613608d4e3 100644 --- a/graphics/pokemon/koraidon/shiny.pal +++ b/graphics/pokemon/koraidon/shiny.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -153 210 164 -51 55 62 -103 96 105 -237 235 230 -168 150 153 -6 6 6 -255 191 0 -168 150 153 -159 65 193 -18 26 80 -172 24 67 -255 11 119 -33 34 50 -82 83 113 -67 68 90 -253 214 0 +152 208 160 +28 29 42 +48 49 65 +96 30 38 +81 83 94 +255 127 39 +64 59 74 +98 98 123 +255 242 0 +172 49 49 +213 74 82 +226 127 103 +234 198 4 +186 183 171 +16 16 18 +231 230 226 diff --git a/graphics/pokemon/miraidon/back.png b/graphics/pokemon/miraidon/back.png index 3d4b2d703a479d7e42204548b11c46f5e1beb9bd..0d2fbf58693d4703aadc6d8d839fc1f69d7cc892 100644 GIT binary patch delta 985 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 VN@DVE@T~v<002ovPDHLkV1jwiACLe5 delta 501 zcmVvJ-lYHk|6-&VQnX^E%@~VfIse{4-ke%|ds<@v00E9kL_t(|obA%RYQr!P2XMKA zy(TdfIv5f|=#UOIf^K~YgZ8wcB4lcp%D8xq1=;%w20uVOXn*UREs)Kx&}ZmL@n(tz2xS#KTmW9xzF7-#{PKWzf#0O#YgBL=4gq(YL9QOe-Rlx9ifsdR6GHg9C>74jR zen2+X1B56cvpn}O9vLIOcqX?jvH>{DZqtC(O|lRf!`RL>z{KMboiBtC%zM-Uw89TD zg}xAP`4MThFn{s-L-j?L9}V3WlovomPmV5R9hV@BAVdd}0tglXV6W}I#ls2&F=LF! z9gvn80aw)?5dbJgWLyj4G)-9xv@$F%!AT4OCA5GQKrT8AlKLx}TUtp8c}59jM+bI2pvu@5eN(Ivlt3_1CUk-Nql~>*z*Jy0arf?Z0pQZIWfLS^tUTA9 reV%TOta^aVfLIA`6j1%ffPYZGU^9f6(9)#r00000NkvXXu0mjf!~50Z diff --git a/graphics/pokemon/ogerpon/cornerstone/back.png b/graphics/pokemon/ogerpon/cornerstone/back.png index ffface9d68eb79b66fe465e3f7ec940a6be32543..a81975d346421c67f3283346a762aeed6532b601 100644 GIT binary patch delta 670 zcmV;P0%84}1gZs)7=H)@0001;w}I>c0004VQb$4nuFf3k0000mP)t-sn9!gd9UUwy zDL`;GOH52zU}}wGJ6o$UBC$-O%^m;RMgW$u0Mq%Dn3oU`5dHoAh)oxQ0006gNklQwD!zT3)oICcWrwtxTnPEoGkKXot>EFgyC4(u4<3=lnlQcxpkJUTm-}gpesxOz8Eb4)!DEBG;vgiK@MX6V%#1Y zAw6W2WD8OOsy}l6@qCi2V5*+y4!{a{UIWl3fOeOm0G@Oiu#xFt39vVe+-PJ0iSTd$ zMnPSva*_)m5gsmJRL}r<2?`*Ue=QA%bNa6R*B2kv4=M#j+h3OJdjJ3c07*qoM6N<$ Ef*O_&7ytkO delta 527 zcmV+q0`UE+1)Kzs7=Hu<00013M{Ml?001yhOjJeg=Cm;}F_fH?5D*YSb1_=1Fn;0F<=<-a-HW|D??ri()w~8){qt00E~-L_t(|obA#-OT$1I2JnLj zg=|?fUZF##wx`h1A#KG$m)<83E|95UAzh?`(A?&zqm5AEmVb^Seg!wbg0qW*Zs*8m;kbqp#C+6 zP73^81F#c7*w%Xn?4g{SaFc<^VT?hi2CQ^P1l5!)A_0;LA8LVPSr#jS(hd_!5Q{dT zgch&_$b+^6JAaGfDNQ>CvO)tkIk0uWv~nOSY8PQ{tbeEth+F`1lhqw5kckfT8bG$A zo8*RkO5RHj;);tVAa=-#UKK!uikI0V{Q{7c$o)ha@FB?n7%0$PoV|SvQa~6#a+6zswL0%@fTtB^Sh R%>V!Z00>D%PDHLkV1lFl;^6=Q diff --git a/graphics/pokemon/ogerpon/cornerstone/front.png b/graphics/pokemon/ogerpon/cornerstone/front.png index 9b7f2792387428bc1e2c71509de805da7ee5df96..7e1286799295204709889cfb5cb82168ddc3cf16 100644 GIT binary patch delta 905 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 LNkvXXu0mjf6u`8v diff --git a/graphics/pokemon/ogerpon/hearthflame/normal.pal b/graphics/pokemon/ogerpon/hearthflame/normal.pal index 2ed9b8c050..a7a922f08b 100644 --- a/graphics/pokemon/ogerpon/hearthflame/normal.pal +++ b/graphics/pokemon/ogerpon/hearthflame/normal.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -238 230 180 -74 74 74 -213 156 24 -255 222 65 -65 115 49 -90 172 49 -16 16 16 +152 208 160 41 41 41 -238 57 41 -156 16 16 -82 8 8 +87 15 15 +66 115 49 +74 74 74 +132 24 24 +206 57 49 +141 98 59 +90 173 49 +232 157 2 +198 156 41 +247 222 82 +0 211 249 +16 16 16 255 255 255 -238 156 0 -123 106 49 -0 213 255 -139 98 57 +0 0 0 diff --git a/graphics/pokemon/ogerpon/hearthflame/shiny.pal b/graphics/pokemon/ogerpon/hearthflame/shiny.pal index 81f60abe80..4724e3d7df 100644 --- a/graphics/pokemon/ogerpon/hearthflame/shiny.pal +++ b/graphics/pokemon/ogerpon/hearthflame/shiny.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -238 230 180 -74 74 74 -213 156 24 -255 222 65 -65 115 49 -90 172 49 -16 16 16 +152 208 160 41 41 41 -238 57 41 -156 16 16 -82 8 8 +87 15 15 +66 115 49 +74 74 74 +132 24 24 +206 57 49 +141 98 59 +90 173 49 +162 205 29 +198 156 41 +247 222 82 +0 211 249 +16 16 16 255 255 255 -164 205 24 -123 106 49 -0 213 255 -139 98 57 +0 0 0 diff --git a/graphics/pokemon/ogerpon/normal.pal b/graphics/pokemon/ogerpon/normal.pal index f578e22342..943a658de4 100644 --- a/graphics/pokemon/ogerpon/normal.pal +++ b/graphics/pokemon/ogerpon/normal.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -238 230 180 -41 41 41 -65 115 49 -74 74 74 -8 164 156 -90 172 49 +152 208 160 +44 43 41 +64 112 54 +15 106 67 +75 76 76 +141 98 59 +97 167 27 +91 171 49 +84 182 101 +232 157 2 +219 156 94 +255 218 70 +9 164 156 16 16 16 -8 106 65 -180 222 164 -255 255 255 -98 164 24 -82 180 98 -238 156 0 -139 98 57 -255 222 65 -222 156 90 +178 216 161 +253 253 253 diff --git a/graphics/pokemon/ogerpon/shiny.pal b/graphics/pokemon/ogerpon/shiny.pal index 02b6d9c5ae..8fb51b7d1d 100644 --- a/graphics/pokemon/ogerpon/shiny.pal +++ b/graphics/pokemon/ogerpon/shiny.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -238 230 180 -41 41 41 -65 115 49 -74 74 74 -8 164 156 -90 172 49 +152 208 160 +44 43 41 +64 112 54 +15 106 67 +75 76 76 +141 98 59 +97 167 27 +91 171 49 +84 182 101 +162 205 29 +219 156 94 +255 218 70 +9 164 156 16 16 16 -8 106 65 -180 222 164 -255 255 255 -98 164 24 -82 180 98 -164 205 24 -139 98 57 -255 222 65 -222 156 90 +178 216 161 +253 253 253 diff --git a/graphics/pokemon/ogerpon/wellspring/back.png b/graphics/pokemon/ogerpon/wellspring/back.png index d90a8afe3e1b8b657db69502f6348776e129a214..b9346bfc654471460a8881e8439e710112f92e80 100644 GIT binary patch delta 716 zcmV;-0yF)V1lR?T7=H)@0001;w}I>c0004VQb$4nuFf3k0000mP)t-sn9!gsD=9#5 zHcL!Qjbb}nt1+U@9sk-!3_*bpUbO>(0wz@f}UX*NPp%Kz)jFB#9<(r8KUIMH0pI{`!3MxsX(W&qOu!(F2`K=xU;r=! zs8|9Ofp5nJK$jYTb<6jRLuLl`7@_DpVH`wy^@r_3Ydc2zZD^~C0h<54=xRt8X2 z&ooW|G{EEWm==6Mdne#bP(Gj4!DXCD2apLO!9_-dYeRbo7Jvu}ux<3W*xMoSk2@$p y2u}+jEpWit1eFk;Pqr19iW5Hhx9Y!swY~vQ_Fah-DP0Tz0000WlPuCx7J!FJNzQ z`F;F;e;jDq|GDntdCT6p&-uPjm>f=wj;vexyOw}s5jT!KTx#Z)cSSrojvX&mgNJSb zz_|}$MIMJ}hXnQ>R)~E7VH@aV;Mg2i@S_l2!si4!U=&3VvmYaXKRS2R^%dYPV0xVI zoDmCX2hbyLO@9U>#u$Ya5TH$>O-5kO*eeRmO*DH`a~9xWOGFNsi#>(8on-|GT)xvV zkmP_-ccW?axhcNHyabDkQYx|*NQ;hzP^THO0FXxn0tH!`rnCVX9fpwLEc$>FD4;oz zi}r)0dW!m%Mp6J7fq;1h5)2q=1t6kz5ym`S^Z}RyfPb63>?nYoVBpvR%8o-m*X6(D zy;R^F@!18SLq;4gfgq%QnMXFR0U1fG6DdI;SP8VL0*BSZ&-b(djIyGk4b&T@^rZy4 z0+W?>vfgt5A1xi%K_b{Bw5;Lp`Kytq3XmO8E5U~XYF-Ptg7XJ&k&ItQlUySJ0000< LMNUMnLIPlds$=9I diff --git a/graphics/pokemon/ogerpon/wellspring/front.png b/graphics/pokemon/ogerpon/wellspring/front.png index 556f9f268872ac9c0ed7b15dbf7ca6ad3c9ba59b..4a7b6cefe098669f87948606fe2c8866a72d4a05 100644 GIT binary patch delta 851 zcmV-Z1FZaw2i^vd7=H)@0001;w}I>c0004VQb$4nuFf3k0000mP)t-sn9!gsD=9#5 zHcL!Qjbb}nt1;-E0{_}Z3_*bpUbO>(A_8 ze+dAI6TR!A0Az`Z@TPYzbN~QiE@22xAt_x59RP^CKId2n$gh8{XM*GK$nrh_iH-yo zx_*5;>M0K*y$9&L)dVJuogjMnB9D@EP)$lRMU0Vu7Jze@uLvb|3Fet!JeLpzxN6~o zQ1vr3;=)KUV1EUi6QJl*g#3ws;XwFARQ((?>&}o z4&Xa&wLy87Grnf{M8Fs)U5W)@;0n;^DBpQqv*HUv9*o;G;WZ!@y#eN#E(O8=!xpgX z3!w$DlvFE+A`~!9+ZRBipH)i{7-0k)Dez+iUja)4fPXlKzyLf4yukFl2<+`k2&)m& zjN3T+lN_D^%sa`$(f~$JElDaG5BgJpc&E#@D1b&VQcpyxMZ5wCAw@3S;(c9KCI|qf zDU&`UUI4HF*t;chQvm5@Q{ZNh-!d@oB>@VcF{pJ0kO?)=>S>{$0;&bGPEHmZff)#9 zfNq}Xg@2$H*t*GAE_2b36Y3O7nyZOJi$$FWvPdQt9R{s&@EjvoLIp5FO8VHN3n2m6 zVkCXSZ4d%2qz0gj_a2X^1V)HcYN)VnN+8A&u&yV21Wj|aZbk?(;H#cSaSJ#wz(%lD z0DFKNy)iflk$~pFTTmJ}4@SVRyCl;5Geh)-7=QFiH*e)?!Y*DA8o~RZ25;moi5B6Y zHk9!Aq(-kJhLi&zbDp2{qz#}rd1SrOI~S3ixV{tK2_Rzm>lX)ftWdz~Ckt-Z3+plA z4bXE;y$1Yb;T_O#LBCIUCpiMTEja!@;o|unFlYf502d+weD|jlN&z|28-QV<|I3NC z0Zi|lg$a(tqM! dKed$G_yb(kL7lKpx=#QA002ovPDHLkV1i0ouC6b(Lnx)CisFwz1|yU`;)uu;jJd&Mg0Z2U5`RMFH6g@WE85|pCV1(P zOqnw@9owd31`p}GljHhBYM@IWB!lng_kTK_WJUQe_2}^fK+_*+fN|#EK*}^<$pmaD zN;PKPqSO^ag9dhOcD+bxBs4vfX0xE!6oBr*3`W{vGgG8ma-D9i*!G;mVnA~%5_^o< zEH)vEpe|$e8Gm4!iWt%JeV@`*2DLc3-lS&fkb0fqwB<`+=U+|D=asvDCxB}CE{w=( z?$iZ#N^%+M^uQ2+j9MO}c(_2kT*T6XT0Q4FER*97RBd%Wx}$JI=%QYlJQ?CE#W`cr!c_%Uwzj;3Ho2 zU+QS#j7Y#k^ZxNsmk&XhJZv4@TqA_~5#S$2$A3~KZ8&gd*xrAtBeZapp9YFTmV{{U zUw;*#AAyMnR3(J?C4wOVog?DHI+=X_RBMwgW_1u6{E^D^I;3QvjizI$ohJ&JS&!P_ zEC%xoCBElK*2vbvm2P|rL7 z*n0y&Wr-R0VD>#3{m`V@5X26V))j>Q3NXUD0BDZwpty{zraKz|G@Zr%Y^7`SHWNUF zR&jSjWe%&0jf7T4+;ys~P!|mpwKng>ZUiZ8?1}~si?$=C2b?+q>N%N|SSnGIPs~jH Y27ghvGnl9eVE_OC07*qoM6N<$f_H?O%K!iX diff --git a/graphics/pokemon/ogerpon/wellspring/normal.pal b/graphics/pokemon/ogerpon/wellspring/normal.pal index b91b6ee255..f771734921 100644 --- a/graphics/pokemon/ogerpon/wellspring/normal.pal +++ b/graphics/pokemon/ogerpon/wellspring/normal.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -238 230 180 -65 115 49 -90 172 49 +152 208 160 +44 43 41 +64 112 54 +75 76 76 +141 98 59 +91 171 49 +232 157 2 +255 218 70 +12 65 129 +15 94 181 +3 129 229 +59 213 249 16 16 16 -8 65 131 -41 41 41 -0 131 230 -74 74 74 -139 98 57 -8 90 180 -57 213 255 -205 222 255 -238 156 0 -255 222 65 -255 255 255 -156 205 222 +156 206 220 +206 221 255 +253 253 253 diff --git a/graphics/pokemon/ogerpon/wellspring/shiny.pal b/graphics/pokemon/ogerpon/wellspring/shiny.pal index 4f4e60c157..f284e35c37 100644 --- a/graphics/pokemon/ogerpon/wellspring/shiny.pal +++ b/graphics/pokemon/ogerpon/wellspring/shiny.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -238 230 180 -65 115 49 -90 172 49 +152 208 160 +44 43 41 +64 112 54 +75 76 76 +141 98 59 +91 171 49 +162 205 29 +255 218 70 +12 65 129 +15 94 181 +3 129 229 +59 213 249 16 16 16 -8 65 131 -41 41 41 -0 131 230 -74 74 74 -139 98 57 -8 90 180 -57 213 255 -205 222 255 -164 205 24 -255 222 65 -255 255 255 -156 205 222 +156 206 220 +206 221 255 +253 253 253 diff --git a/src/data/graphics/pokemon.h b/src/data/graphics/pokemon.h index 6882e7df43..ea1e49cda7 100644 --- a/src/data/graphics/pokemon.h +++ b/src/data/graphics/pokemon.h @@ -25932,7 +25932,7 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //P_FAMILY_DONDOZO #if P_FAMILY_GREAT_TUSK - const u32 gMonFrontPic_GreatTusk[] = INCBIN_U32("graphics/pokemon/great_tusk/anim_front.4bpp.lz"); + const u32 gMonFrontPic_GreatTusk[] = INCBIN_U32("graphics/pokemon/great_tusk/front.4bpp.lz"); const u32 gMonPalette_GreatTusk[] = INCBIN_U32("graphics/pokemon/great_tusk/normal.gbapal.lz"); const u32 gMonBackPic_GreatTusk[] = INCBIN_U32("graphics/pokemon/great_tusk/back.4bpp.lz"); const u32 gMonShinyPalette_GreatTusk[] = INCBIN_U32("graphics/pokemon/great_tusk/shiny.gbapal.lz"); @@ -26148,7 +26148,7 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ #endif //P_FAMILY_IRON_THORNS #if P_FAMILY_FRIGIBAX - const u32 gMonFrontPic_Frigibax[] = INCBIN_U32("graphics/pokemon/frigibax/anim_front.4bpp.lz"); + const u32 gMonFrontPic_Frigibax[] = INCBIN_U32("graphics/pokemon/frigibax/front.4bpp.lz"); const u32 gMonPalette_Frigibax[] = INCBIN_U32("graphics/pokemon/frigibax/normal.gbapal.lz"); const u32 gMonBackPic_Frigibax[] = INCBIN_U32("graphics/pokemon/frigibax/back.4bpp.lz"); const u32 gMonShinyPalette_Frigibax[] = INCBIN_U32("graphics/pokemon/frigibax/shiny.gbapal.lz"); diff --git a/src/data/pokemon/species_info/gen_9_families.h b/src/data/pokemon/species_info/gen_9_families.h index 2a66183659..93b9818b10 100644 --- a/src/data/pokemon/species_info/gen_9_families.h +++ b/src/data/pokemon/species_info/gen_9_families.h @@ -5234,18 +5234,18 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .trainerOffset = 0, .frontPic = gMonFrontPic_GreatTusk, .frontPicSize = MON_COORDS_SIZE(64, 64), - .frontPicYOffset = 5, - .frontAnimFrames = sAnims_TwoFramePlaceHolder, + .frontPicYOffset = 0, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_GreatTusk, .backPicSize = MON_COORDS_SIZE(64, 64), - .backPicYOffset = 4, + .backPicYOffset = 9, //.backAnimId = BACK_ANIM_NONE, .palette = gMonPalette_GreatTusk, .shinyPalette = gMonShinyPalette_GreatTusk, .iconSprite = gMonIcon_GreatTusk, .iconPalIndex = 0, - SHADOW(3, 6, SHADOW_SIZE_L) + SHADOW(2, 13, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(GreatTusk) OVERWORLD( sPicTable_GreatTusk, @@ -6029,18 +6029,18 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .trainerOffset = 0, .frontPic = gMonFrontPic_Frigibax, .frontPicSize = MON_COORDS_SIZE(64, 64), - .frontPicYOffset = 7, - .frontAnimFrames = sAnims_TwoFramePlaceHolder, + .frontPicYOffset = 13, + .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, .backPic = gMonBackPic_Frigibax, .backPicSize = MON_COORDS_SIZE(64, 64), - .backPicYOffset = 11, + .backPicYOffset = 13, //.backAnimId = BACK_ANIM_NONE, .palette = gMonPalette_Frigibax, .shinyPalette = gMonShinyPalette_Frigibax, .iconSprite = gMonIcon_Frigibax, .iconPalIndex = 0, - SHADOW(0, 7, SHADOW_SIZE_S) + SHADOW(2, -1, SHADOW_SIZE_S) FOOTPRINT(Frigibax) OVERWORLD( sPicTable_Frigibax, @@ -6870,6 +6870,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .frontPicYOffset = 0, .frontAnimFrames = sAnims_SingleFramePlaceHolder, //.frontAnimId = ANIM_V_SQUISH_AND_BOUNCE, + .enemyMonElevation = 8, .backPic = gMonBackPic_Miraidon, .backPicSize = MON_COORDS_SIZE(64, 64), .backPicYOffset = 0, @@ -6878,7 +6879,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Miraidon, .iconSprite = gMonIcon_Miraidon, .iconPalIndex = 2, - SHADOW(10, 14, SHADOW_SIZE_L) + SHADOW(3, 22, SHADOW_SIZE_L) FOOTPRINT(Miraidon) OVERWORLD( sPicTable_Miraidon, @@ -7548,10 +7549,10 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, \ } - [SPECIES_OGERPON_TEAL] = OGERPON_SPECIES_INFO(Teal, Teal, TYPE_GRASS, ABILITY_DEFIANT, BODY_COLOR_GREEN, 1, 7, 1, FALSE), - [SPECIES_OGERPON_WELLSPRING] = OGERPON_SPECIES_INFO(Wellspring, Wellspring, TYPE_WATER, ABILITY_WATER_ABSORB, BODY_COLOR_BLUE, 1, 7, 0, FALSE), - [SPECIES_OGERPON_HEARTHFLAME] = OGERPON_SPECIES_INFO(Hearthflame, Hearthflame, TYPE_FIRE, ABILITY_MOLD_BREAKER, BODY_COLOR_RED, 1, 7, 0, FALSE), - [SPECIES_OGERPON_CORNERSTONE] = OGERPON_SPECIES_INFO(Cornerstone, Cornerstone, TYPE_ROCK, ABILITY_STURDY, BODY_COLOR_GRAY, 1, 7, 0, FALSE), + [SPECIES_OGERPON_TEAL] = OGERPON_SPECIES_INFO(Teal, Teal, TYPE_GRASS, ABILITY_DEFIANT, BODY_COLOR_GREEN, 1, 6, 1, FALSE), + [SPECIES_OGERPON_WELLSPRING] = OGERPON_SPECIES_INFO(Wellspring, Wellspring, TYPE_WATER, ABILITY_WATER_ABSORB, BODY_COLOR_BLUE, 1, 6, 0, FALSE), + [SPECIES_OGERPON_HEARTHFLAME] = OGERPON_SPECIES_INFO(Hearthflame, Hearthflame, TYPE_FIRE, ABILITY_MOLD_BREAKER, BODY_COLOR_RED, 1, 6, 0, FALSE), + [SPECIES_OGERPON_CORNERSTONE] = OGERPON_SPECIES_INFO(Cornerstone, Cornerstone, TYPE_ROCK, ABILITY_STURDY, BODY_COLOR_GRAY, 1, 6, 0, FALSE), #if P_TERA_FORMS [SPECIES_OGERPON_TEAL_TERA] = OGERPON_SPECIES_INFO(Teal, TealTera, TYPE_GRASS, ABILITY_EMBODY_ASPECT_TEAL_MASK, BODY_COLOR_GREEN, 0, 0, 1, TRUE), [SPECIES_OGERPON_WELLSPRING_TERA] = OGERPON_SPECIES_INFO(Wellspring, WellspringTera, TYPE_WATER, ABILITY_EMBODY_ASPECT_WELLSPRING_MASK, BODY_COLOR_BLUE, 0, 0, 0, TRUE), From 6cbb7b31af86289807fcae81751ac89cf443d084 Mon Sep 17 00:00:00 2001 From: "allcontributors[bot]" <46447321+allcontributors[bot]@users.noreply.github.com> Date: Sat, 17 May 2025 13:25:53 -0700 Subject: [PATCH 05/29] add Pawkkie as a contributor for doc (#6896) Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> --- .all-contributorsrc | 6 ++++-- CREDITS.md | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/.all-contributorsrc b/.all-contributorsrc index 6d981eda79..514e698d83 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -87,7 +87,8 @@ "profile": "https://github.com/Pawkkie", "contributions": [ "maintenance", - "code" + "code", + "doc" ] }, { @@ -122,5 +123,6 @@ } ], "contributorsPerLine": 7, - "linkToUsage": true + "linkToUsage": true, + "commitType": "docs" } diff --git a/CREDITS.md b/CREDITS.md index 9024179556..6c54475348 100644 --- a/CREDITS.md +++ b/CREDITS.md @@ -27,7 +27,7 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d Martin Griffin
Martin Griffin

🚧 💻 - Pawkkie
Pawkkie

🚧 💻 + Pawkkie
Pawkkie

🚧 💻 📖 Philipp AUER
Philipp AUER

🚧 💻 tertu
tertu

🚧 💻 psf
psf

🚧 💻 From 91451323776a5e0812cbae6776a8dfcc8f472d99 Mon Sep 17 00:00:00 2001 From: psf <77138753+pkmnsnfrn@users.noreply.github.com> Date: Sat, 17 May 2025 13:38:49 -0700 Subject: [PATCH 06/29] Fixed URL for contributors badge on README.md (#6897) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index ddb18f9a40..7d8218c3be 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,7 @@ # [Credits](CREDITS.md) - [![](https://img.shields.io/github/all-contributors/rh-hideout/pokeemerald-expansion/upcoming)](CREDITS.md) + [![](https://img.shields.io/github/all-contributors/rh-hideout/pokeemerald-expansion/master)](CREDITS.md) If you use **`pokeemerald-expansion`**, please credit **RHH (Rom Hacking Hideout)**. Optionally, include the version number for clarity. From c0b70dd35ba8c417b0b3770068a23f79a907c83f Mon Sep 17 00:00:00 2001 From: "allcontributors[bot]" <46447321+allcontributors[bot]@users.noreply.github.com> Date: Sat, 17 May 2025 14:54:23 -0700 Subject: [PATCH 07/29] add Cafeei as a contributor for design (#6904) Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> --- .all-contributorsrc | 9 +++++++++ CREDITS.md | 1 + 2 files changed, 10 insertions(+) diff --git a/.all-contributorsrc b/.all-contributorsrc index 514e698d83..40650bf465 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -120,6 +120,15 @@ "maintenance", "code" ] + }, + { + "login": "Cafeei", + "name": "Cafe", + "avatar_url": "https://avatars.githubusercontent.com/u/46283144?v=4", + "profile": "https://github.com/Cafeei", + "contributions": [ + "design" + ] } ], "contributorsPerLine": 7, diff --git a/CREDITS.md b/CREDITS.md index 6c54475348..0a8ccdb3c2 100644 --- a/CREDITS.md +++ b/CREDITS.md @@ -31,6 +31,7 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d Philipp AUER
Philipp AUER

🚧 💻 tertu
tertu

🚧 💻 psf
psf

🚧 💻 + Cafe
Cafe

🎨 From 5fdc7f9283cfaf0c1a8fdac577f1ed109129364d Mon Sep 17 00:00:00 2001 From: "allcontributors[bot]" <46447321+allcontributors[bot]@users.noreply.github.com> Date: Sat, 17 May 2025 15:15:28 -0700 Subject: [PATCH 08/29] add khbsd as a contributor for doc, and code (#6903) Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> Co-authored-by: psf <77138753+pkmnsnfrn@users.noreply.github.com> --- .all-contributorsrc | 10 ++++++++++ CREDITS.md | 1 + 2 files changed, 11 insertions(+) diff --git a/.all-contributorsrc b/.all-contributorsrc index 40650bf465..a603f403dc 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -121,6 +121,16 @@ "code" ] }, + { + "login": "khbsd", + "name": "khbsd", + "avatar_url": "https://avatars.githubusercontent.com/u/26092020?v=4", + "profile": "https://github.com/khbsd", + "contributions": [ + "doc", + "code" + ] + }, { "login": "Cafeei", "name": "Cafe", diff --git a/CREDITS.md b/CREDITS.md index 0a8ccdb3c2..99acd2617e 100644 --- a/CREDITS.md +++ b/CREDITS.md @@ -31,6 +31,7 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d Philipp AUER
Philipp AUER

🚧 💻 tertu
tertu

🚧 💻 psf
psf

🚧 💻 + khbsd
khbsd

📖 💻 Cafe
Cafe

🎨 From 5164c40e49e6f3b3224f00641e5fcd13143f2179 Mon Sep 17 00:00:00 2001 From: psf <77138753+pkmnsnfrn@users.noreply.github.com> Date: Sat, 17 May 2025 15:36:52 -0700 Subject: [PATCH 09/29] Update .all-contributorsrc to skip CI (#6907) --- .all-contributorsrc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.all-contributorsrc b/.all-contributorsrc index a603f403dc..0142d61d1f 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -143,5 +143,6 @@ ], "contributorsPerLine": 7, "linkToUsage": true, - "commitType": "docs" + "commitType": "docs", + "skipCi": true, } From 6a726d98214790979e9b66de7f010beb6ab7c783 Mon Sep 17 00:00:00 2001 From: "allcontributors[bot]" <46447321+allcontributors[bot]@users.noreply.github.com> Date: Sun, 18 May 2025 06:47:00 -0700 Subject: [PATCH 10/29] add agsmgmaster64 as a contributor for code (#6906) Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> Co-authored-by: psf <77138753+pkmnsnfrn@users.noreply.github.com> --- .all-contributorsrc | 9 +++++++++ CREDITS.md | 1 + 2 files changed, 10 insertions(+) diff --git a/.all-contributorsrc b/.all-contributorsrc index 0142d61d1f..d2b391fde8 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -139,6 +139,15 @@ "contributions": [ "design" ] + }, + { + "login": "agsmgmaster64", + "name": "agsmgmaster64", + "avatar_url": "https://avatars.githubusercontent.com/u/67435611?v=4", + "profile": "https://github.com/agsmgmaster64", + "contributions": [ + "code" + ] } ], "contributorsPerLine": 7, diff --git a/CREDITS.md b/CREDITS.md index 99acd2617e..6ab186faa8 100644 --- a/CREDITS.md +++ b/CREDITS.md @@ -33,6 +33,7 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d psf
psf

🚧 💻 khbsd
khbsd

📖 💻 Cafe
Cafe

🎨 + agsmgmaster64
agsmgmaster64

💻 From f1a655366bbfab6b46ec64dbb289554e161fd7ee Mon Sep 17 00:00:00 2001 From: Bassoonian Date: Sun, 18 May 2025 15:47:35 +0200 Subject: [PATCH 11/29] Fix typo in the readme (#6908) --- README.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/README.md b/README.md index 7d8218c3be..05fde926b1 100644 --- a/README.md +++ b/README.md @@ -25,7 +25,7 @@ Please consider [crediting all contributors](CREDITS.md) involved in the project # Choosing `pokeemerald` or **`pokeemerald-expansion`** - **`pokeemerald-expansion`** supports multiplayer functionality with other games built on **`pokeemerald-expansion`**. It is not compatible with official Pokémon games. -- If compatibility with official games is important, use [`pokeemerald`](https://github.com/pret/pokeemerald). Otherwise, we reccomend using **`pokeemerald-expansion`**. +- If compatibility with official games is important, use [`pokeemerald`](https://github.com/pret/pokeemerald). Otherwise, we recommend using **`pokeemerald-expansion`**. - **`pokeemerald-expansion`** incorporates regular updates from `pokeemerald`, including bug fixes and documentation improvements. # [Getting Started](INSTALL.md) @@ -51,4 +51,3 @@ If you are looking to [report a bug](CONTRIBUTING.md#Bug-Report), [open a pull r [![](https://dcbadge.limes.pink/api/server/6CzjAG6GZk)](https://discord.gg/6CzjAG6GZk) Our community uses the [Rom Hacking Hideout (RHH) Discord server](https://discord.gg/6CzjAG6GZk) to communicate and organize. Most of our discussions take place there, and we welcome anybody to join us! - From 7b679a6febb1878e5e5194a4586547c0e450b75c Mon Sep 17 00:00:00 2001 From: "allcontributors[bot]" <46447321+allcontributors[bot]@users.noreply.github.com> Date: Sun, 18 May 2025 07:07:59 -0700 Subject: [PATCH 12/29] add AsparagusEduardo as a contributor for code, data, and 10 more (#6905) Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> Co-authored-by: psf <77138753+pkmnsnfrn@users.noreply.github.com> --- .all-contributorsrc | 22 +++++++++++++++++++++- CREDITS.md | 3 +++ 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/.all-contributorsrc b/.all-contributorsrc index d2b391fde8..a96ac95e9c 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -121,6 +121,26 @@ "code" ] }, + { + "login": "AsparagusEduardo", + "name": "Eduardo Quezada", + "avatar_url": "https://avatars.githubusercontent.com/u/2904965?v=4", + "profile": "https://github.com/AsparagusEduardo", + "contributions": [ + "code", + "data", + "doc", + "infra", + "maintenance", + "projectManagement", + "promotion", + "research", + "review", + "test", + "tutorial", + "userTesting" + ] + }, { "login": "khbsd", "name": "khbsd", @@ -153,5 +173,5 @@ "contributorsPerLine": 7, "linkToUsage": true, "commitType": "docs", - "skipCi": true, + "skipCi": true } diff --git a/CREDITS.md b/CREDITS.md index 6ab186faa8..71574733be 100644 --- a/CREDITS.md +++ b/CREDITS.md @@ -31,8 +31,11 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d Philipp AUER
Philipp AUER

🚧 💻 tertu
tertu

🚧 💻 psf
psf

🚧 💻 + Eduardo Quezada
Eduardo Quezada

💻 🔣 📖 🚇 🚧 📆 📣 🔬 👀 ⚠️ 📓 khbsd
khbsd

📖 💻 Cafe
Cafe

🎨 + + agsmgmaster64
agsmgmaster64

💻 From c83e7bda23c7625be884c64966f5c7a71aa16a94 Mon Sep 17 00:00:00 2001 From: "allcontributors[bot]" <46447321+allcontributors[bot]@users.noreply.github.com> Date: Sun, 18 May 2025 08:42:48 -0700 Subject: [PATCH 13/29] add LinathanZel as a contributor for code (#6901) Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> Co-authored-by: psf <77138753+pkmnsnfrn@users.noreply.github.com> --- .all-contributorsrc | 9 +++++++++ CREDITS.md | 1 + 2 files changed, 10 insertions(+) diff --git a/.all-contributorsrc b/.all-contributorsrc index a96ac95e9c..cd07b6578a 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -121,6 +121,15 @@ "code" ] }, + { + "login": "LinathanZel", + "name": "Linathan", + "avatar_url": "https://avatars.githubusercontent.com/u/35115312?v=4", + "profile": "https://github.com/LinathanZel", + "contributions": [ + "code" + ] + }, { "login": "AsparagusEduardo", "name": "Eduardo Quezada", diff --git a/CREDITS.md b/CREDITS.md index 71574733be..243b256663 100644 --- a/CREDITS.md +++ b/CREDITS.md @@ -37,6 +37,7 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d agsmgmaster64
agsmgmaster64

💻 + Linathan
Linathan

💻 From ec58de2b6ad8c343ee45b87270d95306aa8d8056 Mon Sep 17 00:00:00 2001 From: "allcontributors[bot]" <46447321+allcontributors[bot]@users.noreply.github.com> Date: Sun, 18 May 2025 15:00:00 -0700 Subject: [PATCH 14/29] add ExpoSeed as a contributor for code, and maintenance (#6899) Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> Co-authored-by: psf <77138753+pkmnsnfrn@users.noreply.github.com> --- .all-contributorsrc | 11 +++++++++++ CREDITS.md | 1 + 2 files changed, 12 insertions(+) diff --git a/.all-contributorsrc b/.all-contributorsrc index cd07b6578a..723a0ef937 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -121,6 +121,17 @@ "code" ] }, + { + "login": "ExpoSeed", + "name": "ExpoSeed", + "avatar_url": "https://avatars.githubusercontent.com/u/43502820?v=4", + "profile": "https://github.com/ExpoSeed", + "contributions": [ + "code", + "maintenance", + "review" + ] + }, { "login": "LinathanZel", "name": "Linathan", diff --git a/CREDITS.md b/CREDITS.md index 243b256663..b48e4365ad 100644 --- a/CREDITS.md +++ b/CREDITS.md @@ -38,6 +38,7 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d agsmgmaster64
agsmgmaster64

💻 Linathan
Linathan

💻 + ExpoSeed
ExpoSeed

💻 🚧 👀 From 6bdec079c00f7fa6dc202433bdb59f709d29a6cf Mon Sep 17 00:00:00 2001 From: "allcontributors[bot]" <46447321+allcontributors[bot]@users.noreply.github.com> Date: Sun, 18 May 2025 17:49:50 -0700 Subject: [PATCH 15/29] add kittenchilly as a contributor for code (#6898) Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> Co-authored-by: psf <77138753+pkmnsnfrn@users.noreply.github.com> --- .all-contributorsrc | 11 +++++++++++ CREDITS.md | 1 + 2 files changed, 12 insertions(+) diff --git a/.all-contributorsrc b/.all-contributorsrc index 723a0ef937..de63531b44 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -121,6 +121,17 @@ "code" ] }, + { + "login": "kittenchilly", + "name": "kittenchilly", + "avatar_url": "https://avatars.githubusercontent.com/u/23617175?v=4", + "profile": "https://github.com/kittenchilly", + "contributions": [ + "code", + "research", + "data" + ] + }, { "login": "ExpoSeed", "name": "ExpoSeed", diff --git a/CREDITS.md b/CREDITS.md index b48e4365ad..317bd40bc3 100644 --- a/CREDITS.md +++ b/CREDITS.md @@ -39,6 +39,7 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d agsmgmaster64
agsmgmaster64

💻 Linathan
Linathan

💻 ExpoSeed
ExpoSeed

💻 🚧 👀 + kittenchilly
kittenchilly

💻 🔬 🔣 From 6df68c4dd3606fb9eaba90d12a1a03e58178b239 Mon Sep 17 00:00:00 2001 From: "allcontributors[bot]" <46447321+allcontributors[bot]@users.noreply.github.com> Date: Sun, 18 May 2025 21:08:43 -0700 Subject: [PATCH 16/29] add mudskipper13 as a contributor for code, and doc (#6915) Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> Co-authored-by: psf <77138753+pkmnsnfrn@users.noreply.github.com> --- .all-contributorsrc | 10 ++++++++++ CREDITS.md | 7 +++++-- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/.all-contributorsrc b/.all-contributorsrc index de63531b44..38879e2ac3 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -199,6 +199,16 @@ "contributions": [ "code" ] + }, + { + "login": "mudskipper13", + "name": "mudskipper13", + "avatar_url": "https://avatars.githubusercontent.com/u/105766191?v=4", + "profile": "https://github.com/mudskipper13", + "contributions": [ + "code", + "doc" + ] } ], "contributorsPerLine": 7, diff --git a/CREDITS.md b/CREDITS.md index 317bd40bc3..85cbefa625 100644 --- a/CREDITS.md +++ b/CREDITS.md @@ -31,12 +31,15 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d Philipp AUER
Philipp AUER

🚧 💻 tertu
tertu

🚧 💻 psf
psf

🚧 💻 + ExpoSeed
ExpoSeed

💻 🚧 👀 + Linathan
Linathan

💻 Eduardo Quezada
Eduardo Quezada

💻 🔣 📖 🚇 🚧 📆 📣 🔬 👀 ⚠️ 📓 - khbsd
khbsd

📖 💻 - Cafe
Cafe

🎨 + khbsd
khbsd

📖 💻 + Cafe
Cafe

🎨 agsmgmaster64
agsmgmaster64

💻 + mudskipper13
mudskipper13

💻 📖 Linathan
Linathan

💻 ExpoSeed
ExpoSeed

💻 🚧 👀 kittenchilly
kittenchilly

💻 🔬 🔣 From f8d31a7410c165f65ef1b3bcbd904747d34b4bcf Mon Sep 17 00:00:00 2001 From: "allcontributors[bot]" <46447321+allcontributors[bot]@users.noreply.github.com> Date: Mon, 19 May 2025 07:41:39 +0200 Subject: [PATCH 17/29] add PCG06 as a contributor for code (#6900) Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> Co-authored-by: psf <77138753+pkmnsnfrn@users.noreply.github.com> --- .all-contributorsrc | 9 +++++++++ CREDITS.md | 3 +++ 2 files changed, 12 insertions(+) diff --git a/.all-contributorsrc b/.all-contributorsrc index 38879e2ac3..d8b52fb16e 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -121,6 +121,15 @@ "code" ] }, + { + "login": "PCG06", + "name": "PCG", + "avatar_url": "https://avatars.githubusercontent.com/u/75729017?v=4", + "profile": "https://github.com/PCG06", + "contributions": [ + "code" + ] + }, { "login": "kittenchilly", "name": "kittenchilly", diff --git a/CREDITS.md b/CREDITS.md index 85cbefa625..4baf67db9a 100644 --- a/CREDITS.md +++ b/CREDITS.md @@ -44,6 +44,9 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d ExpoSeed
ExpoSeed

💻 🚧 👀 kittenchilly
kittenchilly

💻 🔬 🔣 + + PCG
PCG

💻 + From fe7425235aaedd5299c97ca24ffc99c1261d697c Mon Sep 17 00:00:00 2001 From: "allcontributors[bot]" <46447321+allcontributors[bot]@users.noreply.github.com> Date: Mon, 19 May 2025 15:47:16 -0700 Subject: [PATCH 18/29] add wiz1989 as a contributor for code (#6902) Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> Co-authored-by: psf <77138753+pkmnsnfrn@users.noreply.github.com> --- .all-contributorsrc | 9 +++++++++ CREDITS.md | 1 + 2 files changed, 10 insertions(+) diff --git a/.all-contributorsrc b/.all-contributorsrc index d8b52fb16e..9e53871758 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -121,6 +121,15 @@ "code" ] }, + { + "login": "wiz1989", + "name": "wiz1989", + "avatar_url": "https://avatars.githubusercontent.com/u/80073265?v=4", + "profile": "https://github.com/wiz1989", + "contributions": [ + "code" + ] + }, { "login": "PCG06", "name": "PCG", diff --git a/CREDITS.md b/CREDITS.md index 4baf67db9a..f52cb045c2 100644 --- a/CREDITS.md +++ b/CREDITS.md @@ -46,6 +46,7 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d PCG
PCG

💻 + wiz1989
wiz1989

💻 From 00bc660727df67d61cf951650b06194504345a5c Mon Sep 17 00:00:00 2001 From: "allcontributors[bot]" <46447321+allcontributors[bot]@users.noreply.github.com> Date: Mon, 19 May 2025 19:35:38 -0700 Subject: [PATCH 19/29] add RubyRaven6 as a contributor for code, and doc (#6918) Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> Co-authored-by: psf <77138753+pkmnsnfrn@users.noreply.github.com> --- .all-contributorsrc | 10 ++++++++++ CREDITS.md | 9 ++++----- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/.all-contributorsrc b/.all-contributorsrc index 9e53871758..b14ab92ca9 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -218,6 +218,16 @@ "code" ] }, + { + "login": "RubyRaven6", + "name": "Ruby", + "avatar_url": "https://avatars.githubusercontent.com/u/178652077?v=4", + "profile": "https://github.com/RubyRaven6", + "contributions": [ + "code", + "doc" + ] + }, { "login": "mudskipper13", "name": "mudskipper13", diff --git a/CREDITS.md b/CREDITS.md index f52cb045c2..ae6323edfb 100644 --- a/CREDITS.md +++ b/CREDITS.md @@ -40,13 +40,12 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d Cafe
Cafe

🎨 agsmgmaster64
agsmgmaster64

💻 mudskipper13
mudskipper13

💻 📖 - Linathan
Linathan

💻 - ExpoSeed
ExpoSeed

💻 🚧 👀 kittenchilly
kittenchilly

💻 🔬 🔣 + PCG
PCG

💻 + wiz1989
wiz1989

💻 - PCG
PCG

💻 - wiz1989
wiz1989

💻 + Ruby
Ruby

💻 📖 @@ -94,4 +93,4 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d -This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome! \ No newline at end of file +This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome! From 100121ad0676240abd3a60d719d8670f1232e4b1 Mon Sep 17 00:00:00 2001 From: "allcontributors[bot]" <46447321+allcontributors[bot]@users.noreply.github.com> Date: Mon, 19 May 2025 22:14:59 -0700 Subject: [PATCH 20/29] add grintoul1 as a contributor for code (#6920) Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> Co-authored-by: psf <77138753+pkmnsnfrn@users.noreply.github.com> --- .all-contributorsrc | 9 +++++++++ CREDITS.md | 13 +++++++------ 2 files changed, 16 insertions(+), 6 deletions(-) diff --git a/.all-contributorsrc b/.all-contributorsrc index b14ab92ca9..13c11c8429 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -237,6 +237,15 @@ "code", "doc" ] + }, + { + "login": "grintoul1", + "name": "grintoul", + "avatar_url": "https://avatars.githubusercontent.com/u/166724814?v=4", + "profile": "https://github.com/grintoul1", + "contributions": [ + "code" + ] } ], "contributorsPerLine": 7, diff --git a/CREDITS.md b/CREDITS.md index ae6323edfb..86d7d656f0 100644 --- a/CREDITS.md +++ b/CREDITS.md @@ -31,21 +31,22 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d Philipp AUER
Philipp AUER

🚧 💻 tertu
tertu

🚧 💻 psf
psf

🚧 💻 + PCG
PCG

💻 + kittenchilly
kittenchilly

💻 🔬 🔣 ExpoSeed
ExpoSeed

💻 🚧 👀 - Linathan
Linathan

💻 - Eduardo Quezada
Eduardo Quezada

💻 🔣 📖 🚇 🚧 📆 📣 🔬 👀 ⚠️ 📓 + Linathan
Linathan

💻 + Eduardo Quezada
Eduardo Quezada

💻 🔣 📖 🚇 🚧 📆 📣 🔬 👀 ⚠️ 📓 khbsd
khbsd

📖 💻 Cafe
Cafe

🎨 agsmgmaster64
agsmgmaster64

💻 mudskipper13
mudskipper13

💻 📖 - kittenchilly
kittenchilly

💻 🔬 🔣 - PCG
PCG

💻 - wiz1989
wiz1989

💻 + Ruby
Ruby

💻 📖 - Ruby
Ruby

💻 📖 + wiz1989
wiz1989

💻 + grintoul
grintoul

💻 From 3f89abea743dbda98c5d73e53b6c78fba52ab147 Mon Sep 17 00:00:00 2001 From: Pawkkie <61265402+Pawkkie@users.noreply.github.com> Date: Tue, 20 May 2025 01:17:46 -0400 Subject: [PATCH 21/29] Fix test not referencing AI_TRAINER_NAME (#6926) --- test/battle/ai/ai_switching.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/test/battle/ai/ai_switching.c b/test/battle/ai/ai_switching.c index 6f0fb7920c..e20dd5bf61 100644 --- a/test/battle/ai/ai_switching.c +++ b/test/battle/ai/ai_switching.c @@ -97,11 +97,11 @@ AI_DOUBLE_BATTLE_TEST("AI will not try to switch for the same pokemon for 2 spot } WHEN { TURN { EXPECT_SWITCH(opponentLeft, 3); }; } SCENE { - MESSAGE("{PKMN} TRAINER LEAF withdrew Linoone!"); - MESSAGE("{PKMN} TRAINER LEAF sent out Gengar!"); + MESSAGE(AI_TRAINER_NAME " withdrew Linoone!"); + MESSAGE(AI_TRAINER_NAME " sent out Gengar!"); NONE_OF { - MESSAGE("{PKMN} TRAINER LEAF withdrew Zigzagoon!"); - MESSAGE("{PKMN} TRAINER LEAF sent out Gengar!"); + MESSAGE(AI_TRAINER_NAME " withdrew Zigzagoon!"); + MESSAGE(AI_TRAINER_NAME " sent out Gengar!"); } } } From 8f88cfad5b903d335dd113fc1be666be09aa0a62 Mon Sep 17 00:00:00 2001 From: "allcontributors[bot]" <46447321+allcontributors[bot]@users.noreply.github.com> Date: Tue, 20 May 2025 06:25:26 -0700 Subject: [PATCH 22/29] add surskitty as a contributor for code (#6924) Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> Co-authored-by: psf <77138753+pkmnsnfrn@users.noreply.github.com> --- .all-contributorsrc | 9 +++++++++ CREDITS.md | 1 + 2 files changed, 10 insertions(+) diff --git a/.all-contributorsrc b/.all-contributorsrc index 13c11c8429..e5ecce9602 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -238,6 +238,15 @@ "doc" ] }, + { + "login": "surskitty", + "name": "surskitty", + "avatar_url": "https://avatars.githubusercontent.com/u/1383512?v=4", + "profile": "https://github.com/surskitty", + "contributions": [ + "code" + ] + }, { "login": "grintoul1", "name": "grintoul", diff --git a/CREDITS.md b/CREDITS.md index 86d7d656f0..6045f2301a 100644 --- a/CREDITS.md +++ b/CREDITS.md @@ -45,6 +45,7 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d Ruby
Ruby

💻 📖 + surskitty
surskitty

💻 wiz1989
wiz1989

💻 grintoul
grintoul

💻 From c485ae4e900681dd2c98139b898dd00cf312ceb3 Mon Sep 17 00:00:00 2001 From: ghoulslash <41651341+ghoulslash@users.noreply.github.com> Date: Tue, 20 May 2025 11:07:29 -0400 Subject: [PATCH 23/29] add fail ptr arg to JumpIfMoveFailed, fix tryworryseed (#6925) Co-authored-by: ghoulslash --- src/battle_script_commands.c | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 8355bb78bd..407d87a017 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -1354,13 +1354,13 @@ static void Cmd_attackcanceler(void) } } -static bool32 JumpIfMoveFailed(u8 adder, u16 move) +static bool32 JumpIfMoveFailed(u8 adder, u16 move, const u8 *failInstr) { if (gBattleStruct->moveResultFlags[gBattlerTarget] & MOVE_RESULT_NO_EFFECT) { gLastLandedMoves[gBattlerTarget] = 0; gLastHitByType[gBattlerTarget] = 0; - gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); + gBattlescriptCurrInstr = failInstr; return TRUE; } else @@ -1380,7 +1380,7 @@ static void Cmd_unused5(void) if (IsBattlerProtected(gBattlerAttacker, gBattlerTarget, gCurrentMove)) { gBattleStruct->moveResultFlags[gBattlerTarget] |= MOVE_RESULT_MISSED; - JumpIfMoveFailed(sizeof(*cmd), MOVE_NONE); + JumpIfMoveFailed(sizeof(*cmd), MOVE_NONE, cmd->failInstr); gBattleCommunication[MISS_TYPE] = B_MSG_PROTECTED; } else @@ -1389,14 +1389,14 @@ static void Cmd_unused5(void) } } -static bool32 JumpIfMoveAffectedByProtect(u32 move, u32 battler, u32 shouldJump) +static bool32 JumpIfMoveAffectedByProtect(u32 move, u32 battler, u32 shouldJump, const u8 *failInstr) { bool32 affected = IsBattlerProtected(gBattlerAttacker, battler, move); if (affected) { gBattleStruct->moveResultFlags[battler] |= MOVE_RESULT_MISSED; if (shouldJump) - JumpIfMoveFailed(7, move); + JumpIfMoveFailed(7, move, failInstr); } return affected; } @@ -1623,7 +1623,7 @@ static void AccuracyCheck(bool32 recalcDragonDarts, const u8 *nextInstr, const u gBattlescriptCurrInstr = nextInstr; else if (gStatuses3[gBattlerTarget] & (STATUS3_SEMI_INVULNERABLE)) gBattlescriptCurrInstr = failInstr; - else if (!JumpIfMoveAffectedByProtect(gCurrentMove, gBattlerTarget, TRUE)) + else if (!JumpIfMoveAffectedByProtect(gCurrentMove, gBattlerTarget, TRUE, failInstr)) gBattlescriptCurrInstr = nextInstr; if (GetActiveGimmick(gBattlerAttacker) == GIMMICK_DYNAMAX) { @@ -1660,7 +1660,7 @@ static void AccuracyCheck(bool32 recalcDragonDarts, const u8 *nextInstr, const u continue; numTargets++; - if (JumpIfMoveAffectedByProtect(move, battlerDef, FALSE) || AccuracyCalcHelper(move, battlerDef)) + if (JumpIfMoveAffectedByProtect(move, battlerDef, FALSE, failInstr) || AccuracyCalcHelper(move, battlerDef)) continue; u32 accuracy = GetTotalAccuracy(gBattlerAttacker, @@ -1707,7 +1707,7 @@ static void AccuracyCheck(bool32 recalcDragonDarts, const u8 *nextInstr, const u if (calcSpreadMove) gBattleStruct->calculatedSpreadMoveAccuracy = TRUE; - JumpIfMoveFailed(7, move); + JumpIfMoveFailed(7, move, failInstr); } } @@ -12499,9 +12499,8 @@ static u32 ChangeStatBuffs(s8 statValue, u32 statId, u32 flags, const u8 *BS_ptr return STAT_CHANGE_DIDNT_WORK; } else if (gCurrentMove != MOVE_CURSE - && notProtectAffected != TRUE && JumpIfMoveAffectedByProtect(gCurrentMove, gBattlerTarget, TRUE)) + && notProtectAffected != TRUE && JumpIfMoveAffectedByProtect(gCurrentMove, gBattlerTarget, TRUE, BattleScript_ButItFailed)) { - gBattlescriptCurrInstr = BattleScript_ButItFailed; return STAT_CHANGE_DIDNT_WORK; } else if ((battlerHoldEffect == HOLD_EFFECT_CLEAR_AMULET || CanAbilityPreventStatLoss(battlerAbility)) @@ -16730,7 +16729,6 @@ static void Cmd_tryworryseed(void) || gBattleMons[gBattlerTarget].ability == ABILITY_INSOMNIA) { RecordAbilityBattle(gBattlerTarget, gBattleMons[gBattlerTarget].ability); - gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); gBattlescriptCurrInstr = cmd->failInstr; } else if (GetBattlerHoldEffect(gBattlerTarget, TRUE) == HOLD_EFFECT_ABILITY_SHIELD) From ce9bbcc3b7c2012c3e08111c7ebaa6484ec65264 Mon Sep 17 00:00:00 2001 From: jfb1337 <184441704+jfb1337@users.noreply.github.com> Date: Wed, 21 May 2025 09:41:18 +0100 Subject: [PATCH 24/29] Fix trainers.party parser failing on apostrophes (#6938) --- tools/trainerproc/main.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/tools/trainerproc/main.c b/tools/trainerproc/main.c index b301ddf552..5823facaca 100644 --- a/tools/trainerproc/main.c +++ b/tools/trainerproc/main.c @@ -459,7 +459,7 @@ static bool match_identifier(struct Parser *p, struct Token *t) if (!peek_char(&p_, &c)) break; - if (('A' <= c && c <= 'Z') || ('a' <= c && c <= 'z') || ('0' <= c && c <= '9') || c == '_') + if (('A' <= c && c <= 'Z') || ('a' <= c && c <= 'z') || ('0' <= c && c <= '9') || c == '_'|| c == '\'') ; else break; @@ -493,7 +493,7 @@ static bool match_human_identifier(struct Parser *p, struct Token *t) if (!peek_char(&p_, &c)) break; - if (('A' <= c && c <= 'Z') || ('a' <= c && c <= 'z') || c == '_' || c == '-' || c == ' ') + if (('A' <= c && c <= 'Z') || ('a' <= c && c <= 'z') || c == '_' || c == '-' || c == ' ' || c == '\'') ; else if (p_.offset > t->begin && ('0' <= c && c <= '9')) ; @@ -573,7 +573,7 @@ static bool match_move_identifier(struct Parser *p, struct Token *t) if (!peek_char(&p_, &c)) break; - if (('A' <= c && c <= 'Z') || ('a' <= c && c <= 'z') || ('0' <= c && c <= '9') || c == '_' || c == '-' || c == ' ' || c == ',') + if (('A' <= c && c <= 'Z') || ('a' <= c && c <= 'z') || ('0' <= c && c <= '9') || c == '_' || c == '-' || c == ' ' || c == ',' || c == '\'') ; else break; @@ -1581,6 +1581,8 @@ static void fprint_constant(FILE *f, const char *prefix, struct String s) fputc(c, f); else if ('a' <= c && c <= 'z') fputc(c - 'a' + 'A', f); + else if (c == '\'') + ; else fputc('_', f); } From ce079cfcc8128f512b6f5b9e747be205b17150bd Mon Sep 17 00:00:00 2001 From: Alex <93446519+AlexOn1ine@users.noreply.github.com> Date: Wed, 21 May 2025 16:16:33 +0200 Subject: [PATCH 25/29] Fixes Life Orb damage still happening after attacker was unable to attack (#6940) --- src/battle_util.c | 2 ++ test/battle/hold_effect/life_orb.c | 33 ++++++++++++++++++++++++++++++ 2 files changed, 35 insertions(+) diff --git a/src/battle_util.c b/src/battle_util.c index fd65a3ad68..783f06da0f 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -8167,6 +8167,7 @@ u32 ItemBattleEffects(enum ItemCaseId caseID, u32 battler, bool32 moveTurn) { case HOLD_EFFECT_SHELL_BELL: if (gBattleScripting.savedDmg > 0 + && !(gHitMarker & HITMARKER_UNABLE_TO_USE_MOVE) && !(gBattleStruct->moveResultFlags[gBattlerTarget] & MOVE_RESULT_NO_EFFECT) && gBattlerAttacker != gBattlerTarget && !IsBattlerAtMaxHp(gBattlerAttacker) @@ -8188,6 +8189,7 @@ u32 ItemBattleEffects(enum ItemCaseId caseID, u32 battler, bool32 moveTurn) break; case HOLD_EFFECT_LIFE_ORB: if (IsBattlerAlive(gBattlerAttacker) + && !(gHitMarker & HITMARKER_UNABLE_TO_USE_MOVE) && !IsBattleMoveStatus(gCurrentMove) && (IsBattlerTurnDamaged(gBattlerTarget) || !(gBattleStruct->moveResultFlags[gBattlerTarget] & MOVE_RESULT_NO_EFFECT)) // Needs the second check in case of Substitute && !(TestIfSheerForceAffected(gBattlerAttacker, gCurrentMove)) diff --git a/test/battle/hold_effect/life_orb.c b/test/battle/hold_effect/life_orb.c index f27ce29d03..7f4fcc2ccf 100644 --- a/test/battle/hold_effect/life_orb.c +++ b/test/battle/hold_effect/life_orb.c @@ -1,6 +1,21 @@ #include "global.h" #include "test/battle.h" +SINGLE_BATTLE_TEST("Life Orb activates when users attack is succesful") +{ + GIVEN { + PLAYER(SPECIES_WOBBUFFET) { Item(ITEM_LIFE_ORB); } + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { MOVE(player, MOVE_POUND); } + } SCENE { + ANIMATION(ANIM_TYPE_MOVE, MOVE_POUND, player); + HP_BAR(opponent); + HP_BAR(player); + MESSAGE("Wobbuffet was hurt by the Life Orb!"); + } +} + SINGLE_BATTLE_TEST("Life Orb activates if it hits a Substitute") { GIVEN { @@ -31,3 +46,21 @@ SINGLE_BATTLE_TEST("Life Orb does not activate if using a status move") } } } + +SINGLE_BATTLE_TEST("Life Orb doesn't cause any HP loss if user is unable to attack") +{ + PASSES_RANDOMLY(25, 100, RNG_PARALYSIS); + GIVEN { + PLAYER(SPECIES_WOBBUFFET) { Item(ITEM_LIFE_ORB); Status1(STATUS1_PARALYSIS); } + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { MOVE(player, MOVE_POUND); } + } SCENE { + NONE_OF { + ANIMATION(ANIM_TYPE_MOVE, MOVE_TACKLE, player); + HP_BAR(opponent); + HP_BAR(player); + MESSAGE("Wobbuffet was hurt by the Life Orb!"); + } + } +} From e9ba4b5db0d855c4fd1227a36f07d9360ca9f1af Mon Sep 17 00:00:00 2001 From: hedara90 <90hedara@gmail.com> Date: Thu, 22 May 2025 09:45:25 +0200 Subject: [PATCH 26/29] Added type: documentation to required labels for the label check (#6957) Co-authored-by: Hedara --- .github/workflows/labels.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/labels.yml b/.github/workflows/labels.yml index aa53665e8f..85800211ef 100644 --- a/.github/workflows/labels.yml +++ b/.github/workflows/labels.yml @@ -26,3 +26,4 @@ jobs: category: overworld category: pokemon category: sprite-issue + type: documentation From be4b8ca3d0074f4639b13066434d51569cd49c07 Mon Sep 17 00:00:00 2001 From: Eduardo Quezada Date: Thu, 22 May 2025 04:23:15 -0400 Subject: [PATCH 27/29] Fix `KNOWN_FAILING` Bestow tests (#6947) --- src/battle_util.c | 5 +++-- src/data/moves_info.h | 2 +- test/battle/move_effect/bestow.c | 27 +++++++++++++++------------ 3 files changed, 19 insertions(+), 15 deletions(-) diff --git a/src/battle_util.c b/src/battle_util.c index 783f06da0f..3807270276 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -11245,8 +11245,9 @@ bool32 CanBattlerGetOrLoseItem(u32 battler, u16 itemId) u16 species = gBattleMons[battler].species; u16 holdEffect = ItemId_GetHoldEffect(itemId); - // Mail can be stolen now - if (itemId == ITEM_ENIGMA_BERRY_E_READER) + if (ItemIsMail(itemId)) + return FALSE; + else if (itemId == ITEM_ENIGMA_BERRY_E_READER) return FALSE; else if (DoesSpeciesUseHoldItemToChangeForm(species, itemId)) return FALSE; diff --git a/src/data/moves_info.h b/src/data/moves_info.h index 70d3184ece..1eab939154 100644 --- a/src/data/moves_info.h +++ b/src/data/moves_info.h @@ -13172,7 +13172,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] = .category = DAMAGE_CATEGORY_STATUS, .zMove = { .effect = Z_EFFECT_SPD_UP_2 }, .ignoresProtect = B_UPDATED_MOVE_FLAGS >= GEN_6, - .ignoresSubstitute = TRUE, + .ignoresSubstitute = B_UPDATED_MOVE_FLAGS >= GEN_6, .metronomeBanned = TRUE, .copycatBanned = TRUE, .assistBanned = TRUE, diff --git a/test/battle/move_effect/bestow.c b/test/battle/move_effect/bestow.c index 24abdb3bea..4ed952be6b 100644 --- a/test/battle/move_effect/bestow.c +++ b/test/battle/move_effect/bestow.c @@ -47,8 +47,6 @@ SINGLE_BATTLE_TEST("Bestow fails if the target already has a held item") #include "mail.h" SINGLE_BATTLE_TEST("Bestow fails if the user is holding Mail") { - KNOWN_FAILING; - GIVEN { ASSUME(ItemIsMail(ITEM_ORANGE_MAIL)); PLAYER(SPECIES_WOBBUFFET) { Item(ITEM_ORANGE_MAIL); } @@ -94,36 +92,41 @@ SINGLE_BATTLE_TEST("Bestow fails if the user's held item is a Z-Crystal") } } -SINGLE_BATTLE_TEST("Bestow fails if the target is behind a Substitute") +SINGLE_BATTLE_TEST("Bestow fails if the target is behind a Substitute (Gen 6+)") { - KNOWN_FAILING; - GIVEN { PLAYER(SPECIES_WOBBUFFET) { Item(ITEM_SITRUS_BERRY); Speed(50); } OPPONENT(SPECIES_WOBBUFFET) { Speed(100); } } WHEN { TURN { MOVE(opponent, MOVE_SUBSTITUTE); MOVE(player, MOVE_BESTOW); } } SCENE { - MESSAGE("But it failed!"); + if (B_UPDATED_MOVE_FLAGS >= GEN_6) { + NOT MESSAGE("But it failed!"); + } else { + MESSAGE("But it failed!"); + } } THEN { - EXPECT(player->item == ITEM_SITRUS_BERRY); - EXPECT(opponent->item == ITEM_NONE); + if (B_UPDATED_MOVE_FLAGS >= GEN_6) { + EXPECT(player->item == ITEM_NONE); + EXPECT(opponent->item == ITEM_SITRUS_BERRY); + } else { + EXPECT(player->item == ITEM_SITRUS_BERRY); + EXPECT(opponent->item == ITEM_NONE); + } } } SINGLE_BATTLE_TEST("Bestow fails if the user's held item changes its form") { - KNOWN_FAILING; - GIVEN { - PLAYER(SPECIES_GIRATINA_ORIGIN) { Item(ITEM_GRISEOUS_ORB); } + PLAYER(SPECIES_GIRATINA_ORIGIN) { Item(ITEM_GRISEOUS_CORE); } OPPONENT(SPECIES_WOBBUFFET); } WHEN { TURN { MOVE(player, MOVE_BESTOW); } } SCENE { MESSAGE("But it failed!"); } THEN { - EXPECT(player->item == ITEM_GRISEOUS_ORB); + EXPECT(player->item == ITEM_GRISEOUS_CORE); EXPECT(opponent->item == ITEM_NONE); } } From 8ad1f329c99640259e4cea018084b931ca8b8638 Mon Sep 17 00:00:00 2001 From: Alex <93446519+AlexOn1ine@users.noreply.github.com> Date: Thu, 22 May 2025 10:37:00 +0200 Subject: [PATCH 28/29] Fixes Dazzling abilities activating on all multi hit move hits (#6943) --- src/battle_util.c | 1 + test/battle/ability/dazzling.c | 24 ++++++++++++++++++++++++ 2 files changed, 25 insertions(+) diff --git a/src/battle_util.c b/src/battle_util.c index 3807270276..640b4753af 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -4313,6 +4313,7 @@ bool32 CanAbilityBlockMove(u32 battlerAtk, u32 battlerDef, u32 move, u32 ability if (option == ABILITY_RUN_SCRIPT) { + gMultiHitCounter = 0; // Prevent multi-hit moves from hitting more than once after move has been absorbed. gBattleScripting.battler = gBattlerAbility = battlerAbility; gBattlescriptCurrInstr = battleScriptBlocksMove; } diff --git a/test/battle/ability/dazzling.c b/test/battle/ability/dazzling.c index e248c9ce0b..7541b8a566 100644 --- a/test/battle/ability/dazzling.c +++ b/test/battle/ability/dazzling.c @@ -72,3 +72,27 @@ DOUBLE_BATTLE_TEST("Dazzling, Queenly Majesty and Armor Tail don't protect the u } } +SINGLE_BATTLE_TEST("Dazzling, Queenly Majesty and Armor Tail protect from all multi hit hits with one activation") +{ + u32 species, ability; + + PARAMETRIZE { species = SPECIES_BRUXISH; ability = ABILITY_DAZZLING; } + PARAMETRIZE { species = SPECIES_FARIGIRAF; ability = ABILITY_ARMOR_TAIL; } + PARAMETRIZE { species = SPECIES_TSAREENA; ability = ABILITY_QUEENLY_MAJESTY; } + + GIVEN { + PLAYER(SPECIES_WOBBUFFET); + OPPONENT(species) { Ability(ability); } + } WHEN { + TURN { MOVE(player, MOVE_WATER_SHURIKEN); } + } SCENE { + NOT ANIMATION(ANIM_TYPE_MOVE, MOVE_WATER_SHURIKEN, opponent); + ABILITY_POPUP(opponent, ability); + NONE_OF { + ABILITY_POPUP(opponent, ability); + ABILITY_POPUP(opponent, ability); + ABILITY_POPUP(opponent, ability); + ABILITY_POPUP(opponent, ability); + } + } +} From 8ec998abff1ed517592a656de1209b15c1a188cd Mon Sep 17 00:00:00 2001 From: Alex <93446519+AlexOn1ine@users.noreply.github.com> Date: Thu, 22 May 2025 14:07:36 +0200 Subject: [PATCH 29/29] Fixes ate type being ignored after checking summary screen (#6888) --- include/battle_main.h | 2 +- include/constants/battle.h | 6 ++++ include/pokemon.h | 3 +- src/battle_controller_player.c | 3 +- src/battle_main.c | 58 ++++++++++++++++------------------ src/pokemon.c | 6 ++-- src/pokemon_summary_screen.c | 33 +++++++++++-------- 7 files changed, 60 insertions(+), 51 deletions(-) diff --git a/include/battle_main.h b/include/battle_main.h index f78d2f78c3..544d4ea134 100644 --- a/include/battle_main.h +++ b/include/battle_main.h @@ -80,7 +80,7 @@ s32 GetWhichBattlerFaster(u32 battler1, u32 battler2, bool32 ignoreChosenMoves); void RunBattleScriptCommands_PopCallbacksStack(void); void RunBattleScriptCommands(void); void SpecialStatusesClear(void); -u32 GetDynamicMoveType(struct Pokemon *mon, u32 move, u32 battler, u8 *ateBoost); +u32 GetDynamicMoveType(struct Pokemon *mon, u32 move, u32 battler, enum MonState monInBattle); void SetTypeBeforeUsingMove(u32 move, u32 battlerAtk); bool32 IsWildMonSmart(void); u8 CreateNPCTrainerPartyFromTrainer(struct Pokemon *party, const struct Trainer *trainer, bool32 firstTrainer, u32 battleTypeFlags); diff --git a/include/constants/battle.h b/include/constants/battle.h index d7f055a81b..cfb5d05e7e 100644 --- a/include/constants/battle.h +++ b/include/constants/battle.h @@ -622,4 +622,10 @@ enum SlideMsgStates RESTORE_BATTLER_SLIDE_CONTROL, }; +enum MonState +{ + MON_IN_BATTLE, + MON_OUTSIDE_BATTLE, +}; + #endif // GUARD_CONSTANTS_BATTLE_H diff --git a/include/pokemon.h b/include/pokemon.h index c562e3af74..994197c44a 100644 --- a/include/pokemon.h +++ b/include/pokemon.h @@ -6,6 +6,7 @@ #include "constants/regions.h" #include "constants/region_map_sections.h" #include "constants/map_groups.h" +#include "constants/battle.h" #include "contest_effect.h" #define GET_BASE_SPECIES_ID(speciesId) (GetFormSpeciesId(speciesId, 0)) @@ -805,7 +806,7 @@ void HealPokemon(struct Pokemon *mon); void HealBoxPokemon(struct BoxPokemon *boxMon); void UpdateDaysPassedSinceFormChange(u16 days); void TrySetDayLimitToFormChange(struct Pokemon *mon); -u32 CheckDynamicMoveType(struct Pokemon *mon, u32 move, u32 battler); +u32 CheckDynamicMoveType(struct Pokemon *mon, u32 move, u32 battler, enum MonState state); uq4_12_t GetDynamaxLevelHPMultiplier(u32 dynamaxLevel, bool32 inverseMultiplier); u32 GetRegionalFormByRegion(u32 species, u32 region); bool32 IsSpeciesForeignRegionalForm(u32 species, u32 currentRegion); diff --git a/src/battle_controller_player.c b/src/battle_controller_player.c index e9cdab0f32..8eac6cb304 100644 --- a/src/battle_controller_player.c +++ b/src/battle_controller_player.c @@ -1714,7 +1714,6 @@ static void MoveSelectionDisplayMoveType(u32 battler) } else if (effect == EFFECT_IVY_CUDGEL) { - if (speciesId == SPECIES_OGERPON_WELLSPRING || speciesId == SPECIES_OGERPON_WELLSPRING_TERA || speciesId == SPECIES_OGERPON_HEARTHFLAME || speciesId == SPECIES_OGERPON_HEARTHFLAME_TERA || speciesId == SPECIES_OGERPON_CORNERSTONE || speciesId == SPECIES_OGERPON_CORNERSTONE_TERA) @@ -1734,7 +1733,7 @@ static void MoveSelectionDisplayMoveType(u32 battler) else if (P_SHOW_DYNAMIC_TYPES) // Non-vanilla changes to battle UI showing dynamic types { struct Pokemon *mon = &gPlayerParty[gBattlerPartyIndexes[battler]]; - type = CheckDynamicMoveType(mon, move, battler); + type = CheckDynamicMoveType(mon, move, battler, MON_IN_BATTLE); } end = StringCopy(txtPtr, gTypesInfo[type].name); diff --git a/src/battle_main.c b/src/battle_main.c index 15c30ba013..728022237a 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -5771,19 +5771,19 @@ void RunBattleScriptCommands(void) gBattleScriptingCommandsTable[gBattlescriptCurrInstr[0]](); } -bool32 TrySetAteType(u32 move, u32 battlerAtk, u32 attackerAbility) +u32 TrySetAteType(u32 move, u32 battlerAtk, u32 attackerAbility) { - u32 ateType; + u32 ateType = TYPE_NONE; switch (GetMoveEffect(move)) { case EFFECT_TERA_BLAST: if (GetActiveGimmick(battlerAtk) == GIMMICK_TERA) - return FALSE; + return ateType; break; case EFFECT_TERA_STARSTORM: if (gBattleMons[battlerAtk].species == SPECIES_TERAPAGOS_STELLAR) - return FALSE; + return ateType; break; case EFFECT_HIDDEN_POWER: case EFFECT_WEATHER_BALL: @@ -5791,10 +5791,9 @@ bool32 TrySetAteType(u32 move, u32 battlerAtk, u32 attackerAbility) case EFFECT_CHANGE_TYPE_ON_ITEM: case EFFECT_REVELATION_DANCE: case EFFECT_TERRAIN_PULSE: - return FALSE; + return ateType; } - ateType = TYPE_NONE; switch (attackerAbility) { case ABILITY_PIXILATE: @@ -5814,28 +5813,21 @@ bool32 TrySetAteType(u32 move, u32 battlerAtk, u32 attackerAbility) break; } - if (ateType != TYPE_NONE && GetActiveGimmick(battlerAtk) != GIMMICK_Z_MOVE) - { - gBattleStruct->dynamicMoveType = ateType | F_DYNAMIC_TYPE_SET; - return TRUE; - } - - return FALSE; + return ateType; } // Returns TYPE_NONE if type doesn't change. -// NULL can be passed to ateBoost to avoid applying ate-ability boosts when opening the summary screen in-battle. -u32 GetDynamicMoveType(struct Pokemon *mon, u32 move, u32 battler, u8 *ateBoost) +u32 GetDynamicMoveType(struct Pokemon *mon, u32 move, u32 battler, enum MonState state) { u32 moveType = GetMoveType(move); u32 moveEffect = GetMoveEffect(move); u32 species, heldItem, holdEffect, ability, type1, type2, type3; - bool32 monInBattle = gMain.inBattle && gPartyMenu.menuType != PARTY_MENU_TYPE_IN_BATTLE; + enum Gimmick gimmick = GetActiveGimmick(battler); if (move == MOVE_STRUGGLE) return TYPE_NORMAL; - if (monInBattle) + if (state == MON_IN_BATTLE) { species = gBattleMons[battler].species; heldItem = gBattleMons[battler].item; @@ -5859,7 +5851,7 @@ u32 GetDynamicMoveType(struct Pokemon *mon, u32 move, u32 battler, u8 *ateBoost) switch (moveEffect) { case EFFECT_WEATHER_BALL: - if (monInBattle) + if (state == MON_IN_BATTLE) { if (HasWeatherEffect()) { @@ -5900,7 +5892,7 @@ u32 GetDynamicMoveType(struct Pokemon *mon, u32 move, u32 battler, u8 *ateBoost) case EFFECT_HIDDEN_POWER: { u32 typeBits = 0; - if (monInBattle) + if (state == MON_IN_BATTLE) { typeBits = ((gBattleMons[battler].hpIV & 1) << 0) | ((gBattleMons[battler].attackIV & 1) << 1) @@ -5935,10 +5927,10 @@ u32 GetDynamicMoveType(struct Pokemon *mon, u32 move, u32 battler, u8 *ateBoost) return ItemId_GetSecondaryId(heldItem); break; case EFFECT_REVELATION_DANCE: - if (GetActiveGimmick(battler) != GIMMICK_Z_MOVE) + if (gimmick != GIMMICK_Z_MOVE) { u32 teraType; - if (GetActiveGimmick(battler) == GIMMICK_TERA && ((teraType = GetMonData(mon, MON_DATA_TERA_TYPE)) != TYPE_STELLAR)) + if (gimmick == GIMMICK_TERA && ((teraType = GetMonData(mon, MON_DATA_TERA_TYPE)) != TYPE_STELLAR)) return teraType; else if (type1 != TYPE_MYSTERY && !(gDisableStructs[battler].roostActive && type1 == TYPE_FLYING)) return type1; @@ -5979,7 +5971,7 @@ u32 GetDynamicMoveType(struct Pokemon *mon, u32 move, u32 battler, u8 *ateBoost) else return moveType; case EFFECT_TERRAIN_PULSE: - if (monInBattle) + if (state == MON_IN_BATTLE) { if (IsBattlerTerrainAffected(battler, STATUS_FIELD_TERRAIN_ANY)) { @@ -6013,7 +6005,7 @@ u32 GetDynamicMoveType(struct Pokemon *mon, u32 move, u32 battler, u8 *ateBoost) } break; case EFFECT_TERA_BLAST: - if (GetActiveGimmick(battler) == GIMMICK_TERA) + if (gimmick == GIMMICK_TERA) return GetMonData(mon, MON_DATA_TERA_TYPE); break; case EFFECT_TERA_STARSTORM: @@ -6031,20 +6023,23 @@ u32 GetDynamicMoveType(struct Pokemon *mon, u32 move, u32 battler, u8 *ateBoost) return TYPE_DARK; } else if (moveType == TYPE_NORMAL - && ((!gMain.inBattle || TrySetAteType(move, battler, ability)) - && GetActiveGimmick(battler) != GIMMICK_DYNAMAX)) + && ability != ABILITY_NORMALIZE + && gimmick != GIMMICK_DYNAMAX + && gimmick != GIMMICK_Z_MOVE) { - if (gMain.inBattle && ateBoost != NULL) - *ateBoost = TRUE; + u32 ateType = TrySetAteType(move, battler, ability); + if (ateType != TYPE_NONE && state == MON_IN_BATTLE) + gBattleStruct->ateBoost[battler] = TRUE; + return ateType; } else if (moveType != TYPE_NORMAL && moveEffect != EFFECT_HIDDEN_POWER && moveEffect != EFFECT_WEATHER_BALL && ability == ABILITY_NORMALIZE - && GetActiveGimmick(battler) != GIMMICK_Z_MOVE) + && gimmick != GIMMICK_Z_MOVE) { - if (gMain.inBattle && ateBoost != NULL && GetActiveGimmick(battler) != GIMMICK_DYNAMAX) - *ateBoost = TRUE; + if (state == MON_IN_BATTLE && gimmick != GIMMICK_DYNAMAX) + gBattleStruct->ateBoost[battler] = TRUE; return TYPE_NORMAL; } @@ -6064,7 +6059,8 @@ void SetTypeBeforeUsingMove(u32 move, u32 battler) moveType = GetDynamicMoveType(&GetBattlerParty(battler)[gBattlerPartyIndexes[battler]], move, battler, - &gBattleStruct->ateBoost[battler]); + MON_IN_BATTLE); + if (moveType != TYPE_NONE) gBattleStruct->dynamicMoveType = moveType | F_DYNAMIC_TYPE_SET; diff --git a/src/pokemon.c b/src/pokemon.c index 3bd0e4dd5d..a24d08ece2 100644 --- a/src/pokemon.c +++ b/src/pokemon.c @@ -1170,7 +1170,7 @@ void CreateBoxMon(struct BoxPokemon *boxMon, u16 species, u8 level, u8 fixedIV, isShiny = GET_SHINY_VALUE(value, personality) < SHINY_ODDS; } } - + if (hasFixedPersonality) personality = fixedPersonality; @@ -7005,9 +7005,9 @@ void UpdateDaysPassedSinceFormChange(u16 days) } } -u32 CheckDynamicMoveType(struct Pokemon *mon, u32 move, u32 battler) +u32 CheckDynamicMoveType(struct Pokemon *mon, u32 move, u32 battler, enum MonState state) { - u32 moveType = GetDynamicMoveType(mon, move, battler, NULL); + u32 moveType = GetDynamicMoveType(mon, move, battler, state); if (moveType != TYPE_NONE) return moveType; return GetMoveType(move); diff --git a/src/pokemon_summary_screen.c b/src/pokemon_summary_screen.c index 3636d2f0ae..d34b0dd40d 100644 --- a/src/pokemon_summary_screen.c +++ b/src/pokemon_summary_screen.c @@ -1720,7 +1720,7 @@ static void Task_HandleInput(u8 taskId) PlaySE(SE_SELECT); BeginCloseSummaryScreen(taskId); } - else if (sMonSummaryScreen->currPageIndex == PSS_PAGE_BATTLE_MOVES + else if (sMonSummaryScreen->currPageIndex == PSS_PAGE_BATTLE_MOVES || sMonSummaryScreen->currPageIndex == PSS_PAGE_CONTEST_MOVES) { PlaySE(SE_SELECT); @@ -1773,7 +1773,7 @@ static u8 IncrementSkillsStatsMode(u8 mode) sMonSummaryScreen->skillsPageMode = SUMMARY_SKILLS_MODE_EVS; return SUMMARY_SKILLS_MODE_EVS; } - else + else { sMonSummaryScreen->skillsPageMode = SUMMARY_SKILLS_MODE_IVS; return SUMMARY_SKILLS_MODE_IVS; @@ -1956,7 +1956,7 @@ static void Task_ChangeSummaryMon(u8 taskId) if (P_SUMMARY_SCREEN_RENAME && sMonSummaryScreen->currPageIndex == PSS_PAGE_INFO) ShowUtilityPrompt(SUMMARY_MODE_NORMAL); if (ShouldShowIvEvPrompt() && sMonSummaryScreen->currPageIndex == PSS_PAGE_SKILLS) - { + { sMonSummaryScreen->skillsPageMode = SUMMARY_SKILLS_MODE_STATS; ChangeStatLabel(SUMMARY_SKILLS_MODE_STATS); } @@ -2108,7 +2108,7 @@ static void ChangePage(u8 taskId, s8 delta) CreateTextPrinterTask(sMonSummaryScreen->currPageIndex); HidePageSpecificSprites(); - if (sMonSummaryScreen->currPageIndex == PSS_PAGE_SKILLS + if (sMonSummaryScreen->currPageIndex == PSS_PAGE_SKILLS || (sMonSummaryScreen->currPageIndex + delta) == PSS_PAGE_SKILLS) { struct Pokemon *mon = &sMonSummaryScreen->currentMon; @@ -2244,7 +2244,7 @@ static void SwitchToMoveSelection(u8 taskId) { if (ShouldShowMoveRelearner()) ClearWindowTilemap(PSS_LABEL_WINDOW_PROMPT_RELEARN); - + ShowUtilityPrompt(SUMMARY_MODE_SELECT_MOVE); } else @@ -3774,10 +3774,10 @@ static void BufferStat(u8 *dst, u8 statIndex, u32 stat, u32 strId, u32 n) else txtPtr = StringCopy(dst, sTextNatureNeutral); - if (!P_SUMMARY_SCREEN_IV_EV_VALUES + if (!P_SUMMARY_SCREEN_IV_EV_VALUES && sMonSummaryScreen->skillsPageMode == SUMMARY_SKILLS_MODE_IVS) StringAppend(dst, GetLetterGrade(stat)); - else + else ConvertIntToDecimalStringN(txtPtr, stat, STR_CONV_MODE_RIGHT_ALIGN, n); DynamicPlaceholderTextUtil_SetPlaceholderPtr(strId, dst); @@ -3791,7 +3791,7 @@ static const u8 *GetLetterGrade(u32 stat) static const u8 gText_GradeB[] = _("B"); static const u8 gText_GradeA[] = _("A"); static const u8 gText_GradeS[] = _("S"); - + if (stat > 0 && stat <= 15) return gText_GradeD; else if (stat > 15 && stat <= 25) @@ -3833,7 +3833,7 @@ static void BufferLeftColumnIvEvStats(void) u8 *hpIvEvString = Alloc(20); u8 *attackIvEvString = Alloc(20); u8 *defenseIvEvString = Alloc(20); - + DynamicPlaceholderTextUtil_Reset(); BufferStat(hpIvEvString, STAT_HP, sMonSummaryScreen->summary.currentHP, 0, 7); @@ -3850,7 +3850,7 @@ static void BufferLeftColumnIvEvStats(void) static void PrintLeftColumnStats(void) { int x; - + if (sMonSummaryScreen->skillsPageMode == SUMMARY_SKILLS_MODE_IVS && !P_SUMMARY_SCREEN_IV_EV_VALUES) x = GetStringRightAlignXOffset(FONT_NORMAL, gStringVar4, 46); else @@ -3873,7 +3873,7 @@ static void BufferRightColumnStats(void) static void PrintRightColumnStats(void) { int x; - + if (sMonSummaryScreen->skillsPageMode == SUMMARY_SKILLS_MODE_IVS && !P_SUMMARY_SCREEN_IV_EV_VALUES) x = GetStringRightAlignXOffset(FONT_NORMAL, gStringVar4, 20); else @@ -4306,7 +4306,11 @@ static void SetMoveTypeIcons(void) { type = GetMoveType(summary->moves[i]); if (P_SHOW_DYNAMIC_TYPES) - type = CheckDynamicMoveType(mon, summary->moves[i], 0); + { + enum MonState state = gMain.inBattle ? MON_IN_BATTLE : MON_OUTSIDE_BATTLE; + type = CheckDynamicMoveType(mon, sMonSummaryScreen->newMove, 0, state); // Bug: in battle, this only shows the dynamic type of battler in position 0 + } + SetTypeSpritePosAndPal(type, 85, 32 + (i * 16), i + SPRITE_ARR_ID_TYPE); } else @@ -4335,7 +4339,10 @@ static void SetNewMoveTypeIcon(void) struct Pokemon *mon = &sMonSummaryScreen->currentMon; if (P_SHOW_DYNAMIC_TYPES) - type = CheckDynamicMoveType(mon, sMonSummaryScreen->newMove, 0); + { + enum MonState state = gMain.inBattle ? MON_IN_BATTLE : MON_OUTSIDE_BATTLE; + type = CheckDynamicMoveType(mon, sMonSummaryScreen->newMove, 0, state); // Bug: in battle, this only shows the dynamic type of battler in position 0 + } if (sMonSummaryScreen->newMove == MOVE_NONE) {