summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorDizzyEggg <jajkodizzy@wp.pl>2017-09-11 19:42:37 +0200
committerDizzyEggg <jajkodizzy@wp.pl>2017-09-11 19:42:37 +0200
commite69606b5cb75ebb433f462ea7859ac9fbf025561 (patch)
tree438fc5ae375f918b4bceff9c639f7660c64b15ec /src
parent8e88f2790af8e98d695c35088cf7b493356ae03c (diff)
praise cam the CHAMP man
Diffstat (limited to 'src')
-rw-r--r--src/pokemon_2.c74
1 files changed, 44 insertions, 30 deletions
diff --git a/src/pokemon_2.c b/src/pokemon_2.c
index aba2f35f1..f06e9c215 100644
--- a/src/pokemon_2.c
+++ b/src/pokemon_2.c
@@ -302,55 +302,69 @@ union PokemonSubstruct *GetSubstruct(struct BoxPokemon *boxMon, u32 personality,
extern u16 GetDeoxysStat(struct Pokemon *mon, s32 statId);
-#define TRY_GET_DEOXYS_STAT(mon, stat, LABEL) \
-{ \
- u32 ret = GetDeoxysStat(mon, stat); \
- if (ret) \
- return ret; \
- else \
- goto LABEL; \
-}
-
u32 GetMonData(struct Pokemon *mon, s32 field, u8 *data)
{
+ u32 ret;
switch (field)
{
case MON_DATA_STATUS:
- return mon->status;
+ ret = mon->status;
+ break;
case MON_DATA_LEVEL:
- return mon->level;
+ ret = mon->level;
+ break;
case MON_DATA_HP:
- return mon->hp;
+ ret = mon->hp;
+ break;
case MON_DATA_MAX_HP:
- return mon->maxHP;
+ ret = mon->maxHP;
+ break;
case MON_DATA_ATK:
- TRY_GET_DEOXYS_STAT(mon, 1, GET_ATK)
+ ret = GetDeoxysStat(mon, STAT_ATK);
+ if (!ret)
+ ret = mon->attack;
+ break;
case MON_DATA_DEF:
- TRY_GET_DEOXYS_STAT(mon, 2, GET_DEF)
+ ret = GetDeoxysStat(mon, STAT_DEF);
+ if (!ret)
+ ret = mon->defense;
+ break;
case MON_DATA_SPD:
- TRY_GET_DEOXYS_STAT(mon, 3, GET_SPD)
+ ret = GetDeoxysStat(mon, STAT_SPD);
+ if (!ret)
+ ret = mon->speed;
+ break;
case MON_DATA_SPATK:
- TRY_GET_DEOXYS_STAT(mon, 4, GET_SPATK)
+ ret = GetDeoxysStat(mon, STAT_SPATK);
+ if (!ret)
+ ret = mon->spAttack;
+ break;
case MON_DATA_SPDEF:
- TRY_GET_DEOXYS_STAT(mon, 5, GET_SPDEF)
- GET_ATK:
+ ret = GetDeoxysStat(mon, STAT_SPDEF);
+ if (!ret)
+ ret = mon->spDefense;
+ break;
case MON_DATA_ATK2:
- return mon->attack;
- GET_DEF:
+ ret = mon->attack;
+ break;
case MON_DATA_DEF2:
- return mon->defense;
- GET_SPD:
+ ret = mon->defense;
+ break;
case MON_DATA_SPD2:
- return mon->speed;
- GET_SPATK:
+ ret = mon->speed;
+ break;
case MON_DATA_SPATK2:
- return mon->spAttack;
- GET_SPDEF:
+ ret = mon->spAttack;
+ break;
case MON_DATA_SPDEF2:
- return mon->spDefense;
+ ret = mon->spDefense;
+ break;
case MON_DATA_MAIL:
- return mon->mail;
+ ret = mon->mail;
+ break;
default:
- return GetBoxMonData(&mon->box, field, data);
+ ret = GetBoxMonData(&mon->box, field, data);
+ break;
}
+ return ret;
}