};         //おおよその値。

        // ----------------------------------
        #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;
        }
 public virtual void Start(int nLane, E判定 judge, int player)
 {
 }
        };         //おおよその値。

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

        public void Damage(int nHitCourse, E判定 e今回の判定, int nPlayer)        //2020.04.25 Mr-Ojii akasoko26さんのコードをもとに変更
        {
            float fDamage;
            //現在のコースを当てるのではなくヒットしたノーツのコースを当ててあげる.2020.04.21.akasoko26
            var nコース = nHitCourse;


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

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

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


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

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

            break;

            default:
            {
                if (nPlayer == 0 ? TJAPlayer3.ConfigIni.b太鼓パートAutoPlay[0] : TJAPlayer3.ConfigIni.b太鼓パートAutoPlay[1])
                {
                    if (TJAPlayer3.DTX[nPlayer].bチップがある.Branch)
                    {
                        fDamage = this.dbゲージ増加量_Branch[nPlayer, nコース, 0];
                    }
                    else
                    {
                        fDamage = this.dbゲージ増加量[nPlayer, 0];
                    }
                }
                else
                {
                    fDamage = 0;
                }
                break;
            }
            }


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

            if (this.db現在のゲージ値[nPlayer] >= 100.0)
            {
                this.db現在のゲージ値[nPlayer] = 100.0;
            }
            else if (this.db現在のゲージ値[nPlayer] <= 0.0)
            {
                this.db現在のゲージ値[nPlayer] = 0.0;
            }
        }
Exemplo n.º 4
0
        public override void Start(int nLane, E判定 judge, int player)
        {
            for (int j = 0; j < 32; j++)
            {
                if (player == 0)
                {
                    if (!this.st花火状態[j].b使用中)
                    {
                        this.st花火状態[j].ct進行    = new CCounter(0, 10, 20, TJAPlayer3.Timer);
                        this.st花火状態[j].nPlayer = player;

                        switch (nLane)
                        {
                        case 0x11:
                        case 0x12:
                        case 0x15:
                            this.st花火状態[j].isBig = false;
                            break;

                        case 0x13:
                        case 0x14:
                        case 0x16:
                        case 0x17:
                            this.st花火状態[j].isBig = true;
                            break;
                        }
                        this.st花火状態[j].nLane = nLane;

                        this.st花火状態[j].b使用中 = true;
                        break;
                    }
                }
                if (player == 1)
                {
                    if (!this.st花火状態2P[j].b使用中)
                    {
                        this.st花火状態2P[j].ct進行    = new CCounter(0, 10, 20, TJAPlayer3.Timer);
                        this.st花火状態2P[j].nPlayer = player;

                        switch (nLane)
                        {
                        case 0x11:
                        case 0x12:
                        case 0x15:
                            this.st花火状態2P[j].isBig = false;
                            break;

                        case 0x13:
                        case 0x14:
                        case 0x16:
                        case 0x17:
                            this.st花火状態2P[j].isBig = true;
                            break;
                        }
                        this.st花火状態2P[j].nLane = nLane;
                        this.st花火状態2P[j].b使用中  = true;
                        break;
                    }
                }
            }
        }
        };         //おおよその値。

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

        public void Damage(E楽器パート screenmode, E楽器パート part, E判定 e今回の判定, int player)
        {
            float fDamage;
            int   nコース = CDTXMania.stage演奏ドラム画面.n現在のコース[player];


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

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

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


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

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

            break;



            default:
            {
                if (player == 0 ? CDTXMania.ConfigIni.b太鼓パートAutoPlay : CDTXMania.ConfigIni.b太鼓パートAutoPlay2P)
                {
                    if (CDTXMania.DTX.bチップがある.Branch)
                    {
                        fDamage = this.dbゲージ増加量_Branch[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


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

            this.db現在のゲージ値[player]        = Math.Round(this.db現在のゲージ値[player] + fDamage, 5, MidpointRounding.ToEven);
            CDTXMania.stage演奏ドラム画面.nGauge = fDamage;
        }
Exemplo n.º 6
0
        };         //おおよその値。

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

        public void Damage(E楽器パート screenmode, E楽器パート part, E判定 e今回の判定, int player)
        {
            float fDamage;
            int   nコース = CDTXMania.stage演奏ドラム画面.n現在のコース[player];

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

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

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

                if (this.db現在のゲージ値[player] < 30.0f && CDTXMania.ConfigIni.eGaugeMode == Eゲージモード.HARD)
                {
                    //HARDの場合30%補正
                    fDamage = 4.5f;
                }

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

            default:
            {
                if (player == 0 ? CDTXMania.ConfigIni.b太鼓パートAutoPlay : CDTXMania.ConfigIni.b太鼓パートAutoPlay2P)
                {
                    if (CDTXMania.DTX.bチップがある.Branch)
                    {
                        fDamage = this.dbゲージ増加量_Branch[nコース, 0];
                    }
                    else
                    {
                        fDamage = this.dbゲージ増加量[0];
                    }
                }
                else
                {
                    fDamage = 0;
                }
                break;
            }
            }
            if (this.db現在のゲージ値[player] > 100.0)
            {
                this.db現在のゲージ値[player] = 100.0;
            }
            else if (this.db現在のゲージ値[player] < 0.0)
            {
                this.db現在のゲージ値[player] = 0.0;
            }

            this.db現在のゲージ値[player]        = Math.Round(this.db現在のゲージ値[player] + fDamage, 5, MidpointRounding.ToEven);
            CDTXMania.stage演奏ドラム画面.nGauge = fDamage;

            switch (e今回の判定)
            {
            case E判定.Poor:
            case E判定.Miss:
                if (this.bRisky)
                {
                    this.nRiskyTimes--;
                }
                break;
            }
        }
Exemplo n.º 7
0
 public override void Start(int nLane, E判定 judge, int player)
 {
 }