//异步方法 async void LoseXWAsync(int sep) { if (this.StatusStr.Get("伤药") == "on") { //因为是异步的,所以先走完主流程,再显示此流程|两个字:合理 await Task.Run(() => { var day = (DateTime.Now - DateTime.Parse(StatusStr.Get("伤药begin"))).Days; if (day >= 45) { StatusStr.Set("百毒不侵", "成就"); SendMes("你完成了一个伟大的成就,百毒不侵!"); } StatusStr.Dic.Remove("伤药begin"); StatusStr.Dic.Remove("伤药"); Thread.Sleep(100); _XW += sep; SendMes($"消耗伤药,修为回复{sep}点"); }); } }
async void AddXWAsync(int sep) { if (this.StatusStr.Get("增幅药剂") == "on") { await Task.Run(() => { var day = (DateTime.Now - DateTime.Parse(StatusStr.Get("增幅药剂begin"))).Days; //七天不增加任何修为 if (day >= 21) { StatusStr.Set("大智若愚", "成就"); SendMes("你完成了一个伟大的成就,大智若愚!"); } StatusStr.Dic.Remove("增幅药剂begin"); StatusStr.Dic.Remove("增幅药剂"); Thread.Sleep(100); _XW += sep; SendMes($"消耗增幅药剂,修为额外增加{sep}点"); }); } }
public void SignIn(CQGroupMessageEventArgs e) { //解析参数 CQCode cqat = e.FromQQ.CQCode_At(); string temple; //用疯狂做普通判定(大于44才判定) if (Crazy >= 44 && Jude(Crazy)) { e.FromGroup.SendGroupMessage(cqat, " ", "疯狂太高,你无心修炼,明天再来吧(其他角色可以 '援助@你'帮你吸收疯狂)"); return; } //小树苗判断 if (this.StatusInt.Contain("树苗大小")) { StatusInt.AddOne("树苗大小"); if (StatusInt.Get("树苗大小") >= 5) { SendMes("你的小树苗成熟啦~摘获一个饮料币"); StatusInt.Dic.Remove("树苗大小"); Package.AddOne("饮料币"); } else { SendMes($"你的小树苗正在茁壮成长,离成熟还需要{5 - StatusInt.Get("树苗大小")}天"); } } //额外判定一次小猪钱罐 if (StatusStr.Contain("小猪钱罐") && Jude(50)) { Gold += 1; SendMes("小猪钱罐让你获得一个额外的金币!"); } var addGold = (StrictJude(Lucky) ? 2 : 1); if (LevelNum >= 8) { addGold += 1; } Gold += addGold; var addNum = GetTrainNum(); XW += addNum; //levelNum if (LevelNum >= 9) { Crazy -= 1; } string name = ""; if (LevelNum >= 10) { if (Jude(50)) { name = ItemList.RandomB(); } else { name = ItemList.RandomC(); } Package.AddOne(name); } var story = Story.GetTrainStory(addNum); //渡劫 这儿代码写的也太乱了,但是我觉得也米有动的必要 if (!CheckLevelUp()) { temple = @$ "{story},修为{(addNum >= 0 ? " + " : " ")}{addNum},金币+{addGold}{(LevelNum >= 9 ? ", 疯狂 - 1 " : " ")}{(name != " " ? $", 获得一个 { name } " : " ")} 当前修为: {XW} 当前境界: {Level.LevelName}"; e.FromGroup.SendGroupMessage(cqat, " ", temple); return; } else { temple = @$ "{story},修为{(addNum > 0 ? " + " : " ")}{addNum},达到{XW}点,即将突破到下一境界!"; e.FromGroup.SendGroupMessage(cqat, " ", temple); if (Breakthrough()) { temple = @$ "渡劫成功,现在你是{Level.LevelName}强者了!"; e.FromGroup.SendGroupMessage(cqat, " ", temple); return; } else { temple = @$ "渡劫失败,修为{Common.Levels[LevelNum + 1].Punish}点"; e.FromGroup.SendGroupMessage(cqat, " ", temple); return; } } }