void Task_WhiteOut(u8 taskId) { s16 *taskData = gTasks[taskId].data; switch (taskData[TD_STATE]) { case 0: //Check if Pokemon have fainted due to poison while (taskData[TD_PARTY_MEMBER] < 6) { if (CheckMonFaintedFromPoison(taskData[TD_PARTY_MEMBER])) { MonFaintFromPoisonOnField(taskData[TD_PARTY_MEMBER]); ShowFieldMessage(fieldPoisonText_PokemonFainted); taskData[TD_STATE]++; return; } taskData[TD_PARTY_MEMBER]++; } taskData[TD_STATE] = 2; break; case 1: //Wait for message box to disappear if (IsFieldMessageBoxHidden()) taskData[TD_STATE]--; //Check next party member break; case 2: //Done checking Pokemon if (AllMonsFainted()) gScriptResult = 1; else gScriptResult = 0; EnableBothScriptContexts(); DestroyTask(taskId); break; } }
static void PlayerPC_TurnOff(u8 taskId) { if (gPcItemMenuOptionsNum == 4) // if the option count is 4, we are at the bedroom PC and not player PC, so do gender specific handling. { Menu_EraseWindowRect(0, 0, 0x1D, 0x13); if (gSaveBlock2.playerGender == MALE) ScriptContext1_SetupScript(gBrendanHouse_TurnPCOff); else ScriptContext1_SetupScript(gMayHouse_TurnPCOff); } else { Menu_EraseWindowRect(0, 0, 10, 9); EnableBothScriptContexts(); } DestroyTask(taskId); }
static void sub_810B58C(void) { PlaySE(SE_W088); FieldEffectActiveListRemove(FLDEFF_USE_ROCK_SMASH); EnableBothScriptContexts(); }