Attack Mines modifier
This commit is contained in:
@@ -476,6 +476,7 @@ Always=Always
|
||||
Animations=Animations
|
||||
Arcade Style=Arcade Style
|
||||
Ask=Ask
|
||||
AttackMines=AttackMines
|
||||
Auto=Auto
|
||||
Autogen To Fill Width=Autogen To Fill Width
|
||||
AutosyncMachine=AutosyncMachine
|
||||
|
||||
@@ -3676,11 +3676,12 @@ Holds,3="mod,planted;name,Planted"
|
||||
Holds,4="mod,twister;name,Twister"
|
||||
Holds,5="mod,nojumps;name,NoJumps"
|
||||
Holds,6="mod,nohands;name,NoHands"
|
||||
Mines="3"
|
||||
MinesDefault="mod,no nomines,no mines"
|
||||
Mines="4"
|
||||
MinesDefault="mod,no nomines,no mines, no attackmines"
|
||||
Mines,1="mod,nomines;name,Off"
|
||||
Mines,2="name,On"
|
||||
Mines,3="mod,mines;name,Add"
|
||||
Mines,4="mod,attackmines;name,AttackMines"
|
||||
Attacks="2"
|
||||
AttacksDefault="mod,no randomattacks"
|
||||
Attacks,1="name,Off"
|
||||
|
||||
@@ -621,7 +621,7 @@ void Player::Update( float fDeltaTime )
|
||||
Attack attRandomAttack;
|
||||
attRandomAttack.sModifiers = ApplyRandomAttack();
|
||||
attRandomAttack.fSecsRemaining = fAttackRunTime;
|
||||
m_pPlayerState->LaunchAttack( attRandomAttack);
|
||||
m_pPlayerState->LaunchAttack( attRandomAttack );
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -2326,7 +2326,24 @@ void Player::UpdateJudgedRows()
|
||||
else if( g_bEnableMineSoundPlayback )
|
||||
setSounds.insert( &m_soundMine );
|
||||
|
||||
ChangeLife( tn.result.tns );
|
||||
/* Attack Mines:
|
||||
* Only difference is these launch an attack rather than affecting the lifebar. All the
|
||||
* other mine impacts (score, dance points, etc.) are still applied. */
|
||||
if( m_pPlayerState->m_PlayerOptions.GetCurrent().m_bTransforms[PlayerOptions::TRANSFORM_ATTACKMINES] )
|
||||
{
|
||||
// Should we hardcode this, or make it a preference/theme metric? ~ Mike
|
||||
const float fAttackRunTime = 7.0f;
|
||||
|
||||
Attack attMineAttack;
|
||||
attMineAttack.sModifiers = ApplyRandomAttack();
|
||||
attMineAttack.fStartSecond = -1.0f;
|
||||
attMineAttack.fSecsRemaining = fAttackRunTime;
|
||||
|
||||
m_pPlayerState->LaunchAttack( attMineAttack );
|
||||
}
|
||||
else
|
||||
ChangeLife( tn.result.tns );
|
||||
|
||||
if( m_pScoreDisplay )
|
||||
m_pScoreDisplay->OnJudgment( tn.result.tns );
|
||||
if( m_pSecondaryScoreDisplay )
|
||||
|
||||
@@ -187,6 +187,7 @@ void PlayerOptions::GetMods( vector<RString> &AddTo, bool bForceNoteSkin ) const
|
||||
if( m_bTransforms[TRANSFORM_BMRIZE] ) AddTo.push_back( "BMRize" );
|
||||
if( m_bTransforms[TRANSFORM_SKIPPY] ) AddTo.push_back( "Skippy" );
|
||||
if( m_bTransforms[TRANSFORM_MINES] ) AddTo.push_back( "Mines" );
|
||||
if( m_bTransforms[TRANSFORM_ATTACKMINES] ) AddTo.push_back( "AttackMines" );
|
||||
if( m_bTransforms[TRANSFORM_ECHO] ) AddTo.push_back( "Echo" );
|
||||
if( m_bTransforms[TRANSFORM_STOMP] ) AddTo.push_back( "Stomp" );
|
||||
if( m_bTransforms[TRANSFORM_PLANTED] ) AddTo.push_back( "Planted" );
|
||||
@@ -356,6 +357,7 @@ bool PlayerOptions::FromOneModString( const RString &sOneMod, RString &sErrorOut
|
||||
else if( sBit == "bmrize" ) m_bTransforms[TRANSFORM_BMRIZE] = on;
|
||||
else if( sBit == "skippy" ) m_bTransforms[TRANSFORM_SKIPPY] = on;
|
||||
else if( sBit == "mines" ) m_bTransforms[TRANSFORM_MINES] = on;
|
||||
else if( sBit == "attackmines" ) m_bTransforms[TRANSFORM_ATTACKMINES] = on;
|
||||
else if( sBit == "echo" ) m_bTransforms[TRANSFORM_ECHO] = on;
|
||||
else if( sBit == "stomp" ) m_bTransforms[TRANSFORM_STOMP] = on;
|
||||
else if( sBit == "planted" ) m_bTransforms[TRANSFORM_PLANTED] = on;
|
||||
|
||||
@@ -83,6 +83,7 @@ public:
|
||||
TRANSFORM_BMRIZE,
|
||||
TRANSFORM_SKIPPY,
|
||||
TRANSFORM_MINES,
|
||||
TRANSFORM_ATTACKMINES,
|
||||
TRANSFORM_ECHO,
|
||||
TRANSFORM_STOMP,
|
||||
TRANSFORM_PLANTED,
|
||||
|
||||
Reference in New Issue
Block a user