implemented G-Max Stonesurge, G-Max Steelsurge

This commit is contained in:
AgustinGDLV 2023-02-26 22:02:06 -08:00
parent 503aad9137
commit 4d19659b0b
13 changed files with 244 additions and 58 deletions

View file

@ -2213,7 +2213,7 @@
various BS_ATTACKER, VARIOUS_TRY_SYMBIOSIS
.endm
@ The next few macros are used by Max Moves.
@ Used to active a different Max Move effects.
.macro setmaxmoveeffect
various 0, VARIOUS_SET_MAX_MOVE_EFFECT
.endm
@ -2228,6 +2228,11 @@
.4byte \ptr
.endm
.macro setsteelsurge, failInstr:req
various 0, VARIOUS_SET_STEELSURGE
.4byte \failInstr
.endm
@ Tries to increase or decrease a battler's stat's stat stage by a specified amount. If impossible, jumps to \script.
.macro modifybattlerstatstage battler:req, stat:req, mode:req, amount:req, script:req, animation:req, customString

View file

@ -910,6 +910,40 @@ gBattleAnims_Moves::
.4byte Move_MAX_WYRMWIND
.4byte Move_MAX_DARKNESS
.4byte Move_MAX_STARFALL
@@@@ G-MAX MOVES
.4byte Move_G_MAX_VINE_LASH
.4byte Move_G_MAX_WILDFIRE
.4byte Move_G_MAX_CANNONADE
.4byte Move_G_MAX_BEFUDDLE
.4byte Move_G_MAX_VOLT_CRASH
.4byte Move_G_MAX_GOLD_RUSH
.4byte Move_G_MAX_CHI_STRIKE
.4byte Move_G_MAX_TERROR
.4byte Move_G_MAX_FOAM_BURST
.4byte Move_G_MAX_RESONANCE
.4byte Move_G_MAX_CUDDLE
.4byte Move_G_MAX_REPLENISH
.4byte Move_G_MAX_MALODOR
.4byte Move_G_MAX_MELTDOWN
.4byte Move_G_MAX_DRUM_SOLO
.4byte Move_G_MAX_FIREBALL
.4byte Move_G_MAX_HYDROSNIPE
.4byte Move_G_MAX_WIND_RAGE
.4byte Move_G_MAX_GRAVITAS
.4byte Move_G_MAX_STONESURGE
.4byte Move_G_MAX_VOLCALITH
.4byte Move_G_MAX_TARTNESS
.4byte Move_G_MAX_SWEETNESS
.4byte Move_G_MAX_SANDBLAST
.4byte Move_G_MAX_STUN_SHOCK
.4byte Move_G_MAX_CENTIFERNO
.4byte Move_G_MAX_SMITE
.4byte Move_G_MAX_SNOOZE
.4byte Move_G_MAX_FINALE
.4byte Move_G_MAX_STEELSURGE
.4byte Move_G_MAX_DEPLETION
.4byte Move_G_MAX_ONE_BLOW
.4byte Move_G_MAX_RAPID_FLOW
@@@ Last Move - cannot be reached
.4byte Move_COUNT
@ -30821,6 +30855,8 @@ Move_MAX_MINDSTORM:
Move_MAX_WYRMWIND:
Move_MAX_DARKNESS:
Move_MAX_STARFALL:
launchtask AnimTask_DynamaxGrowth 0x5 0x1 0x1
waitforvisualfinish
end
Move_MAX_GUARD:
@ -30870,3 +30906,40 @@ Move_MAX_LIGHTNING::
waitforvisualfinish
goto Move_ZAP_CANNON
end
Move_G_MAX_VINE_LASH:
Move_G_MAX_WILDFIRE:
Move_G_MAX_CANNONADE:
Move_G_MAX_BEFUDDLE:
Move_G_MAX_VOLT_CRASH:
Move_G_MAX_GOLD_RUSH:
Move_G_MAX_CHI_STRIKE:
Move_G_MAX_TERROR:
Move_G_MAX_FOAM_BURST:
Move_G_MAX_RESONANCE:
Move_G_MAX_CUDDLE:
Move_G_MAX_REPLENISH:
Move_G_MAX_MALODOR:
Move_G_MAX_MELTDOWN:
Move_G_MAX_DRUM_SOLO:
Move_G_MAX_FIREBALL:
Move_G_MAX_HYDROSNIPE:
Move_G_MAX_WIND_RAGE:
Move_G_MAX_GRAVITAS:
Move_G_MAX_STONESURGE:
Move_G_MAX_VOLCALITH:
Move_G_MAX_TARTNESS:
Move_G_MAX_SWEETNESS:
Move_G_MAX_SANDBLAST:
Move_G_MAX_STUN_SHOCK:
Move_G_MAX_CENTIFERNO:
Move_G_MAX_SMITE:
Move_G_MAX_SNOOZE:
Move_G_MAX_FINALE:
Move_G_MAX_STEELSURGE:
Move_G_MAX_DEPLETION:
Move_G_MAX_ONE_BLOW:
Move_G_MAX_RAPID_FLOW:
launchtask AnimTask_DynamaxGrowth 0x5 0x1 0x1
waitforvisualfinish
end

