From: <mbj...@us...> - 2010-05-04 00:29:49
|
Revision: 5372 http://supertuxkart.svn.sourceforge.net/supertuxkart/?rev=5372&view=rev Author: mbjornstk Date: 2010-05-04 00:29:41 +0000 (Tue, 04 May 2010) Log Message: ----------- Enable backwards firing of cakes (based in ball code). Modified Paths: -------------- main/trunk/src/karts/controller/default_ai_controller.cpp Modified: main/trunk/src/karts/controller/default_ai_controller.cpp =================================================================== --- main/trunk/src/karts/controller/default_ai_controller.cpp 2010-05-03 23:37:38 UTC (rev 5371) +++ main/trunk/src/karts/controller/default_ai_controller.cpp 2010-05-04 00:29:41 UTC (rev 5372) @@ -515,9 +515,21 @@ // towards m_kart_ahead. And some of them can fire backwards, too - which // isn't yet supported for AI karts. case PowerupManager::POWERUP_CAKE: - m_controls->m_fire = (m_kart_ahead && m_distance_ahead < 20.0f) || - m_time_since_last_shot > 10.0f; - break; + { + // Since cakes can be fired all around, just use a sane distance + // with a bit of extra for backwards, as enemy will go towards cake + bool fire_backwards = (m_kart_behind && m_kart_ahead && + m_distance_behind < m_distance_ahead) || + !m_kart_ahead; + float distance = fire_backwards ? m_distance_behind + : m_distance_ahead; + m_controls->m_fire = (fire_backwards && distance < 25.0f) || + (!fire_backwards && distance < 20.0f) || + m_time_since_last_shot > 10.0f; + if(m_controls->m_fire) + m_controls->m_look_back = fire_backwards; + break; + } case PowerupManager::POWERUP_BOWLING: { // Bowling balls slower, so only fire on closer karts - but when This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |