Fix mega evolution allowing to evolve two mons in doubles

This commit is contained in:
DizzyEggg 2018-09-20 12:55:12 +02:00
parent a181900141
commit c7ca7b6e8e
3 changed files with 5 additions and 2 deletions

View File

@ -1566,8 +1566,8 @@ void CreateMegaTriggerSprite(u8 battlerId, u8 palId)
gBattleStruct->megaEvoTriggerSpriteId = CreateSprite(&sSpriteTemplate_MegaTrigger, gBattleStruct->megaEvoTriggerSpriteId = CreateSprite(&sSpriteTemplate_MegaTrigger,
gSprites[gHealthboxSpriteIds[battlerId]].pos1.x, gSprites[gHealthboxSpriteIds[battlerId]].pos1.x,
gSprites[gHealthboxSpriteIds[battlerId]].pos1.y - MEGA_TRIGGER_POS_Y_DIFF, 0); gSprites[gHealthboxSpriteIds[battlerId]].pos1.y - MEGA_TRIGGER_POS_Y_DIFF, 0);
gSprites[gBattleStruct->megaEvoTriggerSpriteId].tBattler = battlerId;
} }
gSprites[gBattleStruct->megaEvoTriggerSpriteId].tBattler = battlerId;
gSprites[gBattleStruct->megaEvoTriggerSpriteId].tHide = FALSE; gSprites[gBattleStruct->megaEvoTriggerSpriteId].tHide = FALSE;
SetMegaTriggerSpritePal(gBattleStruct->megaEvoTriggerSpriteId, palId); SetMegaTriggerSpritePal(gBattleStruct->megaEvoTriggerSpriteId, palId);

View File

@ -4338,6 +4338,8 @@ static void HandleTurnActionSelectionState(void)
{ {
RecordedBattle_ClearBattlerAction(GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(gActiveBattler))), 3); RecordedBattle_ClearBattlerAction(GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(gActiveBattler))), 3);
} }
gBattleStruct->toMegaEvolve &= ~(gBitTable[BATTLE_PARTNER(GetBattlerPosition(gActiveBattler))]);
BtlController_EmitEndBounceEffect(0); BtlController_EmitEndBounceEffect(0);
MarkBattlerForControllerExec(gActiveBattler); MarkBattlerForControllerExec(gActiveBattler);
return; return;

View File

@ -5611,7 +5611,8 @@ bool32 CanMegaEvolve(u8 battlerId)
return FALSE; return FALSE;
if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE)
{ {
if (IsPartnerMonFromSameTrainer(battlerId) && gBattleStruct->alreadyMegaEvolved[partnerPosition]) if (IsPartnerMonFromSameTrainer(battlerId)
&& (gBattleStruct->alreadyMegaEvolved[partnerPosition] || (gBattleStruct->toMegaEvolve & gBitTable[BATTLE_PARTNER(battlerId)])))
return FALSE; return FALSE;
} }