some tweaks
This commit is contained in:
parent
e3d30602d9
commit
7b0e60c705
2 changed files with 5 additions and 6 deletions
|
@ -5125,6 +5125,7 @@ static void Cmd_moveend(void)
|
|||
case MOVEEND_PICKPOCKET:
|
||||
if (IsBattlerAlive(gBattlerAttacker)
|
||||
&& gBattleMons[gBattlerAttacker].item != ITEM_NONE // Attacker must be holding an item
|
||||
&& !(gWishFutureKnock.knockedOffMons[GetBattlerSide(gBattlerAttacker)] & gBitTable[gBattlerPartyIndexes[gBattlerAttacker]]) // But not knocked off
|
||||
&& !(TestSheerForceFlag(gBattlerAttacker, gCurrentMove)) // Pickpocket doesn't activate for sheer force
|
||||
&& IsMoveMakingContact(gCurrentMove, gBattlerAttacker) // Pickpocket requires contact
|
||||
&& !(gMoveResultFlags & MOVE_RESULT_NO_EFFECT)) // Obviously attack needs to have worked
|
||||
|
|
|
@ -8419,16 +8419,14 @@ bool32 CanBattlerGetOrLoseItem(u8 battlerId, u16 itemId)
|
|||
return FALSE;
|
||||
else if (GET_BASE_SPECIES_ID(species) == SPECIES_GROUDON && itemId == ITEM_RED_ORB) // includes primal
|
||||
return FALSE;
|
||||
// Mega stone cannot be lost if pokemon can mega evolve with it or is already mega evolved.
|
||||
else if (holdEffect == HOLD_EFFECT_MEGA_STONE
|
||||
&& ((GetMegaEvolutionSpecies(species, itemId) != SPECIES_NONE)
|
||||
|| gBattleStruct->mega.evolvedPartyIds[GetBattlerSide(battlerId)] & gBitTable[gBattlerPartyIndexes[battlerId]]))
|
||||
// Mega stone cannot be lost if pokemon's base species can mega evolve with it.
|
||||
else if (holdEffect == HOLD_EFFECT_MEGA_STONE && (GetMegaEvolutionSpecies(GET_BASE_SPECIES_ID(species), itemId) != SPECIES_NONE))
|
||||
return FALSE;
|
||||
else if (GET_BASE_SPECIES_ID(species) == SPECIES_GIRATINA && itemId == ITEM_GRISEOUS_ORB)
|
||||
return FALSE;
|
||||
else if (GET_BASE_SPECIES_ID(species) == SPECIES_GENESECT && GetBattlerHoldEffect(battlerId, FALSE) == HOLD_EFFECT_DRIVE)
|
||||
else if (GET_BASE_SPECIES_ID(species) == SPECIES_GENESECT && holdEffect == HOLD_EFFECT_DRIVE)
|
||||
return FALSE;
|
||||
else if (GET_BASE_SPECIES_ID(species) == SPECIES_SILVALLY && GetBattlerHoldEffect(battlerId, FALSE) == HOLD_EFFECT_MEMORY)
|
||||
else if (GET_BASE_SPECIES_ID(species) == SPECIES_SILVALLY && holdEffect == HOLD_EFFECT_MEMORY)
|
||||
return FALSE;
|
||||
else if (GET_BASE_SPECIES_ID(species) == SPECIES_ARCEUS && holdEffect == HOLD_EFFECT_PLATE)
|
||||
return FALSE;
|
||||
|
|
Loading…
Reference in a new issue