¿Por qué esto solo devuelve "sí"

int OnLoad() {
cout << "Hi whats your name? ";
cin >> name;
system("cls");
cout << "Hi " << name << "." << " Are you here to Take Over the city from zombies?"<< endl;
cin >> userInput;
if (userInput == "yes" || "Yes") {
    cout << "Yes" << endl;
}
else if (userInput == "no" || "No") {
    cout << "No" << endl;
}
else {
    cout << "I don't understand." << endl;
}
return 0;
}

int main() {
OnLoad();
system("pause");
return 0;
}

Este código solo devuelve Sí, una vez que aparece la ventana de la consola y pregunta si está aquí para apoderarse de la ciudad de los zombis, incluso después de que escriba no, devuelve sí.

Respuestas a la pregunta(2)

Su respuesta a la pregunta