From d529ac3b60015b888540b90ed736127badf1fb15 Mon Sep 17 00:00:00 2001 From: Eduardo Alvaro Quezada D'Ottone Date: Thu, 23 Apr 2020 03:01:28 -0400 Subject: [PATCH 1/4] More Battle config (#352) * Binding move turns. * Binding damage. * Incineratable Gems. * Flash Fire while frozen. * Sleep turns. * Synchronized natures % * Confusion self damage chance. * Fixed confused self-damage check --- include/constants/battle_config.h | 9 ++++++++- src/battle_script_commands.c | 8 ++++---- src/battle_util.c | 8 ++++---- src/wild_encounter.c | 3 ++- 4 files changed, 18 insertions(+), 10 deletions(-) diff --git a/include/constants/battle_config.h b/include/constants/battle_config.h index 911fe53e6..8e68db99d 100644 --- a/include/constants/battle_config.h +++ b/include/constants/battle_config.h @@ -62,6 +62,8 @@ #define B_BURN_DAMAGE GEN_6 // In Gen7+, burn damage is 1/16th of max HP instead of 1/8th. #define B_PARALYSIS_SPEED GEN_6 // In Gen7+, speed is decreased by 50% instead of 75%. #define B_TERRAIN_TYPE_BOOST GEN_6 // In Gen8+, speed is boosted by 30% instead of 50%. +#define B_BINDING_DAMAGE GEN_6 // In Gen6+, binding damage is 1/8 of max HP instead of 1/16. (With Binding Band, 1/6 and 1/8 respectively.) +#define B_CONFUSION_SELF_DMG_CHANCE GEN_6 // In Gen7+, confusion has a 33.3% of self-damage, instead of 50%. // Move settings #define B_FELL_STINGER_STAT_RAISE GEN_6 // In Gen7+, it raises Atk by 3 stages instead of 2 if it causes the target to faint. @@ -69,6 +71,8 @@ #define B_TOXIC_NEVER_MISS GEN_6 // In Gen6+, if Toxic is used by a Poison type, it will never miss. #define B_PAYBACK_SWITCH_BOOST GEN_6 // In Gen5+, if the opponent switches out, Payback's damage will no longer be doubled. #define B_KINGS_SHIELD_LOWER_ATK GEN_6 // In Gen7+, it lowers Atk by 1 stage instead of 2 of oponents that hit it. +#define B_BINDING_TURNS GEN_6 // In Gen5+, binding moves last for 4-5 turns instead of 2-5 turns. (With Grip Claw, 7 and 5 turns respectively.) +#define B_INCINERATE_GEMS GEN_6 // In Gen6+, Incinerate can destroy Gems. // Ability settings #define B_ABILITY_POP_UP GEN_6 // In Gen5+, the Pokémon abilities are displayed in a pop-up, when they activate in battle. @@ -77,8 +81,11 @@ #define B_STANCE_CHANGE_FAIL GEN_7 // In Gen7+, Aegislash's form change does not happen, if the Pokémon cannot use a move, because of confusion, paralysis, etc. In gen6, the form change occurs despite not being able to move. #define B_GHOSTS_ESCAPE GEN_6 // In Gen6+, ghosts can escape even when blocked by abilities such as Shadow Tag. #define B_MOODY_ACC_EVASION GEN_6 // In Gen8+, Moody CANNOT raise Accuray and Evasion any more. +#define B_FLASH_FIRE_FROZEN GEN_6 // In Gen5+, Flash Fire can trigger even when frozen, when it couldn't before. +#define B_SYNCHRONIZE_NATURE GEN_6 // In Gen8+, if the Pokémon with Synchronize is leading the party, it's 100% guaranteed that wild Pokémon will have the same ability, as opposed to 50% previously. // Other -#define B_FAST_INTRO TRUE // If set to TRUE, battle intro texts print at the same time as animation of a Pokémon, as opposing to waiting for the animation to end. +#define B_FAST_INTRO TRUE // If set to TRUE, battle intro texts print at the same time as animation of a Pokémon, as opposing to waiting for the animation to end. +#define B_SLEEP_TURNS GEN_6 // In Gen5+, sleep lasts for 1-3 turns instead of 2-5 turns. #endif // GUARD_CONSTANTS_BATTLE_CONFIG_H diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 04feb20da..f33ec552b 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -2442,7 +2442,7 @@ void SetMoveEffect(bool32 primary, u32 certain) BattleScriptPush(gBattlescriptCurrInstr + 1); if (sStatusFlagsForMoveEffects[gBattleScripting.moveEffect] == STATUS1_SLEEP) - gBattleMons[gEffectBattler].status1 |= ((Random() & 3) + 2); + gBattleMons[gEffectBattler].status1 |= (B_SLEEP_TURNS >= GEN_5) ? ((Random() & 2) + 1) : ((Random() & 3) + 2); else gBattleMons[gEffectBattler].status1 |= sStatusFlagsForMoveEffects[gBattleScripting.moveEffect]; @@ -2588,9 +2588,9 @@ void SetMoveEffect(bool32 primary, u32 certain) { gBattleMons[gEffectBattler].status2 |= STATUS2_WRAPPED; if (GetBattlerHoldEffect(gBattlerAttacker, TRUE) == HOLD_EFFECT_GRIP_CLAW) - gDisableStructs[gEffectBattler].wrapTurns = 7; + gDisableStructs[gEffectBattler].wrapTurns = (B_BINDING_TURNS >= GEN_5) ? 7 : 5; else - gDisableStructs[gEffectBattler].wrapTurns = ((Random() % 2) + 4); + gDisableStructs[gEffectBattler].wrapTurns = (B_BINDING_TURNS >= GEN_5) ? ((Random() % 2) + 4) : ((Random() % 4) + 2); gBattleStruct->wrappedMove[gEffectBattler] = gCurrentMove; gBattleStruct->wrappedBy[gEffectBattler] = gBattlerAttacker; @@ -3011,7 +3011,7 @@ void SetMoveEffect(bool32 primary, u32 certain) gBattlescriptCurrInstr++; break; case MOVE_EFFECT_INCINERATE: - if (GetBattlerHoldEffect(gEffectBattler, FALSE) == HOLD_EFFECT_GEMS + if ((B_INCINERATE_GEMS >= GEN_6 && GetBattlerHoldEffect(gEffectBattler, FALSE) == HOLD_EFFECT_GEMS) || (gBattleMons[gEffectBattler].item >= FIRST_BERRY_INDEX && gBattleMons[gEffectBattler].item <= LAST_BERRY_INDEX)) { gLastUsedItem = gBattleMons[gEffectBattler].item; diff --git a/src/battle_util.c b/src/battle_util.c index 174b4eda6..b3b0aee8e 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -1612,9 +1612,9 @@ u8 DoBattlerEndTurnEffects(void) PREPARE_MOVE_BUFFER(gBattleTextBuff1, gBattleStruct->wrappedMove[gActiveBattler]); gBattlescriptCurrInstr = BattleScript_WrapTurnDmg; if (GetBattlerHoldEffect(gBattleStruct->wrappedBy[gActiveBattler], TRUE) == HOLD_EFFECT_BINDING_BAND) - gBattleMoveDamage = gBattleMons[gActiveBattler].maxHP / 8; + gBattleMoveDamage = gBattleMons[gActiveBattler].maxHP / (B_BINDING_DAMAGE >= GEN_6) ? 6 : 8; else - gBattleMoveDamage = gBattleMons[gActiveBattler].maxHP / 16; + gBattleMoveDamage = gBattleMons[gActiveBattler].maxHP / (B_BINDING_DAMAGE >= GEN_6) ? 8 : 16; if (gBattleMoveDamage == 0) gBattleMoveDamage = 1; @@ -2310,7 +2310,7 @@ u8 AtkCanceller_UnableToUseMove(void) gBattleMons[gBattlerAttacker].status2--; if (gBattleMons[gBattlerAttacker].status2 & STATUS2_CONFUSION) { - if (Random() & 1) + if (Random() % ((B_CONFUSION_SELF_DMG_CHANCE >= GEN_7) ? 3 : 2 == 0)) { gBattleCommunication[MULTISTRING_CHOOSER] = 0; BattleScriptPushCursor(); @@ -3319,7 +3319,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u8 ability, u8 special, u16 moveA effect = 2, statId = STAT_ATK; break; case ABILITY_FLASH_FIRE: - if (moveType == TYPE_FIRE && !(gBattleMons[battler].status1 & STATUS1_FREEZE)) + if (moveType == TYPE_FIRE && !((gBattleMons[battler].status1 & STATUS1_FREEZE) && B_FLASH_FIRE_FROZEN <= GEN_4)) { if (!(gBattleResources->flags->flags[battler] & RESOURCE_FLAG_FLASH_FIRE)) { diff --git a/src/wild_encounter.c b/src/wild_encounter.c index 9853d542f..9f2197cee 100644 --- a/src/wild_encounter.c +++ b/src/wild_encounter.c @@ -18,6 +18,7 @@ #include "battle_pike.h" #include "battle_pyramid.h" #include "constants/abilities.h" +#include "constants/battle_config.h" #include "constants/game_stat.h" #include "constants/items.h" #include "constants/layouts.h" @@ -336,7 +337,7 @@ static u8 PickWildMonNature(void) // check synchronize for a pokemon with the same ability if (!GetMonData(&gPlayerParty[0], MON_DATA_SANITY_IS_EGG) && GetMonAbility(&gPlayerParty[0]) == ABILITY_SYNCHRONIZE - && Random() % 2 == 0) + && ((B_SYNCHRONIZE_NATURE >= GEN_8) || Random() % 2 == 0)) { return GetMonData(&gPlayerParty[0], MON_DATA_PERSONALITY) % 25; } From 738d92e39d13e1af167be3d242c14d4e8ecb3d4d Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Thu, 23 Apr 2020 11:29:19 +0200 Subject: [PATCH 2/4] Infiltrator affects mist safeguard --- asm/macros/battle_script.inc | 6 ++++++ data/battle_scripts_1.s | 22 +++++++++++----------- src/battle_script_commands.c | 4 +++- 3 files changed, 20 insertions(+), 12 deletions(-) diff --git a/asm/macros/battle_script.inc b/asm/macros/battle_script.inc index 34b356701..20071fc36 100644 --- a/asm/macros/battle_script.inc +++ b/asm/macros/battle_script.inc @@ -1863,4 +1863,10 @@ jumpifability BS_TARGET, ABILITY_LEAF_GUARD, \jumpptr 1: .endm + + .macro jumpifsafeguard jumpptr:req + jumpifability BS_ATTACKER, ABILITY_INFILTRATOR, 1f + jumpifsideaffecting BS_TARGET, SIDE_STATUS_SAFEGUARD, \jumpptr + 1: + .endm diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s index 46716c4af..a2a523c83 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -907,7 +907,7 @@ BattleScript_EffectPsychoShift: goto BattleScript_ButItFailed BattleScript_EffectPsychoShiftCanWork: jumpifstatus BS_TARGET, STATUS1_ANY, BattleScript_ButItFailed - jumpifsideaffecting BS_TARGET, SIDE_STATUS_SAFEGUARD, BattleScript_SafeguardProtected + jumpifsafeguard BattleScript_SafeguardProtected trypsychoshift BattleScript_MoveEnd attackanimation waitanimation @@ -2132,7 +2132,7 @@ BattleScript_EffectSleep:: jumpifshieldsdown BS_TARGET, BattleScript_LeafGuardProtects jumpifstatus BS_TARGET, STATUS1_ANY, BattleScript_ButItFailed accuracycheck BattleScript_ButItFailed, ACC_CURR_MOVE - jumpifsideaffecting BS_TARGET, SIDE_STATUS_SAFEGUARD, BattleScript_SafeguardProtected + jumpifsafeguard BattleScript_SafeguardProtected attackanimation waitanimation setmoveeffect MOVE_EFFECT_SLEEP @@ -2653,7 +2653,7 @@ BattleScript_EffectToxic:: jumpifstatus BS_TARGET, STATUS1_ANY, BattleScript_ButItFailed trypoisontype BS_ATTACKER, BS_TARGET, BattleScript_NotAffected accuracycheck BattleScript_ButItFailed, ACC_CURR_MOVE - jumpifsideaffecting BS_TARGET, SIDE_STATUS_SAFEGUARD, BattleScript_SafeguardProtected + jumpifsafeguard BattleScript_SafeguardProtected attackanimation waitanimation setmoveeffect MOVE_EFFECT_TOXIC @@ -2856,7 +2856,7 @@ BattleScript_EffectConfuse: jumpifsubstituteblocks BattleScript_ButItFailed jumpifstatus2 BS_TARGET, STATUS2_CONFUSION, BattleScript_AlreadyConfused accuracycheck BattleScript_ButItFailed, ACC_CURR_MOVE - jumpifsideaffecting BS_TARGET, SIDE_STATUS_SAFEGUARD, BattleScript_SafeguardProtected + jumpifsafeguard BattleScript_SafeguardProtected attackanimation waitanimation setmoveeffect MOVE_EFFECT_CONFUSION @@ -2974,7 +2974,7 @@ BattleScript_EffectPoison:: trypoisontype BS_ATTACKER, BS_TARGET, BattleScript_NotAffected jumpifstatus BS_TARGET, STATUS1_ANY, BattleScript_ButItFailed accuracycheck BattleScript_ButItFailed, ACC_CURR_MOVE - jumpifsideaffecting BS_TARGET, SIDE_STATUS_SAFEGUARD, BattleScript_SafeguardProtected + jumpifsafeguard BattleScript_SafeguardProtected attackanimation waitanimation setmoveeffect MOVE_EFFECT_POISON @@ -2999,7 +2999,7 @@ BattleScript_EffectParalyze: jumpiftype BS_TARGET, TYPE_ELECTRIC, BattleScript_NotAffected jumpifstatus BS_TARGET, STATUS1_ANY, BattleScript_ButItFailed accuracycheck BattleScript_ButItFailed, ACC_CURR_MOVE - jumpifsideaffecting BS_TARGET, SIDE_STATUS_SAFEGUARD, BattleScript_SafeguardProtected + jumpifsafeguard BattleScript_SafeguardProtected bichalfword gMoveResultFlags, MOVE_RESULT_SUPER_EFFECTIVE | MOVE_RESULT_NOT_VERY_EFFECTIVE attackanimation waitanimation @@ -3707,7 +3707,7 @@ BattleScript_EffectSwagger:: waitmessage 0x40 BattleScript_SwaggerTryConfuse: jumpifability BS_TARGET, ABILITY_OWN_TEMPO, BattleScript_OwnTempoPrevents - jumpifsideaffecting BS_TARGET, SIDE_STATUS_SAFEGUARD, BattleScript_SafeguardProtected + jumpifsafeguard BattleScript_SafeguardProtected setmoveeffect MOVE_EFFECT_CONFUSION seteffectprimary goto BattleScript_MoveEnd @@ -4244,7 +4244,7 @@ BattleScript_EffectFlatter:: waitmessage 0x40 BattleScript_FlatterTryConfuse:: jumpifability BS_TARGET, ABILITY_OWN_TEMPO, BattleScript_OwnTempoPrevents - jumpifsideaffecting BS_TARGET, SIDE_STATUS_SAFEGUARD, BattleScript_SafeguardProtected + jumpifsafeguard BattleScript_SafeguardProtected setmoveeffect MOVE_EFFECT_CONFUSION seteffectprimary goto BattleScript_MoveEnd @@ -4263,7 +4263,7 @@ BattleScript_EffectWillOWisp:: jumpifshieldsdown BS_TARGET, BattleScript_LeafGuardProtects jumpifstatus BS_TARGET, STATUS1_ANY, BattleScript_ButItFailed accuracycheck BattleScript_ButItFailed, ACC_CURR_MOVE - jumpifsideaffecting BS_TARGET, SIDE_STATUS_SAFEGUARD, BattleScript_SafeguardProtected + jumpifsafeguard BattleScript_SafeguardProtected attackanimation waitanimation setmoveeffect MOVE_EFFECT_BURN @@ -4536,7 +4536,7 @@ BattleScript_EffectYawn:: jumpifleafguard BattleScript_LeafGuardProtects jumpifshieldsdown BS_TARGET, BattleScript_LeafGuardProtects jumpifsubstituteblocks BattleScript_ButItFailed - jumpifsideaffecting BS_TARGET, SIDE_STATUS_SAFEGUARD, BattleScript_SafeguardProtected + jumpifsafeguard BattleScript_SafeguardProtected accuracycheck BattleScript_ButItFailed, NO_ACC_CALC_CHECK_LOCK_ON jumpifcantmakeasleep BattleScript_ButItFailed setyawn BattleScript_ButItFailed @@ -4665,7 +4665,7 @@ BattleScript_TeeterDanceLoop:: jumpifstatus2 BS_TARGET, STATUS2_CONFUSION, BattleScript_TeeterDanceAlreadyConfused jumpifhasnohp BS_TARGET, BattleScript_TeeterDanceLoopIncrement accuracycheck BattleScript_TeeterDanceMissed, ACC_CURR_MOVE - jumpifsideaffecting BS_TARGET, SIDE_STATUS_SAFEGUARD, BattleScript_TeeterDanceSafeguardProtected + jumpifsafeguard BattleScript_TeeterDanceSafeguardProtected attackanimation waitanimation seteffectprimary diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index f33ec552b..175745466 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -8539,7 +8539,8 @@ static u32 ChangeStatBuffs(s8 statValue, u32 statId, u32 flags, const u8 *BS_ptr if (statValue <= -1) // Stat decrease. { if (gSideTimers[GET_BATTLER_SIDE(gActiveBattler)].mistTimer - && !certain && gCurrentMove != MOVE_CURSE) + && !certain && gCurrentMove != MOVE_CURSE + && !(gActiveBattler == gBattlerTarget && GetBattlerAbility(gBattlerAttacker) == ABILITY_INFILTRATOR)) { if (flags == STAT_BUFF_ALLOW_PTR) { @@ -8564,6 +8565,7 @@ static u32 ChangeStatBuffs(s8 statValue, u32 statId, u32 flags, const u8 *BS_ptr return STAT_CHANGE_DIDNT_WORK; } else if ((GetBattlerAbility(gActiveBattler) == ABILITY_CLEAR_BODY + || GetBattlerAbility(gActiveBattler) == ABILITY_FULL_METAL_BODY || GetBattlerAbility(gActiveBattler) == ABILITY_WHITE_SMOKE) && !certain && gCurrentMove != MOVE_CURSE) { From ee68f0f826ae686a8ad7e1348df8f45513e6707e Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Sat, 25 Apr 2020 11:17:59 +0200 Subject: [PATCH 3/4] Fix switch-in abilities when shift style switch --- data/battle_scripts_1.s | 16 ++++++++++++---- include/battle.h | 2 +- include/constants/battle_script_commands.h | 2 +- src/battle_script_commands.c | 6 +----- 4 files changed, 15 insertions(+), 11 deletions(-) diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s index a2a523c83..06642142e 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -4921,6 +4921,7 @@ BattleScript_GiveExp:: end2 BattleScript_HandleFaintedMon:: + setbyte sSHIFT_SWITCHED, 0x0 atk24 BattleScript_82DA8F6 jumpifbyte CMP_NOT_EQUAL, gBattleOutcome, 0, BattleScript_FaintedMonEnd jumpifbattletype BATTLE_TYPE_TRAINER | BATTLE_TYPE_DOUBLE, BattleScript_FaintedMonTryChooseAnother @@ -4931,7 +4932,7 @@ BattleScript_HandleFaintedMon:: jumpifbyte CMP_EQUAL, gBattleCommunication + 1, 0x0, BattleScript_FaintedMonTryChooseAnother jumpifplayerran BattleScript_FaintedMonEnd printstring STRINGID_CANTESCAPE2 -BattleScript_FaintedMonTryChooseAnother:: +BattleScript_FaintedMonTryChooseAnother: openpartyscreen 0x3, BattleScript_FaintedMonEnd switchhandleorder BS_FAINTED, 0x2 jumpifnotbattletype BATTLE_TYPE_TRAINER, BattleScript_FaintedMonChooseAnother @@ -4966,9 +4967,8 @@ BattleScript_FaintedMonTryChooseAnother:: hidepartystatussummary BS_ATTACKER switchinanim BS_ATTACKER, 0x0 waitstate - switchineffects BS_ATTACKER - resetsentmonsvalue -BattleScript_FaintedMonChooseAnother:: + setbyte sSHIFT_SWITCHED, 0x1 +BattleScript_FaintedMonChooseAnother: drawpartystatussummary BS_FAINTED getswitchedmondata BS_FAINTED switchindataupdate BS_FAINTED @@ -4979,11 +4979,19 @@ BattleScript_FaintedMonChooseAnother:: waitstate various7 BS_ATTACKER trytrainerslidelastonmsg BS_FAINTED + jumpifbytenotequal sSHIFT_SWITCHED, sZero, BattleScript_FaintedMonShiftSwitched +BattleScript_FaintedMonChooseAnotherEnd: switchineffects BS_FAINTED jumpifbattletype BATTLE_TYPE_DOUBLE, BattleScript_FaintedMonEnd cancelallactions BattleScript_FaintedMonEnd:: end2 +BattleScript_FaintedMonShiftSwitched: + copybyte sSAVED_BATTLER, gBattlerTarget + switchineffects BS_ATTACKER + resetsentmonsvalue + copybyte gBattlerTarget, sSAVED_BATTLER + goto BattleScript_FaintedMonChooseAnotherEnd BattleScript_82DA8F6:: openpartyscreen 0x5, BattleScript_82DA8FC diff --git a/include/battle.h b/include/battle.h index d59623410..6a9ecd89c 100644 --- a/include/battle.h +++ b/include/battle.h @@ -594,7 +594,7 @@ struct BattleScripting u16 tripleKickPower; u8 moveendState; u8 savedStatChanger; // For further use, if attempting to change stat two times(ex. Moody) - u8 unused_16; + u8 shiftSwitched; // When the game tells you the next enemy's pokemon and you switch. Option for noobs but oh well. u8 battler; u8 animTurn; u8 animTargetsHit; diff --git a/include/constants/battle_script_commands.h b/include/constants/battle_script_commands.h index 325e53357..71b3b1fca 100644 --- a/include/constants/battle_script_commands.h +++ b/include/constants/battle_script_commands.h @@ -12,7 +12,7 @@ #define sTRIPLE_KICK_POWER gBattleScripting + 0x12 #define sMOVEEND_STATE gBattleScripting + 0x14 #define sSAVED_STAT_CHANGER gBattleScripting + 0x15 -#define sUNUSED_16 gBattleScripting + 0x16 +#define sSHIFT_SWITCHED gBattleScripting + 0x16 #define sBATTLER gBattleScripting + 0x17 #define sB_ANIM_TURN gBattleScripting + 0x18 #define sB_ANIM_TARGETS_HIT gBattleScripting + 0x19 diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 175745466..e4d8ed6bc 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -7006,11 +7006,7 @@ static void Cmd_various(void) statId = (Random() % NUM_BATTLE_STATS) + 1; } while (!(bits & gBitTable[statId])); - if (gBattleMons[gActiveBattler].statStages[statId] >= 11) - SET_STATCHANGER(statId, 1, FALSE); - else - SET_STATCHANGER(statId, 2, FALSE); - + SET_STATCHANGER(statId, 2, FALSE); gBattlescriptCurrInstr += 7; } else From 073218d544e7bdce87d0aaa7f091fb46e01769f5 Mon Sep 17 00:00:00 2001 From: MandL27 <10366615+MandL27@users.noreply.github.com> Date: Sat, 25 Apr 2020 05:22:12 -0400 Subject: [PATCH 4/4] Mind Blown has contest data (#332) * uncomment mind blown * more contest moves --- src/data/contest_moves.h | 53 +++++++++++++++++++++++----------------- 1 file changed, 30 insertions(+), 23 deletions(-) diff --git a/src/data/contest_moves.h b/src/data/contest_moves.h index 8b87aba10..89ace25d3 100644 --- a/src/data/contest_moves.h +++ b/src/data/contest_moves.h @@ -12,7 +12,7 @@ const struct ContestMove gContestMoves[MOVES_COUNT] = }, [MOVE_KARATE_CHOP] = - { + { .effect = CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL, .contestCategory = CONTEST_CATEGORY_TOUGH, .comboStarterId = 0, @@ -5367,30 +5367,37 @@ const struct ContestMove gContestMoves[MOVES_COUNT] = .comboMoves = {0} }, - // uncomment these after adding usum moves - //[MOVE_MIND_BLOWN] = - //{ - // .effect = CONTEST_EFFECT_USER_MORE_EASILY_STARTLED, - // .contestCategory = CONTEST_CATEGORY_BEAUTY, - // .comboStarterId = 0, - // .comboMoves = {0} - //}, + [MOVE_MIND_BLOWN] = + { + .effect = CONTEST_EFFECT_USER_MORE_EASILY_STARTLED, + .contestCategory = CONTEST_CATEGORY_BEAUTY, + .comboStarterId = 0, + .comboMoves = {0} + }, - //[MOVE_PLASMA_FISTS] = - //{ - // .effect = CONTEST_EFFECT_WORSEN_CONDITION_OF_PREV_MONS, - // .contestCategory = CONTEST_CATEGORY_COOL, - // .comboStarterId = 0, - // .comboMoves = {0} - //}, + [MOVE_PLASMA_FISTS] = + { + .effect = CONTEST_EFFECT_WORSEN_CONDITION_OF_PREV_MONS, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = 0, + .comboMoves = {0} + }, - //[MOVE_PHOTON_GEYSER] = - //{ - // .effect = CONTEST_EFFECT_BETTER_IF_SAME_TYPE, - // .contestCategory = CONTEST_CATEGORY_SMART, - // .comboStarterId = 0, - // .comboMoves = {0} - //}, + [MOVE_PHOTON_GEYSER] = + { + .effect = CONTEST_EFFECT_BETTER_IF_SAME_TYPE, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = 0, + .comboMoves = {0} + }, + + [MOVE_DOUBLE_IRON_BASH] = + { + .effect = CONTEST_EFFECT_REPETITION_NOT_BORING, + .contestCategory = CONTEST_CATEGORY_TOUGH, + .comboStarterId = 0, + .comboMoves = {0} + }, }; const struct ContestEffect gContestEffects[] =