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