GPU art: drop the diagonal stub at the end of the accent stripe; appraisal test helpers

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
ZHU MINCHAOandClaude Sonnet 5.5 committed 2026-11-03 13:11:41 +08:00
1 parent 6b2d394023
commit 2be4c90c8e
17 files changed
+11 -8

No files matched your search

Binary file not shown.
Binary file not shown.
-4
View File
@@ -167,8 +167,6 @@ def gpu_front(accent, accent_dark, brand_text, burnt=False):
# 前沿斜切装饰条:品牌色 + 品牌字 # 前沿斜切装饰条:品牌色 + 品牌字
for x in range(x0 + 4, x1 - 20): for x in range(x0 + 4, x1 - 20):
c.rect(x, y1 - 5, x, y1 - 3, accent if x % 11 else accent_dark) c.rect(x, y1 - 5, x, y1 - 3, accent if x % 11 else accent_dark)
for k in range(18):
c.rect(x0 + 4 + k, y1 - 5 - k // 2, x0 + 4 + k, y1 - 3 - k // 2 + 1, accent)
text57(c, 112, 84, brand_text, 'h') text57(c, 112, 84, brand_text, 'h')
# 顶沿:四根铜热管端头与 8 针供电口 # 顶沿:四根铜热管端头与 8 针供电口
for i in range(4): for i in range(4):
@@ -283,8 +281,6 @@ def gpu_back(accent, accent_dark, burnt=False):
for x in range(x0 + 4, x1 - 4): for x in range(x0 + 4, x1 - 4):
c.rect(x, 56, x, 59, accent) c.rect(x, 56, x, 59, accent)
c.put(x, 60, accent_dark) c.put(x, 60, accent_dark)
for k in range(20):
c.rect(x1 - 6 - k, 55 - k // 2, x1 - 6 - k, 55 - k // 2 + 1, accent_dark)
# 通风槽(左下) # 通风槽(左下)
for y in range(70, 100, 6): for y in range(70, 100, 6):
c.rect(x0 + 10, y, x0 + 50, y + 3, 'k') c.rect(x0 + 10, y, x0 + 50, y + 3, 'k')
-4
View File
@@ -186,8 +186,6 @@ def gpu_front(accent, accent_dark, burnt=False):
for y in range(TOP0 + 3, TOP1 - 2): for y in range(TOP0 + 3, TOP1 - 2):
c.put(25, y, 'k'); c.put(26, y, 'x') c.put(25, y, 'k'); c.put(26, y, 'x')
# 品牌色斜条(从前沿向左上延伸)与前沿色条 # 品牌色斜条(从前沿向左上延伸)与前沿色条
for k in range(0, 8):
c.put(L + 3 + k, TOP1 - 1 - k // 2, accent)
for x in range(L + 1, R - 5): for x in range(L + 1, R - 5):
c.put(x, TOP1 - 1, accent if x % 9 else accent_dark) c.put(x, TOP1 - 1, accent if x % 9 else accent_dark)
c.put(x, TOP1, accent_dark) c.put(x, TOP1, accent_dark)
@@ -255,8 +253,6 @@ def gpu_back(accent, accent_dark, burnt=False):
for x in range(L + 1, R - 1): for x in range(L + 1, R - 1):
c.put(x, 16, accent) c.put(x, 16, accent)
c.put(L + 1, 17, accent_dark); c.put(R - 2, 17, accent_dark) c.put(L + 1, 17, accent_dark); c.put(R - 2, 17, accent_dark)
for k in range(0, 7):
c.put(R - 3 - k, 15 - k // 2 if k < 4 else 14, accent_dark)
# 通风槽(左下一组) # 通风槽(左下一组)
for y in (19, 21, 23, 25): for y in (19, 21, 23, 25):
for x in range(L + 4, L + 14): for x in range(L + 4, L + 14):
Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.5 KiB

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 KiB

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 KiB

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 460 B

After

Width:  |  Height:  |  Size: 451 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 611 B

After

Width:  |  Height:  |  Size: 607 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 428 B

After

Width:  |  Height:  |  Size: 416 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 592 B

After

Width:  |  Height:  |  Size: 587 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 431 B

After

Width:  |  Height:  |  Size: 420 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 583 B

After

Width:  |  Height:  |  Size: 580 B

+11
View File
@@ -20,6 +20,17 @@ namespace Decentralized
ModHook.OnGenerateCustomerNormal += OnGenerate; ModHook.OnGenerateCustomerNormal += OnGenerate;
ModHelper.AddAppraisalItem(ModInfo.Id, Appraisal, Items.GpuId("RZX50"), 2, CreateForAppraisal, u => (int)CardValue.True(Items.ToUnit(u)), ModHelper.AddAppraisalItem(ModInfo.Id, Appraisal, Items.GpuId("RZX50"), 2, CreateForAppraisal, u => (int)CardValue.True(Items.ToUnit(u)),
Items.IsGpu, null, () => L.T("appraisal.gpu")); Items.IsGpu, null, () => L.T("appraisal.gpu"));
ModHelper.AddDebugFunction(ModInfo.Id, ModInfo.Name, "Appraisal client (test)", () => Log.Guard("鉴定客户(测试)", () =>
{
while (AppraisalRankHelper.GetRank() < 2) AppraisalRankHelper.Promote();
var pool = AppraisalItemRegistry.GetPool(AppraisalRankHelper.GetRank());
Log.Info($"鉴定等级 {AppraisalRankHelper.GetRank()},可抽的物品:{string.Join(", ", pool.ConvertAll(t => t.id))}");
PlayerStore.Instance.storeClientManager.AddNextClient(StoreClientListAppraisal.CreateAppraisalRandom());
}));
ModHelper.AddDebugFunction(ModInfo.Id, ModInfo.Name, "Appraisal cards to counter (test)", () => Log.Guard("鉴定显卡(测试)", () =>
{
for (int i = 0; i < 3; i++) PlayerStore.Instance.AddDirectSellingItemToTable(CreateForAppraisal());
}));
ModHelper.AddDebugFunction(ModInfo.Id, ModInfo.Name, "Used dealer visit (test)", () => Log.Guard("二手贩子(测试)", () => ModHelper.AddDebugFunction(ModInfo.Id, ModInfo.Name, "Used dealer visit (test)", () => Log.Guard("二手贩子(测试)", () =>
{ {
var m = PlayerStore.Instance.storeClientManager; var m = PlayerStore.Instance.storeClientManager;