This commit is contained in:
milimoe 2025-07-08 01:33:33 +08:00
parent 08f9a4fe26
commit 04f28099c6
Signed by: milimoe
GPG Key ID: 9554D37E4B8991D0
3 changed files with 41 additions and 13 deletions

View File

@ -676,18 +676,24 @@ namespace Oshima.FunGame.OshimaServers.Service
if (is10) if (is10)
{ {
int count = 0;
for (int i = 1; i <= 10; i++) for (int i = 1; i <= 10; i++)
{ {
double dice = Random.Shared.NextDouble(); double dice = Random.Shared.NextDouble();
if (dice > 0.8) if (dice > 0.8)
{ {
msgs.Add(GetDrawCardResult(reduce, reduceUnit, user, is10, i)); count++;
msgs.Add(GetDrawCardResult(reduce, reduceUnit, user, is10, count));
} }
} }
if (msgs.Count == 1) if (msgs.Count <= 1)
{ {
msgs[0] = $"消耗 {reduce} {reduceUnit},你什么也没抽中……"; msgs[0] = $"消耗 {reduce} {reduceUnit},你什么也没抽中……";
} }
else
{
msgs.Insert(0, $"消耗 {reduce} {reduceUnit},恭喜你抽到了:");
}
} }
else else
{ {
@ -704,7 +710,7 @@ namespace Oshima.FunGame.OshimaServers.Service
if (items != null && items.Any()) if (items != null && items.Any())
{ {
msgs.Insert(0, $"你的库存中拥有 {items.Count()} 张{reduceUnit},本次抽卡优先使用一张代替金币抽卡!"); msgs.Insert(0, $"本次抽卡使用{reduceUnit}代替金币抽卡!你的库存剩余 {items.Count()} 张{reduceUnit}。");
} }
return msgs; return msgs;
@ -2837,6 +2843,14 @@ namespace Oshima.FunGame.OshimaServers.Service
break; break;
} }
if (item.Character != null)
{
result = false;
if (msg != "") msg += "\r\n";
msg += $"物品 {itemIndex}. {item.Name}:此物品已被 {item.Character} 装备中,无法进行交易。";
break;
}
if (!item.IsTradable) if (!item.IsTradable)
{ {
result = false; result = false;
@ -3145,7 +3159,7 @@ namespace Oshima.FunGame.OshimaServers.Service
{ {
user.Inventory.Items.Remove(item); user.Inventory.Items.Remove(item);
Item newItem = item.Copy(); Item newItem = item.Copy(copyGuid: true);
newItem.User = user2; newItem.User = user2;
newItem.IsSellable = false; newItem.IsSellable = false;
newItem.IsTradable = false; newItem.IsTradable = false;
@ -3160,7 +3174,7 @@ namespace Oshima.FunGame.OshimaServers.Service
{ {
user2.Inventory.Items.Remove(item); user2.Inventory.Items.Remove(item);
Item newItem = item.Copy(); Item newItem = item.Copy(copyGuid: true);
newItem.User = user; newItem.User = user;
newItem.IsSellable = false; newItem.IsSellable = false;
newItem.IsTradable = false; newItem.IsTradable = false;

View File

@ -5958,10 +5958,10 @@ namespace Oshima.FunGame.WebAPI.Controllers
} }
[HttpGet("getoffer")] [HttpGet("getoffer")]
public string GetOffer([FromQuery] long? uid = null, [FromQuery] long? offerId = null, [FromQuery] int? page = null) public string GetOffer([FromQuery] long? uid = null, [FromQuery] long? offerId = null, [FromQuery] int page = 1)
{ {
long userid = uid ?? Convert.ToInt64("10" + Verification.CreateVerifyCode(VerifyCodeType.NumberVerifyCode, 11)); long userid = uid ?? Convert.ToInt64("10" + Verification.CreateVerifyCode(VerifyCodeType.NumberVerifyCode, 11));
int showPage = page ?? 1; int showPage = page;
if (showPage <= 0) showPage = 1; if (showPage <= 0) showPage = 1;
try try
@ -6010,11 +6010,21 @@ namespace Oshima.FunGame.WebAPI.Controllers
builder.AppendLine($"发起方:{user1}"); builder.AppendLine($"发起方:{user1}");
builder.AppendLine($"接收方:{user2}"); builder.AppendLine($"接收方:{user2}");
builder.AppendLine($"状态:{CommonSet.GetOfferStatus(offer.Status)}"); builder.AppendLine($"状态:{CommonSet.GetOfferStatus(offer.Status)}");
builder.AppendLine($"创建时间:{offer.CreateTime.ToString(General.GeneralDateTimeFormatChinese)}");
if (offer.FinishTime.HasValue) builder.AppendLine($"完成时间:{offer.FinishTime.Value.ToString(General.GeneralDateTimeFormatChinese)}");
if (sql != null) if (sql != null)
{ {
offer.OfferorItems = [.. SQLService.GetOfferItemsByOfferIdAndUserId(sql, offer.Id, user1)]; if (offer.Status == OfferState.Completed)
offer.OffereeItems = [.. SQLService.GetOfferItemsByOfferIdAndUserId(sql, offer.Id, user2)]; {
offer.OffereeItems = [.. SQLService.GetOfferItemsByOfferIdAndUserId(sql, offer.Id, user1)];
offer.OfferorItems = [.. SQLService.GetOfferItemsByOfferIdAndUserId(sql, offer.Id, user2)];
}
else
{
offer.OfferorItems = [.. SQLService.GetOfferItemsByOfferIdAndUserId(sql, offer.Id, user1)];
offer.OffereeItems = [.. SQLService.GetOfferItemsByOfferIdAndUserId(sql, offer.Id, user2)];
}
} }
List<string> user1Item = []; List<string> user1Item = [];

View File

@ -2255,10 +2255,14 @@ namespace Oshima.FunGame.WebAPI.Services
if (int.TryParse(detail, out int page)) if (int.TryParse(detail, out int page))
{ {
msg = Controller.GetOffer(uid, null, page); msg = Controller.GetOffer(uid, null, page);
if (msg.Trim() != "") }
{ else
await SendAsync(e, "我的报价", msg); {
} msg = Controller.GetOffer(uid);
}
if (msg.Trim() != "")
{
await SendAsync(e, "我的报价", msg);
} }
return result; return result;
} }