奇物批T3+T4:relic_*→feat_*词族全换(feat_table.gd/feats.tres/feats_engine.gd三文件改名+.uid+feat_flags/feat_id/feat_row等全token+config_db注册键feats两端+entities.yaml换代注记——kind值relic/身份前缀relic:/relics存档键/摘要键按数据契约保留);T4渠道白名单过滤(_draw_curio_candidates(channel):通关渠道只出专长/节点渠道零专长——过滤式不拆池,TIER_QUOTAS锚零改动,devour货架保底随渠道定位退役,迁移保feat_id,pick_curio测试feat_id透传;冒烟773/0+run_all 16全绿+断点往返PASS)

This commit is contained in:
DKChan committed 2026-10-05 19:28:20 +08:00
1 parent 8e2694de49
commit 6812ebbb73
24 files changed
+385 -384

No files matched your search

+15 -15
View File
@@ -21,8 +21,8 @@ var _selected_handle := 0 # 选中态(0=无;组合根回写
var _slot_handles: Array = [] # 槽位→handle 映射(set_treasure_inventory 刷新)
var _curio_section: VBoxContainer # 特性(预留——空态隐藏,接线归大奖励/锻造呈现批)
var _curio_list: VBoxContainer
var _relic_section: VBoxContainer # 特性持有段(迭代 12 呈现补齐——空态隐藏)
var _relic_list: VBoxContainer
var _feat_section: VBoxContainer # 特性持有段(迭代 12 呈现补齐——空态隐藏)
var _feat_list: VBoxContainer
var _board_variant_section: VBoxContainer # 地形变异常驻角标(全局作用域变异首发批——空态隐藏)
var _board_variant_list: VBoxContainer
@@ -73,14 +73,14 @@ func _init() -> void:
# 特性持有段(迭代 12 呈现补齐 2026-10-04——三选一特性兑付后常驻可读:逐流派聚合行+成型档位;
# 空态整节隐藏。用户试玩反馈「局内奖励选了什么看不到」缺口承载;2026-10-04 二次反馈上移——
# 构筑核心信息优先级高于临时强化,且防 C 区下部裁切不可见)
_relic_section = VBoxContainer.new()
_relic_section.add_theme_constant_override("separation", 4)
_relic_section.visible = false
col.add_child(_relic_section)
_relic_section.add_child(UiKit.label("特性", 16, true))
_relic_list = VBoxContainer.new()
_relic_list.add_theme_constant_override("separation", 2)
_relic_section.add_child(_relic_list)
_feat_section = VBoxContainer.new()
_feat_section.add_theme_constant_override("separation", 4)
_feat_section.visible = false
col.add_child(_feat_section)
_feat_section.add_child(UiKit.label("特性", 16, true))
_feat_list = VBoxContainer.new()
_feat_list.add_theme_constant_override("separation", 2)
_feat_section.add_child(_feat_list)
# 地形变异常驻角标(全局作用域变异首发批 2026-10-04——Boss 图整图型战斗全程可见防中局遗忘;
# 空态整节隐藏=特性段先例;摆位/文案 provisional 归 HUD 框架批与本地化批)
_board_variant_section = VBoxContainer.new()
@@ -114,14 +114,14 @@ func set_armor(ac: int) -> void:
# 特性持有段(迭代 12 呈现补齐):lines = 聚合文案行(「魔法 ×2 · 档一」式)——空数组 = 整节隐藏
func set_relic_holdings(lines: Array) -> void:
for c2 in _relic_list.get_children():
_relic_list.remove_child(c2)
func set_feat_holdings(lines: Array) -> void:
for c2 in _feat_list.get_children():
_feat_list.remove_child(c2)
c2.queue_free()
for line in lines:
var l2 := UiKit.label(String(line), 16, false, COL_INK)
_relic_list.add_child(l2)
_relic_section.visible = not lines.is_empty()
_feat_list.add_child(l2)
_feat_section.visible = not lines.is_empty()
# 地形变异常驻角标(首发批 2026-10-04):lines = 文案行(板级变异 display_name+体感短语)——空数组 = 整节隐藏
+9 -9
View File
@@ -57,7 +57,7 @@ var _hp_bar: Control
var _attr_value: Label
var _bonus_row: HBoxContainer
var _bonus_value: Label
var _relic_value: Label # 特性持有行(迭代 12 呈现补齐——组合根投喂聚合文案)
var _feat_value: Label # 特性持有行(迭代 12 呈现补齐——组合根投喂聚合文案)
var _cand_ids: Array[int] = [] # 本停点候选 id 集(图上命中合法集)
var _content_size := Vector2(620, 240) # 图内容包络(open_choices 按图拟合——画布 min 尺寸随它)
var _hover_id := -1 # 悬停预承诺候选(-1 = 无)
@@ -121,7 +121,7 @@ func _init() -> void:
box.add_child(_canvas)
# 底部状态栏(M5 合并单条:亮米面板一站读齐=头像+生命+属性+本关加成/流派件——demo ④;
# 道具槽不摆=道具读数无关卡画面成文出口(读快照私域越权),随 runner 出口批补——台账 352 注记;
# _hp_value/_attr_value/_bonus_value/_relic_value 投喂键全部保留)
# _hp_value/_attr_value/_bonus_value/_feat_value 投喂键全部保留)
var bottom := PanelContainer.new()
bottom.add_theme_stylebox_override("panel",
UiKit.panel_flat(Color8(240, 228, 200), UiKit.CAMP_HEADER_BAND, 0, 2, Vector4(12, 6, 12, 6)))
@@ -166,9 +166,9 @@ func _init() -> void:
_bonus_value = UiKit.label("", 15, true, UiKit.WARM)
bonus_inner.add_child(_bonus_value)
# 特性持有行(迭代 12 呈现补齐 2026-10-04——用户反馈关卡选择页看不到局内奖励;组合根投喂)
_relic_value = UiKit.label("", 13, false, UiKit.WARM_SOFT)
_relic_value.autowrap_mode = TextServer.AUTOWRAP_WORD_SMART
bonus_box.add_child(_relic_value)
_feat_value = UiKit.label("", 13, false, UiKit.WARM_SOFT)
_feat_value.autowrap_mode = TextServer.AUTOWRAP_WORD_SMART
bonus_box.add_child(_feat_value)
var spacer := Control.new()
spacer.size_flags_horizontal = Control.SIZE_EXPAND_FILL
strip.add_child(spacer)
@@ -205,8 +205,8 @@ func _draw_hp_bar(bar: Control) -> void:
# 放弃入口可见性(组合根在冒险启动时开、默认关——语义对象 = 整局冒险)
# 特性持有投影(迭代 12 呈现补齐——组合根投喂聚合文案;空文案=行隐藏)
func set_relic_holdings(text: String) -> void:
_relic_value.text = text
func set_feat_holdings(text: String) -> void:
_feat_value.text = text
func set_abandon_available(v: bool) -> void:
@@ -339,8 +339,8 @@ func _refresh_status() -> void:
if ac_bonus > 0:
parts.append("AC +%d" % ac_bonus)
_bonus_value.text = " · ".join(parts)
# 特性持有行可见性(与加成行并框——任一非空整框显示;文案归组合根 set_relic_holdings)
_bonus_row.visible = not parts.is_empty() or _relic_value.text != ""
# 特性持有行可见性(与加成行并框——任一非空整框显示;文案归组合根 set_feat_holdings)
_bonus_row.visible = not parts.is_empty() or _feat_value.text != ""
# ---- 图上命中(布局决策 2——唯一提交通道;探针 press_candidate 同路径) ----