判式换代批T4(迭代14②):标中兑付溢价机制——settlement新键flag_hit_premium=125(percent域[100,999]域校验,100=无溢价直通零扰动)+grant单点乘溢价(_grant_routed只挂flag_hit正向:flat power乘后入单据/治疗/排队,percent幅度经premium_pct贯穿_apply_percent_row应用与呈现同乘+容器magnitude_override同快照);取整四舍五入与伤害管线floor分域(registry登记);标空/挖格/清图不乘;DamageController零改/雷安同池冻结/直伤6-8-8与p_perfect不动;冒烟断言+3(配置在位/标中行逐型=同型正向×125/100九型全确定/标空负向直伤零溢价);max路径存储种子42→43重采(δ换代战局位移=断言注释既定程序);闸=冒烟750/0
This commit is contained in:
1 parent
26374accb3
commit
fdc43ef538
5 files changed
+69
-4
No files matched your search
@@ -687,6 +687,17 @@ func _grant_routed(snap: Dictionary, polarity: String, source_class: String, cel
|
||||
return false
|
||||
if polarity == "positive":
|
||||
row["power"] = int(snap.get("power", int(row.power))) # 区间行快照 power(身份批 roll 值)覆盖表值——授予期零随机口径(E14)
|
||||
# 标中兑付溢价(迭代14②判式换代批 T4——条款3 条件二旗溢价形态 a,2026-10-04 用户裁 P3):
|
||||
# δ 读 settlement.flag_hit_premium(percent 域 125=×1.25 provisional);100=无溢价直通零扰动。
|
||||
# 兑付公式一处=本块:只乘标中旗正向(flat power 乘后入单据/治疗/排队;percent 幅度经
|
||||
# premium_pct 贯穿 _apply_percent_row 应用与呈现同乘)——标空/挖格/清图不乘,雷安同池冻结不动。
|
||||
# 取整=四舍五入(与伤害管线 round_direction=floor 分域——registry clause3_inequality 随批登记;
|
||||
# 1 点量纲行 ac_up/action 取整后不变=整数粒度地板)。
|
||||
if source_class == "flag_hit" and int(db.settlement.flag_hit_premium) != 100:
|
||||
var prem_pct: int = int(db.settlement.flag_hit_premium)
|
||||
row = row.duplicate()
|
||||
row["power"] = int(round(int(row.power) * prem_pct / 100.0))
|
||||
row["premium_pct"] = prem_pct
|
||||
# 惊巢反制(迭代 11 同调批 T5——底稿 §3:挖开雷格该次惩罚减半 + 反弹 N;duplicate 隔离——减半
|
||||
# 不回写极性字典;仅 source_class=mine_hit 受理,标错旗/负向字典行走原通道)
|
||||
if polarity == "negative" and source_class == "mine_hit" and _attune_has("nest_counter"):
|
||||
@@ -717,10 +728,18 @@ func _apply_percent_row(row: Dictionary, source_class: String, cell: Vector2i, r
|
||||
var eff := String(row.effect_id)
|
||||
if eff == "gp_gain" or eff == "gp_loss":
|
||||
return _apply_gp_row(row, source_class, cell, ri, highlight, label_suffix)
|
||||
var ok: bool = _status_effects.apply_effect(eff, {"source_class": source_class, "origin_cell": cell, "round_index": ri})
|
||||
var srow: Dictionary = db.status_effect_row(eff)
|
||||
# 旗溢价贯穿(迭代14② T4——仅标中旗正向行携带 premium_pct;其余授予路径缺省 100 零扰动):
|
||||
# 应用幅度与呈现行值同乘,容器经 magnitude_override 拿同一快照(抗表重载口径保持)。
|
||||
var prem_pct: int = int(row.get("premium_pct", 100))
|
||||
var eff_mag: int = int(srow.magnitude)
|
||||
var src := {"source_class": source_class, "origin_cell": cell, "round_index": ri}
|
||||
if prem_pct != 100:
|
||||
eff_mag = int(round(eff_mag * prem_pct / 100.0))
|
||||
src["magnitude_override"] = eff_mag
|
||||
var ok: bool = _status_effects.apply_effect(eff, src)
|
||||
if ok:
|
||||
var srow: Dictionary = db.status_effect_row(eff)
|
||||
_emit_row("effect", source_class, cell, ri, String(srow.display_name) + label_suffix, int(srow.magnitude), {"effect_id": eff, "pool_value": _pool_effective(eff)}, highlight)
|
||||
_emit_row("effect", source_class, cell, ri, String(srow.display_name) + label_suffix, eff_mag, {"effect_id": eff, "pool_value": _pool_effective(eff)}, highlight)
|
||||
return true
|
||||
_emit_row("reward_ineffective", source_class, cell, ri, "奖励未生效(满层)%s" % label_suffix, 0, {"batch_key": eff}, highlight)
|
||||
return false
|
||||
|
||||
@@ -42,6 +42,8 @@ func apply_effect(effect_id: String, source: Dictionary, duration_override: int
|
||||
var max_stack: int = int(row.max_stack)
|
||||
# 授予时快照(抗表重载——EC9)
|
||||
var snap_m: int = int(row.magnitude)
|
||||
if source.has("magnitude_override"):
|
||||
snap_m = int(source["magnitude_override"]) # 旗溢价贯穿(迭代14② T4——标中旗 percent 形态同乘快照;缺省路径零扰动)
|
||||
var snap_unit: String = String(row.unit)
|
||||
var snap_display: String = String(row.display_name)
|
||||
match policy:
|
||||
|
||||
Reference in new issue
Block a user