diff options
author | DizzyEggg <jajkodizzy@wp.pl> | 2017-07-28 19:24:11 +0200 |
---|---|---|
committer | DizzyEggg <jajkodizzy@wp.pl> | 2017-07-28 19:24:11 +0200 |
commit | 3d0adf41579297b670238259f1b73046267a68be (patch) | |
tree | 91a150a7a2789d8a0200d44cd48dfa881034bd94 | |
parent | e453ffa7bbe153a42807e2e8d336df77f08f0cc0 (diff) |
Unreferenced move merger
-rw-r--r-- | include/battle.h | 4 | ||||
-rw-r--r-- | src/battle_3.c | 39 |
2 files changed, 41 insertions, 2 deletions
diff --git a/include/battle.h b/include/battle.h index 0f1a5f26b..d68c8280e 100644 --- a/include/battle.h +++ b/include/battle.h @@ -106,6 +106,7 @@ #define SIDE_STATUS_REFLECT (1 << 0) #define SIDE_STATUS_LIGHTSCREEN (1 << 1) +#define SIDE_STATUS_X4 (1 << 2) #define SIDE_STATUS_SPIKES (1 << 4) #define SIDE_STATUS_SAFEGUARD (1 << 5) #define SIDE_STATUS_FUTUREATTACK (1 << 6) @@ -614,8 +615,7 @@ struct sideTimer u8 lightscreenTimer; //0x1 u8 mistTimer; //0x2 u8 field3; //0x3 - u8 field4; //0x4 - u8 field5; //0x5 + u16 field4; //0x4 u8 spikesAmount; //0x6 u8 safeguardTimer; //0x7 u8 followmeTimer; //0x8 diff --git a/src/battle_3.c b/src/battle_3.c index d86b11fb9..be6460ec1 100644 --- a/src/battle_3.c +++ b/src/battle_3.c @@ -6353,3 +6353,42 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) return effect; } + +extern const u16 gUnknown_081FC1D0[]; + +/* +void unref_sub_801B40C(void) +{ + int i = 0; + if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) + { + do + { + u8 bank = 0; + do + { + u8 absent = gAbsentBankFlags; + if (gBitTable[bank] & absent || absent & gBitTable[bank + 2]) + bank++; + else + { + if (gUnknown_081FC1D0[i * 4 + 0] == gChosenMovesByBanks[bank] && gUnknown_081FC1D0[i * 4 + 1] == gChosenMovesByBanks[bank + 2]) + { + gSideTimer[GetBankIdentity(bank) & 1].field3 = (bank) | ((bank + 2) << 4); + gSideTimer[GetBankIdentity(bank) & 1].field4 = gUnknown_081FC1D0[i * 4 + 2]; + gSideAffecting[GetBankIdentity(bank) & 1] |= SIDE_STATUS_X4; + } + if (gUnknown_081FC1D0[i * 4 + 0] == gChosenMovesByBanks[bank + 2] && gUnknown_081FC1D0[i * 4 + 1] == gChosenMovesByBanks[bank]) + { + gSideTimer[GetBankIdentity(bank) & 1].field3 = (bank + 2) | ((bank) << 4); + gSideTimer[GetBankIdentity(bank) & 1].field4 = gUnknown_081FC1D0[i * 4 + 2]; + gSideAffecting[GetBankIdentity(bank) & 1] |= SIDE_STATUS_X4; + } + bank++; + } + } while (bank < 2); + i++; + } while (gUnknown_081FC1D0[i * 4] != 0xFFFF); + } +} +*/ |