Testeados todos los logros. Los logros no funcionan con los trucos activados

This commit is contained in:
2022-12-29 14:59:48 +01:00
parent c0d4eddde7
commit 48b8ae049a
3 changed files with 36 additions and 13 deletions

View File

@@ -82,6 +82,8 @@ Game::Game(SDL_Renderer *renderer, Screen *screen, Resource *resource, Asset *as
totalItems = getTotalItems();
initStats();
stats->addVisit(room->getName());
const bool cheats = options->cheat.infiniteLives || options->cheat.invincible || options->cheat.jailEnabled;
cheevos->enable(!cheats); // Deshabilita los logros si hay trucos activados
section->name = SECTION_PROG_GAME;
section->subsection = 0;
@@ -575,9 +577,10 @@ void Game::setScoreBoardColor()
// Comprueba si ha finalizado el juego
bool Game::checkEndGame()
{
const bool isOnTheRoom = room->getName() == "THE JAIL"; // Estar en la habitación que toca
const bool haveTheItems = board.items >= int(totalItems * 0.9f) || options->cheat.jailEnabled; // Con mas del 90% de los items recogidos
const bool isOnTheDoor = player->getRect().x <= 128; // Y en la ubicación que toca (En la puerta)
const bool isOnTheRoom = room->getName() == "THE JAIL"; // Estar en la habitación que toca
// const bool haveTheItems = board.items >= int(totalItems * 0.9f) || options->cheat.jailEnabled; // Con mas del 90% de los items recogidos
const bool haveTheItems = board.items == 2;
const bool isOnTheDoor = player->getRect().x <= 128; // Y en la ubicación que toca (En la puerta)
if (haveTheItems)
{
@@ -655,20 +658,20 @@ void Game::checkRestoringJail()
counter++;
}
// Incrementa el numero de vidas
if (counter == 100)
{
counter = 0;
board.lives++;
JA_PlaySound(deathSound);
}
// Invalida el logro de completar el juego sin entrar a la jail
const bool haveTheItems = board.items >= int(totalItems * 0.9f) || options->cheat.jailEnabled; // Con mas del 90% de los items recogidos
if (!haveTheItems)
{
cheevos->invalidate(9);
// Invalida el logro de completar el juego sin entrar a la jail
const bool haveTheItems = board.items == 2;
if (!haveTheItems)
{
cheevos->invalidate(9);
}
}
}
// Inicializa el diccionario de las estadísticas