示例#1
0
dd_bool P_TogglePower(player_t *player, powertype_t powerType)
{
    DENG_ASSERT(player != 0);
    DENG_ASSERT(powerType >= PT_FIRST && powerType < NUM_POWER_TYPES);

    if(!player->powers[powerType])
    {
        return P_GivePower(player, powerType);
    }
    else
    {
        return P_TakePower(player, powerType);
    }
}
示例#2
0
boolean Cht_PowerUpFunc(player_t *plyr, int i)
{
    plyr->update |= PSF_POWERS;
    if(!plyr->powers[i])
    {
        return P_GivePower(plyr, i);
    }
    else if(i == PT_STRENGTH || i == PT_FLIGHT)
    {
        return !(P_TakePower(plyr, i));
    }
    else
    {
        plyr->powers[i] = 1;
        return true;
    }
}