Merge branch '_RHH/master' into _RHH/upcoming
# Conflicts: # include/battle.h # src/pokedex.c
This commit is contained in:
commit
68e5c9f8cb
5 changed files with 16 additions and 10 deletions
|
@ -776,6 +776,8 @@ struct BattleStruct
|
|||
u8 dauntlessShieldBoost[NUM_BATTLE_SIDES];
|
||||
u8 supersweetSyrup[NUM_BATTLE_SIDES];
|
||||
u8 supremeOverlordCounter[MAX_BATTLERS_COUNT];
|
||||
u8 quickClawRandom[MAX_BATTLERS_COUNT];
|
||||
u8 quickDrawRandom[MAX_BATTLERS_COUNT];
|
||||
};
|
||||
|
||||
// The palaceFlags member of struct BattleStruct contains 1 flag per move to indicate which moves the AI should consider,
|
||||
|
|
|
@ -5220,6 +5220,8 @@ static void SetActionsAndBattlersTurnOrder(void)
|
|||
{
|
||||
gActionsByTurnOrder[turnOrderId] = gChosenActionByBattler[battler];
|
||||
gBattlerByTurnOrder[turnOrderId] = battler;
|
||||
gBattleStruct->quickClawRandom[battler] = RandomPercentage(RNG_QUICK_CLAW, GetBattlerHoldEffectParam(battler));
|
||||
gBattleStruct->quickDrawRandom[battler] = RandomPercentage(RNG_QUICK_DRAW, 30);
|
||||
turnOrderId++;
|
||||
}
|
||||
}
|
||||
|
@ -5426,21 +5428,21 @@ static void TryChangingTurnOrderEffects(u32 battler1, u32 battler2)
|
|||
|
||||
// Battler 1
|
||||
// Quick Draw
|
||||
if (ability1 == ABILITY_QUICK_DRAW && !IS_MOVE_STATUS(gChosenMoveByBattler[battler1]) && RandomPercentage(RNG_QUICK_DRAW, 30))
|
||||
if (ability1 == ABILITY_QUICK_DRAW && !IS_MOVE_STATUS(gChosenMoveByBattler[battler1]) && gBattleStruct->quickDrawRandom[battler1])
|
||||
gProtectStructs[battler1].quickDraw = TRUE;
|
||||
// Quick Claw and Custap Berry
|
||||
if (!gProtectStructs[battler1].quickDraw
|
||||
&& ((holdEffectBattler1 == HOLD_EFFECT_QUICK_CLAW && RandomPercentage(RNG_QUICK_CLAW, GetBattlerHoldEffectParam(battler1)))
|
||||
&& ((holdEffectBattler1 == HOLD_EFFECT_QUICK_CLAW && gBattleStruct->quickClawRandom[battler1])
|
||||
|| (holdEffectBattler1 == HOLD_EFFECT_CUSTAP_BERRY && HasEnoughHpToEatBerry(battler1, 4, gBattleMons[battler1].item))))
|
||||
gProtectStructs[battler1].usedCustapBerry = TRUE;
|
||||
|
||||
// Battler 2
|
||||
// Quick Draw
|
||||
if (ability2 == ABILITY_QUICK_DRAW && !IS_MOVE_STATUS(gChosenMoveByBattler[battler2]) && RandomPercentage(RNG_QUICK_DRAW, 30))
|
||||
if (ability2 == ABILITY_QUICK_DRAW && !IS_MOVE_STATUS(gChosenMoveByBattler[battler2]) && gBattleStruct->quickDrawRandom[battler2])
|
||||
gProtectStructs[battler2].quickDraw = TRUE;
|
||||
// Quick Claw and Custap Berry
|
||||
if (!gProtectStructs[battler2].quickDraw
|
||||
&& ((holdEffectBattler2 == HOLD_EFFECT_QUICK_CLAW && RandomPercentage(RNG_QUICK_CLAW, GetBattlerHoldEffectParam(battler2)))
|
||||
&& ((holdEffectBattler2 == HOLD_EFFECT_QUICK_CLAW && gBattleStruct->quickClawRandom[battler2])
|
||||
|| (holdEffectBattler2 == HOLD_EFFECT_CUSTAP_BERRY && HasEnoughHpToEatBerry(battler2, 4, gBattleMons[battler2].item))))
|
||||
gProtectStructs[battler2].usedCustapBerry = TRUE;
|
||||
}
|
||||
|
|
|
@ -4004,7 +4004,8 @@ u8 DisplayCaughtMonDexPage(u16 species, bool32 isShiny, u32 personality)
|
|||
static void Task_DisplayCaughtMonDexPage(u8 taskId)
|
||||
{
|
||||
u8 spriteId;
|
||||
u16 dexNum = SpeciesToNationalPokedexNum(gTasks[taskId].tSpecies);
|
||||
u16 species = gTasks[taskId].tSpecies;
|
||||
u16 dexNum = SpeciesToNationalPokedexNum(species);
|
||||
|
||||
switch (gTasks[taskId].tState)
|
||||
{
|
||||
|
@ -4030,7 +4031,7 @@ static void Task_DisplayCaughtMonDexPage(u8 taskId)
|
|||
FillWindowPixelBuffer(WIN_INFO, PIXEL_FILL(0));
|
||||
PutWindowTilemap(WIN_INFO);
|
||||
PutWindowTilemap(WIN_FOOTPRINT);
|
||||
DrawFootprint(WIN_FOOTPRINT, NationalPokedexNumToSpecies(dexNum));
|
||||
DrawFootprint(WIN_FOOTPRINT, species);
|
||||
CopyWindowToVram(WIN_FOOTPRINT, COPYWIN_GFX);
|
||||
ResetPaletteFade();
|
||||
LoadPokedexBgPalette(FALSE);
|
||||
|
@ -4047,7 +4048,7 @@ static void Task_DisplayCaughtMonDexPage(u8 taskId)
|
|||
gTasks[taskId].tState++;
|
||||
break;
|
||||
case 4:
|
||||
spriteId = CreateMonPicSprite(NationalPokedexNumToSpecies(dexNum), FALSE, ((u16)gTasks[taskId].tPersonalityHi << 16) | (u16)gTasks[taskId].tPersonalityLo, TRUE, MON_PAGE_X, MON_PAGE_Y, 0, TAG_NONE);
|
||||
spriteId = CreateMonPicSprite(species, FALSE, ((u16)gTasks[taskId].tPersonalityHi << 16) | (u16)gTasks[taskId].tPersonalityLo, TRUE, MON_PAGE_X, MON_PAGE_Y, 0, TAG_NONE);
|
||||
gSprites[spriteId].oam.priority = 0;
|
||||
BeginNormalPaletteFade(PALETTES_ALL, 0, 0x10, 0, RGB_BLACK);
|
||||
SetVBlankCallback(gPokedexVBlankCB);
|
||||
|
@ -4066,7 +4067,7 @@ static void Task_DisplayCaughtMonDexPage(u8 taskId)
|
|||
case 6:
|
||||
if (!gPaletteFade.active)
|
||||
{
|
||||
PlayCry_Normal(NationalPokedexNumToSpecies(dexNum), 0);
|
||||
PlayCry_Normal(species, 0);
|
||||
gTasks[taskId].tPalTimer = 0;
|
||||
gTasks[taskId].func = Task_HandleCaughtMonPageInput;
|
||||
}
|
||||
|
|
|
@ -4205,7 +4205,7 @@ void Task_DisplayCaughtMonDexPageHGSS(u8 taskId)
|
|||
case 6:
|
||||
if (!gPaletteFade.active)
|
||||
{
|
||||
PlayCry_Normal(NationalPokedexNumToSpeciesHGSS(dexNum), 0);
|
||||
PlayCry_Normal(species, 0);
|
||||
gTasks[taskId].tPalTimer = 0;
|
||||
gTasks[taskId].func = Task_HandleCaughtMonPageInput;
|
||||
}
|
||||
|
|
|
@ -4094,7 +4094,7 @@ static u32 GetGMaxTargetSpecies(u32 species)
|
|||
u16 GetEvolutionTargetSpecies(struct Pokemon *mon, u8 mode, u16 evolutionItem, struct Pokemon *tradePartner)
|
||||
{
|
||||
int i, j;
|
||||
u16 targetSpecies = 0;
|
||||
u16 targetSpecies = SPECIES_NONE;
|
||||
u16 species = GetMonData(mon, MON_DATA_SPECIES, 0);
|
||||
u16 heldItem = GetMonData(mon, MON_DATA_HELD_ITEM, 0);
|
||||
u32 personality = GetMonData(mon, MON_DATA_PERSONALITY, 0);
|
||||
|
@ -4576,6 +4576,7 @@ u16 NationalToHoennOrder(u16 nationalNum)
|
|||
|
||||
u16 SpeciesToNationalPokedexNum(u16 species)
|
||||
{
|
||||
species = SanitizeSpeciesId(species);
|
||||
if (!species)
|
||||
return NATIONAL_DEX_NONE;
|
||||
|
||||
|
|
Loading…
Reference in a new issue