Example #1
0
        private static void Bless(long QQNum, string BlessName, int BlessValue)
        {
            var response = PersonCacheRecord.Get(QQNum, "RandomFortune");

            if (string.IsNullOrEmpty(response.Value))
            {
                var randFor = GetRandomFortune();
                var rf      = new RandomFortuneCache()
                {
                    QQNum        = QQNum,
                    FortuneValue = randFor,
                    BlessName    = BlessName,
                    BlessValue   = BlessValue
                };
                response.Value      = JsonConvert.SerializeObject(rf);
                response.ExpiryTime = CommonUtil.UntilTommorow();
                response.Update();
            }
            else
            {
                var model = JsonConvert.DeserializeObject <RandomFortuneCache>(response.Value);
                model.BlessName  = BlessName;
                model.BlessValue = BlessValue;

                response.Value      = JsonConvert.SerializeObject(model);
                response.ExpiryTime = CommonUtil.UntilTommorow();
                response.Update();
            }
        }
Example #2
0
        private static void RandBless(RandomFortuneCache rf)
        {
            if (rf.FortuneValue >= 50 || Rander.RandInt(100) > 20)
            {
                return;
            }

            var item = FortuneItemList.RandElement();

            rf.BlessName  = item.Name;
            rf.BlessValue = item.Value;
        }
Example #3
0
        private static void ShowRandFortune(MsgInformationEx MsgDTO, RandomFortuneCache rf)
        {
            var msg = "你今天的运势是:" + rf.FortuneValue + "%\r\n";

            var builder = new StringBuilder();

            builder.Append(msg);

            for (var i = 0; i < rf.FortuneValue; i++)
            {
                builder.Append("|");
            }

            msg = builder.ToString();

            MsgSender.PushMsg(MsgDTO, msg, true);
        }
Example #4
0
        public bool RandomFortune(MsgInformationEx MsgDTO, object[] param)
        {
            var response = PersonCacheRecord.Get(MsgDTO.FromQQ, "RandomFortune");

            if (string.IsNullOrEmpty(response.Value))
            {
                var randFor = GetRandomFortune();
                var rf      = new RandomFortuneCache {
                    QQNum = MsgDTO.FromQQ, FortuneValue = randFor, BlessName = string.Empty, BlessValue = 0
                };
                RandBless(rf);
                ShowRandFortune(MsgDTO, rf);

                response.Value      = JsonConvert.SerializeObject(rf);
                response.ExpiryTime = CommonUtil.UntilTommorow();
                response.Update();
            }
            else
            {
                ShowRandFortune(MsgDTO, JsonConvert.DeserializeObject <RandomFortuneCache>(response.Value));
            }
            return(true);
        }
Example #5
0
        private static void ShowRandFortune(MsgInformationEx MsgDTO, RandomFortuneCache rf)
        {
            var msg = string.Empty;

            if (rf.BlessValue > 0)
            {
                rf.FortuneValue += rf.BlessValue;
                rf.FortuneValue  = rf.FortuneValue > 100 ? 100 : rf.FortuneValue;
                msg             += $"恭喜你受到了 {rf.BlessName} 的祝福\r\n";
                msg             += $"你今天的运势是:{rf.FortuneValue}%({rf.BlessValue}↑)\r\n";
            }
            else if (rf.BlessValue < 0)
            {
                rf.FortuneValue += rf.BlessValue;
                rf.FortuneValue  = rf.FortuneValue < 0 ? 0 : rf.FortuneValue;
                msg             += $"哎呀呀,你受到了 {rf.BlessName} 的诅咒\r\n";
                msg             += $"你今天的运势是:{rf.FortuneValue}%({Math.Abs(rf.BlessValue)}↓)\r\n";
            }
            else
            {
                msg += "你今天的运势是:" + rf.FortuneValue + "%\r\n";
            }

            var builder = new StringBuilder();

            builder.Append(msg);

            for (var i = 0; i < rf.FortuneValue; i++)
            {
                builder.Append("|");
            }

            msg = builder.ToString();

            MsgSender.PushMsg(MsgDTO, msg, true);
        }
Example #6
0
 private static void SetFortune(RandomFortuneCache fortune)
 {
     RapidCacher.SetCache($"RandomFortune:{fortune.QQNum}", fortune, CommonUtil.UntilTommorow());
 }