View file

@ -420,7 +420,18 @@ gBattleScriptsForMoveEffects::
.4byte BattleScript_EffectShellTrap @ EFFECT_SHELL_TRAP
.4byte BattleScript_EffectMaxMove @ EFFECT_MAX_MOVE
BattleScript_StealthRockActivates::
setstealthrock BattleScript_MoveEnd
printstring STRINGID_POINTEDSTONESFLOAT
waitmessage B_WAIT_TIME_LONG
goto BattleScript_MoveEnd
BattleScript_SteelsurgeActivates::
setsteelsurge BattleScript_MoveEnd
printstring STRINGID_SHARPSTEELFLOATS
waitmessage B_WAIT_TIME_LONG
goto BattleScript_MoveEnd
BattleScript_EffectAttackUpUserAlly:
jumpifnoally BS_ATTACKER, BattleScript_EffectAttackUp
attackcanceler
@ -7454,6 +7465,11 @@ BattleScript_StealthRockFree::
waitmessage B_WAIT_TIME_LONG
return
BattleScript_SteelsurgeFree::
printstring STRINGID_PKMNBLEWAWAYSHARPSTEEL
waitmessage B_WAIT_TIME_LONG
return
BattleScript_MonTookFutureAttack::
printstring STRINGID_PKMNTOOKATTACK
waitmessage B_WAIT_TIME_LONG

View file

@ -218,6 +218,7 @@ struct SideTimer
u8 tailwindBattlerId;
u8 luckyChantTimer;
u8 luckyChantBattlerId;
u8 steelsurgeAmount;
// Timers below this point are not swapped by Court Change
u8 followmeTimer;
u8 followmeTarget:3;

View file

@ -453,6 +453,9 @@ extern const u8 BattleScript_DampPreventsAftermath[];
extern const u8 BattleScript_HealingWishActivates[];
extern const u8 BattleScript_LunarDanceActivates[];
extern const u8 BattleScript_ShellTrapSetUp[];
extern const u8 BattleScript_StealthRockActivates[];
extern const u8 BattleScript_SteelsurgeActivates[];
extern const u8 BattleScript_SteelsurgeFree[];
// zmoves
extern const u8 BattleScript_ZMoveActivateDamaging[];

View file

@ -5,7 +5,7 @@
#define DEBUG_OVERWORLD_MENU TRUE // Enables a overworld debug menu for changing flags, variables, giving pokemon and more, accessed by holding R and pressing START while in the overworld by default.
#define DEBUG_OVERWORLD_HELD_KEYS (R_BUTTON) // The keys required to be held to open the debug menu.
#define DEBUG_OVERWORLD_TRIGGER_EVENT pressedStartButton // The event that opens the menu when holding the key(s) defined in DEBUG_OVERWORLD_HELD_KEYS.
#define DEBUG_OVERWORLD_IN_MENU FALSE // Replaces the overworld debug menu button combination with a start menu entry (above Pokédex).
#define DEBUG_OVERWORLD_IN_MENU TRUE // Replaces the overworld debug menu button combination with a start menu entry (above Pokédex).
// Debug Flags
// To use the following debug features, replace the 0s with the flag ID you're assigning it to.

View file

