Exemplo n.º 1
0
bool CampaignManager::checkAllRequirements(const Event_Component& ec) {
    if (ec.type == EC_REQUIRES_STATUS) {
        if (checkStatus(ec.s))
            return true;
    }
    else if (ec.type == EC_REQUIRES_NOT_STATUS) {
        if (!checkStatus(ec.s))
            return true;
    }
    else if (ec.type == EC_REQUIRES_CURRENCY) {
        if (checkCurrency(ec.x))
            return true;
    }
    else if (ec.type == EC_REQUIRES_NOT_CURRENCY) {
        if (!checkCurrency(ec.x))
            return true;
    }
    else if (ec.type == EC_REQUIRES_ITEM) {
        if (checkItem(ec.x))
            return true;
    }
    else if (ec.type == EC_REQUIRES_NOT_ITEM) {
        if (!checkItem(ec.x))
            return true;
    }
    else if (ec.type == EC_REQUIRES_LEVEL) {
        if (pc->stats.level >= ec.x)
            return true;
    }
    else if (ec.type == EC_REQUIRES_NOT_LEVEL) {
        if (pc->stats.level < ec.x)
            return true;
    }
    else if (ec.type == EC_REQUIRES_CLASS) {
        if (pc->stats.character_class == ec.s)
            return true;
    }
    else if (ec.type == EC_REQUIRES_NOT_CLASS) {
        if (pc->stats.character_class != ec.s)
            return true;
    }
    else {
        // Event component is not a requirement check
        // treat it as if the "requirement" was met
        return true;
    }

    // requirement check failed
    return false;
}
Exemplo n.º 2
0
Arquivo: Money.C Projeto: 913862627/wt
Money& Money::operator-= (const Money& money)
{
  checkCurrency(*this, *this, money);

  valueInCents_ -= money.valueInCents();

  return (*this);
}