add configuration for item return times in stk_config.xml
This commit is contained in:
parent
550458bebd
commit
e110948eb5
@ -224,6 +224,11 @@
|
|||||||
to timer when bomb is passed on. -->
|
to timer when bomb is passed on. -->
|
||||||
<bomb time="30.0" time-increase="0.0"/>
|
<bomb time="30.0" time-increase="0.0"/>
|
||||||
|
|
||||||
|
<!-- Item return times.
|
||||||
|
Time until an item that has been collected returns. Can be set
|
||||||
|
differently for bonus (gift) boxes, nitro, bananas and bubble gums -->
|
||||||
|
<item-return-time bonusbox="2.0" nitro="2.0" banana="2.0" bubblegum="2.0"/>
|
||||||
|
|
||||||
<!-- Powerup collect-mode decides what is collected if a kart has already an
|
<!-- Powerup collect-mode decides what is collected if a kart has already an
|
||||||
powerup: same: get one more item of the same type.
|
powerup: same: get one more item of the same type.
|
||||||
new: always get a new item.
|
new: always get a new item.
|
||||||
|
@ -191,6 +191,10 @@ void STKConfig::load(const std::string &filename)
|
|||||||
CHECK_NEG(m_snb_min_adjust_speed, "network smoothing: min-adjust-speed");
|
CHECK_NEG(m_snb_min_adjust_speed, "network smoothing: min-adjust-speed");
|
||||||
CHECK_NEG(m_snb_max_adjust_time, "network smoothing: max-adjust-time");
|
CHECK_NEG(m_snb_max_adjust_time, "network smoothing: max-adjust-time");
|
||||||
CHECK_NEG(m_snb_adjust_length_threshold, "network smoothing: adjust-length-threshold");
|
CHECK_NEG(m_snb_adjust_length_threshold, "network smoothing: adjust-length-threshold");
|
||||||
|
CHECK_NEG(m_bonusbox_item_return_ticks, "bonus box return time");
|
||||||
|
CHECK_NEG(m_nitro_item_return_ticks, "nitro return time");
|
||||||
|
CHECK_NEG(m_banana_item_return_ticks, "banana return time");
|
||||||
|
CHECK_NEG(m_bubblegum_item_return_ticks, "bubble gum return time");
|
||||||
|
|
||||||
// Square distance to make distance checks cheaper (no sqrt)
|
// Square distance to make distance checks cheaper (no sqrt)
|
||||||
m_default_kart_properties->checkAllSet(filename);
|
m_default_kart_properties->checkAllSet(filename);
|
||||||
@ -262,6 +266,11 @@ void STKConfig::init_defaults()
|
|||||||
m_snb_min_adjust_speed = m_snb_max_adjust_time =
|
m_snb_min_adjust_speed = m_snb_max_adjust_time =
|
||||||
m_snb_adjust_length_threshold = UNDEFINED;
|
m_snb_adjust_length_threshold = UNDEFINED;
|
||||||
|
|
||||||
|
m_bonusbox_item_return_ticks = -100;
|
||||||
|
m_nitro_item_return_ticks = -100;
|
||||||
|
m_banana_item_return_ticks = -100;
|
||||||
|
m_bubblegum_item_return_ticks = -100;
|
||||||
|
|
||||||
m_score_increase.clear();
|
m_score_increase.clear();
|
||||||
m_leader_intervals.clear();
|
m_leader_intervals.clear();
|
||||||
m_switch_items.clear();
|
m_switch_items.clear();
|
||||||
@ -478,6 +487,19 @@ void STKConfig::getAllData(const XMLNode * root)
|
|||||||
bomb_node->get("time-increase", &m_bomb_time_increase);
|
bomb_node->get("time-increase", &m_bomb_time_increase);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(const XMLNode *item_return_node= root->getNode("item-return-time"))
|
||||||
|
{
|
||||||
|
float f;
|
||||||
|
if(item_return_node->get("bonusbox", &f))
|
||||||
|
m_bonusbox_item_return_ticks = time2Ticks(f);
|
||||||
|
if(item_return_node->get("nitro", &f))
|
||||||
|
m_nitro_item_return_ticks = time2Ticks(f);
|
||||||
|
if(item_return_node->get("banana", &f))
|
||||||
|
m_banana_item_return_ticks = time2Ticks(f);
|
||||||
|
if(item_return_node->get("bubblegum", &f))
|
||||||
|
m_bubblegum_item_return_ticks = time2Ticks(f);
|
||||||
|
}
|
||||||
|
|
||||||
if(const XMLNode *powerup_node= root->getNode("powerup"))
|
if(const XMLNode *powerup_node= root->getNode("powerup"))
|
||||||
{
|
{
|
||||||
std::string s;
|
std::string s;
|
||||||
|
@ -67,6 +67,11 @@ public:
|
|||||||
}
|
}
|
||||||
m_same_powerup_mode;
|
m_same_powerup_mode;
|
||||||
|
|
||||||
|
int m_bonusbox_item_return_ticks; /** Time until a bonus box collected by a kart returns */
|
||||||
|
int m_nitro_item_return_ticks; /** Time until a nitro collected by a kart returns */
|
||||||
|
int m_banana_item_return_ticks; /** Time until a banana collected by a kart return */
|
||||||
|
int m_bubblegum_item_return_ticks; /** Time until a bubble gum collected bý a kart returns */
|
||||||
|
|
||||||
static float UNDEFINED;
|
static float UNDEFINED;
|
||||||
float m_bomb_time; /**<Time before a bomb explodes. */
|
float m_bomb_time; /**<Time before a bomb explodes. */
|
||||||
float m_bomb_time_increase; /**<Time added to bomb timer when it's
|
float m_bomb_time_increase; /**<Time added to bomb timer when it's
|
||||||
|
@ -147,7 +147,26 @@ void ItemState::collected(const AbstractKart *kart)
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
m_ticks_till_return = stk_config->time2Ticks(2.0f);
|
switch (m_type)
|
||||||
|
{
|
||||||
|
case ITEM_BONUS_BOX:
|
||||||
|
m_ticks_till_return = stk_config->m_bonusbox_item_return_ticks;
|
||||||
|
break;
|
||||||
|
case ITEM_NITRO_BIG:
|
||||||
|
case ITEM_NITRO_SMALL:
|
||||||
|
m_ticks_till_return = stk_config->m_nitro_item_return_ticks;
|
||||||
|
break;
|
||||||
|
case ITEM_BANANA:
|
||||||
|
m_ticks_till_return = stk_config->m_banana_item_return_ticks;
|
||||||
|
break;
|
||||||
|
case ITEM_BUBBLEGUM:
|
||||||
|
case ITEM_BUBBLEGUM_NOLOK:
|
||||||
|
m_ticks_till_return = stk_config->m_bubblegum_item_return_ticks;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
m_ticks_till_return = stk_config->time2Ticks(2.0f);
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (RaceManager::get()->isBattleMode())
|
if (RaceManager::get()->isBattleMode())
|
||||||
|
Loading…
x
Reference in New Issue
Block a user