@ -233,8 +233,10 @@
#define SIDE_STATUS_WIDE_GUARD (1 << 19)
#define SIDE_STATUS_CRAFTY_SHIELD (1 << 20)
#define SIDE_STATUS_MAT_BLOCK (1 << 21)
#define SIDE_STATUS_STEELSURGE (1 << 22)
#define SIDE_STATUS_STEELSURGE_DAMAGED (1 << 23)
#define SIDE_STATUS_HAZARDS_ANY (SIDE_STATUS_SPIKES | SIDE_STATUS_STICKY_WEB | SIDE_STATUS_TOXIC_SPIKES | SIDE_STATUS_STEALTH_ROCK)
#define SIDE_STATUS_HAZARDS_ANY (SIDE_STATUS_SPIKES | SIDE_STATUS_STICKY_WEB | SIDE_STATUS_TOXIC_SPIKES | SIDE_STATUS_STEALTH_ROCK | SIDE_STATUS_STEELSURGE)
#define SIDE_STATUS_SCREEN_ANY (SIDE_STATUS_REFLECT | SIDE_STATUS_LIGHTSCREEN | SIDE_STATUS_AURORA_VEIL)
// Field affecting statuses.
@ -375,8 +377,10 @@
#define MOVE_EFFECT_LOWER_SIDE_STATS 74
#define MOVE_EFFECT_WEATHER 75
#define MOVE_EFFECT_TERRAIN 76
#define MOVE_EFFECT_STEALTH_ROCK 77
#define MOVE_EFFECT_STEELSURGE 78
#define NUM_MOVE_EFFECTS 77
#define NUM_MOVE_EFFECTS 79
#define MOVE_EFFECT_AFFECTS_USER 0x4000
#define MOVE_EFFECT_CERTAIN 0x8000

View file

@ -263,6 +263,7 @@
#define VARIOUS_JUMP_IF_NO_VALID_TARGETS 171
#define VARIOUS_JUMP_IF_TARGET_NOT_ALLY 172
#define VARIOUS_JUMP_IF_TARGET_ABSENT 173
#define VARIOUS_SET_STEELSURGE 174
// Cmd_manipulatedamage
#define DMG_CHANGE_SIGN 0

View file

@ -641,8 +641,11 @@
#define STRINGID_PKMNSABILITYPREVENTSABILITY 639
#define STRINGID_PREPARESHELLTRAP 640
#define STRINGID_SHELLTRAPDIDNTWORK 641
#define STRINGID_SHARPSTEELFLOATS 642
#define STRINGID_SHARPSTEELDMG 643
#define STRINGID_PKMNBLEWAWAYSHARPSTEEL 644
#define BATTLESTRINGS_COUNT 642
#define BATTLESTRINGS_COUNT 645
// This is the string id that gBattleStringsTable starts with.
// String ids before this (e.g. STRINGID_INTROMSG) are not in the table,

View file

@ -154,6 +154,7 @@ enum
LIST_SIDE_STEALTH_ROCK,
LIST_SIDE_TOXIC_SPIKES,
LIST_SIDE_STICKY_WEB,
LIST_SIDE_STEELSURGE,
};
enum
@ -228,6 +229,7 @@ static const u8 sText_PP[] = _("PP");
static const u8 sText_StealthRock[] = _("Stealth Rock");
static const u8 sText_ToxicSpikes[] = _("Toxic Spikes");
static const u8 sText_StickyWeb[] = _("Sticky Web");
static const u8 sText_Steelsurge[] = _("Steelsurge");
static const u8 sText_AI[] = _("AI");
static const u8 sText_NoBadMoves[] = _("No Bad Moves");
static const u8 sText_Viability[] = _("Viability");
@ -454,6 +456,7 @@ static const struct ListMenuItem sSideStatusListItems[] =
{sText_StealthRock, LIST_SIDE_STEALTH_ROCK},
{sText_ToxicSpikes, LIST_SIDE_TOXIC_SPIKES},
{sText_StickyWeb, LIST_SIDE_STICKY_WEB},
{sText_Steelsurge, LIST_SIDE_STEELSURGE},
};
static const struct ListMenuItem sSecondaryListItems[] =
@ -1744,6 +1747,15 @@ static u8 *GetSideStatusValue(struct BattleDebugMenu *data, bool32 changeStatus,
*(u32 *)(data->modifyArrows.modifiedValPtr) &= ~SIDE_STATUS_STICKY_WEB;
}
return &sideTimer->stickyWebAmount;
case LIST_SIDE_STEELSURGE:
if (changeStatus)
{
if (statusTrue)
*(u32 *)(data->modifyArrows.modifiedValPtr) |= SIDE_STATUS_STEELSURGE;
else
*(u32 *)(data->modifyArrows.modifiedValPtr) &= ~SIDE_STATUS_STEELSURGE;
}
return &sideTimer->steelsurgeAmount;
default:
return NULL;
}

