Tumbler 扩展实测修正:没有出款可还原时单独一句日志;每次上门是同一个外观;测试按钮“剧情重来”
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
a37dd4ca7c
commit
e88fab3f1b
11 files changed
+24
-2
No files matched your search
@@ -127,6 +127,8 @@ namespace Decentralized.Domain
|
||||
public const int Hide = 1, Report = 2, Sell = 3;
|
||||
public int StartDay = -1, Stage, Choice, VisitedDay = -1;
|
||||
public bool Done;
|
||||
/// <summary>Tumbler 的外观(第一次上门时随机定下,之后每次都一样)。</summary>
|
||||
public string Sprite;
|
||||
|
||||
/// <summary>第几次上门在哪一天(相对开始日)。</summary>
|
||||
public static readonly int[] Offsets = { 0, 3, 5, 9 };
|
||||
|
||||
@@ -152,6 +152,14 @@ namespace Decentralized
|
||||
TumblerStory.ForceVisit(m);
|
||||
PlayerStore.Instance.TryCallNextClient();
|
||||
}));
|
||||
ModHelper.AddDebugFunction(ModInfo.Id, ModInfo.Name, "Tumbler: restart story (test)", () =>
|
||||
{
|
||||
var st = Session.Data.Story;
|
||||
Log.Info($"测试:Tumbler 剧情重来(原进度 {st.Tumbler.Stage},选择 {st.Tumbler.Choice},结束 {st.Tumbler.Done})");
|
||||
st.Tumbler = new Tumbler(); st.After = new TumblerAfter();
|
||||
st.Applied.RemoveAll(k => k.StartsWith("tumbler_"));
|
||||
st.MixerClosed = st.MixerRebranded = st.MixerHoneypot = false; st.MixerFee = st.MixerVolume = st.MixerRug = 1;
|
||||
});
|
||||
ModHelper.AddDebugFunction(ModInfo.Id, ModInfo.Name, "Tumbler: leak tonight (test)", () =>
|
||||
{
|
||||
var a = Session.Data.Story.After; a.Leaked = false; a.LeakDay = StoreStation.GetDayCounter();
|
||||
|
||||
@@ -772,6 +772,7 @@ tumbler.v4.seized.1,"Ich habe gehört, die Security hat deinen Laden durchsucht.
|
||||
tumbler.v4.seized.2,Sie haben jetzt den Schlüssel. Die Aufzeichnungen aller Nutzer werden aufgedeckt.
|
||||
tumbler.v4.seized.3,"Was auch immer du ihnen erzählt hast, ich will es gar nicht mehr wissen."
|
||||
nightlog.tumbler.leak,"Die Security nutzte Tumblers Signaturschlüssel, um die Mixer-Aufzeichnungen zu rekonstruieren: Die bei Auszahlungen ({0}) reingewaschene Kontamination ({1}) wurde den Wallets wieder zugeschrieben."
|
||||
nightlog.tumbler.leak.none,"Security hat Tumblers Signaturschlüssel verwendet, um die Mixer-Aufzeichnungen zu rekonstruieren. Du hast in letzter Zeit nichts aus dem Mixer abgehoben."
|
||||
nightlog.tumbler.note,"Ein Zettel wurde unter der Tür durchgeschoben: ""Du schuldest mir was, und ich hole es mir zurück. —T"""
|
||||
nightlog.tumbler.tip,Nachricht von Tumbler: Die Security geht morgen womöglich gegen die Mixer-Dienste vor.
|
||||
news.tumbler.leak.title,Security rekonstruiert Mixer-Aufzeichnungen
|
||||
|
||||
|
@@ -772,6 +772,7 @@ tumbler.v4.seized.1,I heard Security searched your shop.
|
||||
tumbler.v4.seized.2,They have the key now. Every user's records will be dug up.
|
||||
tumbler.v4.seized.3,"Whatever you told them, I don't want to know anymore."
|
||||
nightlog.tumbler.leak,"Security used Tumbler's signing key to rebuild the mixing records: the taint washed off {0} payouts, {1}, was added back to the wallets."
|
||||
nightlog.tumbler.leak.none,Security used Tumbler's signing key to rebuild the mixing records. You have not withdrawn anything from the mixer recently.
|
||||
nightlog.tumbler.note,"A note was slipped under the door: ""You owe me, and I'll take it back. —T"""
|
||||
nightlog.tumbler.tip,Message from Tumbler: Security may go after the mixing services tomorrow.
|
||||
news.tumbler.leak.title,Security rebuilds mixer records
|
||||
|
||||
|
@@ -772,6 +772,7 @@ tumbler.v4.seized.1,Me enteré de que Seguridad registró tu tienda.
|
||||
tumbler.v4.seized.2,Ahora tienen la clave. Van a desenterrar los registros de todos los usuarios.
|
||||
tumbler.v4.seized.3,"Lo que sea que les hayas dicho, ya no quiero saberlo."
|
||||
nightlog.tumbler.leak,"Seguridad usó la clave de firma de Tumbler para reconstruir los registros del mezclador: la contaminación lavada en pagos ({0}), {1}, se devolvió a las billeteras."
|
||||
nightlog.tumbler.leak.none,Seguridad usó la clave de firma de Tumbler para reconstruir los registros de mezcla. No has retirado nada del mezclador recientemente.
|
||||
nightlog.tumbler.note,"Deslizaron una nota por debajo de la puerta: ""Me debes, y lo voy a recuperar. —T"""
|
||||
nightlog.tumbler.tip,Mensaje de Tumbler: puede que Seguridad inspeccione los servicios de mezclador mañana.
|
||||
news.tumbler.leak.title,Seguridad reconstruye registros del mezclador
|
||||
|
||||
|
@@ -772,6 +772,7 @@ tumbler.v4.seized.1,J'ai appris que la Sécurité a fouillé ta boutique.
|
||||
tumbler.v4.seized.2,Ils ont la clé désormais. Les registres de chaque utilisateur vont être déterrés.
|
||||
tumbler.v4.seized.3,"Peu importe ce que tu leur as dit, je ne veux plus le savoir."
|
||||
nightlog.tumbler.leak,"La Sécurité a utilisé la clé de signature de Tumbler pour reconstituer les registres du mixeur : la contamination blanchie lors de versements (total : {0}), soit {1}, a été réattribuée aux portefeuilles."
|
||||
nightlog.tumbler.leak.none,La Sécurité a utilisé la clé de signature de Tumbler pour reconstituer les registres de mixage. Vous n'avez rien retiré du mixeur récemment.
|
||||
nightlog.tumbler.note,"Un mot a été glissé sous la porte : ""Tu me dois ça, et je viendrai le reprendre. — T"""
|
||||
nightlog.tumbler.tip,Message de Tumbler : la Sécurité pourrait cibler les services de mixage demain.
|
||||
news.tumbler.leak.title,Sécurité : registres du mixeur reconstitués
|
||||
|
||||
|
@@ -772,6 +772,7 @@ tumbler.v4.seized.1,警察が店を捜索したと聞いた。
|
||||
tumbler.v4.seized.2,鍵は奴らの手に渡った。全ユーザーの記録が洗い出される。
|
||||
tumbler.v4.seized.3,あんたが奴らに何を話したか、もう知りたくもない。
|
||||
nightlog.tumbler.leak,警察はタンブラーの署名鍵を使ってミキサーの記録を復元した:{0} 件の出金で洗浄された汚染 {1} がウォレットに戻された。
|
||||
nightlog.tumbler.leak.none,警察はタンブラーの署名鍵を使ってミキシング記録を復元した。最近ミキサーから何も出金していない。
|
||||
nightlog.tumbler.note,ドアの隙間からメモが差し入れられていた:「借りは必ず取り戻す。—T」
|
||||
nightlog.tumbler.tip,タンブラーからのメッセージ:明日、警察がミキサーサービスの取り締まりに動くかもしれない。
|
||||
news.tumbler.leak.title,警察、ミキサー記録を復元
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 487 and column 24.
|
@@ -772,6 +772,7 @@ tumbler.v4.seized.1,"Słyszałem, że Ochrona przeszukała twój sklep."
|
||||
tumbler.v4.seized.2,Mają teraz klucz. Wyciągną rejestry każdego użytkownika.
|
||||
tumbler.v4.seized.3,"Cokolwiek im powiedziałeś, nie chcę już wiedzieć."
|
||||
nightlog.tumbler.leak,Ochrona użyła klucza podpisu Tumblera do odtworzenia rejestrów miksera: skażenie usunięte z wypłat (liczba: {0}) w kwocie {1} powróciło do portfeli.
|
||||
nightlog.tumbler.leak.none,Ochrona użyła klucza podpisu Tumblera do odtworzenia rejestrów miksowania. Ostatnio nie wypłacono niczego z miksera.
|
||||
nightlog.tumbler.note,"Pod drzwi wsunięto liścik: ""Jesteś mi coś winien i odbiorę to. —T"""
|
||||
nightlog.tumbler.tip,Wiadomość od Tumblera: Ochrona może jutro wziąć na cel usługi mikserów.
|
||||
news.tumbler.leak.title,Ochrona odtwarza rejestry miksera
|
||||
|
||||
|
@@ -772,6 +772,7 @@ tumbler.v4.seized.1,"Слышал, Служба безопасности обы
|
||||
tumbler.v4.seized.2,Ключ теперь у них. Они поднимут записи каждого пользователя.
|
||||
tumbler.v4.seized.3,Что ты им сказал — знать больше не хочу.
|
||||
nightlog.tumbler.leak,"Служба безопасности восстановила записи миксера по ключу подписи Тумблера: смытый след с выплат (кол-во: {0}, {1}) возвращён на кошельки."
|
||||
nightlog.tumbler.leak.none,"Служба безопасности использовала ключ подписи Тумблера, чтобы восстановить записи микширования. В последнее время вы ничего не выводили из миксера."
|
||||
nightlog.tumbler.note,"Под дверь подсунули записку: «Ты мне задолжал, и я своё заберу. — Т»"
|
||||
nightlog.tumbler.tip,Сообщение от Тумблера: завтра Служба безопасности может взяться за миксеры.
|
||||
news.tumbler.leak.title,Служба безопасности восстановила записи миксера
|
||||
|
||||
|
@@ -771,6 +771,7 @@ tumbler.v4.seized.1,我听说治安部搜了你的店。
|
||||
tumbler.v4.seized.2,密钥在他们手里,所有用户的记录都会被翻出来。
|
||||
tumbler.v4.seized.3,你跟他们说过什么,我不想知道了。
|
||||
nightlog.tumbler.leak,治安部用 Tumbler 的签名密钥还原了混币记录:{0} 笔出款洗掉的污点 {1} 加回了钱包。
|
||||
nightlog.tumbler.leak.none,治安部用 Tumbler 的签名密钥还原了混币记录。你最近没有从混币器提回过币。
|
||||
nightlog.tumbler.note,门缝里塞进来一张纸条:“欠我的,我会拿回来。——T”
|
||||
nightlog.tumbler.tip,Tumbler 发来消息:明天治安部可能要查混币服务。
|
||||
news.tumbler.leak.title,治安部还原混币记录
|
||||
|
||||
|
@@ -67,7 +67,8 @@ namespace Decentralized
|
||||
{
|
||||
a.Leaked = true;
|
||||
var r = d.Mixer.Leak(day, d.Own, Session.Price);
|
||||
ps.AddNightLog(L.T("nightlog.tumbler.leak", r.Count, Fmt.Credits(r.Taint)) + TaintCrime.Commit(r.Over), "cc7755");
|
||||
if (r.Count == 0) ps.AddNightLog(L.T("nightlog.tumbler.leak.none"));
|
||||
else ps.AddNightLog(L.T("nightlog.tumbler.leak", r.Count, Fmt.Credits(r.Taint)) + TaintCrime.Commit(r.Over), "cc7755");
|
||||
News.Show("pd_news_tumbler_leak", L.T("news.tumbler.leak.title"), L.T("news.tumbler.leak.desc"), 3, 8);
|
||||
Log.Info($"Tumbler 密钥泄露:还原 {r.Count} 笔出款,污点 +{r.Taint:0},超出 {r.Over:0}");
|
||||
}
|
||||
@@ -161,9 +162,12 @@ namespace Decentralized
|
||||
|
||||
private static StoreClient New()
|
||||
{
|
||||
// 每次上门是同一个人:外观第一次上门时定下来
|
||||
var t = Session.Data.Story.Tumbler;
|
||||
if (string.IsNullOrEmpty(t.Sprite)) t.Sprite = SpriteDict.GetRandomShadySpriteName();
|
||||
var c = new StoreClient
|
||||
{
|
||||
identifier = "pd_tumbler", displayName = L.T("tumbler.name"), spriteName = SpriteDict.GetRandomShadySpriteName(),
|
||||
identifier = "pd_tumbler", displayName = L.T("tumbler.name"), spriteName = t.Sprite,
|
||||
clientIntent = StoreClient.ClientIntent.DIALOGUE, nonShootable = true, dismissable = false,
|
||||
};
|
||||
ModHelper.SetClientSource(c, ModInfo.Id);
|
||||
|
||||
Reference in new issue
Block a user