feat(迭代24): N3 敌方attack_type轴开列——20行全填normal+schema枚举校验+单位快照+开单传值+敌方结算克制消费点(卡片§2漏项,V5矩阵证词强制)+V5四断言(冒烟949/0)
This commit is contained in:
1 parent
26d669f83d
commit
ab3ba4f4a0
6 files changed
+109
-9
No files matched your search
@@ -17,6 +17,11 @@ extends Resource
|
||||
# 2026-09-15 命名统一批:位置键 {none, a, b} → 语义键 {light, ward, heavy} = 轻甲 / 魔法护甲 / 重甲)
|
||||
const ARMOR_TYPES := ["light", "ward", "heavy"]
|
||||
|
||||
# 攻击类型封闭枚举(迭代 24 N3 2026-10-13——敌方攻击类型轴开列,承接锻造工坊迁移面⑥;
|
||||
# 克制矩阵点数制键前缀 = 本枚举:normal → light 0 / ward +1 / heavy −1;pierce/magic 为差异化
|
||||
# 预留档,差异化填值属新设计另立项。可省略 + 缺省 normal 向后兼容)
|
||||
const ATTACK_TYPES := ["normal", "pierce", "magic"]
|
||||
|
||||
# 实例化数量域(2026-10-02 修复批 T2 魔法数结构化——数量域 [1,3] 双落点收口单点:
|
||||
# 本表 validate 与 单位容器 spawn 守卫共用;遭遇骰结果与行值 unit_count/unit_count_max 同域。
|
||||
# 2026-10-07 行集多行批:MAX 语义 = **单种数**(单行实例数上限),行集实例总数 ≤4 另由
|
||||
@@ -111,6 +116,10 @@ func validate() -> Array:
|
||||
var at: String = String(row.get("armor_type", "light"))
|
||||
if not ARMOR_TYPES.has(at):
|
||||
errs.append({"category": "enum", "message": "%s armor_type 未知枚举: %s(域 {light, ward, heavy})" % [eid, at]})
|
||||
# attack_type(迭代 24 N3——可省略,缺省 normal 向后兼容;写法沿用 armor_type 同款)
|
||||
var att: String = String(row.get("attack_type", "normal"))
|
||||
if not ATTACK_TYPES.has(att):
|
||||
errs.append({"category": "enum", "message": "%s attack_type 未知枚举: %s(域 {normal, pierce, magic})" % [eid, att]})
|
||||
# armor_class(可省略——缺省 0 向后兼容;2026-09-16 护甲等级掷点批:防守方掷点判定阈值基数)
|
||||
var ac: int = int(row.get("armor_class", 0))
|
||||
if ac < 0 or ac > 999:
|
||||
|
||||
@@ -22,6 +22,7 @@ rows = [{
|
||||
"skill_id": "lunge",
|
||||
"weight": 1
|
||||
}],
|
||||
"attack_type": "normal",
|
||||
"armor_type": "light",
|
||||
"armor_class": 0
|
||||
}, {
|
||||
@@ -42,6 +43,7 @@ rows = [{
|
||||
"skill_id": "lunge",
|
||||
"weight": 1
|
||||
}],
|
||||
"attack_type": "normal",
|
||||
"armor_type": "light",
|
||||
"armor_class": 1
|
||||
}, {
|
||||
@@ -64,6 +66,7 @@ rows = [{
|
||||
"skill_id": "heavy",
|
||||
"weight": 2
|
||||
}],
|
||||
"attack_type": "normal",
|
||||
"armor_type": "light",
|
||||
"armor_class": 2
|
||||
}, {
|
||||
@@ -87,6 +90,7 @@ rows = [{
|
||||
"skill_id": "heavy",
|
||||
"weight": 2
|
||||
}],
|
||||
"attack_type": "normal",
|
||||
"armor_type": "light",
|
||||
"armor_class": 2
|
||||
}, {
|
||||
@@ -113,6 +117,7 @@ rows = [{
|
||||
"weight": 2,
|
||||
"unlock_hp_pct": 50
|
||||
}],
|
||||
"attack_type": "normal",
|
||||
"armor_type": "light",
|
||||
"armor_class": 8
|
||||
}, {
|
||||
@@ -135,7 +140,8 @@ rows = [{
|
||||
"skill_id": "heavy",
|
||||
"weight": 2
|
||||
}],
|
||||
"armor_type": "light",
|
||||
"attack_type": "normal",
|
||||
"armor_type": "light",
|
||||
"armor_class": 1
|
||||
}, {
|
||||
"level_index": 2,
|
||||
@@ -158,6 +164,7 @@ rows = [{
|
||||
"skill_id": "heavy",
|
||||
"weight": 2
|
||||
}],
|
||||
"attack_type": "normal",
|
||||
"armor_type": "light",
|
||||
"armor_class": 2
|
||||
}, {
|
||||
@@ -180,6 +187,7 @@ rows = [{
|
||||
"skill_id": "charge",
|
||||
"weight": 1
|
||||
}],
|
||||
"attack_type": "normal",
|
||||
"armor_type": "light",
|
||||
"armor_class": 2
|
||||
}, {
|
||||
@@ -202,6 +210,7 @@ rows = [{
|
||||
"skill_id": "heavy",
|
||||
"weight": 2
|
||||
}],
|
||||
"attack_type": "normal",
|
||||
"armor_type": "light",
|
||||
"armor_class": 8
|
||||
}, {
|
||||
@@ -228,6 +237,7 @@ rows = [{
|
||||
"skill_id": "venom_spit",
|
||||
"weight": 2
|
||||
}],
|
||||
"attack_type": "normal",
|
||||
"armor_type": "light",
|
||||
"armor_class": 2
|
||||
}, {
|
||||
@@ -254,6 +264,7 @@ rows = [{
|
||||
"skill_id": "venom_spit",
|
||||
"weight": 2
|
||||
}],
|
||||
"attack_type": "normal",
|
||||
"armor_type": "light",
|
||||
"armor_class": 2
|
||||
}, {
|
||||
@@ -280,6 +291,7 @@ rows = [{
|
||||
"skill_id": "venom_spit",
|
||||
"weight": 2
|
||||
}],
|
||||
"attack_type": "normal",
|
||||
"armor_type": "light",
|
||||
"armor_class": 3
|
||||
}, {
|
||||
@@ -309,6 +321,7 @@ rows = [{
|
||||
"weight": 2,
|
||||
"unlock_hp_pct": 50
|
||||
}],
|
||||
"attack_type": "normal",
|
||||
"armor_type": "ward",
|
||||
"armor_class": 10
|
||||
}, {
|
||||
@@ -334,6 +347,7 @@ rows = [{
|
||||
"skill_id": "shield_bash",
|
||||
"weight": 2
|
||||
}],
|
||||
"attack_type": "normal",
|
||||
"armor_type": "heavy",
|
||||
"armor_class": 2
|
||||
}, {
|
||||
@@ -356,6 +370,7 @@ rows = [{
|
||||
"skill_id": "charge",
|
||||
"weight": 1
|
||||
}],
|
||||
"attack_type": "normal",
|
||||
"armor_type": "light",
|
||||
"armor_class": 3
|
||||
}, {
|
||||
@@ -379,6 +394,7 @@ rows = [{
|
||||
"skill_id": "charge",
|
||||
"weight": 1
|
||||
}],
|
||||
"attack_type": "normal",
|
||||
"armor_type": "light",
|
||||
"armor_class": 3
|
||||
}, {
|
||||
@@ -404,6 +420,7 @@ rows = [{
|
||||
"skill_id": "shield_bash",
|
||||
"weight": 2
|
||||
}],
|
||||
"attack_type": "normal",
|
||||
"armor_type": "heavy",
|
||||
"armor_class": 9
|
||||
}, {
|
||||
@@ -427,6 +444,7 @@ rows = [{
|
||||
"skill_id": "charge",
|
||||
"weight": 1
|
||||
}],
|
||||
"attack_type": "normal",
|
||||
"armor_type": "light",
|
||||
"armor_class": 3
|
||||
}, {
|
||||
@@ -453,6 +471,7 @@ rows = [{
|
||||
"skill_id": "shield_bash",
|
||||
"weight": 2
|
||||
}],
|
||||
"attack_type": "normal",
|
||||
"armor_type": "heavy",
|
||||
"armor_class": 4
|
||||
}, {
|
||||
@@ -479,6 +498,7 @@ rows = [{
|
||||
"weight": 2,
|
||||
"unlock_hp_pct": 50
|
||||
}],
|
||||
"attack_type": "normal",
|
||||
"armor_type": "heavy",
|
||||
"armor_class": 12
|
||||
}]
|
||||
@@ -646,3 +666,6 @@ rows = [{
|
||||
; 2026-09-24 阶名化解方案((1,3) 改名大地精以阶名归位化解同族血量倒挂观感)实机验证未达预期,按体验反馈重裁:
|
||||
; 第一关总量曲线 12/10/50/35/72 的 5 倍墙消除(22 后曲线 12/10/22/35/72 相邻比最大 2.2);敌种 bugbear/池/数量/atk 区间零改动。
|
||||
; 曲线标定其余行归 M4 数值批。
|
||||
; N3 敌方攻击类型轴开列(2026-10-13 迭代 24 卡①,承接锻造工坊实装批迁移面⑥):20 行全填 normal 挂敌种行——
|
||||
; 不做差异化(pierce/magic 属新设计另立项)。全局平移效应=主角穿重甲受伤 −1 / 魔法护甲 +1 / 轻甲 0,
|
||||
; 锻造甲路线首次具备战斗意义;克制矩阵数值零触碰(settlement.tres armor_effectiveness 不改)。
|
||||
Reference in new issue
Block a user