Пример #1
0
        protected override async Task ExecuteAfter(FieldUser user, BuffCommandOptions option)
        {
            var type = await user.Prompt <int>((self, target) => self.AskMenu(
                                                   "Which temporary stat?",
                                                   Enum.GetValues(typeof(TemporaryStatType))
                                                   .Cast <TemporaryStatType>()
                                                   .ToDictionary(
                                                       t => (int)t,
                                                       t => t.ToString()
                                                       )
                                                   ), 0);

            var options = await user.Prompt <int>((self, target) => self.AskNumber(
                                                      "What option?",
                                                      1,
                                                      1,
                                                      short.MaxValue
                                                      ), 0);

            var duration = await user.Prompt <int>((self, target) => self.AskNumber(
                                                       "How long? (in seconds)",
                                                       0,
                                                       0
                                                       ), 0);

            await user.ModifyTemporaryStat(s =>
                                           s.Set(
                                               (TemporaryStatType)type,
                                               30001000,
                                               (short)options,
                                               duration > 0
                        ? DateTime.Now.AddSeconds(duration)
                        : (DateTime?)null)
                                           );
        }