Applied review suggestions

-Merged EFFECT_CEASELESS_EDGE and EFFECT_STONE_AXE into EFFECT_HIT_SET_ENTRY_HAZARD

-Updated gDmgHazardsStringIds and relevant battle scripts. Can't say that I like it at all. String tables are stupid imo.

-Coupled Barb Barrage's effect in CalcMoveBasePower with Venoshock's
This commit is contained in:
LOuroboros 2023-03-01 20:03:27 -03:00
parent fe74dd938b
commit fe735f9700
8 changed files with 29 additions and 47 deletions

View File

@ -418,39 +418,13 @@ gBattleScriptsForMoveEffects::
.4byte BattleScript_EffectTeatime @ EFFECT_TEATIME
.4byte BattleScript_EffectAttackUpUserAlly @ EFFECT_ATTACK_UP_USER_ALLY
.4byte BattleScript_EffectShellTrap @ EFFECT_SHELL_TRAP
.4byte BattleScript_EffectCeaselessEdge @ EFFECT_CEASELESS_EDGE
.4byte BattleScript_EffectHitSetEntryHazard @ EFFECT_HIT_SET_ENTRY_HAZARD
.4byte BattleScript_EffectDireClaw @ EFFECT_DIRE_CLAW
.4byte BattleScript_EffectStoneAxe @ EFFECT_STONE_AXE
.4byte BattleScript_EffectBarbBarrage @ EFFECT_BARB_BARRAGE
BattleScript_EffectStoneAxe::
attackcanceler
accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE
attackstring
ppreduce
critcalc
damagecalc
adjustdamage
attackanimation
waitanimation
effectivenesssound
hitanimation BS_TARGET
waitstate
healthbarupdate BS_TARGET
datahpupdate BS_TARGET
critmessage
waitmessage B_WAIT_TIME_LONG
resultmessage
waitmessage B_WAIT_TIME_LONG
tryfaintmon BS_TARGET
setmoveeffect MOVE_EFFECT_STEALTH_ROCK
seteffectprimary
moveendall
end
BattleScript_StealthRockActivates::
setstealthrock BattleScript_MoveEnd
printstring STRINGID_POINTEDSTONESFLOAT
printfromtable gDmgHazardsStringIds
waitmessage B_WAIT_TIME_LONG
goto BattleScript_MoveEnd
@ -458,7 +432,7 @@ BattleScript_EffectDireClaw::
setmoveeffect MOVE_EFFECT_DIRE_CLAW
goto BattleScript_EffectHit
BattleScript_EffectCeaselessEdge::
BattleScript_EffectHitSetEntryHazard::
attackcanceler
accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE
attackstring
@ -478,14 +452,14 @@ BattleScript_EffectCeaselessEdge::
resultmessage
waitmessage B_WAIT_TIME_LONG
tryfaintmon BS_TARGET
setmoveeffect MOVE_EFFECT_SPIKES
argumenttomoveeffect
seteffectprimary
moveendall
end
BattleScript_SpikesActivate::
trysetspikes BattleScript_MoveEnd
printstring STRINGID_SPIKESSCATTERED
printfromtable gDmgHazardsStringIds
waitmessage B_WAIT_TIME_LONG
goto BattleScript_MoveEnd

View File

@ -399,11 +399,10 @@
#define EFFECT_TEATIME 393
#define EFFECT_ATTACK_UP_USER_ALLY 394 // Howl 8th Gen
#define EFFECT_SHELL_TRAP 395
#define EFFECT_CEASELESS_EDGE 396
#define EFFECT_HIT_SET_ENTRY_HAZARD 396
#define EFFECT_DIRE_CLAW 397
#define EFFECT_STONE_AXE 398
#define EFFECT_BARB_BARRAGE 399
#define EFFECT_BARB_BARRAGE 398
#define NUM_BATTLE_MOVE_EFFECTS 400
#define NUM_BATTLE_MOVE_EFFECTS 399
#endif // GUARD_CONSTANTS_BATTLE_MOVE_EFFECTS_H

View File

@ -921,4 +921,10 @@
#define B_MSG_Z_STAT_UP 5
#define B_MSG_Z_HP_TRAP 6
// gDmgHazardsStringIds
#define B_MSG_PKMNHURTBYSPIKES 0
#define B_MSG_STEALTHROCKDMG 1
#define B_MSG_POINTEDSTONESFLOAT 2
#define B_MSG_SPIKESSCATTERED 3
#endif // GUARD_CONSTANTS_BATTLE_STRING_IDS_H

View File

@ -3872,9 +3872,8 @@ static s16 AI_CheckViability(u8 battlerAtk, u8 battlerDef, u16 move, s16 score)
break;
case EFFECT_SPIKES:
case EFFECT_CEASELESS_EDGE:
case EFFECT_HIT_SET_ENTRY_HAZARD:
case EFFECT_STEALTH_ROCK:
case EFFECT_STONE_AXE:
case EFFECT_STICKY_WEB:
case EFFECT_TOXIC_SPIKES:
if (AI_DATA->abilities[battlerDef] == ABILITY_MAGIC_BOUNCE || CountUsablePartyMons(battlerDef) == 0)
@ -4910,7 +4909,7 @@ static s16 AI_SetupFirstTurn(u8 battlerAtk, u8 battlerDef, u16 move, s16 score)
case EFFECT_HAIL:
case EFFECT_GEOMANCY:
case EFFECT_VICTORY_DANCE:
case EFFECT_STONE_AXE:
case EFFECT_HIT_SET_ENTRY_HAZARD:
score += 2;
break;
default:

