protected override void PrepareProtoMineral(MineralDropItemsConfig config)
        {
            // droplist for stage 1
            config.Stage1
            .Add <ItemSalt>(count: 1, countRandom: 0)
            .Add <ItemSalt>(countRandom: 1, condition: SkillMining.ConditionAdditionalYield);

            // droplist for stages 2 and 3 - reuse droplist from stage 1
            config.Stage2.Add(config.Stage1);
            config.Stage3.Add(config.Stage1);

            // droplist for stage 4
            config.Stage4
            .Add <ItemSalt>(count: 2, countRandom: 0)
            .Add <ItemSalt>(countRandom: 1, condition: SkillMining.ConditionAdditionalYield)
            .Add <ItemGoldNugget>(count: 1, countRandom: 3, probability: 1 / 50.0)
            .Add <ItemOreLithium>(count: 1, countRandom: 1, probability: 1 / 2.0);

            // drop gemstones
            config.Stage4
            .Add(condition: SkillMining.ConditionDropGemstones,
                 probability: 1 / 1000.0,
                 nestedList: new DropItemsList(outputs: 1)
                 .Add <ItemGemDiamond>()
                 .Add <ItemGemEmerald>()
                 .Add <ItemGemRuby>()
                 .Add <ItemGemSapphire>()
                 .Add <ItemGemTopaz>()
                 .Add <ItemGemTourmaline>());
        }
Example #2
0
        protected override void PrepareProtoMineral(MineralDropItemsConfig config)
        {
            // droplist for stage 1
            config.Stage1
            .Add <ItemClay>(count: 5, countRandom: 0)
            .Add <ItemClay>(countRandom: 1, condition: SkillProspecting.ConditionAdditionalYield);

            // droplist for stages 2 and 3 - reuse droplist from stage 1
            config.Stage2.Add(config.Stage1);
            config.Stage3.Add(config.Stage1);

            // droplist for stage 4
            config.Stage4
            .Add <ItemClay>(count: 10, countRandom: 0)
            .Add <ItemClay>(countRandom: 5, condition: SkillProspecting.ConditionAdditionalYield)
            .Add <ItemGoldNugget
                  >(count: 1, countRandom: 3, probability: 1 / 100.0);     // lower chance, since it's easy to mine

            // drop gemstones
            config.Stage4
            .Add(condition: SkillProspecting.ConditionDropGemstones,
                 probability: 1 / 1000.0,
                 nestedList: new DropItemsList(outputs: 1)
                 .Add <ItemGemDiamond>()
                 .Add <ItemGemEmerald>()
                 .Add <ItemGemRuby>()
                 .Add <ItemGemSapphire>()
                 .Add <ItemGemTopaz>()
                 .Add <ItemGemTourmaline>());
        }
Example #3
0
        protected override void PrepareProtoMineral(MineralDropItemsConfig config)
        {
            // droplist for stage 1
            config.Stage1
            .Add <ItemStone>(count: 5)
            .Add <ItemStone>(countRandom: 1, condition: SkillProspecting.ConditionAdditionalYield);

            // droplist for stages 2 and 3 - reuse droplist from stage 1
            config.Stage2.Add(config.Stage1);
            config.Stage3.Add(config.Stage1);

            // droplist for stage 4
            config.Stage4
            .Add <ItemStone>(count: 10)
            .Add <ItemStone>(countRandom: 5, condition: SkillProspecting.ConditionAdditionalYield)
            // extra stuff
            .Add <ItemCoal>(count: 2, countRandom: 2, probability: 1 / 10.0)
            .Add <ItemSalt>(count: 3, countRandom: 3, probability: 1 / 10.0)
            .Add(preset: ItemDroplistPresets.GoldNuggets);

            // drop gemstones
            config.Stage4
            .Add(condition: SkillProspecting.ConditionDropGemstones,
                 preset: ItemDroplistPresets.Gemstones);
        }
        protected override void PrepareProtoMineral(MineralDropItemsConfig config)
        {
            var conditionAdditionalYield = SkillProspecting.ConditionAdditionalYield;

            // droplist for stage 1
            config.Stage1
            .Add <ItemStone>(count: 1)
            .Add <ItemSulfurPowder>(count: 5)
            .Add <ItemSulfurPowder>(countRandom: 1, condition: conditionAdditionalYield);

            // droplist for stages 2 and 3 - reuse droplist from stage 1
            config.Stage2.Add(config.Stage1);
            config.Stage3.Add(config.Stage1);

            // droplist for stage 4
            config.Stage4
            .Add <ItemStone>(count: 2)
            .Add <ItemSulfurPowder>(count: 10)
            .Add <ItemSulfurPowder>(countRandom: 5, condition: conditionAdditionalYield)
            .Add(preset: ItemDroplistPresets.GoldNuggets);

            // drop gemstones
            config.Stage4
            .Add(condition: SkillProspecting.ConditionDropGemstones,
                 preset: ItemDroplistPresets.Gemstones);
        }
Example #5
0
 public ReadOnlyMineralDropItemsConfig(MineralDropItemsConfig config)
 {
     this.Stage1 = config.Stage1;
     this.Stage2 = config.Stage2;
     this.Stage3 = config.Stage3;
     this.Stage4 = config.Stage4;
 }
Example #6
0
        protected override void PrepareProtoStaticWorldObject()
        {
            base.PrepareProtoStaticWorldObject();

            var dropItemsConfig = new MineralDropItemsConfig();

            this.PrepareProtoMineral(dropItemsConfig);
            this.DropItemsConfig = dropItemsConfig.AsReadOnly();
        }
Example #7
0
        protected override void PrepareProtoMineral(MineralDropItemsConfig config)
        {
            // droplist for stage 1
            config.Stage1
            .Add <ItemSand>(count: 5)
            .Add <ItemSand>(countRandom: 1, condition: SkillProspecting.ConditionAdditionalYield);

            // droplist for stages 2 and 3 - reuse droplist from stage 1
            config.Stage2.Add(config.Stage1);
            config.Stage3.Add(config.Stage1);

            // droplist for stage 4
            config.Stage4.Add <ItemSand>(count: 10)
            .Add <ItemSand>(countRandom: 5, condition: SkillProspecting.ConditionAdditionalYield)
            .Add(preset: ItemDroplistPresets.GoldNuggetsRare);       // lower chance, since it's easy to mine

            // drop gemstones
            config.Stage4
            .Add(condition: SkillProspecting.ConditionDropGemstones,
                 preset: ItemDroplistPresets.Gemstones);
        }
Example #8
0
 protected abstract void PrepareProtoMineral(MineralDropItemsConfig config);
 protected override void PrepareProtoMineral(MineralDropItemsConfig config)
 {
     // drops nothing as there is a separate method for explosion
 }
 protected override void PrepareProtoMineral(MineralDropItemsConfig config)
 {
     config.Stage4.Add <ItemOrePragmium>(count: 2);
 }