版本 1.0.0-rc5:第十阶段 stage 1 与 stage 2

This commit is contained in:
ZHU MINCHAO committed 2026-11-05 07:38:52 +08:00
1 parent a71e1f0885
commit ac825b42e4
13 files changed
+14 -13

No files matched your search

+2 -1
View File
@@ -1,6 +1,6 @@
# Changelog # Changelog
## 未发布 ## 1.0.0-rc5
### 第十阶段 stage 2:资金页、交易对与部分抵押 ### 第十阶段 stage 2:资金页、交易对与部分抵押
@@ -11,6 +11,7 @@
- 官方铸造与销毁(质押页):存入 CRC 和 SPARK(比例按抵押率)排 1~2 天铸出 CRA,铸出的直接进质押;销毁换回 CRC 和 SPARK,等待同解锁期,储备不足时 CRC 份额按覆盖率打折;排队单每晚按“系数 × (1 − CRA 价格)”的概率被官方黑掉,整笔丢失(夜间日志提示)。去掉 CRA 与 SPARK 的互换铸销。 - 官方铸造与销毁(质押页):存入 CRC 和 SPARK(比例按抵押率)排 1~2 天铸出 CRA,铸出的直接进质押;销毁换回 CRC 和 SPARK,等待同解锁期,储备不足时 CRC 份额按覆盖率打折;排队单每晚按“系数 × (1 − CRA 价格)”的概率被官方黑掉,整笔丢失(夜间日志提示)。去掉 CRA 与 SPARK 的互换铸销。
- 质押可以存 CRA、CRC、CRT、SPARK:后三种先经 DEX 路由换成 CRA 再质押。 - 质押可以存 CRA、CRC、CRT、SPARK:后三种先经 DEX 路由换成 CRA 再质押。
- Web3 新增“浏览器”页签:按地址查转账记录(自己的钱包、出金、矿机收益等真实发生的转账,全局账本最多 200 条);不需要连接钱包。Web3 页签放不下时折成两行。 - Web3 新增“浏览器”页签:按地址查转账记录(自己的钱包、出金、矿机收益等真实发生的转账,全局账本最多 200 条);不需要连接钱包。Web3 页签放不下时折成两行。
- 译文校对:铸造 / 销毁沿用术语表(Mint / Burn),页面名与界面一致;空投的“不需要授权”改称“不要代币额度”,避免和钱包授权混淆。
- 数值模拟见运维仓库 research/crasim(Python):兑付 CRC 份额取 min(c, R/S) 才不会因抵押率上调被挤兑抽干;挪用比例 40%–80%;游戏内每 200 天崩盘比例约 46%(无质押)到 66%(质押 10 万),预兆到崩盘平均 5.5 天。 - 数值模拟见运维仓库 research/crasim(Python):兑付 CRC 份额取 min(c, R/S) 才不会因抵押率上调被挤兑抽干;挪用比例 40%–80%;游戏内每 200 天崩盘比例约 46%(无质押)到 66%(质押 10 万),预兆到崩盘平均 5.5 天。
### 第十阶段 stage 1:钱包物品化与小改 ### 第十阶段 stage 1:钱包物品化与小改
+1 -1
View File
@@ -1,6 +1,6 @@
# Probably Decentralized # Probably Decentralized
A mod for *Probably Stolen*: crypto mining, a fictional coin market, stablecoins, laundering and its risks, a Web3 black market, built on the game's own power, events and law systems. Current version: 1.0.0-rc4 (release candidate). A mod for *Probably Stolen*: crypto mining, a fictional coin market, stablecoins, laundering and its risks, a Web3 black market, built on the game's own power, events and law systems. Current version: 1.0.0-rc5 (release candidate).
All coins, exchanges and events are fictional and have no real-world value. All coins, exchanges and events are fictional and have no real-world value.
+1 -1
View File
@@ -7,7 +7,7 @@ namespace Decentralized
{ {
public const string Id = "probably_decentralized"; public const string Id = "probably_decentralized";
public const string Name = "Probably Decentralized"; public const string Name = "Probably Decentralized";
public const string Version = "1.0.0-rc4"; public const string Version = "1.0.0-rc5";
} }
/// <summary>本地化:游戏的 mod 本地化表(ModFiles/Localization/*.csv),当前语言缺失时回退英文。</summary> /// <summary>本地化:游戏的 mod 本地化表(ModFiles/Localization/*.csv),当前语言缺失时回退英文。</summary>
+1 -1
View File
@@ -182,7 +182,7 @@ namespace Decentralized
ModHelper.AddDebugFunction(ModInfo.Id, ModInfo.Name, "Predict: window = tomorrow (test)", () => { foreach (var m in Session.Data.Predict.Markets) { m.FromDay = m.ToDay = StoreStation.GetDayCounter() + 1; } Log.Info("测试:所有盘口窗口改成明天"); }); ModHelper.AddDebugFunction(ModInfo.Id, ModInfo.Name, "Predict: window = tomorrow (test)", () => { foreach (var m in Session.Data.Predict.Markets) { m.FromDay = m.ToDay = StoreStation.GetDayCounter() + 1; } Log.Info("测试:所有盘口窗口改成明天"); });
ModHelper.AddDebugFunction(ModInfo.Id, ModInfo.Name, "Perp fund 0 (test)", () => { Session.Data.Perps.InsuranceFund = 0; Log.Info("测试:保险基金清零"); }); ModHelper.AddDebugFunction(ModInfo.Id, ModInfo.Name, "Perp fund 0 (test)", () => { Session.Data.Perps.InsuranceFund = 0; Log.Info("测试:保险基金清零"); });
ModHelper.AddDebugFunction(ModInfo.Id, ModInfo.Name, "SPARK x0.3 (test)", () => { var st = Session.Data.Stable; st.Spark *= 0.3; Log.Info($"测试:SPARK 价格 {st.Spark:0.00}"); }); ModHelper.AddDebugFunction(ModInfo.Id, ModInfo.Name, "SPARK x0.3 (test)", () => { var st = Session.Data.Stable; st.Spark *= 0.3; Log.Info($"测试:SPARK 价格 {st.Spark:0.00}"); });
ModHelper.AddDebugFunction(ModInfo.Id, ModInfo.Name, "Wallet gift: CRC, CRA, PSC (test)", () => { var w = Session.Data.Hot; w.Add(Assets.CRA, 1000); w.Add(Assets.CRC, 1000); w.Add(Assets.CRT, 3000); w.Add(Assets.PSC, 20); w.Basis += 5000; Log.Info($"测试:{WalletWindow.NameOf(w)} CRA {w.Get(Assets.CRA):0}"); }); ModHelper.AddDebugFunction(ModInfo.Id, ModInfo.Name, "Wallet gift: CRC, CRA, PSC (test)", () => { var w = Session.Data.Hot; w.Add(Assets.CRA, 1000); w.Add(Assets.CRC, 1000); w.Add(Assets.CRT, 3000); w.Add(Assets.PSC, 20); w.Add(Assets.SPARK, 300); w.Basis += 5000; Log.Info($"测试:{WalletWindow.NameOf(w)} CRA {w.Get(Assets.CRA):0}"); });
ModHelper.AddDebugFunction(ModInfo.Id, ModInfo.Name, "Poinbase gift: CRC, PSC (test)", () => { var pb = Session.Data.Poinbase; pb.Add(Assets.CRC, 5000); pb.Add(Assets.PSC, 30); pb.Basis += 8000; Log.Info($"测试:Poinbase CRC {pb.Get(Assets.CRC):0}"); }); ModHelper.AddDebugFunction(ModInfo.Id, ModInfo.Name, "Poinbase gift: CRC, PSC (test)", () => { var pb = Session.Data.Poinbase; pb.Add(Assets.CRC, 5000); pb.Add(Assets.PSC, 30); pb.Basis += 8000; Log.Info($"测试:Poinbase CRC {pb.Get(Assets.CRC):0}"); });
ModHelper.AddDebugFunction(ModInfo.Id, ModInfo.Name, "CRA spiral warning (test)", () => ModHelper.AddDebugFunction(ModInfo.Id, ModInfo.Name, "CRA spiral warning (test)", () =>
{ {
@@ -654,7 +654,6 @@ air.h,Airdrops
air.none,Derzeit keine Airdrops zum Abholen verfügbar. air.none,Derzeit keine Airdrops zum Abholen verfügbar.
air.row,{0} Belohnung {1} CRC {2} bis Tag {3} air.row,{0} Belohnung {1} CRC {2} bis Tag {3}
air.claim,Abholen air.claim,Abholen
air.noapprove,keine Freigabe erforderlich
air.unlimited,{0} unbegrenzt freigeben air.unlimited,{0} unbegrenzt freigeben
air.limited,{0} für {1} freigeben air.limited,{0} für {1} freigeben
air.approvals,Freigaben für {0} air.approvals,Freigaben für {0}
@@ -939,3 +938,4 @@ mint.done.out,Verbrennungsauftrag erteilt; fällig an Tag {0}.
nightlog.cra.minted,{0} CRA geprägt und gestakt ({1}). nightlog.cra.minted,{0} CRA geprägt und gestakt ({1}).
nightlog.cra.burned,"{0} CRA verbrannt: +{1} CRC, +{2} SPARK ({3})." nightlog.cra.burned,"{0} CRA verbrannt: +{1} CRC, +{2} SPARK ({3})."
predict.clue.subsidy,Reserve {0}%; bei 0 folgt sicher eine Warnung predict.clue.subsidy,Reserve {0}%; bei 0 folgt sicher eine Warnung
air.noapprove,keine Token-Freigabe
1 # Probably Decentralized localization table: German (de)
654 air.none
655 air.row
656 air.claim
air.noapprove
657 air.unlimited
658 air.limited
659 air.approvals
938 nightlog.cra.minted
939 nightlog.cra.burned
940 predict.clue.subsidy
941 air.noapprove
@@ -654,7 +654,6 @@ air.h,Airdrops
air.none,No airdrops to claim right now. air.none,No airdrops to claim right now.
air.row,{0} reward {1} CRC {2} until day {3} air.row,{0} reward {1} CRC {2} until day {3}
air.claim,Claim air.claim,Claim
air.noapprove,no approval needed
air.unlimited,approve {0} unlimited air.unlimited,approve {0} unlimited
air.limited,approve {0} {1} air.limited,approve {0} {1}
air.approvals,Approvals of {0} air.approvals,Approvals of {0}
@@ -939,3 +938,4 @@ mint.done.out,Burn order placed; due on day {0}.
nightlog.cra.minted,"Minted {0} CRA, now staked ({1})." nightlog.cra.minted,"Minted {0} CRA, now staked ({1})."
nightlog.cra.burned,"Burned {0} CRA: +{1} CRC, +{2} SPARK ({3})." nightlog.cra.burned,"Burned {0} CRA: +{1} CRC, +{2} SPARK ({3})."
predict.clue.subsidy,Reserve {0}%; empty forces a warning predict.clue.subsidy,Reserve {0}%; empty forces a warning
air.noapprove,no token allowance
1 # Probably Decentralized localization table: English (en)
654 air.none
655 air.row
656 air.claim
air.noapprove
657 air.unlimited
658 air.limited
659 air.approvals
938 nightlog.cra.minted
939 nightlog.cra.burned
940 predict.clue.subsidy
941 air.noapprove
@@ -654,7 +654,6 @@ air.h,Airdrops
air.none,No hay airdrops para reclamar ahora. air.none,No hay airdrops para reclamar ahora.
air.row,{0} recompensa {1} CRC {2} hasta el día {3} air.row,{0} recompensa {1} CRC {2} hasta el día {3}
air.claim,Reclamar air.claim,Reclamar
air.noapprove,no requiere aprobación
air.unlimited,aprobar {0} ilimitado air.unlimited,aprobar {0} ilimitado
air.limited,aprobar {0} {1} air.limited,aprobar {0} {1}
air.approvals,Aprobaciones de {0} air.approvals,Aprobaciones de {0}
@@ -939,3 +938,4 @@ mint.done.out,Orden de quema enviada; vence el día {0}.
nightlog.cra.minted,{0} CRA acuñados y apostados ({1}). nightlog.cra.minted,{0} CRA acuñados y apostados ({1}).
nightlog.cra.burned,"{0} CRA quemados: +{1} CRC, +{2} SPARK ({3})." nightlog.cra.burned,"{0} CRA quemados: +{1} CRC, +{2} SPARK ({3})."
predict.clue.subsidy,"Reserva al {0}%; a cero, la advertencia es segura" predict.clue.subsidy,"Reserva al {0}%; a cero, la advertencia es segura"
air.noapprove,sin permiso sobre tokens
1 # Probably Decentralized localization table: Spanish (es)
654 air.none
655 air.row
656 air.claim
air.noapprove
657 air.unlimited
658 air.limited
659 air.approvals
938 nightlog.cra.minted
939 nightlog.cra.burned
940 predict.clue.subsidy
941 air.noapprove
@@ -654,7 +654,6 @@ air.h,Airdrops
air.none,Aucun airdrop à réclamer pour le moment. air.none,Aucun airdrop à réclamer pour le moment.
air.row,{0} récompense {1} CRC {2} jusqu'au jour {3} air.row,{0} récompense {1} CRC {2} jusqu'au jour {3}
air.claim,Réclamer air.claim,Réclamer
air.noapprove,aucune approbation requise
air.unlimited,approuver {0} sans limite air.unlimited,approuver {0} sans limite
air.limited,approuver {0} {1} air.limited,approuver {0} {1}
air.approvals,Approbations de {0} air.approvals,Approbations de {0}
@@ -939,3 +938,4 @@ mint.done.out,Ordre de destruction passé ; échéance au jour {0}.
nightlog.cra.minted,{0} CRA frappés et stakés ({1}). nightlog.cra.minted,{0} CRA frappés et stakés ({1}).
nightlog.cra.burned,"{0} CRA brûlés : +{1} CRC, +{2} SPARK ({3})." nightlog.cra.burned,"{0} CRA brûlés : +{1} CRC, +{2} SPARK ({3})."
predict.clue.subsidy,"Réserve à {0} % ; à zéro, l'alerte est certaine" predict.clue.subsidy,"Réserve à {0} % ; à zéro, l'alerte est certaine"
air.noapprove,aucune autorisation de jetons
1 # Probably Decentralized localization table: French (fr)
654 air.none
655 air.row
656 air.claim
air.noapprove
657 air.unlimited
658 air.limited
659 air.approvals
938 nightlog.cra.minted
939 nightlog.cra.burned
940 predict.clue.subsidy
941 air.noapprove
@@ -654,7 +654,6 @@ air.h,エアドロップ
air.none,現在受け取れるエアドロップはありません。 air.none,現在受け取れるエアドロップはありません。
air.row,{0} 報酬 {1} CRC {2} {3}日目まで air.row,{0} 報酬 {1} CRC {2} {3}日目まで
air.claim,受け取る air.claim,受け取る
air.noapprove,トークン承認不要
air.unlimited,{0} の無制限トークン承認 air.unlimited,{0} の無制限トークン承認
air.limited,{0} を {1} トークン承認 air.limited,{0} を {1} トークン承認
air.approvals,{0} のトークン承認 air.approvals,{0} のトークン承認
@@ -939,3 +938,4 @@ mint.done.out,バーンを申請しました。{0} 日目に決済されます
nightlog.cra.minted,ミントした {0} CRA をステークしました({1})。 nightlog.cra.minted,ミントした {0} CRA をステークしました({1})。
nightlog.cra.burned,{0} CRA をバーン:+{1} CRC、+{2} SPARK({3})。 nightlog.cra.burned,{0} CRA をバーン:+{1} CRC、+{2} SPARK({3})。
predict.clue.subsidy,準備金残量 {0}%。ゼロになれば必ず警告が出る predict.clue.subsidy,準備金残量 {0}%。ゼロになれば必ず警告が出る
air.noapprove,トークン許可なし
Can't render this file because it contains an unexpected character in line 507 and column 24.
@@ -654,7 +654,6 @@ air.h,Airdropy
air.none,Brak airdropów do odebrania. air.none,Brak airdropów do odebrania.
air.row,{0} nagroda {1} CRC {2} do dnia {3} air.row,{0} nagroda {1} CRC {2} do dnia {3}
air.claim,Odbierz air.claim,Odbierz
air.noapprove,brak wymogu autoryzacji
air.unlimited,autoryzacja {0} bez limitu air.unlimited,autoryzacja {0} bez limitu
air.limited,autoryzacja {0} {1} air.limited,autoryzacja {0} {1}
air.approvals,Autoryzacje: {0} air.approvals,Autoryzacje: {0}
@@ -939,3 +938,4 @@ mint.done.out,Zlecenie spalenia złożone; termin: dzień {0}.
nightlog.cra.minted,Wybito {0} CRA i zastakowano ({1}). nightlog.cra.minted,Wybito {0} CRA i zastakowano ({1}).
nightlog.cra.burned,"Spalono {0} CRA: +{1} CRC, +{2} SPARK ({3})." nightlog.cra.burned,"Spalono {0} CRA: +{1} CRC, +{2} SPARK ({3})."
predict.clue.subsidy,Rezerwa: {0}%; przy zerze ostrzeżenie jest pewne predict.clue.subsidy,Rezerwa: {0}%; przy zerze ostrzeżenie jest pewne
air.noapprove,bez zgody na tokeny
1 # Probably Decentralized localization table: Polish (pl)
654 air.none
655 air.row
656 air.claim
air.noapprove
657 air.unlimited
658 air.limited
659 air.approvals
938 nightlog.cra.minted
939 nightlog.cra.burned
940 predict.clue.subsidy
941 air.noapprove
@@ -654,7 +654,6 @@ air.h,Аирдропы
air.none,Сейчас нет доступных аирдропов. air.none,Сейчас нет доступных аирдропов.
air.row,{0} награда: {1} CRC {2} до дня {3} air.row,{0} награда: {1} CRC {2} до дня {3}
air.claim,Получить air.claim,Получить
air.noapprove,одобрение не требуется
air.unlimited,одобрить {0} без ограничений air.unlimited,одобрить {0} без ограничений
air.limited,одобрить {0}: {1} air.limited,одобрить {0}: {1}
air.approvals,Одобрения {0} air.approvals,Одобрения {0}
@@ -939,3 +938,4 @@ mint.done.out,Заявка на сжигание подана; срок — де
nightlog.cra.minted,"Заминчено {0} CRA, внесены в стейкинг ({1})." nightlog.cra.minted,"Заминчено {0} CRA, внесены в стейкинг ({1})."
nightlog.cra.burned,"Сожжено {0} CRA: +{1} CRC, +{2} SPARK ({3})." nightlog.cra.burned,"Сожжено {0} CRA: +{1} CRC, +{2} SPARK ({3})."
predict.clue.subsidy,Резерв {0}%; при нуле предупреждение неизбежно predict.clue.subsidy,Резерв {0}%; при нуле предупреждение неизбежно
air.noapprove,без доступа к токенам
1 # Probably Decentralized localization table: Russian (ru)
654 air.none
655 air.row
656 air.claim
air.noapprove
657 air.unlimited
658 air.limited
659 air.approvals
938 nightlog.cra.minted
939 nightlog.cra.burned
940 predict.clue.subsidy
941 air.noapprove
@@ -653,7 +653,6 @@ air.h,空投
air.none,暂无可领取的空投。 air.none,暂无可领取的空投。
air.row,{0} 奖励 {1} CRC {2} 第 {3} 天截止 air.row,{0} 奖励 {1} CRC {2} 第 {3} 天截止
air.claim,领取 air.claim,领取
air.noapprove,不需要授权
air.unlimited,授权 {0} 无上限 air.unlimited,授权 {0} 无上限
air.limited,授权 {0} {1} air.limited,授权 {0} {1}
air.approvals,{0} 的授权 air.approvals,{0} 的授权
@@ -938,3 +937,4 @@ mint.done.out,已提交销毁,第 {0} 天结算。
nightlog.cra.minted,铸造的 {0} CRA 已进入质押({1})。 nightlog.cra.minted,铸造的 {0} CRA 已进入质押({1})。
nightlog.cra.burned,销毁 {0} CRA:收回 {1} CRC、{2} SPARK({3})。 nightlog.cra.burned,销毁 {0} CRA:收回 {1} CRC、{2} SPARK({3})。
predict.clue.subsidy,储备余量 {0}%,归零必预警 predict.clue.subsidy,储备余量 {0}%,归零必预警
air.noapprove,不要代币额度
1 # Probably Decentralized 本地化表:简体中文(zh)
653 air.none
654 air.row
655 air.claim
air.noapprove
656 air.unlimited
657 air.limited
658 air.approvals
937 nightlog.cra.minted
938 nightlog.cra.burned
939 predict.clue.subsidy
940 air.noapprove
+1 -1
View File
@@ -3,7 +3,7 @@
<ID>probably_decentralized</ID> <ID>probably_decentralized</ID>
<Name>Probably Decentralized</Name> <Name>Probably Decentralized</Name>
<Author>edward</Author> <Author>edward</Author>
<ModVersion>1.0.0-rc4</ModVersion> <ModVersion>1.0.0-rc5</ModVersion>
<Description>Mine PSC with graphics cards, trade it on a fictional exchange, and cash it out past the compliance desk. Work in progress. All coins, exchanges and events are fictional and have no real-world value.</Description> <Description>Mine PSC with graphics cards, trade it on a fictional exchange, and cash it out past the compliance desk. Work in progress. All coins, exchanges and events are fictional and have no real-world value.</Description>
<GameVersions> <GameVersions>
<Version>0.46</Version> <Version>0.46</Version>