View file

@ -776,9 +776,15 @@ static const u8 sText_AbilityWeakenedSurroundingMonsStat[] = _("{B_ATK_NAME_WITH
static const u8 sText_AttackerGainedStrengthFromTheFallen[] = _("{B_ATK_NAME_WITH_PREFIX} gained strength\nfrom the fallen!");
static const u8 sText_PrepareShellTrap[] = _("{B_ATK_NAME_WITH_PREFIX} set a shell trap!");
static const u8 sText_ShellTrapDidntWork[] = _("{B_ATK_NAME_WITH_PREFIX}'s shell trap didn't work!");
static const u8 sText_SharpSteelFloats[] = _("Sharp-pointed steel floats\naround {B_DEF_TEAM2} team!");
static const u8 sText_SharpSteelDmg[] = _("Sharp steel bit into {B_DEF_NAME_WITH_PREFIX}!");
static const u8 sText_PkmnBlewAwaySharpSteel[] = _("{B_ATK_NAME_WITH_PREFIX} blew away\nsharp steel!");
const u8 *const gBattleStringsTable[BATTLESTRINGS_COUNT] =
{
[STRINGID_PKMNBLEWAWAYSHARPSTEEL - BATTLESTRINGS_TABLE_START] = sText_PkmnBlewAwaySharpSteel,
[STRINGID_SHARPSTEELDMG - BATTLESTRINGS_TABLE_START] = sText_SharpSteelDmg,
[STRINGID_SHARPSTEELFLOATS - BATTLESTRINGS_TABLE_START] = sText_SharpSteelFloats,
[STRINGID_ATTACKERGAINEDSTRENGTHFROMTHEFALLEN - BATTLESTRINGS_TABLE_START] = sText_AttackerGainedStrengthFromTheFallen,
[STRINGID_ABILITYWEAKENEDFSURROUNDINGMONSSTAT - BATTLESTRINGS_TABLE_START] = sText_AbilityWeakenedSurroundingMonsStat,
[STRINGID_ELECTRICTERRAINACTIVATEDABILITY - BATTLESTRINGS_TABLE_START] = sText_ElectricTerrainActivatedAbility,
@ -1460,7 +1466,7 @@ const u16 gHealingWishStringIds[] =
const u16 gDmgHazardsStringIds[] =
{
STRINGID_PKMNHURTBYSPIKES, STRINGID_STEALTHROCKDMG
STRINGID_PKMNHURTBYSPIKES, STRINGID_STEALTHROCKDMG, STRINGID_SHARPSTEELDMG
};
const u16 gSwitchInAbilityStringIds[] =

View file

@ -2868,6 +2868,7 @@ void SetMoveEffect(bool32 primary, u32 certain)
bool32 mirrorArmorReflected = (GetBattlerAbility(gBattlerTarget) == ABILITY_MIRROR_ARMOR);
u32 flags = 0;
u16 battlerAbility;
bool8 activateAfterFaint = FALSE;
if (gSpecialStatuses[gBattlerAttacker].parentalBondState == PARENTAL_BOND_1ST_HIT
&& gBattleMons[gBattlerTarget].hp != 0
@ -2885,6 +2886,10 @@ void SetMoveEffect(bool32 primary, u32 certain)
gBattleStruct->moveEffect2 = gBattleScripting.moveEffect;
gBattlescriptCurrInstr++;
return;
case MOVE_EFFECT_STEALTH_ROCK:
case MOVE_EFFECT_STEELSURGE:
activateAfterFaint = TRUE;
break;
}
if (gBattleScripting.moveEffect & MOVE_EFFECT_AFFECTS_USER)
@ -2926,6 +2931,7 @@ void SetMoveEffect(bool32 primary, u32 certain)
INCREMENT_RESET_RETURN
if (gBattleMons[gEffectBattler].hp == 0
&& !activateAfterFaint
&& gBattleScripting.moveEffect != MOVE_EFFECT_PAYDAY
&& gBattleScripting.moveEffect != MOVE_EFFECT_STEAL_ITEM
&& gBattleScripting.moveEffect != MOVE_EFFECT_BUG_BITE)
@ -3825,6 +3831,20 @@ void SetMoveEffect(bool32 primary, u32 certain)
}
break;
}
case MOVE_EFFECT_STEALTH_ROCK:
if (!(gSideStatuses[GetBattlerSide(gEffectBattler)] & SIDE_STATUS_STEALTH_ROCK))
{
BattleScriptPush(gBattlescriptCurrInstr + 1);
gBattlescriptCurrInstr = BattleScript_StealthRockActivates;
}
break;
case MOVE_EFFECT_STEELSURGE:
if (!(gSideStatuses[GetBattlerSide(gEffectBattler)] & SIDE_STATUS_STEELSURGE))
{
BattleScriptPush(gBattlescriptCurrInstr + 1);
gBattlescriptCurrInstr = BattleScript_SteelsurgeActivates;
}
break;
}
}
}
@ -3911,7 +3931,7 @@ static void Cmd_tryfaintmon(void)
BattleScriptPop();
gBattlescriptCurrInstr = instr;
gSideStatuses[GetBattlerSide(gActiveBattler)] &= ~(SIDE_STATUS_SPIKES_DAMAGED | SIDE_STATUS_TOXIC_SPIKES_DAMAGED | SIDE_STATUS_STEALTH_ROCK_DAMAGED | SIDE_STATUS_STICKY_WEB_DAMAGED);
gSideStatuses[GetBattlerSide(gActiveBattler)] &= ~(SIDE_STATUS_SPIKES_DAMAGED | SIDE_STATUS_TOXIC_SPIKES_DAMAGED | SIDE_STATUS_STEALTH_ROCK_DAMAGED | SIDE_STATUS_STICKY_WEB_DAMAGED | SIDE_STATUS_STEELSURGE_DAMAGED);
}
else
{
@ -7150,6 +7170,17 @@ static void Cmd_switchineffects(void)
BattleScriptPushCursor();
gBattlescriptCurrInstr = BattleScript_StickyWebOnSwitchIn;
}
else if (!(gSideStatuses[GetBattlerSide(gActiveBattler)] & SIDE_STATUS_STEELSURGE_DAMAGED)
&& (gSideStatuses[GetBattlerSide(gActiveBattler)] & SIDE_STATUS_STEELSURGE)
&& IsBattlerAffectedByHazards(gActiveBattler, FALSE)
&& GetBattlerAbility(gActiveBattler) != ABILITY_MAGIC_GUARD)
{
gSideStatuses[GetBattlerSide(gActiveBattler)] |= SIDE_STATUS_STEELSURGE_DAMAGED;
gBattleMoveDamage = GetStealthHazardDamage(gBattleMoves[MOVE_G_MAX_STEELSURGE].type, gActiveBattler);
if (gBattleMoveDamage != 0)
SetDmgHazardsBattlescript(gActiveBattler, 2);
}
else if (gBattleMons[gActiveBattler].hp != gBattleMons[gActiveBattler].maxHP && gBattleStruct->zmove.healReplacement)
{
gBattleStruct->zmove.healReplacement = FALSE;
@ -7183,7 +7214,7 @@ static void Cmd_switchineffects(void)
return;
}
gSideStatuses[GetBattlerSide(gActiveBattler)] &= ~(SIDE_STATUS_SPIKES_DAMAGED | SIDE_STATUS_TOXIC_SPIKES_DAMAGED | SIDE_STATUS_STEALTH_ROCK_DAMAGED | SIDE_STATUS_STICKY_WEB_DAMAGED);
gSideStatuses[GetBattlerSide(gActiveBattler)] &= ~(SIDE_STATUS_SPIKES_DAMAGED | SIDE_STATUS_TOXIC_SPIKES_DAMAGED | SIDE_STATUS_STEALTH_ROCK_DAMAGED | SIDE_STATUS_STICKY_WEB_DAMAGED | SIDE_STATUS_STEELSURGE_DAMAGED);
for (i = 0; i < gBattlersCount; i++)
{
@ -8514,6 +8545,7 @@ static bool32 ClearDefogHazards(u8 battlerAtk, bool32 clear)
DEFOG_CLEAR(SIDE_STATUS_STEALTH_ROCK, stealthRockAmount, BattleScript_StealthRockFree, 0);
DEFOG_CLEAR(SIDE_STATUS_TOXIC_SPIKES, toxicSpikesAmount, BattleScript_ToxicSpikesFree, 0);
DEFOG_CLEAR(SIDE_STATUS_STICKY_WEB, stickyWebAmount, BattleScript_StickyWebFree, 0);
DEFOG_CLEAR(SIDE_STATUS_STEELSURGE, steelsurgeAmount, BattleScript_SteelsurgeFree, 0);
}
return FALSE;
@ -8698,6 +8730,7 @@ static bool32 CourtChangeSwapSideStatuses(void)
COURTCHANGE_SWAP(SIDE_STATUS_STEALTH_ROCK, stealthRockAmount, temp);
COURTCHANGE_SWAP(SIDE_STATUS_TOXIC_SPIKES, toxicSpikesAmount, temp);
COURTCHANGE_SWAP(SIDE_STATUS_STICKY_WEB, stickyWebAmount, temp);
COURTCHANGE_SWAP(SIDE_STATUS_STEELSURGE, stickyWebAmount, temp);
// Change battler IDs of swapped effects. Needed for the correct string when they expire
// E.g. "Foe's Reflect wore off!"
@ -11206,6 +11239,22 @@ static void Cmd_various(void)
gBattlescriptCurrInstr = cmd->nextInstr;
return;
}
case VARIOUS_STORE_HEALING_WISH:
{
VARIOUS_ARGS();
if (gCurrentMove == MOVE_LUNAR_DANCE)
gBattleStruct->storedLunarDance |= gBitTable[gActiveBattler];
else
gBattleStruct->storedHealingWish |= gBitTable[gActiveBattler];
break;
}
case VARIOUS_HIT_SWITCH_TARGET_FAILED:
{
VARIOUS_ARGS();
gBattleStruct->hitSwitchTargetFailed = TRUE;
gBattlescriptCurrInstr = cmd->nextInstr;
return;
}
case VARIOUS_SET_MAX_MOVE_EFFECT:
{
VARIOUS_ARGS();
@ -11237,6 +11286,12 @@ static void Cmd_various(void)
case MAX_EFFECT_PSYCHIC_TERRAIN:
gBattleScripting.moveEffect = MOVE_EFFECT_TERRAIN;
break;
case MAX_EFFECT_STEALTH_ROCK:
gBattleScripting.moveEffect = MOVE_EFFECT_STEALTH_ROCK;
break;
case MAX_EFFECT_STEELSURGE:
gBattleScripting.moveEffect = MOVE_EFFECT_STEELSURGE;
break;
}
break;
}
@ -11258,20 +11313,20 @@ static void Cmd_various(void)
gBattlescriptCurrInstr = cmd->nextInstr;
return;
}
case VARIOUS_STORE_HEALING_WISH:
case VARIOUS_SET_STEELSURGE:
{
VARIOUS_ARGS();
if (gCurrentMove == MOVE_LUNAR_DANCE)
gBattleStruct->storedLunarDance |= gBitTable[gActiveBattler];
VARIOUS_ARGS(const u8 *failInstr);
u8 targetSide = GetBattlerSide(gBattlerTarget);
if (gSideStatuses[targetSide] & SIDE_STATUS_STEELSURGE)
{
gBattlescriptCurrInstr = cmd->failInstr;
}
else
gBattleStruct->storedHealingWish |= gBitTable[gActiveBattler];
break;
}
case VARIOUS_HIT_SWITCH_TARGET_FAILED:
{
VARIOUS_ARGS();
gBattleStruct->hitSwitchTargetFailed = TRUE;
gBattlescriptCurrInstr = cmd->nextInstr;
{
gSideStatuses[targetSide] |= SIDE_STATUS_STEELSURGE;
gSideTimers[targetSide].steelsurgeAmount = 1;
gBattlescriptCurrInstr = cmd->nextInstr;
}
return;
}
} // End of switch (cmd->id)
@ -14065,6 +14120,13 @@ static void Cmd_rapidspinfree(void)
BattleScriptPushCursor();
gBattlescriptCurrInstr = BattleScript_StealthRockFree;
}
else if (gSideStatuses[atkSide] & SIDE_STATUS_STEELSURGE)
{
gSideStatuses[atkSide] &= ~SIDE_STATUS_STEELSURGE;
gSideTimers[atkSide].steelsurgeAmount = 0;
BattleScriptPushCursor();
gBattlescriptCurrInstr = BattleScript_SteelsurgeFree;
}
else
{
gBattlescriptCurrInstr = cmd->nextInstr;

View file

@ -15233,7 +15233,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_DYNAMAX] =
.type = TYPE_ROCK,
.accuracy = 0,
.pp = 10,
.secondaryEffectChance = 0,
.secondaryEffectChance = 100,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = 0,
@ -15248,7 +15248,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_DYNAMAX] =
.type = TYPE_GROUND,
.accuracy = 0,
.pp = 10,
.secondaryEffectChance = 0,
.secondaryEffectChance = 100,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = 0,
@ -15278,7 +15278,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_DYNAMAX] =
.type = TYPE_GRASS,
.accuracy = 0,
.pp = 10,
.secondaryEffectChance = 0,
.secondaryEffectChance = 100,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = 0,
@ -15293,7 +15293,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_DYNAMAX] =
.type = TYPE_STEEL,
.accuracy = 0,
.pp = 10,
.secondaryEffectChance = 0,
.secondaryEffectChance = 100,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = 0,
@ -15308,7 +15308,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_DYNAMAX] =
.type = TYPE_GRASS,
.accuracy = 0,
.pp = 10,
.secondaryEffectChance = 0,
.secondaryEffectChance = 100,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = 0,
@ -15323,7 +15323,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_DYNAMAX] =
.type = TYPE_FIRE,
.accuracy = 0,
.pp = 10,
.secondaryEffectChance = 0,
.secondaryEffectChance = 100,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = 0,
@ -15338,7 +15338,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_DYNAMAX] =
.type = TYPE_WATER,
.accuracy = 0,
.pp = 10,
.secondaryEffectChance = 0,
.secondaryEffectChance = 100,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = 0,
@ -15353,7 +15353,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_DYNAMAX] =
.type = TYPE_BUG,
.accuracy = 0,
.pp = 10,
.secondaryEffectChance = 0,
.secondaryEffectChance = 100,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = 0,
@ -15368,7 +15368,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_DYNAMAX] =
.type = TYPE_ELECTRIC,
.accuracy = 0,
.pp = 10,
.secondaryEffectChance = 0,
.secondaryEffectChance = 100,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = 0,
@ -15383,7 +15383,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_DYNAMAX] =
.type = TYPE_NORMAL,
.accuracy = 0,
.pp = 10,
.secondaryEffectChance = 0,
.secondaryEffectChance = 100,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = 0,
@ -15398,7 +15398,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_DYNAMAX] =
.type = TYPE_FIGHTING,
.accuracy = 0,
.pp = 10,
.secondaryEffectChance = 0,
.secondaryEffectChance = 100,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = 0,
@ -15413,7 +15413,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_DYNAMAX] =
.type = TYPE_GHOST,
.accuracy = 0,
.pp = 10,
.secondaryEffectChance = 0,
.secondaryEffectChance = 100,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = 0,
@ -15428,7 +15428,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_DYNAMAX] =
.type = TYPE_WATER,
.accuracy = 0,
.pp = 10,
.secondaryEffectChance = 0,
.secondaryEffectChance = 100,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = 0,
@ -15443,7 +15443,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_DYNAMAX] =
.type = TYPE_ICE,
.accuracy = 0,
.pp = 10,
.secondaryEffectChance = 0,
.secondaryEffectChance = 100,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = 0,
@ -15458,7 +15458,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_DYNAMAX] =
.type = TYPE_NORMAL,
.accuracy = 0,
.pp = 10,
.secondaryEffectChance = 0,
.secondaryEffectChance = 100,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = 0,
@ -15473,7 +15473,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_DYNAMAX] =
.type = TYPE_NORMAL,
.accuracy = 0,
.pp = 10,
.secondaryEffectChance = 0,
.secondaryEffectChance = 100,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = 0,
@ -15488,7 +15488,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_DYNAMAX] =
.type = TYPE_POISON,
.accuracy = 0,
.pp = 10,
.secondaryEffectChance = 0,
.secondaryEffectChance = 100,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = 0,
@ -15503,7 +15503,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_DYNAMAX] =
.type = TYPE_STEEL,
.accuracy = 0,
.pp = 10,
.secondaryEffectChance = 0,
.secondaryEffectChance = 100,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = 0,
@ -15518,7 +15518,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_DYNAMAX] =
.type = TYPE_GRASS,
.accuracy = 0,
.pp = 10,
.secondaryEffectChance = 0,
.secondaryEffectChance = 100,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = 0,
@ -15533,7 +15533,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_DYNAMAX] =
.type = TYPE_FIRE,
.accuracy = 0,
.pp = 10,
.secondaryEffectChance = 0,
.secondaryEffectChance = 100,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = 0,
@ -15548,7 +15548,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_DYNAMAX] =
.type = TYPE_WATER,
.accuracy = 0,
.pp = 10,
.secondaryEffectChance = 0,
.secondaryEffectChance = 100,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = 0,
@ -15563,7 +15563,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_DYNAMAX] =
.type = TYPE_FLYING,
.accuracy = 0,
.pp = 10,
.secondaryEffectChance = 0,
.secondaryEffectChance = 100,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = 0,
@ -15578,7 +15578,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_DYNAMAX] =
.type = TYPE_PSYCHIC,
.accuracy = 0,
.pp = 10,
.secondaryEffectChance = 0,
.secondaryEffectChance = 100,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = 0,
@ -15593,7 +15593,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_DYNAMAX] =
.type = TYPE_WATER,
.accuracy = 0,
.pp = 10,
.secondaryEffectChance = 0,
.secondaryEffectChance = 100,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = 0,
@ -15608,7 +15608,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_DYNAMAX] =
.type = TYPE_ROCK,
.accuracy = 0,
.pp = 10,
.secondaryEffectChance = 0,
.secondaryEffectChance = 100,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = 0,
@ -15623,7 +15623,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_DYNAMAX] =
.type = TYPE_GRASS,
.accuracy = 0,
.pp = 10,
.secondaryEffectChance = 0,
.secondaryEffectChance = 100,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = 0,
@ -15638,7 +15638,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_DYNAMAX] =
.type = TYPE_GRASS,
.accuracy = 0,
.pp = 10,
.secondaryEffectChance = 0,
.secondaryEffectChance = 100,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = 0,
@ -15653,7 +15653,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_DYNAMAX] =
.type = TYPE_GROUND,
.accuracy = 0,
.pp = 10,
.secondaryEffectChance = 0,
.secondaryEffectChance = 100,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = 0,
@ -15668,7 +15668,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_DYNAMAX] =
.type = TYPE_ELECTRIC,
.accuracy = 0,
.pp = 10,
.secondaryEffectChance = 0,
.secondaryEffectChance = 100,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = 0,
@ -15683,7 +15683,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_DYNAMAX] =
.type = TYPE_FIRE,
.accuracy = 0,
.pp = 10,
.secondaryEffectChance = 0,
.secondaryEffectChance = 100,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = 0,
@ -15698,7 +15698,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_DYNAMAX] =
.type = TYPE_FAIRY,
.accuracy = 0,
.pp = 10,
.secondaryEffectChance = 0,
.secondaryEffectChance = 100,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = 0,
@ -15714,7 +15714,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_DYNAMAX] =
.type = TYPE_DARK,
.accuracy = 0,
.pp = 10,
.secondaryEffectChance = 0,
.secondaryEffectChance = 100,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = 0,
@ -15729,7 +15729,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_DYNAMAX] =
.type = TYPE_FAIRY,
.accuracy = 0,
.pp = 10,
.secondaryEffectChance = 0,
.secondaryEffectChance = 100,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = 0,
@ -15744,7 +15744,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_DYNAMAX] =
.type = TYPE_STEEL,
.accuracy = 0,
.pp = 10,
.secondaryEffectChance = 0,
.secondaryEffectChance = 100,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = 0,
@ -15759,7 +15759,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_DYNAMAX] =
.type = TYPE_DRAGON,
.accuracy = 0,
.pp = 10,
.secondaryEffectChance = 0,
.secondaryEffectChance = 100,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = 0,
@ -15774,7 +15774,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_DYNAMAX] =
.type = TYPE_DARK,
.accuracy = 0,
.pp = 10,
.secondaryEffectChance = 0,
.secondaryEffectChance = 100,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = 0,
@ -15789,7 +15789,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_DYNAMAX] =
.type = TYPE_WATER,
.accuracy = 0,
.pp = 10,
.secondaryEffectChance = 0,
.secondaryEffectChance = 100,
.target = MOVE_TARGET_SELECTED,
.priority = 0,
.flags = 0,