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:
1 parent
a840b96bd6
commit
0abc13fa95
5 files changed
+39
-7
No files matched your search
@@ -83,7 +83,7 @@ pool_shelf = [{
|
||||
"base_price": 5
|
||||
}, {
|
||||
"kind_id": "feat_ticket",
|
||||
"display_name": "奇物门票",
|
||||
"display_name": "专长获取",
|
||||
"base_price": 5
|
||||
}, {
|
||||
"kind_id": "heal",
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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("购买")
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -189,6 +189,34 @@ func _ready() -> void:
|
||||
_settle()
|
||||
await _audit("shop", [main.shop_overlay])
|
||||
|
||||
# ---- 术语传导:货架卡与三选一卡片的玩家面文案(物品名=专长获取、分类=专长凭证)
|
||||
main.shop_overlay.open_shelf([
|
||||
{"kind_id": "feat_ticket", "display_name": "专长获取", "value": 0, "price": 5},
|
||||
{"kind_id": "heal", "display_name": "应急回复", "value": 6, "price": 5},
|
||||
], 20)
|
||||
_settle()
|
||||
var ticket_row: Dictionary = main.shop_overlay._shelf_rows[0]
|
||||
if ticket_row.card.name_l.text != "专长获取":
|
||||
problems.append("[shop_term] 专长凭证件名未用物品名「专长获取」(现=%s)" % ticket_row.card.name_l.text)
|
||||
if ticket_row.card.desc_l.text != "开一次专长三选一":
|
||||
problems.append("[shop_term] 专长凭证件描述未用规范流程句(现=%s)" % ticket_row.card.desc_l.text)
|
||||
if ticket_row.card.foot_l.text != "专长凭证":
|
||||
problems.append("[shop_term] 专长凭证件分类标注未用「专长凭证」(现=%s)" % ticket_row.card.foot_l.text)
|
||||
var heal_row: Dictionary = main.shop_overlay._shelf_rows[1]
|
||||
if heal_row.card.desc_l.text != "回复 +6(本冒险)":
|
||||
problems.append("[shop_term] 回复件描述漏了 heal 词表(现=%s)" % heal_row.card.desc_l.text)
|
||||
if heal_row.card.foot_l.text != "回复":
|
||||
problems.append("[shop_term] 回复件分类标注落到英文 kind(现=%s)" % heal_row.card.foot_l.text)
|
||||
var ticket_texts: Array = main._bonus._curio_card_texts([{"kind": "feat_ticket", "tier": "excellent"}])
|
||||
var ticket_text := String((ticket_texts[0] as Dictionary).get("text", ""))
|
||||
var ticket_lines := ticket_text.replace("\r\n", "\n").split("\n")
|
||||
if ticket_lines.size() < 2 or ticket_lines[0] != "专长获取" or not ticket_lines[1].contains("专长三选一"):
|
||||
problems.append("[curio_term] 专长凭证三选一卡未用物品名/规范流程句(现=%s)" % ticket_text)
|
||||
if ticket_text.contains("门票") or ticket_text.contains("T5") or ticket_text.contains("持有集") or ticket_text.contains("奇物三选一"):
|
||||
problems.append("[curio_term] 专长凭证三选一卡残留退役词/内部任务号(现=%s)" % ticket_text)
|
||||
main.shop_overlay.visible = false
|
||||
_settle()
|
||||
|
||||
# ---- ⑦resume 专项:续玩停点恢复(main.gd:717 报错回归闸)----
|
||||
# 三选一停点续玩分支在 level_started 之前同步 curio_choice_presented.emit(adventure_runner
|
||||
# resume 提前 return)——GP 总结 lambda 求值时 runner 尚未赋值,修复前 717 炸 null。
|
||||
|
||||
Reference in new issue
Block a user