mirror of
https://github.com/pret/pokefirered.git
synced 2026-05-09 12:35:23 -05:00
small updates, first idea for loreleis team
This commit is contained in:
parent
a657e59277
commit
b00c2d08ab
|
|
@ -3901,13 +3901,12 @@ static void HandleTurnActionSelectionState(void)
|
|||
else if (gBattleResources->bufferB[battler][2] & RET_DYNAMAX)
|
||||
gBattleStruct->dynamax.toDynamax |= gBitTable[battler];
|
||||
|
||||
// TODO: Dynamax
|
||||
// Max Move check
|
||||
// if (ShouldUseMaxMove(battler, gChosenMoveByBattler[battler]))
|
||||
// {
|
||||
// gBattleStruct->dynamax.baseMove[battler] = gBattleMons[battler].moves[gBattleStruct->chosenMovePositions[battler]];
|
||||
// gBattleStruct->dynamax.usingMaxMove[battler] = TRUE;
|
||||
// }
|
||||
if (ShouldUseMaxMove(battler, gChosenMoveByBattler[battler]))
|
||||
{
|
||||
gBattleStruct->dynamax.baseMove[battler] = gBattleMons[battler].moves[gBattleStruct->chosenMovePositions[battler]];
|
||||
gBattleStruct->dynamax.usingMaxMove[battler] = TRUE;
|
||||
}
|
||||
|
||||
gBattleCommunication[battler]++;
|
||||
}
|
||||
|
|
@ -3999,9 +3998,34 @@ static void HandleTurnActionSelectionState(void)
|
|||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// Check if everyone chose actions.
|
||||
if (gBattleCommunication[ACTIONS_CONFIRMED_COUNT] == gBattlersCount)
|
||||
{
|
||||
if (WILD_DOUBLE_BATTLE
|
||||
&& gBattleStruct->throwingPokeBall
|
||||
&& gChosenActionByBattler[GetBattlerAtPosition(B_POSITION_PLAYER_RIGHT)] != B_ACTION_NOTHING_FAINTED)
|
||||
{
|
||||
// if we choose to throw a ball with our second mon, skip the action of the first
|
||||
// (if we have chosen throw ball with first, second's is already skipped)
|
||||
// if throwing a ball in a wild battle with an in-game partner, skip partner's turn when throwing a ball
|
||||
if (gBattleTypeFlags & BATTLE_TYPE_INGAME_PARTNER)
|
||||
gChosenActionByBattler[GetBattlerAtPosition(B_POSITION_PLAYER_RIGHT)] = B_ACTION_NOTHING_FAINTED;
|
||||
else
|
||||
gChosenActionByBattler[GetBattlerAtPosition(B_POSITION_PLAYER_LEFT)] = B_ACTION_NOTHING_FAINTED;
|
||||
}
|
||||
|
||||
gBattleMainFunc = SetActionsAndBattlersTurnOrder;
|
||||
|
||||
if (gBattleTypeFlags & BATTLE_TYPE_INGAME_PARTNER)
|
||||
{
|
||||
for (i = 0; i < gBattlersCount; i++)
|
||||
{
|
||||
if (gChosenActionByBattler[i] == B_ACTION_SWITCH)
|
||||
SwitchPartyOrderInGameMulti(i, *(gBattleStruct->monToSwitchIntoId + i));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static void UpdateBattlerPartyOrdersOnSwitch(u32 battler)
|
||||
|
|
|
|||
|
|
@ -1400,14 +1400,13 @@ static void Cmd_attackcanceler(void)
|
|||
}
|
||||
|
||||
// Z-moves and Max Moves bypass protection, but deal reduced damage (factored in AccumulateOtherModifiers)
|
||||
// TODO: Z-Moves and Dynamax
|
||||
// if ((gBattleStruct->zmove.active || IsMaxMove(gCurrentMove))
|
||||
// && IS_BATTLER_PROTECTED(gBattlerTarget))
|
||||
// {
|
||||
// BattleScriptPush(cmd->nextInstr);
|
||||
// gBattlescriptCurrInstr = BattleScript_CouldntFullyProtect;
|
||||
// return;
|
||||
// }
|
||||
if ((gBattleStruct->zmove.active || IsMaxMove(gCurrentMove))
|
||||
&& IS_BATTLER_PROTECTED(gBattlerTarget))
|
||||
{
|
||||
BattleScriptPush(cmd->nextInstr);
|
||||
gBattlescriptCurrInstr = BattleScript_CouldntFullyProtect;
|
||||
return;
|
||||
}
|
||||
|
||||
for (i = 0; i < gBattlersCount; i++)
|
||||
{
|
||||
|
|
@ -6373,7 +6372,7 @@ static void Cmd_getswitchedmondata(void)
|
|||
u32 battler = GetBattlerForBattleScript(cmd->battler);
|
||||
if (gBattleControllerExecFlags)
|
||||
return;
|
||||
|
||||
|
||||
gBattlerPartyIndexes[battler] = gBattleStruct->monToSwitchIntoId[battler];
|
||||
BtlController_EmitGetMonData(battler, BUFFER_A, REQUEST_ALL_BATTLE, gBitTable[gBattlerPartyIndexes[battler]]);
|
||||
MarkBattlerForControllerExec(battler);
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@
|
|||
#include "battle.h"
|
||||
#include "data.h"
|
||||
#include "graphics.h"
|
||||
#include "constants/abilities.h"
|
||||
#include "constants/items.h"
|
||||
#include "constants/moves.h"
|
||||
#include "constants/battle_ai.h"
|
||||
|
|
|
|||
|
|
@ -4799,39 +4799,58 @@ static const struct TrainerMon sParty_CooltrainerJulie[] = {
|
|||
|
||||
static const struct TrainerMon sParty_EliteFourLorelei[] = {
|
||||
{
|
||||
.iv = TRAINER_PARTY_IVS(30, 30, 30, 30, 30, 30),
|
||||
.iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31),
|
||||
.lvl = 52,
|
||||
.species = SPECIES_DEWGONG,
|
||||
.heldItem = ITEM_NONE,
|
||||
.moves = {MOVE_ICE_BEAM, MOVE_SURF, MOVE_HAIL, MOVE_SAFEGUARD},
|
||||
.species = SPECIES_NINETALES_ALOLAN,
|
||||
.ability = ABILITY_SNOW_WARNING,
|
||||
.heldItem = ITEM_ICY_ROCK,
|
||||
.nature = NATURE_TIMID,
|
||||
.moves = {MOVE_BLIZZARD, MOVE_MOONBLAST, MOVE_AURORA_VEIL, MOVE_CHILLING_WATER},
|
||||
},
|
||||
{
|
||||
.iv = TRAINER_PARTY_IVS(30, 30, 30, 30, 30, 30),
|
||||
.iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31),
|
||||
.lvl = 51,
|
||||
.species = SPECIES_CLOYSTER,
|
||||
.heldItem = ITEM_NONE,
|
||||
.moves = {MOVE_SPIKES, MOVE_PROTECT, MOVE_HAIL, MOVE_DIVE},
|
||||
.species = SPECIES_GLACEON,
|
||||
.ability = ABILITY_SNOW_CLOAK,
|
||||
.heldItem = ITEM_CHOICE_SPECS,
|
||||
.nature = NATURE_TIMID,
|
||||
.moves = {MOVE_ICE_BEAM, MOVE_SHADOW_BALL, MOVE_BLIZZARD, MOVE_ALLURING_VOICE},
|
||||
},
|
||||
{
|
||||
.iv = TRAINER_PARTY_IVS(30, 30, 30, 30, 30, 30),
|
||||
.iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31),
|
||||
.lvl = 52,
|
||||
.species = SPECIES_SLOWBRO,
|
||||
.heldItem = ITEM_NONE,
|
||||
.moves = {MOVE_ICE_BEAM, MOVE_SURF, MOVE_AMNESIA, MOVE_YAWN},
|
||||
.species = SPECIES_CLOYSTER,
|
||||
.ability = ABILITY_SKILL_LINK,
|
||||
.heldItem = ITEM_FOCUS_SASH,
|
||||
.nature = NATURE_JOLLY,
|
||||
.moves = {MOVE_SHELL_SMASH, MOVE_ICICLE_SPEAR, MOVE_ICE_SHARD, MOVE_SPIKES},
|
||||
},
|
||||
{
|
||||
.iv = TRAINER_PARTY_IVS(30, 30, 30, 30, 30, 30),
|
||||
.iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31),
|
||||
.lvl = 54,
|
||||
.species = SPECIES_JYNX,
|
||||
.heldItem = ITEM_NONE,
|
||||
.moves = {MOVE_ICE_PUNCH, MOVE_DOUBLE_SLAP, MOVE_LOVELY_KISS, MOVE_ATTRACT},
|
||||
.species = SPECIES_MR_RIME,
|
||||
.ability = ABILITY_ICE_BODY,
|
||||
.heldItem = ITEM_LIGHT_CLAY,
|
||||
.nature = NATURE_MODEST,
|
||||
.moves = {MOVE_HAIL, MOVE_PSYCHIC, MOVE_FREEZE_DRY, MOVE_ICE_BEAM},
|
||||
},
|
||||
{
|
||||
.iv = TRAINER_PARTY_IVS(30, 30, 30, 30, 30, 30),
|
||||
.iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31),
|
||||
.lvl = 54,
|
||||
.species = SPECIES_ARTICUNO,
|
||||
.ability = ABILITY_SNOW_CLOAK,
|
||||
.heldItem = ITEM_HEAVY_DUTY_BOOTS,
|
||||
.nature = NATURE_TIMID,
|
||||
.moves = {MOVE_BLIZZARD, MOVE_ROOST, MOVE_EXTRASENSORY, MOVE_ICE_BEAM},
|
||||
},
|
||||
{
|
||||
.iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31),
|
||||
.lvl = 54,
|
||||
.species = SPECIES_LAPRAS,
|
||||
.heldItem = ITEM_SITRUS_BERRY,
|
||||
.moves = {MOVE_CONFUSE_RAY, MOVE_ICE_BEAM, MOVE_SURF, MOVE_BODY_SLAM},
|
||||
.ability = ABILITY_SHELL_ARMOR,
|
||||
.heldItem = ITEM_LEFTOVERS,
|
||||
.nature = NATURE_CALM,
|
||||
.moves = {MOVE_SURF, MOVE_ICE_BEAM, MOVE_CALM_MIND, MOVE_PERISH_SONG},
|
||||
},
|
||||
};
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user