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>()); }
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>()); }
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); }
public ReadOnlyMineralDropItemsConfig(MineralDropItemsConfig config) { this.Stage1 = config.Stage1; this.Stage2 = config.Stage2; this.Stage3 = config.Stage3; this.Stage4 = config.Stage4; }
protected override void PrepareProtoStaticWorldObject() { base.PrepareProtoStaticWorldObject(); var dropItemsConfig = new MineralDropItemsConfig(); this.PrepareProtoMineral(dropItemsConfig); this.DropItemsConfig = dropItemsConfig.AsReadOnly(); }
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); }
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); }