diff --git a/src/challenges/moon_and_back_gp.cpp b/src/challenges/moon_and_back_gp.cpp index ffb5fea19..55625bd74 100644 --- a/src/challenges/moon_and_back_gp.cpp +++ b/src/challenges/moon_and_back_gp.cpp @@ -54,7 +54,7 @@ bool MoonAndBackGP::grandPrixFinished() for(int i=0; i<(int)race_manager->getNumKarts(); i++) { const Kart* k=world->getKart(i); - if(k->isPlayerKart() && !k->isEliminated()) return k->getPosition()<4; + if(k->isPlayerKart() && !k->isEliminated()) return k->getPosition()==1; } return false; diff --git a/src/challenges/penguin_playground_gp.cpp b/src/challenges/penguin_playground_gp.cpp index 3d5f6136d..ee92dd241 100644 --- a/src/challenges/penguin_playground_gp.cpp +++ b/src/challenges/penguin_playground_gp.cpp @@ -52,7 +52,7 @@ bool PenguinPlaygroundGP::grandPrixFinished() for(int i=0; i<(int)race_manager->getNumKarts(); i++) { const Kart* k=world->getKart(i); - if(k->isPlayerKart() && !k->isEliminated()) return k->getPosition()<4; + if(k->isPlayerKart() && !k->isEliminated()) return k->getPosition()==1; } return false; diff --git a/src/challenges/tollway_head2head.cpp b/src/challenges/tollway_head2head.cpp index 5d5544c56..c23d7ef83 100644 --- a/src/challenges/tollway_head2head.cpp +++ b/src/challenges/tollway_head2head.cpp @@ -30,7 +30,7 @@ TollwayHead2Head::TollwayHead2Head() : Challenge("tollwayhead", _("Win a Head to //----------------------------------------------------------------------------- void TollwayHead2Head::setRace() const { - race_manager->setRaceMode(RaceManager::RM_QUICK_RACE); + race_manager->setRaceMode(RaceManager::RM_TIME_TRIAL); race_manager->setTrack("tuxtrack"); race_manager->setDifficulty(RaceManager::RD_HARD); race_manager->setNumLaps(1); @@ -46,5 +46,11 @@ bool TollwayHead2Head::raceFinished() Kart* kart=world->getPlayerKart(0); if(kart->getLap()!=1 ) return false; // wrong number of laps if(race_manager->getNumKarts()!=2 ) return false; //wrong number of AI karts - return true; + // Check if the player was first: + for(int i=0; i<(int)race_manager->getNumKarts(); i++) + { + const Kart* k=world->getKart(i); + if(k->isPlayerKart() && !k->isEliminated()) return k->getPosition()==1; + } + return false; } // raceFinished