CObjectPropertyEvaluatorFull::_value_type CObjectPropertyEvaluatorFull::evaluate () { if (!m_ammo_type) return (_value_type(m_item->GetAmmoElapsed() == m_item->GetAmmoMagSize())); else return (_value_type(false)); }
CObjectPropertyEvaluatorEmpty::_value_type CObjectPropertyEvaluatorEmpty::evaluate () { if (!m_ammo_type) return (_value_type(!m_item->GetAmmoElapsed())); else return (_value_type(false)); }
CObjectPropertyEvaluatorAmmo::_value_type CObjectPropertyEvaluatorAmmo::evaluate () { if (!m_ammo_type) return (_value_type(!!m_item->GetSuitableAmmoTotal())); else return (_value_type(false)); }
CObjectPropertyEvaluatorAmmo::_value_type CObjectPropertyEvaluatorAmmo::evaluate () { if (!m_ammo_type) return (_value_type(!!(m_item->GetAmmoCurrent() - m_item->GetAmmoElapsed()))); else return (_value_type(false)); }
CObjectPropertyEvaluatorReady::_value_type CObjectPropertyEvaluatorReady::evaluate () { if (!m_ammo_type) // return (_value_type(!m_item->IsMisfire() && m_item->GetAmmoElapsed())); return (_value_type(!m_item->IsMisfire() && (m_item->GetAmmoElapsed() && (m_item->GetState() != CWeapon::eReload)))); else return (_value_type(false)); }
CObjectPropertyEvaluatorState::_value_type CObjectPropertyEvaluatorState::evaluate () { VERIFY (m_item); return (_value_type((m_item->GetState() == m_state) == m_equality)); }