summaryrefslogtreecommitdiff
path: root/src/roamer.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/roamer.c')
-rw-r--r--src/roamer.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/roamer.c b/src/roamer.c
index 4811ac3b2..c17ec490c 100644
--- a/src/roamer.c
+++ b/src/roamer.c
@@ -193,10 +193,18 @@ bool8 IsRoamerAt(u8 mapGroup, u8 mapNum)
void CreateRoamerMonInstance(void)
{
+ u32 status;
struct Pokemon *mon = &gEnemyParty[0];
ZeroEnemyPartyMons();
CreateMonWithIVsPersonality(mon, ROAMER->species, ROAMER->level, ROAMER->ivs, ROAMER->personality);
+// The roamer's status field is u8, but SetMonData expects status to be u32, so will set the roamer's status
+// using the status field and the following 3 bytes (cool, beauty, and cute).
+#ifdef BUGFIX
+ status = ROAMER->status;
+ SetMonData(mon, MON_DATA_STATUS, &status);
+#else
SetMonData(mon, MON_DATA_STATUS, &ROAMER->status);
+#endif
SetMonData(mon, MON_DATA_HP, &ROAMER->hp);
SetMonData(mon, MON_DATA_COOL, &ROAMER->cool);
SetMonData(mon, MON_DATA_BEAUTY, &ROAMER->beauty);