private void _AddBufferRate(FarmBuffer data)
        {
            data.Count += _Request.WeaponData.GetTotalBet() * data.Rate;

            if (data.Count < 1000)
            {
                return;
            }

            data.Buffer += data.Count / 1000;
            data.Count   = data.Count % 1000;
        }
Example #2
0
        private bool _CheckStageBufferToOddsRule(FarmBuffer data)
        {
            var natrue = new NatureBufferChancesTable().Get().ToDictionary(x => x.Key);

            var hiLoRate = data.BufferTempValue.HiLoRate;

            var randNumber = _Visitor.FindIRandom(RandomData.RULE.ODDS, 3).NextInt(0, 1000);

            if (hiLoRate <= natrue[-3].Value)
            {
                if (randNumber < 750)
                {
                    // 有75% 不翻倍
                    return(false);
                }
            }
            else if (hiLoRate <= natrue[-2].Value)
            {
                if (randNumber < 500)
                {
                    // 有50% 不翻倍
                    return(false);
                }
            }
            else if (hiLoRate <= natrue[-1].Value)
            {
                if (randNumber < 250)
                {
                    // 有25% 不翻倍
                    return(false);
                }
            }
            else if (hiLoRate <= natrue[0].Value)
            {
                if (randNumber < 100)
                {
                    // 有10% 不翻倍
                    return(false);
                }
            }

            return(true);
        }
Example #3
0
 public OddsRuler(DataVisitor visitor, RequsetFishData fish_data, FarmBuffer buffer_data)
 {
     _Visitor    = visitor;
     _FishData   = fish_data;
     _BufferData = buffer_data;
 }
 private void _SetDefaultBufferData(FarmBuffer buffer_data, int rate, int top, int gate)
 {
     buffer_data.Rate = rate;
     buffer_data.Top  = top;
     buffer_data.Gate = gate;
 }