diff options
Diffstat (limited to 'src/field_poison.c')
-rw-r--r-- | src/field_poison.c | 29 |
1 files changed, 15 insertions, 14 deletions
diff --git a/src/field_poison.c b/src/field_poison.c index 9b21ac5f3..8e49080b0 100644 --- a/src/field_poison.c +++ b/src/field_poison.c @@ -5,6 +5,7 @@ #include "script.h" #include "string_util.h" #include "task.h" +#include "text.h" extern struct Pokemon gPlayerParty[6]; extern u16 gScriptResult; @@ -14,7 +15,7 @@ bool32 CheckMonIsValid(struct Pokemon *pkmn) { // UB: Too few arguments for function 'GetMonData' u16 species2 = GetMonData(pkmn, MON_DATA_SPECIES2); - + if (species2 == 0 || species2 == 0x19C) return FALSE; else @@ -25,7 +26,7 @@ bool32 AllMonsFainted(void) { struct Pokemon *pkmn = &gPlayerParty[0]; int i; - + for (i = 0; i < 6; i++, pkmn++) { // UB: Too few arguments for function 'GetMonData' @@ -39,7 +40,7 @@ void MonFaintFromPoisonOnField(u8 partyMember) { struct Pokemon *pkmn = &gPlayerParty[partyMember]; u32 val = 0; - + AdjustFriendship(pkmn, 7); SetMonData(pkmn, MON_DATA_STATUS, (u8*)&val); GetMonData(pkmn, MON_DATA_NICKNAME, gStringVar1); @@ -49,7 +50,7 @@ void MonFaintFromPoisonOnField(u8 partyMember) bool32 CheckMonFaintedFromPoison(u8 partyMember) { struct Pokemon *pkmn = &gPlayerParty[partyMember]; - + // UB: Too few arguments for function 'GetMonData' if (CheckMonIsValid(pkmn) && GetMonData(pkmn, MON_DATA_HP) == 0 && pokemon_ailments_get_primary(GetMonData(pkmn, MON_DATA_STATUS)) == 1) @@ -68,7 +69,7 @@ enum void Task_WhiteOut(u8 taskId) { s16 *taskData = gTasks[taskId].data; - + switch (taskData[TD_STATE]) { case 0: //Check if Pokemon have fainted due to poison @@ -106,36 +107,36 @@ void ExecuteWhiteOut(void) ScriptContext1_Stop(); } -u8 overworld_poison(void) +s32 overworld_poison(void) { struct Pokemon *pkmn = &gPlayerParty[0]; u32 numPoisoned = 0; u32 numFainting = 0; int i; - - for(i = 0; i < 6; i++) + + for (i = 0; i < 6; i++) { u32 hp; - + // UB: Too few arguments for function 'GetMonData' if (GetMonData(pkmn, MON_DATA_SANITY_BIT2) != 0 && pokemon_ailments_get_primary(GetMonData(pkmn, MON_DATA_STATUS)) == 1) { hp = GetMonData(pkmn, MON_DATA_HP); - if(hp != 0) + if (hp != 0) hp--; - if(hp == 0) + if (hp == 0) numFainting++; //Pokemon will now faint due to poison SetMonData(pkmn, MON_DATA_HP, (u8 *)&hp); numPoisoned++; } pkmn++; } - if(numFainting != 0 || numPoisoned != 0) + if (numFainting != 0 || numPoisoned != 0) DoFieldPoisonEffect(); - if(numFainting != 0) + if (numFainting != 0) return 2; - if(numPoisoned != 0) + if (numPoisoned != 0) return 1; return 0; } |