feat(术语传导): 专长凭证件玩家面文案换代+货架 heal/feat_ticket 词表补齐

- shop.tres feat_ticket 件名「奇物门票」→「专长获取」(分类术语=专长凭证、物品名=专长获取)
- curio_interact_controller 三选一卡文案改为「专长获取/选中或买下后立刻开一次专长三选一」,去掉内部任务号 T5 与「持有集」措辞
- shop_overlay_view:KIND_LABELS 补 heal=回复、feat_ticket=专长凭证;feat_ticket 件描述走「开一次专长三选一」,不再落到「feat_ticket +0」
- ui_kit add_footer:get_child_index(Godot 3 遗留 API)改 foot_l.get_index()——货架卡购买钮落位真实路径的运行时错误
- ui_struct_probe:新增货架两卡(feat_ticket/heal)与三选一卡文案断言,经真实 open_shelf/_curio_card_texts 入口

变异验证:件名回退/词表删键/文案回退/描述分支删除均使对应断言变红(记录见提交后验证)
This commit is contained in:
DKChan committed 2026-10-23 02:54:11 +08:00
1 parent a840b96bd6
commit 0abc13fa95
5 files changed
+39 -7

No files matched your search

@@ -162,8 +162,8 @@ func _curio_card_texts(candidates: Array) -> Array:
var cid := "%s|%s|%s" % [kind, tier, rid]
var text := ""
if kind == "feat_ticket":
text = "奇物门票
选定即开一次奇物三选一(T5 门票——拿到即开不进持有集)"
text = "专长获取
选中或买下后立刻开一次专长三选一"
elif kind == "relic":
text = Narrator.feat_card_text(db.feat_row(rid))
else:
+7 -3
View File
@@ -8,7 +8,7 @@ signal buy_requested(product_id: String) # legacy=product_id / pool=kind_id(
signal leave_pressed
const ATTR_LABELS := {"atk": "攻击", "max_hp": "生命上限", "armor_class": "护甲"} # 档位文案轴(数据契约 attr 词表)
const KIND_LABELS := {"attack": "攻击", "max_hp": "生命上限", "armor": "护甲", "ap": "行动点"} # 货架件值文案轴(共享池 kind 词表——迭代 11 第②批)
const KIND_LABELS := {"attack": "攻击", "max_hp": "生命上限", "armor": "护甲", "ap": "行动点", "heal": "回复", "feat_ticket": "专长凭证"} # 货架件值文案轴(共享池 kind 词表——迭代 11 第②批)
var _gp_label: Label
var _refresh_btn: Button # M6 呈现位——MC-1 起由 set_refresh_display 投喂启用
@@ -204,8 +204,12 @@ func _build_shelf_card(holder: Control, c: Dictionary) -> Dictionary:
icon_key = UiKit.TEX_ICON_SHIELD
elif kl.contains("ap") or kl.contains("action") or kl.contains("pouch"):
icon_key = UiKit.TEX_ICON_POUCH
var card := UiKit.bcard(String(c.get("display_name", kind)),
"%s %+d(本冒险)" % [String(KIND_LABELS.get(kind, kind)), int(c.get("value", 0))],
var body := ""
if kind == "feat_ticket":
body = "开一次专长三选一"
else:
body = "%s %+d(本冒险)" % [String(KIND_LABELS.get(kind, kind)), int(c.get("value", 0))]
var card := UiKit.bcard(String(c.get("display_name", kind)), body,
UiKit.tg_band(kl), icon_key, # 类型色带单点(N4c/Q4 甲——货架与三选一同源判定,原固定默认带)
"%d ◈" % int(c.get("price", 0)), String(KIND_LABELS.get(kind, kind)))
var btn := UiKit.button("购买")
+1 -1
View File
@@ -806,7 +806,7 @@ class BCard:
func add_footer(c: Control) -> void:
body.add_child(c)
body.move_child(c, body.get_child_index(foot_l))
body.move_child(c, foot_l.get_index())
static func bcard(title: String, desc: String, band: Color, icon_path: String, price := "", footnote := "") -> BCard: