Added CourseSongRewardLives metric to LifeMeterBattery.
This commit is contained in:
@@ -13,6 +13,7 @@ StepMania current development
|
||||
* [ScreenGameplay] LifeMeterChangedP1 message is no longer broadcast for for
|
||||
P2's lifemeter. Use LifeMeterChangedP2. "Life" and "StepsSecond" are passed
|
||||
in the params table for the message.
|
||||
* [LifeMeterBattery] CourseSongRewardLives metric added.
|
||||
|
||||
2013/10/09
|
||||
----------
|
||||
|
||||
@@ -672,6 +672,8 @@ MinesSubtractLives=1
|
||||
HeldAddLives=0
|
||||
# how many lives an unsuccessful hold will cost you.
|
||||
LetGoSubtractLives=1
|
||||
# this function returns how many lives to add when a song ends in course mode.
|
||||
CourseSongRewardLives=function(life_meter, pn) if GAMESTATE:GetCurrentSteps(pn):GetMeter() >= 8 then return 2 end return 1 end
|
||||
|
||||
# How many lives trigger the "Danger" state.
|
||||
DangerThreshold=1
|
||||
|
||||
@@ -30,6 +30,7 @@ void LifeMeterBattery::Load( const PlayerState *pPlayerState, PlayerStageStats *
|
||||
MINES_SUBTRACT_LIVES.Load(sType, "MinesSubtractLives");
|
||||
HELD_ADD_LIVES.Load(sType, "HeldAddLives");
|
||||
LET_GO_SUBTRACT_LIVES.Load(sType, "LetGoSubtractLives");
|
||||
COURSE_SONG_REWARD_LIVES.Load(sType, "CourseSongRewardLives");
|
||||
|
||||
LIVES_FORMAT.Load(sType, "NumLivesFormat");
|
||||
|
||||
@@ -89,7 +90,17 @@ void LifeMeterBattery::OnSongEnded()
|
||||
if( pCourse && pCourse->m_vEntries[GAMESTATE->GetCourseSongIndex()].iGainLives > -1 )
|
||||
m_iLivesLeft += pCourse->m_vEntries[GAMESTATE->GetCourseSongIndex()].iGainLives;
|
||||
else
|
||||
m_iLivesLeft += ( GAMESTATE->m_pCurSteps[pn]->GetMeter()>=8 ? 2 : 1 );
|
||||
{
|
||||
Lua *L= LUA->Get();
|
||||
COURSE_SONG_REWARD_LIVES.PushSelf(L);
|
||||
PushSelf(L);
|
||||
LuaHelpers::Push(L, pn);
|
||||
RString error= "Error running CourseSongRewardLives callback: ";
|
||||
LuaHelpers::RunScriptOnStack(L, error, 1, 1, true);
|
||||
m_iLivesLeft += luaL_optnumber(L, -1, 0);
|
||||
lua_settop(L, 0);
|
||||
LUA->Release(L);
|
||||
}
|
||||
m_iLivesLeft = min( m_iLivesLeft, GAMESTATE->m_SongOptions.GetSong().m_iBatteryLives );
|
||||
|
||||
if( m_iTrailingLivesLeft < m_iLivesLeft )
|
||||
|
||||
@@ -52,6 +52,7 @@ private:
|
||||
ThemeMetric<int> MINES_SUBTRACT_LIVES;
|
||||
ThemeMetric<int> HELD_ADD_LIVES;
|
||||
ThemeMetric<int> LET_GO_SUBTRACT_LIVES;
|
||||
ThemeMetric<LuaReference> COURSE_SONG_REWARD_LIVES;
|
||||
ThemeMetric<RString> LIVES_FORMAT;
|
||||
|
||||
AutoActor m_sprFrame;
|
||||
|
||||
Reference in New Issue
Block a user