Modified Gather Properties?Suggestion

Hello, just recently decided to try this out on a local server. I was interested to see if there's a way to modify the gather rates of this by chance? I use Gather Manager for a 3x styled server but this only seems to gather 1x item each hit. 

Thanks in advance!

Hi,

in cs file i have edit this line

return amt <= 0 || gatherRate <= 0 ? 0 : (int)Math.Max(1, Math.Floor(amt * gatherRate));​

to
return amt <= 0 || gatherRate <= 0 ? 0 : (int)Math.Max(5, Math.Floor(amt * gatherRate));​

to increase the amount.
You also can play around with these lines

{
                roll = UnityEngine.Random.Range(1, 10);
                amt = roll >= 9 ? 3 : (roll >= 4 ? 2 : 1);
                GiveItemByShortName(basePlayer, STONE_ITEM, RoundGatherAmount(amt, gatherRate));
            }
            var chances = GetItemsFromMaterial(hitMaterial);
            foreach (var itemChance in chances)
            {
                roll = UnityEngine.Random.Range(1, 100);
                amt = roll >= 100 - itemChance.Chance ? 1 : 0;
                GiveItemByShortName(basePlayer, itemChance.ItemShortName, RoundGatherAmount(amt, gatherRate));
            }

and

ItemChance[] GetItemsFromMaterial(HitMaterial material)
        {
            switch (material)
            {
                case HitMaterial.Grass:
                    return new ItemChance[]
                    {
                        new ItemChance(GRUB_ITEM, 5, config.GainBait),
                        new ItemChance(PLANT_FIBER_ITEM, 40, config.GainPlantFiber)
                    };
                case HitMaterial.SnowGrass:
                    return new ItemChance[]
                    {
                        new ItemChance(PLANT_FIBER_ITEM, 10, config.GainPlantFiber)
                    };
                case HitMaterial.Sand:
                    return new ItemChance[]
                    {
                        new ItemChance(SULPHUR_ITEM, 10, config.GainMetalAndSulfur)
                    };
                case HitMaterial.Dirt:
                    return new ItemChance[]
                    {
                        new ItemChance(WORM_ITEM, 5, config.GainBait),
                    };
                case HitMaterial.Riverbed:
                    return new ItemChance[]
                    {
                        new ItemChance(METAL_ITEM, 10, config.GainMetalAndSulfur),
                        new ItemChance(GRUB_ITEM, 2, config.GainBait),
                    };
                case HitMaterial.Gravel:
                    return new ItemChance[]
                    {
                        new ItemChance(METAL_ITEM, 30, config.GainMetalAndSulfur),
                    };
                default:
                    return new ItemChance[0];
            }
omegablue

Hi,

in cs file i have edit this line

return amt <= 0 || gatherRate <= 0 ? 0 : (int)Math.Max(1, Math.Floor(amt * gatherRate));​

to
return amt <= 0 || gatherRate <= 0 ? 0 : (int)Math.Max(5, Math.Floor(amt * gatherRate));​

to increase the amount.
You also can play around with these lines

{
                roll = UnityEngine.Random.Range(1, 10);
                amt = roll >= 9 ? 3 : (roll >= 4 ? 2 : 1);
                GiveItemByShortName(basePlayer, STONE_ITEM, RoundGatherAmount(amt, gatherRate));
            }
            var chances = GetItemsFromMaterial(hitMaterial);
            foreach (var itemChance in chances)
            {
                roll = UnityEngine.Random.Range(1, 100);
                amt = roll >= 100 - itemChance.Chance ? 1 : 0;
                GiveItemByShortName(basePlayer, itemChance.ItemShortName, RoundGatherAmount(amt, gatherRate));
            }

and

ItemChance[] GetItemsFromMaterial(HitMaterial material)
        {
            switch (material)
            {
                case HitMaterial.Grass:
                    return new ItemChance[]
                    {
                        new ItemChance(GRUB_ITEM, 5, config.GainBait),
                        new ItemChance(PLANT_FIBER_ITEM, 40, config.GainPlantFiber)
                    };
                case HitMaterial.SnowGrass:
                    return new ItemChance[]
                    {
                        new ItemChance(PLANT_FIBER_ITEM, 10, config.GainPlantFiber)
                    };
                case HitMaterial.Sand:
                    return new ItemChance[]
                    {
                        new ItemChance(SULPHUR_ITEM, 10, config.GainMetalAndSulfur)
                    };
                case HitMaterial.Dirt:
                    return new ItemChance[]
                    {
                        new ItemChance(WORM_ITEM, 5, config.GainBait),
                    };
                case HitMaterial.Riverbed:
                    return new ItemChance[]
                    {
                        new ItemChance(METAL_ITEM, 10, config.GainMetalAndSulfur),
                        new ItemChance(GRUB_ITEM, 2, config.GainBait),
                    };
                case HitMaterial.Gravel:
                    return new ItemChance[]
                    {
                        new ItemChance(METAL_ITEM, 30, config.GainMetalAndSulfur),
                    };
                default:
                    return new ItemChance[0];
            }

A config option to modify gather rates would be more user friendly, but i'll try out your approach omegablue

I´m all in your opinion.

+1

Hope a feature for drop rate, chance, custom items ect in config will come xD