Fix the possibility to get 1 lap/race achievements in battle/soccer/egg hunt

This commit is contained in:
Alayan 2018-11-23 16:57:19 +01:00
parent 8995027d42
commit 5ea5b69200
6 changed files with 20 additions and 10 deletions

View File

@ -330,6 +330,7 @@ void Attachment::hitBanana(ItemState *item_state)
if (m_kart->getController()->canGetAchievements())
{
PlayerManager::increaseAchievement(AchievementsStatus::BANANA, 1);
if (race_manager->isLinearRaceMode())
PlayerManager::increaseAchievement(AchievementsStatus::BANANA_1RACE, 1);
}
//Bubble gum shield effect:

View File

@ -571,6 +571,7 @@ void Flyable::explode(AbstractKart *kart_hit, PhysicalObject *object,
if (m_owner->getWorldKartId() != kart->getWorldKartId())
PlayerManager::addKartHit(kart->getWorldKartId());
PlayerManager::increaseAchievement(AchievementsStatus::ALL_HITS, 1);
if (race_manager->isLinearRaceMode())
PlayerManager::increaseAchievement(AchievementsStatus::ALL_HITS_1RACE, 1);
}
}

View File

@ -253,6 +253,7 @@ void Powerup::use()
m_kart->getController()->canGetAchievements() )
{
PlayerManager::increaseAchievement(AchievementsStatus::POWERUP_USED, 1);
if (race_manager->isLinearRaceMode())
PlayerManager::increaseAchievement(AchievementsStatus::POWERUP_USED_1RACE, 1);
}

View File

@ -375,11 +375,14 @@ void Swatter::squashThingsAround()
{
PlayerManager::addKartHit(m_closest_kart->getWorldKartId());
PlayerManager::increaseAchievement(AchievementsStatus::SWATTER_HIT, 1);
PlayerManager::increaseAchievement(AchievementsStatus::SWATTER_HIT_1RACE, 1);
PlayerManager::increaseAchievement(AchievementsStatus::ALL_HITS, 1);
if (race_manager->isLinearRaceMode())
{
PlayerManager::increaseAchievement(AchievementsStatus::SWATTER_HIT_1RACE, 1);
PlayerManager::increaseAchievement(AchievementsStatus::ALL_HITS_1RACE, 1);
}
}
}
if (has_created_explosion_animation)
{

View File

@ -555,11 +555,14 @@ void Skidding::update(int ticks, bool is_on_ground,
stk_config->time2Ticks(1.0f);
if (m_kart->getController()->canGetAchievements())
{
if (race_manager->isLinearRaceMode())
{
PlayerManager::increaseAchievement(
AchievementsStatus::SKIDDING_1LAP, 1);
PlayerManager::increaseAchievement(
AchievementsStatus::SKIDDING_1RACE, 1);
}
PlayerManager::increaseAchievement(
AchievementsStatus::SKIDDING, 1);
}

View File

@ -363,6 +363,7 @@ void Physics::update(int ticks)
if (type == PowerupManager::POWERUP_BOWLING)
{
PlayerManager::increaseAchievement(AchievementsStatus::BOWLING_HIT, 1);
if (race_manager->isLinearRaceMode())
PlayerManager::increaseAchievement(AchievementsStatus::BOWLING_HIT_1RACE, 1);
} // is bowling ball
} // if target_kart != kart && is a player kart and is current player