Exemple #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;
    }
}
Exemple #2
0
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);
}
Exemple #3
0
static void sub_810B58C(void)
{
    PlaySE(SE_W088);
    FieldEffectActiveListRemove(FLDEFF_USE_ROCK_SMASH);
    EnableBothScriptContexts();
}