diff --git a/src/items/item_manager.hpp b/src/items/item_manager.hpp index 83f5f9a9e..8c96e4951 100644 --- a/src/items/item_manager.hpp +++ b/src/items/item_manager.hpp @@ -135,6 +135,7 @@ public: void reset (); virtual void collectedItem (Item *item, AbstractKart *kart); void switchItems (); + bool areItemSwitched() { return (m_switch_ticks > 0); } bool randomItemsForArena(const AlignedArray& pos); // ------------------------------------------------------------------------ /** Only used in the NetworkItemManager. */ diff --git a/src/karts/controller/skidding_ai.cpp b/src/karts/controller/skidding_ai.cpp index a6e5bc03a..9780e5fca 100644 --- a/src/karts/controller/skidding_ai.cpp +++ b/src/karts/controller/skidding_ai.cpp @@ -1424,7 +1424,8 @@ void SkiddingAI::handleBubblegum(int item_skill, const std::vector if (abs_angle < 0.2f) straight_behind = true; } - if(m_distance_behind < 8.0f && straight_behind ) + if(m_distance_behind < 8.0f && straight_behind && + (!ItemManager::get()->areItemSwitched() || item_skill < 4)) { m_controls->setFire(true); m_controls->setLookBack(true);