Reprice listed goods; honeypot stays at 1%

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
ZHU MINCHAOandClaude Sonnet 5.5 committed 2026-11-03 21:50:26 +08:00
1 parent a76f04c75e
commit a44e4008c1
7 files changed
+64 -6

No files matched your search

+25 -1
View File
@@ -551,6 +551,15 @@ namespace Decentralized
Open();
}
private static void RepriceSale(BmSale s, double mult)
{
var d = Session.Data;
if (!d.Black.Reprice(s, mult, d.Hot, _payAsset, StoreStation.GetDayCounter(), Session.Price)) { _message = L.T("msg.balance"); Open(); return; }
_message = L.T("black.sell.repriced", ItemName(s.Item), s.ListPrice);
Session.Save();
Open();
}
private static void Delist(BmSale s)
{
var d = Session.Data;
@@ -573,7 +582,22 @@ namespace Decentralized
var sale = sl;
string st = sale.State == SaleState.Sold ? L.T("black.sale.Sold", sale.PayDay) : L.T("black.sale." + sale.State + (sale.State == SaleState.Delisted && sale.Why != null ? "." + sale.Why : ""));
l.AddLabel(L.T("black.mine.sale", ItemName(sale.Item), sale.Mult.ToString("0.0", CultureInfo.InvariantCulture), st));
if (sale.State == SaleState.Listed) l.AddButton(L.T("black.sell.delist"), () => Delist(sale));
if (sale.State == SaleState.Listed)
{
l.BeginRow();
foreach (var m in SellMults)
{
double mult = m;
string n = m.ToString("0.0", CultureInfo.InvariantCulture);
l.AddButton(Math.Abs(mult - sale.Mult) < 1e-9 ? $"[{n}]" : n, () =>
{
if (Math.Abs(mult - sale.Mult) < 1e-9) return;
BeginPay(d.Address("platform"), ItemName(sale.Item) + L.T("pay.repricefee", n), BlackMarket.RepriceFee(BlackMarket.ListPriceOf(sale.Ref, mult)), () => RepriceSale(sale, mult));
});
}
l.AddButton(L.T("black.sell.delist"), () => Delist(sale));
l.End();
}
}
foreach (var o in d.Black.Orders.OrderByDescending(x => x.PlacedDay))
l.AddLabel(L.T("black.mine.line", ItemName(o.Item) + (o.Count > 1 ? " ×" + o.Count : ""), BlackDelivery.DisplayName(o.Seller), L.T("black.mode." + o.Mode), L.T("black.state." + o.State + (o.Why != null && o.State != OrderState.Done ? "." + o.Why : "")), o.DueDay));