Not displaying a win message when there is only one kart was intended behaviour. A win requires the possibility of a loss. However, displaying the finishing rank with only one kart is ugly.
This commit is contained in:
parent
6c2dd48c48
commit
f4fd914858
@ -1008,20 +1008,25 @@ void Kart::finishedRace(float time, bool from_server)
|
|||||||
RaceGUIBase* m = World::getWorld()->getRaceGUI();
|
RaceGUIBase* m = World::getWorld()->getRaceGUI();
|
||||||
if (m)
|
if (m)
|
||||||
{
|
{
|
||||||
bool won_the_race = false, too_slow = false;
|
bool won_the_race = false, too_slow = false, one_kart = false;
|
||||||
unsigned int win_position = 1;
|
unsigned int win_position = 1;
|
||||||
|
|
||||||
if (RaceManager::get()->getMinorMode() == RaceManager::MINOR_MODE_FOLLOW_LEADER)
|
if (RaceManager::get()->getMinorMode() == RaceManager::MINOR_MODE_FOLLOW_LEADER)
|
||||||
win_position = 2;
|
win_position = 2;
|
||||||
|
|
||||||
|
// There is no win if there is no possibility of losing
|
||||||
|
if (RaceManager::get()->getNumberOfKarts() == 1)
|
||||||
|
one_kart = true;
|
||||||
|
|
||||||
if ((getPosition() == (int)win_position &&
|
if ((getPosition() == (int)win_position &&
|
||||||
World::getWorld()->getNumKarts() > win_position) || RaceManager::get()->getNumberOfKarts() == 1)
|
World::getWorld()->getNumKarts() > win_position))
|
||||||
won_the_race = true;
|
won_the_race = true;
|
||||||
|
|
||||||
if (RaceManager::get()->hasTimeTarget() && m_finish_time > RaceManager::get()->getTimeTarget())
|
if (RaceManager::get()->hasTimeTarget() && m_finish_time > RaceManager::get()->getTimeTarget())
|
||||||
too_slow = true;
|
too_slow = true;
|
||||||
|
|
||||||
m->addMessage((too_slow ? _("You were too slow!") :
|
m->addMessage((too_slow ? _("You were too slow!") :
|
||||||
|
one_kart ? _("You finished the race!") :
|
||||||
won_the_race ? _("You won the race!") :
|
won_the_race ? _("You won the race!") :
|
||||||
_("You finished the race in rank %d!", getPosition())),
|
_("You finished the race in rank %d!", getPosition())),
|
||||||
this, 2.0f, video::SColor(255, 255, 255, 255), true, true, true);
|
this, 2.0f, video::SColor(255, 255, 255, 255), true, true, true);
|
||||||
|
Loading…
Reference in New Issue
Block a user