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

View File

@ -5958,10 +5958,10 @@ namespace Oshima.FunGame.WebAPI.Controllers
}
[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));
int showPage = page ?? 1;
int showPage = page;
if (showPage <= 0) showPage = 1;
try
@ -6010,11 +6010,21 @@ namespace Oshima.FunGame.WebAPI.Controllers
builder.AppendLine($"发起方:{user1}");
builder.AppendLine($"接收方:{user2}");
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)
{
offer.OfferorItems = [.. SQLService.GetOfferItemsByOfferIdAndUserId(sql, offer.Id, user1)];
offer.OffereeItems = [.. SQLService.GetOfferItemsByOfferIdAndUserId(sql, offer.Id, user2)];
if (offer.Status == OfferState.Completed)
{
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 = [];

View File

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