Esempio n. 1
0
        private async Task FishingCommand(string ranseiEventName = null)
        {
            RanseiEvent ranseiEvent = RanseiEvent.None;

            switch (ranseiEventName)
            {
            case "Halloween2019":
            case "H2019":
            case "H19":
                ranseiEvent = RanseiEvent.Halloween2019; break;

            case "RanseiVSGalar":
            case "RvG":
                ranseiEvent = RanseiEvent.RanseiVSGalar; break;

            default:
                ranseiEvent = RanseiEvent.None; break;
            }

            try
            {
                FishingRewards fishingRewards = new FishingRewards(ranseiEvent);

                int numberRolled = diceRoller.RollDice(100);

                Reward reward      = fishingRewards.GetFishingReward(numberRolled);
                string description = string.Empty;
                if (reward is ITraitable)
                {
                    ITraitable traitableReward = reward as ITraitable;
                    traitableReward.RollTrait();
                    if (traitableReward.Trait != null)
                    {
                        description = $"{traitableReward.Trait.ToString()} ";
                    }
                }
                description += reward.Name;

                await ReplyAsync($"Congratulations! You hooked a {description}!{Environment.NewLine}{Environment.NewLine}(Actual number rolled: {numberRolled})");
            }
            catch (Exception ex)
            {
                await ReplyAsync($"Oops, something went wrong! Error: {ex.Message}");
            }
        }
Esempio n. 2
0
 public FishingRewards(RanseiEvent fishEvent)
 {
     FishingEvent = fishEvent;
     InitialiseRewardsList();
 }