Clean up
This commit is contained in:
parent
af5b23e5c6
commit
b6b644ecb5
@ -226,8 +226,7 @@ void Flyable::getClosestKart(const AbstractKart **minKart,
|
||||
// it is not considered a target anymore.
|
||||
if(kart->isEliminated() || kart == m_owner ||
|
||||
kart->isInvulnerable() ||
|
||||
kart->getKartAnimation() ||
|
||||
kart->isGhostKart() ) continue;
|
||||
kart->getKartAnimation() ) continue;
|
||||
|
||||
const SoccerWorld* sw = dynamic_cast<SoccerWorld*>(World::getWorld());
|
||||
if (sw)
|
||||
|
@ -243,7 +243,7 @@ void Swatter::chooseTarget()
|
||||
{
|
||||
AbstractKart *kart = world->getKart(i);
|
||||
// TODO: isSwatterReady(), isSquashable()?
|
||||
if(kart->isEliminated() || kart == m_kart || kart->isGhostKart())
|
||||
if(kart->isEliminated() || kart==m_kart)
|
||||
continue;
|
||||
// don't squash an already hurt kart
|
||||
if (kart->isInvulnerable() || kart->isSquashed())
|
||||
|
@ -75,6 +75,9 @@ public:
|
||||
// ------------------------------------------------------------------------
|
||||
/** Returns whether this kart is a ghost (replay) kart. */
|
||||
virtual bool isGhostKart() const { return true; }
|
||||
// ------------------------------------------------------------------------
|
||||
/** Ghost can't be hunted. */
|
||||
virtual bool isInvulnerable() const { return true; }
|
||||
|
||||
}; // GhostKart
|
||||
#endif
|
||||
|
@ -1493,7 +1493,7 @@ void Kart::showZipperFire()
|
||||
*/
|
||||
void Kart::setSquash(float time, float slowdown)
|
||||
{
|
||||
if (isInvulnerable() || isGhostKart()) return;
|
||||
if (isInvulnerable()) return;
|
||||
|
||||
if (isShielded())
|
||||
{
|
||||
|
@ -102,17 +102,25 @@ void StandardRace::endRaceEarly()
|
||||
continue;
|
||||
}
|
||||
|
||||
if (!kart->isGhostKart())
|
||||
if (kart->isGhostKart())
|
||||
{
|
||||
// Keep active players apart for now
|
||||
if (kart->getController()->isPlayerController())
|
||||
active_players.push_back(kartid);
|
||||
// Ghost karts finish
|
||||
setKartPosition(kartid, i - (unsigned int) active_players.size());
|
||||
kart->finishedRace(estimateFinishTimeForKart(kart));
|
||||
}
|
||||
else
|
||||
{
|
||||
// AI karts finish
|
||||
setKartPosition(kartid, i - (unsigned int) active_players.size());
|
||||
kart->finishedRace(estimateFinishTimeForKart(kart));
|
||||
if (kart->getController()->isPlayerController())
|
||||
{
|
||||
// Keep active players apart for now
|
||||
active_players.push_back(kartid);
|
||||
}
|
||||
else
|
||||
{
|
||||
// AI karts finish
|
||||
setKartPosition(kartid, i - (unsigned int) active_players.size());
|
||||
kart->finishedRace(estimateFinishTimeForKart(kart));
|
||||
}
|
||||
}
|
||||
} // i <= kart_amount
|
||||
// Now make the active players finish
|
||||
|
@ -25,6 +25,7 @@
|
||||
#include "race/race_manager.hpp"
|
||||
#include "tracks/track.hpp"
|
||||
|
||||
#include <irrlicht.h>
|
||||
#include <stdio.h>
|
||||
#include <string>
|
||||
|
||||
@ -91,8 +92,9 @@ void ReplayPlay::loadKartInfo()
|
||||
{
|
||||
if (fgets(s, 1023, fd) == NULL)
|
||||
Log::fatal("Replay", "Could not read '%s'.", getReplayFilename().c_str());
|
||||
std::string is_end = std::string(s);
|
||||
if (is_end == "kart_list_end\n" || is_end == "kart_list_end\r\n") break;
|
||||
core::stringc is_end(s);
|
||||
is_end.trim();
|
||||
if (is_end == "kart_list_end") break;
|
||||
char s1[1024];
|
||||
|
||||
if (sscanf(s,"kart: %s", s1) != 1)
|
||||
|
Loading…
x
Reference in New Issue
Block a user