feat(feats): 迭代20 T3 专长 27+2 件换代(专长实装批 B段一)
feats.tres 整表换代:旧 27 件删除(素材库表二退役面),重设计 29 行重建(基础 27+迁入 淬毒刃纹/封印爆裂——卡文 §10.4 推荐案件数口径);订阅行 on/when/do=效果引擎封闭词表; rarity 四级直映射令牌档(普通 12/优秀 9/稀有 8/传说 0);cap 已拿上限字段(案②解耦); desc 禁「雷/插旗」字面(契约 6——封印/陷阱风味系);dispatch 预评估口径「每第 N 次」按 N-1 落值(mod_eq ref/eq 阈值-1——effect_words_t1_test 钉住)。 feat_table schema 换代:RARITIES 四级;ROW_KEYS 摘 archetype 增 cap;流派扫雷铁律校验 随流派框架退役摘除(奇物.md v1「不设流派标签、不设档位机制」)。 battle_orchestrator:FeatsEngine 档位求值与 rider_tier 注入摘除(V14 旧实现删除覆盖—— 散件单体效果=唯一形态);FACTS 补 pct(处刑台血量阈值沿)。 smoke 特性段整段换代:牌库构成 29 件四级断言(V2)/契约静态钉扎(V18 牌库 kind 全集/ V19 零棋盘改写订阅/V21 禁字初筛/V22 结构锚形态机检半)/临时表新 schema 注入/门票与 relic 兑付断点主语换代/V3 附表 A 逐件三列断言 29 件(命中面 dispatch 直测+counter 落账 施加面同构 helper);同调测试两处主语 venom_edge/flag_burst→nest_counter/dawn_order (V14 换桩——T9 迁出 treasure_items 前置)。冒烟 863/0+run_all 20 套全绿。
This commit is contained in:
1 parent
0640b0c06d
commit
54ab330beb
6 files changed
+1151
-830
No files matched your search
@@ -190,8 +190,7 @@ func _fx_fact(fact: String):
|
||||
return hits_n
|
||||
"hp_ratio":
|
||||
var hu: Dictionary = _enemy_system.hero_unit()
|
||||
var hmax := maxi(1, int(hu.get("max_hp", 1)))
|
||||
return float(int(hu.get("hp", 0))) / float(hmax)
|
||||
return int(round(100.0 * float(int(hu.get("hp", 0))) / float(maxi(1, int(hu.get("max_hp", 1)))))) # 百分比 int(0-100——when lte 算子 int 截断比较口径)
|
||||
return null
|
||||
|
||||
|
||||
@@ -326,14 +325,10 @@ func begin_battle(enc: Dictionary) -> bool:
|
||||
_damage.fx_reveal_request = Callable(self, "_fx_enqueue_reveal")
|
||||
_damage.fx_ac_request = Callable(self, "_apply_ac_bonus")
|
||||
var feat_ids: Array = enc.get("feats", []) as Array
|
||||
if not feat_ids.is_empty() and db.feats != null:
|
||||
var tiers: Dictionary = FeatsEngine.tiers_for(feat_ids, db.feats)
|
||||
var mt := int(tiers.get("magic", 0))
|
||||
_damage.rider_tier_bonus = 1 if mt >= 1 else 0
|
||||
_damage.rider_tier_crit = mt >= 2
|
||||
else:
|
||||
_damage.rider_tier_bonus = 0
|
||||
_damage.rider_tier_crit = false
|
||||
# 迭代 20 T3 换代(V14 旧实现摘除)——流派档位质变随重设计退役(奇物.md v1「不设流派标签、
|
||||
# 不设档位机制」):FeatsEngine 求值与 rider_tier 注入拆除,散件单体效果=唯一形态
|
||||
_damage.rider_tier_bonus = 0
|
||||
_damage.rider_tier_crit = false
|
||||
_feat_first_dig_used = false
|
||||
# 树 rule 键消费(迭代 12 T10 → 内容数据驱动扩展批 T3 换代:Fork 激活侧效果=效果引擎合成
|
||||
# 订阅(rebuild 注入——round_start 首轮 AP+1 / damage_taken 减伤+1),旧直调拆除。其余 rule 键
|
||||
@@ -624,7 +619,7 @@ func _settle() -> void:
|
||||
var mine_power := int((snap as Dictionary).get("power", 0))
|
||||
var mh_hits := _fx_emit("mine_hit", {"cell": evt.cell, "round": ri,
|
||||
"damage": mine_power, "dug_under_flag": bool(evt.get("dug_under_flag", false)),
|
||||
"hp_ratio": float(int(_enemy_system.hero_unit().get("hp", 0))) / float(maxi(1, int(_enemy_system.hero_unit().get("max_hp", 1))))})
|
||||
"hp_ratio": int(round(100.0 * float(int(_enemy_system.hero_unit().get("hp", 0))) / float(maxi(1, int(_enemy_system.hero_unit().get("max_hp", 1))))))})
|
||||
var halve_pct := 0
|
||||
var mine_reduce := 0
|
||||
for h in mh_hits:
|
||||
@@ -679,7 +674,7 @@ func _settle() -> void:
|
||||
var dt_amount := int(vrow.get("effect_value", 0))
|
||||
var dt_hits := _fx_emit("damage_taken", {"kind": "terrain", "amount": dt_amount,
|
||||
"source": String(vid), "cell": evt.cell, "round": ri, "terrain_kind": String(vid),
|
||||
"hp_ratio": float(int(_enemy_system.hero_unit().get("hp", 0))) / float(maxi(1, int(_enemy_system.hero_unit().get("max_hp", 1))))})
|
||||
"hp_ratio": int(round(100.0 * float(int(_enemy_system.hero_unit().get("hp", 0))) / float(maxi(1, int(_enemy_system.hero_unit().get("max_hp", 1))))))})
|
||||
for h in dt_hits:
|
||||
match String(h.get("kind", "")):
|
||||
"damage_reduce":
|
||||
|
||||
@@ -113,7 +113,7 @@ func _fx_fact(fact: String):
|
||||
return dig_streak
|
||||
"hp_ratio":
|
||||
var hu: Dictionary = units.hero_unit()
|
||||
return float(int(hu.get("hp", 0))) / float(maxi(1, int(hu.get("max_hp", 1))))
|
||||
return int(round(100.0 * float(int(hu.get("hp", 0))) / float(maxi(1, int(hu.get("max_hp", 1)))))) # 百分比 int(when lte int 截断口径)
|
||||
return null
|
||||
|
||||
|
||||
|
||||
@@ -53,7 +53,7 @@ const EFFECT_KINDS := ["add_ticket_rider", "modify_ticket", "damage_mult", "open
|
||||
const FACTS := ["matchup", "is_first_dig_of_battle", "terrain_kind", "target_armor_class",
|
||||
"flags_count", "charge_layers", "nest_count", "round_index", "counter",
|
||||
"new_resource_type", "is_edge_cell", "is_blank_zero", "dug_under_flag",
|
||||
"ap_exhausted_last", "hp_ratio", "amount", "ap_left"]
|
||||
"ap_exhausted_last", "hp_ratio", "amount", "ap_left", "pct"]
|
||||
|
||||
## when 算子词汇(封闭——fact 查询面落法随批登记:mod_zero=计数器取模判满〔掘进蓄能〕、
|
||||
## advantageous=克制矩阵正面判定〔淬毒刃纹〕、gte_ref/lt_ref=与另一计数器比较〔深挖钻头配额〕、
|
||||
|
||||
Reference in new issue
Block a user