Проще всего проверить, что мы на game over экране по instance_exists(GameOverButton).
Логика причин выглядит где-то как
if (GameCont.gameovertext != "") {
// пользовательская причина из GameCont.gameovertext
} else if (instance_exists(LastFire) && instance_exists(SitDown)) {
// THE STRUGGLE IS OVER
} else if (GameCont.area == 7 && GameCont.subarea == 3) {
if (GameCont.win == 1) {
// YOU REACHED THE NUCLEAR THRONE
} else {
// YOU ALMOST REACHED THE NUCLEAR THRONE
}
} else if (GameCont.loops > 0) {
// THE STRUGGLE CONTINUES
} else {
// YOU DID NOT REACH THE NUCLEAR THRONE
}