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; } }
bool8 ScrCmd_message(struct ScriptContext *ctx) { u8 *msg = (u8 *)ScriptReadWord(ctx); if (!msg) msg = (u8 *)ctx->data[0]; ShowFieldMessage(msg); return FALSE; }
void ScrSpecial_ShowTrainerNonBattlingSpeech(void) { ShowFieldMessage(GetTrainerNonBattlingSpeech()); }
void ScrSpecial_ShowTrainerIntroSpeech(void) { ShowFieldMessage(GetTrainerIntroSpeech()); }
bool8 ScrCmd_vtext(struct ScriptContext *ctx) { u32 v1 = ScriptReadWord(ctx); ShowFieldMessage((u8 *)(v1 - gUnknown_0202E8B0)); return FALSE; }