补测:钓鱼混币器提回时日志只说地址被标记(不写制裁);测试按钮:钱包加 CRC、自营混币器风声拉满、立刻换成钓鱼混币器、联系人 + 明天镇压

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
ZHU MINCHAOandClaude Opus 5.5 committed 2026-11-08 19:03:14 +08:00
1 parent 8afdfa606c
commit f0a6051591
10 files changed
+34 -1

No files matched your search

+23
View File
@@ -160,6 +160,29 @@ namespace Decentralized
st.Applied.RemoveAll(k => k.StartsWith("tumbler_")); st.Applied.RemoveAll(k => k.StartsWith("tumbler_"));
st.MixerClosed = st.MixerRebranded = st.MixerHoneypot = false; st.MixerFee = st.MixerVolume = st.MixerRug = 1; st.MixerClosed = st.MixerRebranded = st.MixerHoneypot = false; st.MixerFee = st.MixerVolume = st.MixerRug = 1;
}); });
ModHelper.AddDebugFunction(ModInfo.Id, ModInfo.Name, "Hot wallet +2000 CRC (test)", () =>
{
var w = Session.Data.Hot; w.Add(Assets.CRC, 2000); w.Basis += 2000;
Log.Info($"测试:钱包 CRC {w.Get(Assets.CRC):0},污点 {w.Taint:0}");
});
ModHelper.AddDebugFunction(ModInfo.Id, ModInfo.Name, "My mixer: max heat (test)", () =>
{
var m = Session.Data.OwnMix; m.Heat = 1e4;
Log.Info($"测试:自营混币器风声拉满,今晚查封概率 {m.SeizeChance(1, false):P0}");
});
ModHelper.AddDebugFunction(ModInfo.Id, ModInfo.Name, "Mixer: honeypot now (test)", () =>
{
var d = Session.Data;
d.Story.Rebrand(true); d.Story.After.Rebranded = true;
d.Addresses["mixer_old"] = d.Address("mixer"); d.Addresses["mixer"] = ChainAddress.Make(d.Rng.NextUInt());
Log.Info($"测试:混币器换成钓鱼混币器,费率 {Mixer.Fee:P1}");
});
ModHelper.AddDebugFunction(ModInfo.Id, ModInfo.Name, "Tumbler: contact, crackdown tomorrow (test)", () => Log.Guard("联系人测试", () =>
{
Session.Data.Story.After.Contact = true;
StoreStation.Instance.storeEventManager.QueueFuturEvent(OperationListSec.Crackdown(), 1, false);
Log.Info("测试:Tumbler 成为联系人,镇压排到明天(玩家不知道)");
}));
ModHelper.AddDebugFunction(ModInfo.Id, ModInfo.Name, "Tumbler: leak tonight (test)", () => ModHelper.AddDebugFunction(ModInfo.Id, ModInfo.Name, "Tumbler: leak tonight (test)", () =>
{ {
var a = Session.Data.Story.After; a.Leaked = false; a.LeakDay = StoreStation.GetDayCounter(); var a = Session.Data.Story.After; a.Leaked = false; a.LeakDay = StoreStation.GetDayCounter();
@@ -174,6 +174,7 @@ news.sanction.title,Mixer auf Sanktionsliste gesetzt
news.sanction.desc,Security hat eine Reihe von Mixing-Diensten sanktioniert. In den nächsten Tagen aus Mixern abgehobene Gelder gelten als verdächtig. news.sanction.desc,Security hat eine Reihe von Mixing-Diensten sanktioniert. In den nächsten Tagen aus Mixern abgehobene Gelder gelten als verdächtig.
nightlog.mixer,Mixer zahlte {0} {1} zurück; Kontamination {2} -> {3}. nightlog.mixer,Mixer zahlte {0} {1} zurück; Kontamination {2} -> {3}.
nightlog.mixer_flag," (während Sanktionen abgehoben; Adresse markiert)" nightlog.mixer_flag," (während Sanktionen abgehoben; Adresse markiert)"
nightlog.mixer_flag.trap," (die Auszahlungsadresse ist markiert)"
nightlog.mixer_rug,Der Mixer-Betreiber ist untergetaucht: {0} {1} kehrten nie zurück. nightlog.mixer_rug,Der Mixer-Betreiber ist untergetaucht: {0} {1} kehrten nie zurück.
web3.sub.trade,Handel web3.sub.trade,Handel
gray.sub.mixer,Mixer gray.sub.mixer,Mixer
1 # Probably Decentralized localization table: German (de)
174 news.sanction.desc
175 nightlog.mixer
176 nightlog.mixer_flag
177 nightlog.mixer_flag.trap
178 nightlog.mixer_rug
179 web3.sub.trade
180 gray.sub.mixer
@@ -174,6 +174,7 @@ news.sanction.title,Mixer put on sanctions list
news.sanction.desc,Security has sanctioned a batch of mixing services. Funds withdrawn from mixers in the next few days will be treated as suspicious. news.sanction.desc,Security has sanctioned a batch of mixing services. Funds withdrawn from mixers in the next few days will be treated as suspicious.
nightlog.mixer,Mixer returned {0} {1}; taint {2} -> {3}. nightlog.mixer,Mixer returned {0} {1}; taint {2} -> {3}.
nightlog.mixer_flag," (withdrawn during sanctions; address flagged)" nightlog.mixer_flag," (withdrawn during sanctions; address flagged)"
nightlog.mixer_flag.trap," (the withdrawal address is flagged)"
nightlog.mixer_rug,The mixer's operator ran off with it: {0} {1} never came back. nightlog.mixer_rug,The mixer's operator ran off with it: {0} {1} never came back.
web3.sub.trade,Trade web3.sub.trade,Trade
gray.sub.mixer,Mixer gray.sub.mixer,Mixer
1 # Probably Decentralized localization table: English (en)
174 news.sanction.desc
175 nightlog.mixer
176 nightlog.mixer_flag
177 nightlog.mixer_flag.trap
178 nightlog.mixer_rug
179 web3.sub.trade
180 gray.sub.mixer
@@ -174,6 +174,7 @@ news.sanction.title,Mezclador incluido en la lista de sanciones
news.sanction.desc,Seguridad sancionó un lote de servicios de mezcla. Los fondos retirados de mezcladores en los próximos días se tratarán como sospechosos. news.sanction.desc,Seguridad sancionó un lote de servicios de mezcla. Los fondos retirados de mezcladores en los próximos días se tratarán como sospechosos.
nightlog.mixer,El mezclador devolvió {0} {1}; contaminación {2} -> {3}. nightlog.mixer,El mezclador devolvió {0} {1}; contaminación {2} -> {3}.
nightlog.mixer_flag," (retirado durante las sanciones; dirección marcada)" nightlog.mixer_flag," (retirado durante las sanciones; dirección marcada)"
nightlog.mixer_flag.trap," (la dirección de retiro está marcada)"
nightlog.mixer_rug,El operador del mezclador se fugó con el dinero: {0} {1} nunca regresaron. nightlog.mixer_rug,El operador del mezclador se fugó con el dinero: {0} {1} nunca regresaron.
web3.sub.trade,Comercio web3.sub.trade,Comercio
gray.sub.mixer,Mezclador gray.sub.mixer,Mezclador
1 # Probably Decentralized localization table: Spanish (es)
174 news.sanction.desc
175 nightlog.mixer
176 nightlog.mixer_flag
177 nightlog.mixer_flag.trap
178 nightlog.mixer_rug
179 web3.sub.trade
180 gray.sub.mixer
@@ -174,6 +174,7 @@ news.sanction.title,Mixeur placé sur la liste des sanctions
news.sanction.desc,La Sécurité a sanctionné plusieurs services de mixage. Les fonds retirés des mixeurs au cours des prochains jours seront considérés comme suspects. news.sanction.desc,La Sécurité a sanctionné plusieurs services de mixage. Les fonds retirés des mixeurs au cours des prochains jours seront considérés comme suspects.
nightlog.mixer,Le mixeur a restitué {0} {1} ; contamination {2} -> {3}. nightlog.mixer,Le mixeur a restitué {0} {1} ; contamination {2} -> {3}.
nightlog.mixer_flag," (retiré pendant les sanctions ; adresse signalée)" nightlog.mixer_flag," (retiré pendant les sanctions ; adresse signalée)"
nightlog.mixer_flag.trap," (l'adresse de retrait est signalée)"
nightlog.mixer_rug,L'opérateur du mixeur a pris la fuite : {0} {1} ne sont jamais revenus. nightlog.mixer_rug,L'opérateur du mixeur a pris la fuite : {0} {1} ne sont jamais revenus.
web3.sub.trade,Trading web3.sub.trade,Trading
gray.sub.mixer,Mixeur gray.sub.mixer,Mixeur
1 # Probably Decentralized localization table: French (fr)
174 news.sanction.desc
175 nightlog.mixer
176 nightlog.mixer_flag
177 nightlog.mixer_flag.trap
178 nightlog.mixer_rug
179 web3.sub.trade
180 gray.sub.mixer
@@ -174,6 +174,7 @@ news.sanction.title,ミキサーを制裁リストに追加
news.sanction.desc,警察が複数のミキシングサービスに制裁を実施。今後数日間にミキサーから出金された資金は不審として扱われる。 news.sanction.desc,警察が複数のミキシングサービスに制裁を実施。今後数日間にミキサーから出金された資金は不審として扱われる。
nightlog.mixer,ミキサーから {0} {1} を回収。汚染 {2} → {3}。 nightlog.mixer,ミキサーから {0} {1} を回収。汚染 {2} → {3}。
nightlog.mixer_flag,(制裁期間中に出金。アドレスはフラグ付き) nightlog.mixer_flag,(制裁期間中に出金。アドレスはフラグ付き)
nightlog.mixer_flag.trap,(出金先アドレスがフラグ付き)
nightlog.mixer_rug,ミキサーの運営者が持ち逃げした:{0} {1} は戻ってこなかった。 nightlog.mixer_rug,ミキサーの運営者が持ち逃げした:{0} {1} は戻ってこなかった。
web3.sub.trade,取引 web3.sub.trade,取引
gray.sub.mixer,ミキサー gray.sub.mixer,ミキサー
1 # Probably Decentralized localization table: Japanese (ja)
174 news.sanction.desc,警察が複数のミキシングサービスに制裁を実施。今後数日間にミキサーから出金された資金は不審として扱われる。
175 nightlog.mixer,ミキサーから {0} {1} を回収。汚染 {2} → {3}。
176 nightlog.mixer_flag,(制裁期間中に出金。アドレスはフラグ付き)
177 nightlog.mixer_flag.trap,(出金先アドレスがフラグ付き)
178 nightlog.mixer_rug,ミキサーの運営者が持ち逃げした:{0} {1} は戻ってこなかった。
179 web3.sub.trade,取引
180 gray.sub.mixer,ミキサー
@@ -174,6 +174,7 @@ news.sanction.title,Mikser wpisany na listę sankcyjną
news.sanction.desc,Ochrona objęła sankcjami grupę usług miksujących. Środki wypłacone z mikserów w ciągu najbliższych kilku dni będą traktowane jako podejrzane. news.sanction.desc,Ochrona objęła sankcjami grupę usług miksujących. Środki wypłacone z mikserów w ciągu najbliższych kilku dni będą traktowane jako podejrzane.
nightlog.mixer,Mikser zwrócił {0} {1}; skażenie {2} -> {3}. nightlog.mixer,Mikser zwrócił {0} {1}; skażenie {2} -> {3}.
nightlog.mixer_flag," (wypłacono w trakcie sankcji; adres oznaczony)" nightlog.mixer_flag," (wypłacono w trakcie sankcji; adres oznaczony)"
nightlog.mixer_flag.trap," (adres wypłaty jest oznaczony)"
nightlog.mixer_rug,Operator miksera uciekł ze środkami: {0} {1} nigdy nie wróciło. nightlog.mixer_rug,Operator miksera uciekł ze środkami: {0} {1} nigdy nie wróciło.
web3.sub.trade,Handel web3.sub.trade,Handel
gray.sub.mixer,Mikser gray.sub.mixer,Mikser
1 # Probably Decentralized localization table: Polish (pl)
174 news.sanction.desc
175 nightlog.mixer
176 nightlog.mixer_flag
177 nightlog.mixer_flag.trap
178 nightlog.mixer_rug
179 web3.sub.trade
180 gray.sub.mixer
@@ -174,6 +174,7 @@ news.sanction.title,Миксер внесён в санкционный спис
news.sanction.desc,"Служба безопасности ввела санкции против ряда миксер-сервисов. Средства, выведенные из миксеров в ближайшие дни, будут считаться подозрительными." news.sanction.desc,"Служба безопасности ввела санкции против ряда миксер-сервисов. Средства, выведенные из миксеров в ближайшие дни, будут считаться подозрительными."
nightlog.mixer,Миксер вернул {0} {1}; загрязнение: {2} -> {3}. nightlog.mixer,Миксер вернул {0} {1}; загрязнение: {2} -> {3}.
nightlog.mixer_flag," (выведено во время санкций; адрес помечен)" nightlog.mixer_flag," (выведено во время санкций; адрес помечен)"
nightlog.mixer_flag.trap," (адрес вывода помечен)"
nightlog.mixer_rug,Оператор миксера сбежал с деньгами: {0} {1} не вернулись. nightlog.mixer_rug,Оператор миксера сбежал с деньгами: {0} {1} не вернулись.
web3.sub.trade,Торговля web3.sub.trade,Торговля
gray.sub.mixer,Миксер gray.sub.mixer,Миксер
1 # Probably Decentralized localization table: Russian (ru)
174 news.sanction.desc
175 nightlog.mixer
176 nightlog.mixer_flag
177 nightlog.mixer_flag.trap
178 nightlog.mixer_rug
179 web3.sub.trade
180 gray.sub.mixer
@@ -173,6 +173,7 @@ news.sanction.title,混币器被列入制裁名单
news.sanction.desc,"安保部门宣布制裁一批混币服务。此后几天从混币器提出的资金将被视为可疑。" news.sanction.desc,"安保部门宣布制裁一批混币服务。此后几天从混币器提出的资金将被视为可疑。"
nightlog.mixer,混币器提回 {0} {1},污点 {2} → {3}。 nightlog.mixer,混币器提回 {0} {1},污点 {2} → {3}。
nightlog.mixer_flag,(制裁期间提出,地址被标记) nightlog.mixer_flag,(制裁期间提出,地址被标记)
nightlog.mixer_flag.trap,(提出的地址被标记)
nightlog.mixer_rug,混币器的运营者卷款跑路了:{0} {1} 没有提回。 nightlog.mixer_rug,混币器的运营者卷款跑路了:{0} {1} 没有提回。
web3.sub.trade,交易 web3.sub.trade,交易
gray.sub.mixer,混币器 gray.sub.mixer,混币器
1 # Probably Decentralized 本地化表:简体中文(zh)
173 news.sanction.desc
174 nightlog.mixer
175 nightlog.mixer_flag
176 nightlog.mixer_flag.trap
177 nightlog.mixer_rug
178 web3.sub.trade
179 gray.sub.mixer
+3 -1
View File
@@ -311,7 +311,9 @@ namespace Decentralized
if (m.Rugged) ps.AddNightLog(L.T("nightlog.mixer_rug", Fmt.Num(m.Amount), m.Asset), "cc7755"); if (m.Rugged) ps.AddNightLog(L.T("nightlog.mixer_rug", Fmt.Num(m.Amount), m.Asset), "cc7755");
else else
{ {
string line = L.T("nightlog.mixer", Fmt.Num(m.Amount), m.Asset, Fmt.Credits(m.TaintBefore), Fmt.Credits(m.TaintAfter)) + (m.Flagged ? L.T("nightlog.mixer_flag") : ""); // 制裁期间提出的写明制裁;不在制裁期却被标记的是治安部的钓鱼混币器,只说被标记
string flag = !m.Flagged ? "" : d.Mixer.Sanctioned(day) ? L.T("nightlog.mixer_flag") : L.T("nightlog.mixer_flag.trap");
string line = L.T("nightlog.mixer", Fmt.Num(m.Amount), m.Asset, Fmt.Credits(m.TaintBefore), Fmt.Credits(m.TaintAfter)) + flag;
if (m.Flagged) ps.AddNightLog(line, "cc7755"); else ps.AddNightLog(line); if (m.Flagged) ps.AddNightLog(line, "cc7755"); else ps.AddNightLog(line);
} }
} }