OSDN Git Service

#23625 ダメージ/回復値を変更。また、ギター画面でこれが反映されていなかったのを修正。
authoryyagi <yyagi@16f42ceb-6dc6-49c8-ba94-f2d53467949d>
Sun, 9 Jan 2011 15:05:42 +0000 (15:05 +0000)
committeryyagi <yyagi@16f42ceb-6dc6-49c8-ba94-f2d53467949d>
Sun, 9 Jan 2011 15:05:42 +0000 (15:05 +0000)
git-svn-id: http://svn.osdn.jp/svnroot/dtxmania/trunk@58 16f42ceb-6dc6-49c8-ba94-f2d53467949d

DTXManiaプロジェクト/コード/ステージ/07.演奏/ギター画面/CStage演奏ギター画面.cs
DTXManiaプロジェクト/コード/ステージ/07.演奏/ドラム画面/CStage演奏ドラム画面.cs
DTXManiaプロジェクト/コード/全体/CDTXMania.cs
DTXManiaプロジェクト/コード/全体/C定数.cs

index f12fdcb..b0ad35a 100644 (file)
@@ -2324,37 +2324,79 @@ namespace DTXMania
                        }\r
                        image.Dispose();\r
                }\r
-               private void t判定にあわせてゲージを増減する( E楽器パート part, E判定 e今回の判定 )\r
+#if DAMAGELEVELTUNING\r
+               // ----------------------------------\r
+               public float[,] fDamageGaugeDelta = {                   // #23625 ickw_284: tuned damege/recover factors\r
+                       // drums,   guitar,  bass\r
+                       {  0.005f,  0.001f,  0.001f  },\r
+                       {  0.002f,  0.0005f, 0.0005f },\r
+                       {  0.000f,  0.000f,  0.000f  },\r
+                       { -0.020f, -0.020f,     -0.020f  },\r
+                       { -0.030f, -0.050f, -0.050f  }\r
+               };\r
+               public float[] fDamageLevelFactor = {\r
+                       0.5f, 1.0f, 1.5f\r
+               };\r
+               // ----------------------------------\r
+#endif\r
+               private void t判定にあわせてゲージを増減する(E楽器パート part, E判定 e今回の判定)\r
                {\r
-                       double num;\r
-                       switch( e今回の判定 )\r
+                       double fDamage;\r
+\r
+#if DAMAGELEVELTUNING\r
+                       switch (e今回の判定)\r
                        {\r
                                case E判定.Perfect:\r
-                                       num = ( part == E楽器パート.DRUMS ) ? 0.01 : 0.015;\r
+                               case E判定.Great:\r
+                               case E判定.Good:\r
+                               case E判定.Poor:\r
+                                       fDamage = fDamageGaugeDelta[(int)e今回の判定, (int)part];\r
+                                       break;\r
+                               case E判定.Miss:\r
+                                       fDamage = fDamageGaugeDelta[(int)e今回の判定, (int)part];\r
+                                       switch (CDTXMania.ConfigIni.eダメージレベル)\r
+                                       {\r
+                                               case Eダメージレベル.少ない:\r
+                                               case Eダメージレベル.普通:\r
+                                               case Eダメージレベル.大きい:\r
+                                                       fDamage *= fDamageLevelFactor[(int)CDTXMania.ConfigIni.eダメージレベル];\r
+                                                       break;\r
+                                       }\r
+                                       break;\r
+\r
+                               default:\r
+                                       fDamage = 0.0;\r
+                                       break;\r
+                       }\r
+#else\r
+                       switch (e今回の判定)\r
+                       {\r
+                               case E判定.Perfect:\r
+                                       fDamage = ( part == E楽器パート.DRUMS ) ? 0.01 : 0.015;\r
                                        break;\r
 \r
                                case E判定.Great:\r
-                                       num = ( part == E楽器パート.DRUMS ) ? 0.006 : 0.009;\r
+                                       fDamage = ( part == E楽器パート.DRUMS ) ? 0.006 : 0.009;\r
                                        break;\r
 \r
                                case E判定.Good:\r
-                                       num = ( part == E楽器パート.DRUMS ) ? 0.002 : 0.003;\r
+                                       fDamage = ( part == E楽器パート.DRUMS ) ? 0.002 : 0.003;\r
                                        break;\r
 \r
                                case E判定.Poor:\r
-                                       num = ( part == E楽器パート.DRUMS ) ? 0.0 : 0.0;\r
+                                       fDamage = ( part == E楽器パート.DRUMS ) ? 0.0 : 0.0;\r
                                        break;\r
 \r
                                case E判定.Miss:\r
-                                       num = ( part == E楽器パート.DRUMS ) ? -0.035 : -0.035;\r
+                                       fDamage = ( part == E楽器パート.DRUMS ) ? -0.035 : -0.035;\r
                                        switch( CDTXMania.ConfigIni.eダメージレベル )\r
                                        {\r
                                                case Eダメージレベル.少ない:\r
-                                                       num *= 0.6;\r
+                                                       fDamage *= 0.6;\r
                                                        break;\r
 \r
                                                case Eダメージレベル.普通:\r
-                                                       num *= 1.0;\r
+                                                       fDamage *= 1.0;\r
                                                        break;\r
 \r
                                                case Eダメージレベル.大きい:\r
@@ -2367,7 +2409,8 @@ namespace DTXMania
                                        num = 0.0;\r
                                        break;\r
                        }\r
-                       this.actGauge.db現在のゲージ値[ (int) part ] += num;\r
+#endif\r
+                       this.actGauge.db現在のゲージ値[(int)part] += fDamage;\r
 \r
                        if( this.actGauge.db現在のゲージ値[ (int) part ] > 1.0 )\r
                                this.actGauge.db現在のゲージ値[ (int) part ] = 1.0;\r
index feb8d34..519a9b5 100644 (file)
@@ -14,21 +14,6 @@ namespace DTXMania
 {\r
        internal class CStage演奏ドラム画面 : CStage\r
        {\r
-#if DAMAGELEVELTUNING\r
-               // ----------------------------------\r
-               public float[,] gaugeDelta = {\r
-                       {  0.003f,  0.005f },\r
-                       {  0.001f,  0.002f },\r
-                       {  0.000f,  0.000f },\r
-                       { -0.025f, -0.020f },\r
-                       { -0.050f, -0.030f }\r
-               };\r
-               public float[] damageLevelFactor = {\r
-                       0.5f, 1.0f, 1.5f\r
-               };\r
-               // ----------------------------------\r
-#endif         \r
-               \r
                // プロパティ\r
 \r
                public bool bAUTOでないチップが1つでもバーを通過した \r
@@ -4216,80 +4201,82 @@ namespace DTXMania
                        }\r
                        image.Dispose();\r
                }\r
+\r
+\r
+#if DAMAGELEVELTUNING\r
+               // ----------------------------------\r
+               public float[,] fDamageGaugeDelta = {                   // #23625 ickw_284: tuned damege/recover factors\r
+                       // drums,   guitar,  bass\r
+                       {  0.005f,  0.001f,  0.001f  },\r
+                       {  0.002f,  0.0005f, 0.0005f },\r
+                       {  0.000f,  0.000f,  0.000f  },\r
+                       { -0.020f, -0.020f,     -0.020f  },\r
+                       { -0.030f, -0.050f, -0.050f  }\r
+               };\r
+               public float[] fDamageLevelFactor = {\r
+                       0.5f, 1.0f, 1.5f\r
+               };\r
+               // ----------------------------------\r
+#endif\r
+\r
                private void t判定にあわせてゲージを増減する( E楽器パート part, E判定 e今回の判定 )\r
                {\r
-                       double num;\r
+                       double fDamage;\r
 \r
 #if DAMAGELEVELTUNING\r
                        switch (e今回の判定)\r
                        {\r
                                case E判定.Perfect:\r
-                                       num = (part == E楽器パート.DRUMS) ? gaugeDelta[0, 0] : gaugeDelta[0, 1];\r
-                                       break;\r
-\r
                                case E判定.Great:\r
-                                       num = (part == E楽器パート.DRUMS) ? gaugeDelta[1, 0] : gaugeDelta[1, 1];\r
-                                       break;\r
-\r
                                case E判定.Good:\r
-                                       num = (part == E楽器パート.DRUMS) ? gaugeDelta[2, 0] : gaugeDelta[2, 1];\r
-                                       break;\r
-\r
                                case E判定.Poor:\r
-                                       num = (part == E楽器パート.DRUMS) ? gaugeDelta[3, 0] : gaugeDelta[3, 1];\r
+                                       fDamage = fDamageGaugeDelta[(int)e今回の判定, (int)part];\r
                                        break;\r
-\r
                                case E判定.Miss:\r
-                                       num = (part == E楽器パート.DRUMS) ? gaugeDelta[4, 0] : gaugeDelta[4, 1];\r
+                                       fDamage = fDamageGaugeDelta[(int)e今回の判定, (int)part];\r
                                        switch (CDTXMania.ConfigIni.eダメージレベル)\r
                                        {\r
                                                case Eダメージレベル.少ない:\r
-                                                       num *= damageLevelFactor[0];\r
-                                                       break;\r
-\r
                                                case Eダメージレベル.普通:\r
-                                                       num *= damageLevelFactor[1];\r
-                                                       break;\r
-\r
                                                case Eダメージレベル.大きい:\r
-                                                       num *= damageLevelFactor[2];\r
+                                                       fDamage *= fDamageLevelFactor[(int)CDTXMania.ConfigIni.eダメージレベル];\r
                                                        break;\r
                                        }\r
                                        break;\r
 \r
                                default:\r
-                                       num = 0.0;\r
+                                       fDamage = 0.0f;\r
                                        break;\r
                        }\r
 #else\r
                        switch (e今回の判定)\r
                        {\r
                                case E判定.Perfect:\r
-                                       num = ( part == E楽器パート.DRUMS ) ? 0.01 : 0.015;\r
+                                       fDamage = ( part == E楽器パート.DRUMS ) ? 0.01 : 0.015;\r
                                        break;\r
 \r
                                case E判定.Great:\r
-                                       num = ( part == E楽器パート.DRUMS ) ? 0.006 : 0.009;\r
+                                       fDamage = ( part == E楽器パート.DRUMS ) ? 0.006 : 0.009;\r
                                        break;\r
 \r
                                case E判定.Good:\r
-                                       num = ( part == E楽器パート.DRUMS ) ? 0.002 : 0.003;\r
+                                       fDamage = ( part == E楽器パート.DRUMS ) ? 0.002 : 0.003;\r
                                        break;\r
 \r
                                case E判定.Poor:\r
-                                       num = ( part == E楽器パート.DRUMS ) ? 0.0 : 0.0;\r
+                                       fDamage = ( part == E楽器パート.DRUMS ) ? 0.0 : 0.0;\r
                                        break;\r
 \r
                                case E判定.Miss:\r
-                                       num = ( part == E楽器パート.DRUMS ) ? -0.035 : -0.035;\r
+                                       fDamage = ( part == E楽器パート.DRUMS ) ? -0.035 : -0.035;\r
                                        switch( CDTXMania.ConfigIni.eダメージレベル )\r
                                        {\r
                                                case Eダメージレベル.少ない:\r
-                                                       num *= 0.6;\r
+                                                       fDamage *= 0.6;\r
                                                        break;\r
 \r
                                                case Eダメージレベル.普通:\r
-                                                       num *= 1.0;\r
+                                                       fDamage *= 1.0;\r
                                                        break;\r
 \r
                                                case Eダメージレベル.大きい:\r
@@ -4303,7 +4290,7 @@ namespace DTXMania
                                        break;\r
                        }\r
 #endif\r
-                       this.actGauge.db現在のゲージ値 += num;\r
+                       this.actGauge.db現在のゲージ値 += fDamage;\r
 \r
                        if( this.actGauge.db現在のゲージ値 > 1.0 )\r
                                this.actGauge.db現在のゲージ値 = 1.0;\r
index 7913593..f20bc93 100644 (file)
@@ -770,11 +770,11 @@ for (int i = 0; i < 5; i++)
 {\r
        for (int j = 0; j < 2; j++)\r
        {\r
-               stage演奏ドラム画面.gaugeDelta[i, j] = ConfigIni.fGaugeFactor[i, j];\r
+               stage演奏ドラム画面.fDamageGaugeDelta[i, j] = ConfigIni.fGaugeFactor[i, j];\r
        }\r
 }\r
 for (int i = 0; i < 3; i++) {\r
-       stage演奏ドラム画面.damageLevelFactor[i] = ConfigIni.fDamageLevelFactor[i];\r
+       stage演奏ドラム画面.fDamageLevelFactor[i] = ConfigIni.fDamageLevelFactor[i];\r
 }              \r
 #endif\r
                                                                r直前のステージ = r現在のステージ;\r
@@ -784,6 +784,18 @@ for (int i = 0; i < 3; i++) {
                                                        {\r
                                                                Trace.TraceInformation( "----------------------" );\r
                                                                Trace.TraceInformation( "■ 演奏(ギター画面)" );\r
+#if DAMAGELEVELTUNING\r
+for (int i = 0; i < 5; i++)\r
+{\r
+       for (int j = 0; j < 2; j++)\r
+       {\r
+               stage演奏ギター画面.fDamageGaugeDelta[i, j] = ConfigIni.fGaugeFactor[i, j];\r
+       }\r
+}\r
+for (int i = 0; i < 3; i++) {\r
+       stage演奏ギター画面.fDamageLevelFactor[i] = ConfigIni.fDamageLevelFactor[i];\r
+}              \r
+#endif\r
                                                                r直前のステージ = r現在のステージ;\r
                                                                r現在のステージ = stage演奏ギター画面;\r
                                                        }\r
index 385436e..5880793 100644 (file)
@@ -30,9 +30,9 @@ namespace DTXMania
        }\r
        public enum Eダメージレベル\r
        {\r
-               少ない,\r
-               普通,\r
-               大きい\r
+               少ない       = 0,\r
+               普通  = 1,\r
+               大きい       = 2\r
        }\r
        public enum Eパッド\r
        {\r
@@ -84,12 +84,12 @@ namespace DTXMania
        }\r
        internal enum E判定\r
        {\r
-               Perfect,\r
-               Great,\r
-               Good,\r
-               Poor,\r
-               Miss,\r
-               Bad,\r
+               Perfect = 0,\r
+               Great   = 1,\r
+               Good    = 2,\r
+               Poor    = 3,\r
+               Miss    = 4,\r
+               Bad             = 5,\r
                Auto\r
        }\r
        internal enum E判定文字表示位置\r