View File

@ -1462,7 +1462,10 @@ const u16 gHealingWishStringIds[] =
const u16 gDmgHazardsStringIds[] =
{
STRINGID_PKMNHURTBYSPIKES, STRINGID_STEALTHROCKDMG
[B_MSG_PKMNHURTBYSPIKES] = STRINGID_PKMNHURTBYSPIKES,
[B_MSG_STEALTHROCKDMG] = STRINGID_STEALTHROCKDMG,
[B_MSG_POINTEDSTONESFLOAT] = STRINGID_POINTEDSTONESFLOAT,
[B_MSG_SPIKESSCATTERED] = STRINGID_SPIKESSCATTERED
};
const u16 gSwitchInAbilityStringIds[] =

View File

@ -3768,6 +3768,7 @@ void SetMoveEffect(bool32 primary, u32 certain)
case MOVE_EFFECT_STEALTH_ROCK:
if (!(gSideStatuses[GetBattlerSide(gEffectBattler)] & SIDE_STATUS_STEALTH_ROCK))
{
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_POINTEDSTONESFLOAT;
BattleScriptPush(gBattlescriptCurrInstr + 1);
gBattlescriptCurrInstr = BattleScript_StealthRockActivates;
}
@ -3775,6 +3776,7 @@ void SetMoveEffect(bool32 primary, u32 certain)
case MOVE_EFFECT_SPIKES:
if (!(gSideStatuses[GetBattlerSide(gEffectBattler)] & SIDE_STATUS_SPIKES))
{
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_SPIKESSCATTERED;
BattleScriptPush(gBattlescriptCurrInstr + 1);
gBattlescriptCurrInstr = BattleScript_SpikesActivate;
}
@ -7045,7 +7047,7 @@ static void Cmd_switchineffects(void)
gBattleMoveDamage = 1;
gSideStatuses[GetBattlerSide(gActiveBattler)] |= SIDE_STATUS_SPIKES_DAMAGED;
SetDmgHazardsBattlescript(gActiveBattler, 0);
SetDmgHazardsBattlescript(gActiveBattler, B_MSG_PKMNHURTBYSPIKES);
}
else if (!(gSideStatuses[GetBattlerSide(gActiveBattler)] & SIDE_STATUS_STEALTH_ROCK_DAMAGED)
&& (gSideStatuses[GetBattlerSide(gActiveBattler)] & SIDE_STATUS_STEALTH_ROCK)
@ -7056,7 +7058,7 @@ static void Cmd_switchineffects(void)
gBattleMoveDamage = GetStealthHazardDamage(gBattleMoves[MOVE_STEALTH_ROCK].type, gActiveBattler);
if (gBattleMoveDamage != 0)
SetDmgHazardsBattlescript(gActiveBattler, 1);
SetDmgHazardsBattlescript(gActiveBattler, B_MSG_STEALTHROCKDMG);
}
else if (!(gSideStatuses[GetBattlerSide(gActiveBattler)] & SIDE_STATUS_TOXIC_SPIKES_DAMAGED)
&& (gSideStatuses[GetBattlerSide(gActiveBattler)] & SIDE_STATUS_TOXIC_SPIKES)

View File

@ -8761,10 +8761,6 @@ static u16 CalcMoveBasePower(u16 move, u8 battlerAtk, u8 battlerDef)
basePower = CalcBeatUpPower();
#endif
break;
case EFFECT_BARB_BARRAGE:
if (gBattleMons[battlerDef].status1 & STATUS1_PSN_ANY)
basePower *= 2;
break;
}
// Move-specific base power changes
@ -9130,6 +9126,7 @@ static u32 CalcMoveBasePowerAfterModifiers(u16 move, u8 battlerAtk, u8 battlerDe
if (gBattleMons[battlerDef].hp <= (gBattleMons[battlerDef].maxHP / 2))
MulModifier(&modifier, UQ_4_12(2.0));
break;
case EFFECT_BARB_BARRAGE:
case EFFECT_VENOSHOCK:
if (gBattleMons[battlerDef].status1 & STATUS1_PSN_ANY)
MulModifier(&modifier, UQ_4_12(2.0));

View File

@ -13323,7 +13323,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] =
[MOVE_STONE_AXE] =
{
.effect = EFFECT_STONE_AXE,
.effect = EFFECT_HIT_SET_ENTRY_HAZARD,
.power = 65,
.type = TYPE_ROCK,
.accuracy = 90,
@ -13335,6 +13335,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] =
.split = SPLIT_PHYSICAL,
.zMovePower = 120,
.zMoveEffect = Z_EFFECT_NONE,
.argument = MOVE_EFFECT_STEALTH_ROCK,
},
[MOVE_SPRINGTIDE_STORM] =
@ -13599,7 +13600,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] =
[MOVE_CEASELESS_EDGE] =
{
.effect = EFFECT_CEASELESS_EDGE,
.effect = EFFECT_HIT_SET_ENTRY_HAZARD,
.power = 65,
.type = TYPE_DARK,
.accuracy = 90,
@ -13611,6 +13612,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] =
.split = SPLIT_PHYSICAL,
.zMovePower = 120,
.zMoveEffect = Z_EFFECT_NONE,
.argument = MOVE_EFFECT_SPIKES,
},
[MOVE_BLEAKWIND_STORM] =