示例#1
0
        public void ReportDroprates(List <DropRateInfo> drops, DropRateInfoChainFeed ratesInfo)
        {
            DropRateInfoChainFeed ratesInfo1 = ratesInfo.With(1f);

            ratesInfo1.AddCondition((IItemDropRuleCondition) new Conditions.IsExpert());
            this._ruleForExpertMode.ReportDroprates(drops, ratesInfo1);
            DropRateInfoChainFeed ratesInfo2 = ratesInfo.With(1f);

            ratesInfo2.AddCondition((IItemDropRuleCondition) new Conditions.NotExpert());
            this._ruleForNormalMode.ReportDroprates(drops, ratesInfo2);
            Chains.ReportDroprates(this.ChainedRules, 1f, drops, ratesInfo);
        }
        public void ReportDroprates(List <DropRateInfo> drops, DropRateInfoChainFeed ratesInfo)
        {
            DropRateInfoChainFeed ratesInfo2 = ratesInfo.With(1f);

            ratesInfo2.AddCondition(new Conditions.IsExpert());
            _ruleForExpertMode.ReportDroprates(drops, ratesInfo2);
            DropRateInfoChainFeed ratesInfo3 = ratesInfo.With(1f);

            ratesInfo3.AddCondition(new Conditions.NotExpert());
            _ruleForNormalMode.ReportDroprates(drops, ratesInfo3);
            Chains.ReportDroprates(ChainedRules, 1f, drops, ratesInfo);
        }
示例#3
0
        public void ReportDroprates(List <DropRateInfo> drops, DropRateInfoChainFeed ratesInfo)
        {
            DropRateInfoChainFeed ratesInfo1 = ratesInfo.With(1f);

            ratesInfo1.AddCondition((IItemDropRuleCondition) new Conditions.IsMasterMode());
            this._ruleForMasterMode.ReportDroprates(drops, ratesInfo1);
            DropRateInfoChainFeed ratesInfo2 = ratesInfo.With(1f);

            ratesInfo2.AddCondition((IItemDropRuleCondition) new Conditions.NotMasterMode());
            this._ruleForDefault.ReportDroprates(drops, ratesInfo2);
            Chains.ReportDroprates(this.ChainedRules, 1f, drops, ratesInfo);
        }
        public void ReportDroprates(List <DropRateInfo> drops, DropRateInfoChainFeed ratesInfo)
        {
            DropRateInfoChainFeed ratesInfo2 = ratesInfo.With(1f);

            ratesInfo2.AddCondition(new Conditions.IsMasterMode());
            _ruleForMasterMode.ReportDroprates(drops, ratesInfo2);
            DropRateInfoChainFeed ratesInfo3 = ratesInfo.With(1f);

            ratesInfo3.AddCondition(new Conditions.NotMasterMode());
            _ruleForDefault.ReportDroprates(drops, ratesInfo3);
            Chains.ReportDroprates(ChainedRules, 1f, drops, ratesInfo);
        }
示例#5
0
 public void ReportDroprates(float personalDropRate, List <DropRateInfo> drops, DropRateInfoChainFeed ratesInfo)
 {
     if (!_hideLootReport)
     {
         RuleToChain.ReportDroprates(drops, ratesInfo.With(personalDropRate));
     }
 }
        public override void ReportDroprates(List <DropRateInfo> drops, DropRateInfoChainFeed ratesInfo)
        {
            DropRateInfoChainFeed ratesInfo2 = ratesInfo.With(1f);

            ratesInfo2.AddCondition(_condition);
            float num      = (float)_dropsXoutOfY / (float)_dropsOutOfY;
            float dropRate = num * ratesInfo2.parentDroprateChance;

            drops.Add(new DropRateInfo(_itemId, _amtDroppedMinimum, _amtDroppedMaximum, dropRate, ratesInfo2.conditions));
            Chains.ReportDroprates(base.ChainedRules, num, drops, ratesInfo2);
        }
示例#7
0
        public override void ReportDroprates(List <DropRateInfo> drops, DropRateInfoChainFeed ratesInfo)
        {
            DropRateInfoChainFeed ratesInfo1 = ratesInfo.With(1f);

            ratesInfo1.AddCondition(this._condition);
            float personalDropRate = (float)this._dropsXoutOfY / (float)this._dropsOutOfY;
            float dropRate         = personalDropRate * ratesInfo1.parentDroprateChance;

            drops.Add(new DropRateInfo(this._itemId, this._amtDroppedMinimum, this._amtDroppedMaximum, dropRate, ratesInfo1.conditions));
            Chains.ReportDroprates(this.ChainedRules, personalDropRate, drops, ratesInfo1);
        }
示例#8
0
        public void ReportDroprates(List <DropRateInfo> drops, DropRateInfoChainFeed ratesInfo)
        {
            float personalDropRate = 1f / (float)this._outOfY;
            float multiplier       = 1f / (float)this._options.Length * (personalDropRate * ratesInfo.parentDroprateChance);

            for (int index = 0; index < this._options.Length; ++index)
            {
                this._options[index].ReportDroprates(drops, ratesInfo.With(multiplier));
            }
            Chains.ReportDroprates(this.ChainedRules, personalDropRate, drops, ratesInfo);
        }
示例#9
0
 public void ReportDroprates(
     float personalDropRate,
     List <DropRateInfo> drops,
     DropRateInfoChainFeed ratesInfo)
 {
     if (this._hideLootReport)
     {
         return;
     }
     this.RuleToChain.ReportDroprates(drops, ratesInfo.With(1f - personalDropRate));
 }
        public void ReportDroprates(List <DropRateInfo> drops, DropRateInfoChainFeed ratesInfo)
        {
            float num        = 1f / (float)_outOfY;
            float num2       = num * ratesInfo.parentDroprateChance;
            float multiplier = 1f / (float)_options.Length * num2;

            for (int i = 0; i < _options.Length; i++)
            {
                _options[i].ReportDroprates(drops, ratesInfo.With(multiplier));
            }
            Chains.ReportDroprates(ChainedRules, num, drops, ratesInfo);
        }