public bool Buy(MsgInformationEx MsgDTO, object[] param) { var name = param[0] as string; var vipSvc = DailyVipShopSvc[name]; if (vipSvc != null) { DailyVipShopSvc.Serve(MsgDTO, name); return(false); } if (OSPersonBuff.CheckBuff(MsgDTO.FromQQ, "快晴")) { MsgSender.PushMsg(MsgDTO, "你无法进行该操作!(快晴)"); return(false); } var sellingItems = TransHelper.GetDailySellItems(); var todayRec = DailySellItemRareRecord.GetToday(); if (DateTime.Now.Hour >= todayRec.Hour && DateTime.Now.Hour <= todayRec.Hour + 2) { sellingItems = sellingItems.Concat(todayRec.Items); } var sellItem = sellingItems.FirstOrDefault(si => si.Name == name); if (sellItem == null) { MsgSender.PushMsg(MsgDTO, "此物品未在商店中售卖!"); return(false); } var osPerson = OSPerson.GetPerson(MsgDTO.FromQQ); if (osPerson.Golds < sellItem.Price) { MsgSender.PushMsg(MsgDTO, "你持有的金币不足以购买此物品!"); return(false); } var price = OSPersonBuff.CheckBuff(MsgDTO.FromQQ, "极光") ? sellItem.Price * 80 / 100 : sellItem.Price; if (!WaiterSvc.WaitForConfirm_Gold(MsgDTO, price)) { MsgSender.PushMsg(MsgDTO, "交易取消!"); return(false); } var record = ItemCollectionRecord.Get(MsgDTO.FromQQ); var incomeMsg = record.ItemIncome(sellItem.Name); OSPerson.GoldConsume(osPerson.QQNum, price); MsgSender.PushMsg(MsgDTO, $"{incomeMsg}\r\n购买成功!你当前剩余的金币为 {(osPerson.Golds - sellItem.Price).CurencyFormat()}"); return(true); }
public void 雾雨() { var sellingItems = TransHelper.GetDailySellItems(); var item = sellingItems.RandElement(); var record = ItemCollectionRecord.Get(SelfQQNum); var msg = record.ItemIncome(item.Name); MsgSender.PushMsg(GroupNum, 0, $"你获得了:{item.Name}\r\n{msg}", BindAi); }
public bool Purchase(MsgInformationEx MsgDTO) { var shopItems = TransHelper.GetDailySellItems(); var randItem = shopItems.RandElement(); var itemColle = ItemCollectionRecord.Get(MsgDTO.FromQQ); var msg = itemColle.ItemIncome(randItem.Name); msg = $"恭喜你获得了 {randItem.Name}\r\n{msg}"; MsgSender.PushMsg(MsgDTO, msg); return(true); }
public bool ShopInfo(MsgInformationEx MsgDTO, object[] param) { var osPerson = OSPerson.GetPerson(MsgDTO.FromQQ); var golds = osPerson.Golds; var sellItems = TransHelper.GetDailySellItems(); var record = ItemCollectionRecord.Get(MsgDTO.FromQQ); var itemsStr = string.Join("\r\n", sellItems.Select(si => $"{si.Name}({HonorSvc.FindHonorFullName(si.Name)})({record.GetCount(si.Name)})({si.Attr}):{si.Price.CurencyFormat()}")); var msg = $"今日售卖的商品:\r\n{itemsStr}\r\n你当前持有 {golds.CurencyFormat()}"; MsgSender.PushMsg(MsgDTO, msg); return(true); }
public bool OpenFinalTreasure(MsgInformationEx MsgDTO, object[] param) { var record = SegmentRecord.Get(MsgDTO.FromQQ); if (!record.CanOpenFinalTreasure) { MsgSender.PushMsg(MsgDTO, "很遗憾,你还不能开启终极宝藏,继续努力吧!(开启过所有其他宝藏才能开启终极宝藏!)", true); return(false); } var options = new[] { "获取500金币", "随机获取商店售卖的一件商品*5", "宠物获取50点经验值", "捞瓶子机会*5(仅当日有效)" }; var selectedIdx = WaiterSvc.WaitForOptions(MsgDTO.FromGroup, MsgDTO.FromQQ, "请选择你要开启的宝藏:", options, MsgDTO.BindAi); if (selectedIdx < 0) { MsgSender.PushMsg(MsgDTO, "你已经放弃了思考!"); return(false); } switch (selectedIdx) { case 0: { var osPerson = OSPerson.GetPerson(MsgDTO.FromQQ); osPerson.Golds += 500; osPerson.Update(); MsgSender.PushMsg(MsgDTO, $"恭喜你获得了 {500.CurencyFormat()}!"); break; } case 1: { var items = TransHelper.GetDailySellItems(); var randItem = items.RandElement(); MsgSender.PushMsg(MsgDTO, $"恭喜你获得了 {randItem.Name}*5!"); var collo = ItemCollectionRecord.Get(MsgDTO.FromQQ); var msg = collo.ItemIncome(randItem.Name, 5); if (!string.IsNullOrEmpty(msg)) { MsgSender.PushMsg(MsgDTO, msg); } break; } case 2: { var pet = PetRecord.Get(MsgDTO.FromQQ); var msg = pet.ExtGain(MsgDTO, 50); MsgSender.PushMsg(MsgDTO, msg); break; } case 3: { var dailyLimit = DailyLimitRecord.Get(MsgDTO.FromQQ, "DriftBottleAI_FishingBottle"); dailyLimit.Decache(5); dailyLimit.Update(); MsgSender.PushMsg(MsgDTO, "恭喜你获取 捞瓶子机会*5(仅当日有效) !"); break; } } record.FinalTreasureCount++; record.Update(); return(true); }