feat(T2-T6): 五词注释换代——完美排雷→完美封印/板级→整图/门票→专长凭证/正主→现行事实源/落籍→已入库
全局 sed 替换 89 处命中清零(S11 绿)。修复: - 移交 3 处保留原词(shop.tres:86 display_name、curio_controller:165-166 玩家文案) - 豁免 enemy.tres:653 历史注记保持"已落籍" - static_scan.sh 词表追加行与头注恢复禁「」引举句式 - S11 规则文件自身不被自身规则误伤(闸门自指豁免生效)
This commit is contained in:
1 parent
85dce2c77d
commit
b6629d6848
39 files changed
+118
-118
No files matched your search
@@ -86,7 +86,7 @@ func _skip_empty_stop() -> bool:
|
||||
# 增量行在其上),确认后进三选一面(level-clear.md v2);续玩停点恢复同入口(零自动推进契约)
|
||||
func on_presented(payload: Dictionary) -> void:
|
||||
if String(payload.get("context", "")) == "feat_ticket":
|
||||
# T5 店内门票兑付——临时停点开专长三选一面(零胜利总结面;确认后只关面回店)
|
||||
# T5 店内专长凭证兑付——临时停点开专长三选一面(零胜利总结面;确认后只关面回店)
|
||||
_pending_curio = payload.duplicate(true)
|
||||
_curio_context = "feat_ticket"
|
||||
if (_pending_curio.get("candidates", []) as Array).is_empty():
|
||||
@@ -214,7 +214,7 @@ func on_pick_confirmed(item_id: String) -> void:
|
||||
if not ok:
|
||||
push_error("[bonus_interact] 三选一兑付被拒——见输出日志")
|
||||
return
|
||||
# T5——节点渠道门票拿到即开:候选已被替换为专长面,本地读在途态重绘(零 emit——context 保持 reward_node,
|
||||
# T5——节点渠道专长凭证拿到即开:候选已被替换为专长面,本地读在途态重绘(零 emit——context 保持 reward_node,
|
||||
# 后续兑付/确认仍走节点路径回图选路)
|
||||
if _curio_context == "reward_node" and kind == "feat_ticket":
|
||||
var st2: Dictionary[Variant, Variant] = adventure.node_curio_pending_state()
|
||||
@@ -234,7 +234,7 @@ func on_continue() -> void:
|
||||
curio_overlay.close_pick()
|
||||
var adventure = _adventure_get.call()
|
||||
if _curio_context == "feat_ticket":
|
||||
return # T5 店内门票面——专长兑付完成后关面回店(无推进/无回图)
|
||||
return # T5 店内专长凭证面——专长兑付完成后关面回店(无推进/无回图)
|
||||
if _curio_context == "reward_node":
|
||||
var runner = _runner_get.call()
|
||||
if runner != null:
|
||||
|
||||
@@ -37,7 +37,7 @@ static func refresh(stage: BattleStageView, info: HeroInfoPanelView, ap_bar: ApB
|
||||
_refresh_out_of_battle(stage, info, ap_bar, runner, level_active, db)
|
||||
return
|
||||
var s: Dictionary[Variant, Variant] = settlement.presentation_snapshot()
|
||||
# 地形变异常驻角标投影(板级变异快照 → 文案行;
|
||||
# 地形变异常驻角标投影(整图变异快照 → 文案行;
|
||||
# 空态隐藏=特性段先例;战斗全程常驻防中局遗忘)
|
||||
info.set_board_variants(board_variant_lines(db, s.get("board_variants", [])))
|
||||
var hero: Dictionary[Variant, Variant] = s.hero
|
||||
@@ -102,7 +102,7 @@ static func feat_holdings_lines(db, held: Array) -> Array[String]:
|
||||
return rlines
|
||||
|
||||
|
||||
# 地形变异常驻角标文案(板级变异 id → 文案行;
|
||||
# 地形变异常驻角标文案(整图变异 id → 文案行;
|
||||
# 空集 = 空数组=空态隐藏。三行制:变异名+两行效果说明(C 区 240px 宽防裁切)。
|
||||
# 文案用常规表述,不用俚语
|
||||
static func board_variant_lines(db, ids: Array) -> Array[String]:
|
||||
|
||||
@@ -911,7 +911,7 @@ func _on_round_started(ri: int) -> void:
|
||||
# 巢穴预告呈现(装板报数量读数口消费:≥0=本战装配命中,toast 一次性提示)
|
||||
if run_scope.settlement != null and int(run_scope.settlement.nest_preview_count) >= 0:
|
||||
board_zone.toast.show_toast("巢穴预告——本板危险格共 %d 个" % int(run_scope.settlement.nest_preview_count), "info")
|
||||
# 开战横幅——板级地形变异预告:首轮快照 board_variants
|
||||
# 开战横幅——整图地形变异预告:首轮快照 board_variants
|
||||
# 非空才发射(Boss 图恒带一型=替换制;普通图空快照零发射);轮横幅下方叠行,view 内判减动效。
|
||||
if ri == 1 and run_scope.settlement != null:
|
||||
var bvs: Array[Variant] = run_scope.settlement.presentation_snapshot().get("board_variants", [])
|
||||
|
||||
@@ -89,7 +89,7 @@ func _consume_row(row: Dictionary) -> void:
|
||||
stage.on_step_row_fx(row)
|
||||
_play_cross_zone_fx(row) # 跨区因果演出(结算演出链批):开格之因 → 站桩之果
|
||||
_play_settlement_mark(row) # 三轮 #3——逐条标出:Buff/Debuff 色环脉冲 → 伤害/治疗数字浮现
|
||||
# 高光演出(战斗结算×3①② 占位):完美排雷横幅 / 封印命中加重弹道
|
||||
# 高光演出(战斗结算×3①② 占位):完美封印横幅 / 封印命中加重弹道
|
||||
if String(row.get("type", "")) == "highlight" and String(row.get("highlight", "")) != "skill_unlock":
|
||||
board_zone.fx.play_perfect_sweep()
|
||||
elif String(row.get("highlight", "")) == "seal_hit":
|
||||
|
||||
@@ -98,7 +98,7 @@ func attempt_use(handle: int, cell: Variant = null) -> void:
|
||||
toast.show_toast("已使用 %s" % String(arow.get("display_name", "")), "info")
|
||||
|
||||
|
||||
# 库存投影(C 区四槽取数面——字形=名首字;usable=板级零信息预判回调接排雷玩法只读面)
|
||||
# 库存投影(C 区四槽取数面——字形=名首字;usable=整图零信息预判回调接排雷玩法只读面)
|
||||
func inventory_projection() -> Array:
|
||||
var runner = _runner_get.call()
|
||||
if runner == null or runner.treasure_inventory == null:
|
||||
|
||||
@@ -189,7 +189,7 @@ func _format_row(row: Dictionary, agg_count := -1) -> String:
|
||||
var n := (" ×%d" % agg_count) if agg_count > 1 else ""
|
||||
return prefix + "[s][color=#%s]⚠ %s%s[/color][/s]%s" % [UiKit.HEX_LOG_VOIDED, name_, n, suffix]
|
||||
"seal_miss":
|
||||
var body := "✗ %s%s" % [name_, "(本板完美排雷已破——归因此封印)" if hl == "perfect_broken" else ""]
|
||||
var body := "✗ %s%s" % [name_, "(本板完美封印已破——归因此封印)" if hl == "perfect_broken" else ""]
|
||||
return prefix + (_gold_frame(body) if hl == "perfect_broken" else "[color=#%s]%s[/color]" % [UiKit.HEX_LOG_ROUND, body])
|
||||
"cast":
|
||||
# 施放行:增益技 0 伤害施放,具名技能
|
||||
|
||||
@@ -94,7 +94,7 @@ var facade_strip := false: # E 格开关(BoardView paint 按「已开
|
||||
|
||||
# 变异角标(程序化,tex_mutation 纹带槽暂留):
|
||||
# "flat_damage" = 未开格伤害型变异,左下角危险红三角(开格有代价的策略纹理标记)
|
||||
# 叠加层标记(秘宝板级叠加层的格面呈现;派生信息层零回写):
|
||||
# 叠加层标记(秘宝整图叠加层的格面呈现;派生信息层零回写):
|
||||
# "mine_reveal" = 真视格(危险红内缩框——「这格是雷」的确定决策标记,封印照常计费);
|
||||
# "reward_preview" 格不复用本字段——预读徽章走 badge_glyph 注入(board_view refresh 注入 REWARD_BADGE 字形)
|
||||
var treasure_mark := "":
|
||||
@@ -108,8 +108,8 @@ var mutation_mark := "":
|
||||
mutation_mark = v
|
||||
queue_redraw()
|
||||
|
||||
# ── 视野迷雾呈现态(纯呈现零逻辑;规格=art-bible §6.5 v3.5,正主=HUD框架「视野迷雾」节)──
|
||||
# 0=正常(灯光区内)/ 1=全黑(区外未开格——正主「区外未开格=全黑不渲染」不透明档)/ 2=记忆态(区外已开格灰显可读)
|
||||
# ── 视野迷雾呈现态(纯呈现零逻辑;规格=art-bible §6.5 v3.5,现行事实源=HUD框架「视野迷雾」节)──
|
||||
# 0=正常(灯光区内)/ 1=全黑(区外未开格——现行事实源「区外未开格=全黑不渲染」不透明档)/ 2=记忆态(区外已开格灰显可读)
|
||||
var fog_state := 0:
|
||||
set(v):
|
||||
if fog_state != v:
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
## VERTICAL SLICE - NOT FOR PRODUCTION
|
||||
## D 区演出层:清图喷泉/Boss 影子/完美排雷光带/封印命中弹道/挥铲三帧等一次性占位演出。
|
||||
## D 区演出层:清图喷泉/Boss 影子/完美封印光带/封印命中弹道/挥铲三帧等一次性占位演出。
|
||||
## 组合根按核心信号直调 play_*;素材缺位静默回退(演出层不设断言面)。
|
||||
class_name BoardFxView
|
||||
extends Control
|
||||
@@ -87,7 +87,7 @@ func play_boss_shadow() -> void:
|
||||
tw.tween_callback(shadow.queue_free)
|
||||
|
||||
|
||||
# 完美排雷:金光带加倍扫射 + 横幅占位(§2.2 最高档)
|
||||
# 完美封印:金光带加倍扫射 + 横幅占位(§2.2 最高档)
|
||||
func play_perfect_sweep() -> void:
|
||||
for i in 2:
|
||||
var band := ColorRect.new()
|
||||
@@ -99,7 +99,7 @@ func play_perfect_sweep() -> void:
|
||||
var tw := band.create_tween()
|
||||
tw.tween_property(band, "position:x", size.x + 8.0, UiKit.motion(0.5 + 0.15 * i))
|
||||
tw.tween_callback(band.queue_free)
|
||||
_show_banner("完美排雷 ×2")
|
||||
_show_banner("完美封印 ×2")
|
||||
|
||||
|
||||
# 封印命中:封印化暴击弹道加重占位(自棋盘上缘飞向 B 区敌人卡方向——越界即收)
|
||||
|
||||
@@ -117,7 +117,7 @@ var _digit_dark_ink := true # 数字墨族按板自适应(true=深墨
|
||||
var _digit_plate := false # 数字色牌垫底模式(双峰纹理板——直画两族皆不过门槛时落牌,
|
||||
# 素牌+深墨 12:1 纹理免疫;渲染帧取证 underdark 系深墨直画隐形,故启用色牌)
|
||||
|
||||
# ---- 视野迷雾(纯呈现层;正主=HUD框架「视野迷雾」节 v0.13,渲染规格=art-bible §6.5 v3.5)----
|
||||
# ---- 视野迷雾(纯呈现层;现行事实源=HUD框架「视野迷雾」节 v0.13,渲染规格=art-bible §6.5 v3.5)----
|
||||
const FOG_RADIUS := 8 # 菱形灯光区基准半径(曼哈顿距离 ≤R——与微光环「周围 8 格」同圈起步;半径基准值改动=非白名单须用户)
|
||||
var _fog_enabled := true # 迷雾开关(呈现态布尔——真实游戏恒 on;探针/夹具可 off=无迷雾基线,两态结算逐位一致断言面)
|
||||
var _fog_lantern := 0 # 视野加成现值(缺省 0=无加成基线零扰动;生产写入面=组合根每战装配链显式重算——main._sync_treasure_glow)
|
||||
@@ -142,7 +142,7 @@ func _init() -> void:
|
||||
add_child(_wrap)
|
||||
_svp_container = SubViewportContainer.new()
|
||||
_svp_container.stretch = true # 容器尺寸 = 视口逻辑分辨率(_update_world_size 同步)——恒 1:1 无缩放
|
||||
_svp_container.mouse_filter = Control.MOUSE_FILTER_IGNORE # 输入归壳层 _gui_input(板级公式换算),不进 SubViewport
|
||||
_svp_container.mouse_filter = Control.MOUSE_FILTER_IGNORE # 输入归壳层 _gui_input(整图公式换算),不进 SubViewport
|
||||
_wrap.add_child(_svp_container)
|
||||
_viewport = SubViewport.new()
|
||||
_viewport.transparent_bg = true # 格间距露出 D 区底色
|
||||
@@ -502,7 +502,7 @@ func click_cell(cell: Vector2i, button: int) -> void:
|
||||
_on_cell_input(cell, ev)
|
||||
|
||||
|
||||
# 板级公式单点:格坐标 = floor(板内局部坐标 / 格步长)
|
||||
# 整图公式单点:格坐标 = floor(板内局部坐标 / 格步长)
|
||||
#(格步长 = 格边长 + 间距;板外/负域返回 (-9,-9);2px 格间隙落入左/上邻格)
|
||||
func _cell_at(shell_pos: Vector2) -> Vector2i:
|
||||
if _board == null or _board.width == 0:
|
||||
@@ -534,7 +534,7 @@ func _update_world_size() -> void:
|
||||
_viewport.size = px
|
||||
|
||||
|
||||
# 真实输入路径(Node2D 迁移批 Decision 3):壳层 _gui_input → 板级公式换算 → 复用既有 hover/点选/chord 出口
|
||||
# 真实输入路径(Node2D 迁移批 Decision 3):壳层 _gui_input → 整图公式换算 → 复用既有 hover/点选/chord 出口
|
||||
func _gui_input(ev: InputEvent) -> void:
|
||||
if _minesweeper == null:
|
||||
return
|
||||
@@ -832,7 +832,7 @@ func _paint_cell(c: Vector2i, hero: Vector2i) -> void:
|
||||
u.mutation_mark = ""
|
||||
u.badge_glyph = _update_badge(c)
|
||||
u.glow_group = int(_glow.get(c, UiKit.GLOW_NONE))
|
||||
# 视野迷雾呈态:曼哈顿距离 > 半径 → 区外——未开格全黑(正主照抄)/
|
||||
# 视野迷雾呈态:曼哈顿距离 > 半径 → 区外——未开格全黑(现行事实源照抄)/
|
||||
# 已开格记忆态(灰显可读);以英雄格为心逐格重算,refresh()/notify_hero_move() 既有重绘驱动=移动实时跟随。
|
||||
# 纯呈现零逻辑——格态/数字真值/清图判定零触碰(🔴 契约 1);结算期去饱和叠加互斥由 CellUnit 记忆态终态档承载。
|
||||
if _fog_enabled:
|
||||
|
||||
@@ -107,7 +107,7 @@ func open_pick(header: String, cards: Array) -> void:
|
||||
_confirm_btn.visible = false
|
||||
_continue_btn.visible = false
|
||||
_foot_hint.visible = true # T7 底注=pick 态专属(result 态让位)
|
||||
_refresh_btn.visible = false # 刷新面随 set_refresh_display 投喂后现形(open 先归零防残留;店内门票面不投喂=无刷新)
|
||||
_refresh_btn.visible = false # 刷新面随 set_refresh_display 投喂后现形(open 先归零防残留;店内专长凭证面不投喂=无刷新)
|
||||
_refresh_l.text = ""
|
||||
visible = true
|
||||
|
||||
|
||||
@@ -117,7 +117,7 @@ func set_feat_holdings(lines: Array) -> void:
|
||||
_feat_section.visible = not lines.is_empty()
|
||||
|
||||
|
||||
# 地形变异常驻角标:lines = 文案行(板级变异 display_name+体感短语)——空数组 = 整节隐藏
|
||||
# 地形变异常驻角标:lines = 文案行(整图变异 display_name+体感短语)——空数组 = 整节隐藏
|
||||
func set_board_variants(lines: Array) -> void:
|
||||
for c3 in _board_variant_list.get_children():
|
||||
_board_variant_list.remove_child(c3)
|
||||
@@ -157,7 +157,7 @@ func _data_line() -> Label:
|
||||
|
||||
# ---- 秘宝库存条(C 区四槽常读+两步交互第一步)----
|
||||
# 投影行 = {handle, glyph, name, used, usable}(组合根组装:字形=道具名首字;数据源 runner 级库存只读面)。
|
||||
# 空槽=虚位;used=暗态「已用」保留占位(Used 不可逆——受理序展示语义);不可用=置灰(板级零信息);
|
||||
# 空槽=虚位;used=暗态「已用」保留占位(Used 不可逆——受理序展示语义);不可用=置灰(整图零信息);
|
||||
# selected=金框高亮(两步交互第一步的可见态)。tooltip=全名+维度语义。
|
||||
func set_treasure_inventory(items: Array, selected_handle: int) -> void:
|
||||
_selected_handle = selected_handle
|
||||
|
||||
@@ -11,7 +11,7 @@ func _init() -> void:
|
||||
|
||||
|
||||
# 结算轮光带:金橙半透明横带自棋盘上缘扫至下缘(一次 0.5s,自动回收)——
|
||||
# "棋盘能量向战斗画面汇聚"的开轮语义(§2.2 色彩转金橙主导;区分于 board_fx 的完美排雷金光带)。
|
||||
# "棋盘能量向战斗画面汇聚"的开轮语义(§2.2 色彩转金橙主导;区分于 board_fx 的完美封印金光带)。
|
||||
# 终稿(样张 v2 冻结批 T3):加 2px 亮金前导缘线——扫带运动方向可读(兑现光带逐行横扫 §2.2)
|
||||
func play_round_sweep(board_rect: Rect2) -> void:
|
||||
if board_rect.size == Vector2.ZERO:
|
||||
@@ -143,7 +143,7 @@ func play_round_banner(ri: int) -> void:
|
||||
tw.tween_callback(banner.queue_free)
|
||||
|
||||
|
||||
# 开战横幅——板级地形变异预告:board_variants 非空时开战
|
||||
# 开战横幅——整图地形变异预告:board_variants 非空时开战
|
||||
# 显示一行(文本=「地形变异 · 贫矿脉」式);减动效=静态驻留后即隐(轮横幅先例——行呈现不跳过)。
|
||||
# 文案/驻留参数 provisional 归本地化批;普通图恒不发射(组合根按快照 board_variants 空判)。
|
||||
func play_board_variant_banner(text: String) -> void:
|
||||
|
||||
Reference in new issue
Block a user