public void tBranchEvent(CDTX.ECourse Before, CDTX.ECourse After, int player)
        {
            if (After != Before)
            {
                this.ctレベルアップダウン[player] = new CCounter(0, 1000, 1, TJAPlayer3.Timer);
            }

            this.After[player]  = After;
            this.Before[player] = Before;
        }
Exemple #2
0
        public virtual void t分岐レイヤー_コース変化(CDTX.ECourse n現在, CDTX.ECourse n次回, int player)
        {
            if (n現在 == n次回)
            {
                return;
            }
            this.ct分岐アニメ進行[player] = new CCounter(0, 300, 2, TJAPlayer4.Timer);
            this.bState[player]    = true;

            this.nBefore[player] = n現在;
            this.nAfter[player]  = n次回;
        }
        public void t分岐レイヤー_コース変化(CDTX.ECourse n現在, CDTX.ECourse n次回, int nPlayer)
        {
            if (n現在 == n次回)
            {
                return;
            }
            this.stBranch[nPlayer].ct分岐アニメ進行 = new CCounter(0, 300, 2, TJAPlayer3.Timer);

            this.stBranch[nPlayer].nBranchレイヤー透明度 = 6;
            this.stBranch[nPlayer].nY座標           = 1;

            this.stBranch[nPlayer].nBefore = n現在;
            this.stBranch[nPlayer].nAfter  = n次回;

            TJAPlayer3.stage演奏ドラム画面.actLane.t分岐レイヤー_コース変化(n現在, n次回, nPlayer);
        }
        };         //おおよその値。

        // ----------------------------------
        #endregion
#endif

        public void Damage(CDTX.ECourse eHitCourse, E楽器パート screenmode, E楽器パート part, E判定 e今回の判定, int player)
        {
            float fDamage;

            //現在のコースを当てるのではなくヒットしたノーツのコースを当ててあげる.2020.04.21.akasoko26
            var nコース = eHitCourse;


#if true        // DAMAGELEVELTUNING
            switch (e今回の判定)
            {
            case E判定.Perfect:
            case E判定.Great:
            {
                if (TJAPlayer3.DTX.bチップがある.Branch)
                {
                    fDamage = this.dbゲージ増加量_Branch[(int)nコース, 0];
                }
                else
                {
                    fDamage = this.dbゲージ増加量[0];
                }
            }
            break;

            case E判定.Good:
            {
                if (TJAPlayer3.DTX.bチップがある.Branch)
                {
                    fDamage = this.dbゲージ増加量_Branch[(int)nコース, 1];
                }
                else
                {
                    fDamage = this.dbゲージ増加量[1];
                }
            }
            break;

            case E判定.Poor:
            case E判定.Miss:
            {
                if (TJAPlayer3.DTX.bチップがある.Branch)
                {
                    fDamage = this.dbゲージ増加量_Branch[(int)nコース, 2];
                }
                else
                {
                    fDamage = this.dbゲージ増加量[2];
                }


                if (fDamage >= 0)
                {
                    fDamage = -fDamage;
                }

                if (this.bRisky)
                {
                    this.nRiskyTimes--;
                }
            }

            break;



            default:
            {
                if (player == 0 ? TJAPlayer3.ConfigIni.b太鼓パートAutoPlay : TJAPlayer3.ConfigIni.b太鼓パートAutoPlay2P)
                {
                    if (TJAPlayer3.DTX.bチップがある.Branch)
                    {
                        fDamage = this.dbゲージ増加量_Branch[(int)nコース, 0];
                    }
                    else
                    {
                        fDamage = this.dbゲージ増加量[0];
                    }
                }
                else
                {
                    fDamage = 0;
                }
                break;
            }
            }
#else                                                                                                   // before applying #23625 modifications
            switch (e今回の判定)
            {
            case E判定.Perfect:
                fDamage = (part == E楽器パート.DRUMS) ? 0.01 : 0.015;
                break;

            case E判定.Great:
                fDamage = (part == E楽器パート.DRUMS) ? 0.006 : 0.009;
                break;

            case E判定.Good:
                fDamage = (part == E楽器パート.DRUMS) ? 0.002 : 0.003;
                break;

            case E判定.Poor:
                fDamage = (part == E楽器パート.DRUMS) ? 0.0 : 0.0;
                break;

            case E判定.Miss:
                fDamage = (part == E楽器パート.DRUMS) ? -0.035 : -0.035;
                switch (CDTXMania.ConfigIni.eダメージレベル)
                {
                case Eダメージレベル.少ない:
                    fDamage *= 0.6;
                    break;

                case Eダメージレベル.普通:
                    fDamage *= 1.0;
                    break;

                case Eダメージレベル.大きい:
                    fDamage *= 1.6;
                    break;
                }
                break;

            default:
                fDamage = 0.0;
                break;
            }
#endif


            this.db現在のゲージ値[player] = Math.Round(this.db現在のゲージ値[player] + fDamage, 5, MidpointRounding.ToEven);

            if (this.db現在のゲージ値[player] >= 100.0)
            {
                this.db現在のゲージ値[player] = 100.0;
            }
            else if (this.db現在のゲージ値[player] <= 0.0)
            {
                this.db現在のゲージ値[player] = 0.0;
            }

            //CDTXMania.stage演奏ドラム画面.nGauge = fDamage;
        }