示例#1
0
        internal override IEncounterDrawer GetEncounterDrawer(WildGenerationArgument arg)
        {
            if (arg.ForceEncount)
            {
                return(ForceEncounterDrawer.Getinstance());
            }

            var value = BasicEncounterRate << 4;

            if (arg.RidingBicycle)
            {
                value = value * 8 / 10;
            }
            if (arg.UsingFlute == Flute.BlackFlute)
            {
                value /= 2;
            }
            if (arg.UsingFlute == Flute.WhiteFlute)
            {
                value = value * 15 / 10;
            }
            if (arg.HasCleanseTag)
            {
                value = value * 2 / 3;
            }
            else
            {
                value = arg.FieldAbility.CorrectEncounterThreshold(value);
            }

            return(RSEEncounterDrawer.CreateInstance(value));
        }
 internal override IEncounterDrawer GetEncounterDrawer(WildGenerationArgument arg) => ForceEncounterDrawer.Getinstance();