From 1a08d8fcb4bb2aaa1dd36a5f751bb31519545a4b Mon Sep 17 00:00:00 2001 From: GriffinR Date: Mon, 29 Nov 2021 12:56:03 -0500 Subject: [PATCH] Add BUGFIX for roamer's status --- src/roamer.c | 8 ++++++++ 1 file changed, 8 insertions(+) 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);