diff --git a/src/LifeMeterBattery.cpp b/src/LifeMeterBattery.cpp index 08020bb7ae..ce0abf7365 100644 --- a/src/LifeMeterBattery.cpp +++ b/src/LifeMeterBattery.cpp @@ -192,7 +192,13 @@ float LifeMeterBattery::GetLife() const return float(m_iLivesLeft) / GAMESTATE->m_SongOptions.GetSong().m_iBatteryLives; } +int LifeMeterBattery::GetRemainingLives() const +{ + if( !GAMESTATE->m_SongOptions.GetSong().m_iBatteryLives ) + return 1; + return m_iLivesLeft; +} void LifeMeterBattery::Refresh() { // todo: make this restraint metricable + handle non-sprites -aj @@ -239,12 +245,12 @@ class LunaLifeMeterBattery: public Luna public: static int GetLivesLeft( T* p, lua_State *L ) { lua_pushnumber( L, p->GetLivesLeft() ); return 1; } // is this right? wtf -q2x - //static int GetTotalLives( T* p, lua_State *L ) { lua_pushnumber( L, GAMESTATE->m_SongOptions.GetSong().m_iBatteryLives ); return 1; } + static int GetTotalLives( T* p, lua_State *L ) { lua_pushnumber( L, GAMESTATE->m_SongOptions.GetSong().m_iBatteryLives ); return 1; } LunaLifeMeterBattery() { ADD_METHOD( GetLivesLeft ); - //ADD_METHOD( GetTotalLives ); + ADD_METHOD( GetTotalLives ); } }; diff --git a/src/LifeMeterBattery.h b/src/LifeMeterBattery.h index b44fc3d820..ea5afc6fba 100644 --- a/src/LifeMeterBattery.h +++ b/src/LifeMeterBattery.h @@ -29,6 +29,7 @@ public: virtual bool IsHot() const; virtual bool IsFailing() const; virtual float GetLife() const; + virtual int GetRemainingLives() const; void Refresh(); int GetLivesLeft() { return m_iLivesLeft; }