diff --git a/Docs/Changelog_sm-ssc.txt b/Docs/Changelog_sm-ssc.txt index 7e6a63cdb6..08f0922244 100644 --- a/Docs/Changelog_sm-ssc.txt +++ b/Docs/Changelog_sm-ssc.txt @@ -13,6 +13,12 @@ _____________________________________________________________________________ sm-ssc v1.?.? | 20110??? -------------------------------------------------------------------------------- +20110212 +-------- +* Added metrics to allow changing how often random modifiers activate in + the proper setting. At this time, the mods to be activated have NOT been + changed. [Wolfman2000] + 20110211 -------- * Introduced the .ssc file format for future features and expansion. All .sm diff --git a/Themes/_fallback/metrics.ini b/Themes/_fallback/metrics.ini index 7ff7c1449c..50fb0692cb 100644 --- a/Themes/_fallback/metrics.ini +++ b/Themes/_fallback/metrics.ini @@ -992,6 +992,15 @@ ComboStoppedAt=50 AttackRunTimeRandom=6 AttackRunTimeMine=7 +[PlayerOptions] +RandomSpeedChance=0.2 +RandomReverseChance=0.2 +RandomDarkChance=0.1 +RandomAccelChance=0.333 +RandomEffectChance=0.667 +RandomHiddenChance=0.05 +RandomSuddenChance=0.1 + [PlayerShared] Fallback="Player" ComboXOffsetOneSideP1=-120 diff --git a/src/PlayerOptions.cpp b/src/PlayerOptions.cpp index 2b4053b6b6..87352f4233 100644 --- a/src/PlayerOptions.cpp +++ b/src/PlayerOptions.cpp @@ -14,6 +14,14 @@ #define ONE( arr ) { for( unsigned Z = 0; Z < ARRAYLEN(arr); ++Z ) arr[Z]=1.0f; } +ThemeMetric RANDOM_SPEED_CHANCE ( "PlayerOptions", "RandomSpeedChance" ); +ThemeMetric RANDOM_REVERSE_CHANCE ( "PlayerOptions", "RandomReverseChance" ); +ThemeMetric RANDOM_DARK_CHANCE ( "PlayerOptions", "RandomDarkChance" ); +ThemeMetric RANDOM_ACCEL_CHANCE ( "PlayerOptions", "RandomAccelChance" ); +ThemeMetric RANDOM_EFFECT_CHANCE ( "PlayerOptions", "RandomEffectChance" ); +ThemeMetric RANDOM_HIDDEN_CHANCE ( "PlayerOptions", "RandomHiddenChance" ); +ThemeMetric RANDOM_SUDDEN_CHANCE ( "PlayerOptions", "RandomSuddenChance" ); + void PlayerOptions::Init() { m_bSetScrollSpeed = false; @@ -526,22 +534,22 @@ void PlayerOptions::NextPerspective() void PlayerOptions::ChooseRandomModifiers() { - if( RandomFloat(0,1)>0.8f ) + if( RandomFloat(0,1)0.8f ) + if( RandomFloat(0,1)0.9f ) + if( RandomFloat(0,1)0.66f ) + if( f0.33f ) + else if( f0.95f ) + if( f0.9f ) + else if( f