Merge branch 'master' into m4iter14-narrow-20261005
This commit is contained in:
commit
74678d80bc
54 files changed
+1288
-2023
No files matched your search
@@ -13,9 +13,18 @@
|
||||
class_name AdventureTable
|
||||
extends Resource
|
||||
|
||||
## 概念指路:本表的属性值提升与资源,与 relics.tres 的专长,同属一个对象——
|
||||
## 「奇物」(一次冒险内各渠道给予玩家的增益总称)。定义见 design/gdd/systems/冒险循环/奇物.md。
|
||||
## 它们是它的分类轴上的枚举(专长 / 属性值提升 / 资源),不是三套系统;
|
||||
## 本表承载属性值提升与资源的种类配额与件值。
|
||||
## (2026-10-05 命名统一 + v2.0 改名:旧称「数值件」→ 属性提升;顶层「特性」→「奖励」→「奇物」。
|
||||
## 常量与字段随之前缀 feature_*,**尚未**随顶层改名换到 reward_*——见 06-待办清单。
|
||||
## 分类轴三个枚举:属性值提升〔生命上限 / AC / 攻击〕;资源〔行动点上限 /
|
||||
## 刷新次数 / 金币 / 回复,命名待定〕——本表两类混编;刷新次数与专长获取两项尚未入表。
|
||||
## 类内异质性:金币与回复是即时兑付,不进持有集、不持续生效。)
|
||||
## 三选一提升池 kind 词表(封闭——断点附随件与牌库剔除态依赖它;扩件走本表+registry 修订)。
|
||||
## aux_item 池种退役(迭代 11 第①批 T7——同调批出池);heal 恢复件新入池(v2.2 令牌池追认 b)。
|
||||
const BONUS_IDS: Array[String] = ["attack", "max_hp", "armor", "gp", "ap", "heal"]
|
||||
const FEATURE_KINDS: Array[String] = ["attack", "max_hp", "armor", "gp", "ap", "heal"]
|
||||
## 令牌档位词表(v2.2 三档位——稀有度命名对齐 MC 策略判读序 316-f:1 级最稀有=rarest 优先)
|
||||
const TIERS: Array[String] = ["common", "rare", "rarest"]
|
||||
const TIER_COMMON := "common"
|
||||
@@ -30,65 +39,65 @@ const TIER_QUOTAS := {"common": 70, "rare": 25, "rarest": 3}
|
||||
@export var clear_heal_pct: int = 20 # [0,100] knob——回复生效上限的百分比,封顶上限不回满
|
||||
|
||||
# —— 三选一候选数(2026-10-02 修复批 T2 魔法数结构化)——
|
||||
@export var bonus_candidate_count: int = 3 # [1,6] knob——令牌洗牌不放回抽取张数上界
|
||||
@export var feature_candidate_count: int = 3 # [1,6] knob——令牌洗牌不放回抽取张数上界
|
||||
@export var shop_refresh_free: int = 0 # [0,9] knob(MC-1 provisional——进店免费刷新次数;基础 0=Q2 裁,天赋增益位预留)
|
||||
@export var shop_refresh_cost_base: int = 20 # [1,999] knob(MC-1 provisional——GP 刷新基价)
|
||||
@export var shop_refresh_cost_curve: float = 1.8 # [1.0,4.0] knob(MC-1 provisional——按已付费刷新数幂曲线,A 链同族)
|
||||
|
||||
# —— 令牌配额(kind × tier 计数;未列组合 = 0——heal 只入稀有/ap 只入罕见,v2.2 档位构成)——
|
||||
@export var token_attack_common: int = 18 # [0,99]
|
||||
@export var token_attack_rare: int = 5 # [0,99]
|
||||
@export var token_max_hp_common: int = 17 # [0,99]
|
||||
@export var token_max_hp_rare: int = 5 # [0,99]
|
||||
@export var token_armor_common: int = 17 # [0,99]
|
||||
@export var token_armor_rare: int = 5 # [0,99]
|
||||
@export var token_gp_common: int = 18 # [0,99]
|
||||
@export var token_gp_rare: int = 5 # [0,99]
|
||||
@export var token_heal_rare: int = 5 # [0,99]——恢复件(新入池种类,当即回血)
|
||||
@export var token_ap_rarest: int = 3 # [0,99]——AP 件(罕见档;道具件 2 席位随池种退役收窄)
|
||||
@export var feature_quota_attack_common: int = 18 # [0,99]
|
||||
@export var feature_quota_attack_rare: int = 5 # [0,99]
|
||||
@export var feature_quota_max_hp_common: int = 17 # [0,99]
|
||||
@export var feature_quota_max_hp_rare: int = 5 # [0,99]
|
||||
@export var feature_quota_armor_common: int = 17 # [0,99]
|
||||
@export var feature_quota_armor_rare: int = 5 # [0,99]
|
||||
@export var feature_quota_gp_common: int = 18 # [0,99]
|
||||
@export var feature_quota_gp_rare: int = 5 # [0,99]
|
||||
@export var feature_quota_heal_rare: int = 5 # [0,99]——恢复件(新入池种类,当即回血)
|
||||
@export var feature_quota_ap_rarest: int = 3 # [0,99]——AP 件(罕见档;道具件 2 席位随池种退役收窄)
|
||||
|
||||
# —— 令牌件值(小/大数值对——v2.2 追认 b 定稿:20/50、+1/+2、+1/+2、+5/+10、恢复+6、AP+1)——
|
||||
@export var bonus_attack_flat: int = 1 # [0,999] knob——小增伤
|
||||
@export var bonus_attack_flat_large: int = 2 # [0,999] knob——大增伤
|
||||
@export var bonus_max_hp_flat: int = 5 # [0,999] knob——小生命
|
||||
@export var bonus_max_hp_flat_large: int = 10 # [0,999] knob——大生命
|
||||
@export var bonus_armor_flat: int = 1 # [0,999] knob——小护甲
|
||||
@export var bonus_armor_flat_large: int = 2 # [0,999] knob——大护甲
|
||||
@export var bonus_gp_amount: int = 20 # [0,999] knob——小GP
|
||||
@export var bonus_gp_amount_large: int = 50 # [0,999] knob——大GP
|
||||
@export var bonus_heal_flat: int = 6 # [0,999] knob——恢复(当即回血,封顶生效上限)
|
||||
@export var bonus_ap_flat: int = 1 # [0,10] knob——AP 件每场战斗首轮行动点基线增量
|
||||
@export var feature_value_attack_common: int = 1 # [0,999] knob——小增伤
|
||||
@export var feature_value_attack_rare: int = 2 # [0,999] knob——大增伤
|
||||
@export var feature_value_max_hp_common: int = 5 # [0,999] knob——小生命
|
||||
@export var feature_value_max_hp_rare: int = 10 # [0,999] knob——大生命
|
||||
@export var feature_value_armor_common: int = 1 # [0,999] knob——小护甲
|
||||
@export var feature_value_armor_rare: int = 2 # [0,999] knob——大护甲
|
||||
@export var feature_value_gp_common: int = 20 # [0,999] knob——小GP
|
||||
@export var feature_value_gp_rare: int = 50 # [0,999] knob——大GP
|
||||
@export var feature_value_heal_rare: int = 6 # [0,999] knob——恢复(当即回血,封顶生效上限)
|
||||
@export var feature_value_ap_rarest: int = 1 # [0,10] knob——AP 件每场战斗首轮行动点基线增量
|
||||
|
||||
|
||||
## 令牌配额读数(未列 kind×tier 组合 = 0——heal 无普通档/ap 无普通稀有档按 v2.2 构成)
|
||||
func bonus_token_count(kind: String, tier: String) -> int:
|
||||
func feature_quota(kind: String, tier: String) -> int:
|
||||
match [kind, tier]:
|
||||
["attack", TIER_COMMON]: return token_attack_common
|
||||
["attack", TIER_RARE]: return token_attack_rare
|
||||
["max_hp", TIER_COMMON]: return token_max_hp_common
|
||||
["max_hp", TIER_RARE]: return token_max_hp_rare
|
||||
["armor", TIER_COMMON]: return token_armor_common
|
||||
["armor", TIER_RARE]: return token_armor_rare
|
||||
["gp", TIER_COMMON]: return token_gp_common
|
||||
["gp", TIER_RARE]: return token_gp_rare
|
||||
["heal", TIER_RARE]: return token_heal_rare
|
||||
["ap", TIER_RAREST]: return token_ap_rarest
|
||||
["attack", TIER_COMMON]: return feature_quota_attack_common
|
||||
["attack", TIER_RARE]: return feature_quota_attack_rare
|
||||
["max_hp", TIER_COMMON]: return feature_quota_max_hp_common
|
||||
["max_hp", TIER_RARE]: return feature_quota_max_hp_rare
|
||||
["armor", TIER_COMMON]: return feature_quota_armor_common
|
||||
["armor", TIER_RARE]: return feature_quota_armor_rare
|
||||
["gp", TIER_COMMON]: return feature_quota_gp_common
|
||||
["gp", TIER_RARE]: return feature_quota_gp_rare
|
||||
["heal", TIER_RARE]: return feature_quota_heal_rare
|
||||
["ap", TIER_RAREST]: return feature_quota_ap_rarest
|
||||
return 0
|
||||
|
||||
|
||||
## 令牌件值(kind × tier;v2.2 数值对——小/大两档)
|
||||
func bonus_value(kind: String, tier: String = TIER_COMMON) -> int:
|
||||
func feature_value(kind: String, tier: String = TIER_COMMON) -> int:
|
||||
match [kind, tier]:
|
||||
["attack", TIER_COMMON]: return bonus_attack_flat
|
||||
["attack", TIER_RARE]: return bonus_attack_flat_large
|
||||
["max_hp", TIER_COMMON]: return bonus_max_hp_flat
|
||||
["max_hp", TIER_RARE]: return bonus_max_hp_flat_large
|
||||
["armor", TIER_COMMON]: return bonus_armor_flat
|
||||
["armor", TIER_RARE]: return bonus_armor_flat_large
|
||||
["gp", TIER_COMMON]: return bonus_gp_amount
|
||||
["gp", TIER_RARE]: return bonus_gp_amount_large
|
||||
["heal", TIER_RARE]: return bonus_heal_flat
|
||||
["ap", TIER_RAREST]: return bonus_ap_flat
|
||||
["attack", TIER_COMMON]: return feature_value_attack_common
|
||||
["attack", TIER_RARE]: return feature_value_attack_rare
|
||||
["max_hp", TIER_COMMON]: return feature_value_max_hp_common
|
||||
["max_hp", TIER_RARE]: return feature_value_max_hp_rare
|
||||
["armor", TIER_COMMON]: return feature_value_armor_common
|
||||
["armor", TIER_RARE]: return feature_value_armor_rare
|
||||
["gp", TIER_COMMON]: return feature_value_gp_common
|
||||
["gp", TIER_RARE]: return feature_value_gp_rare
|
||||
["heal", TIER_RARE]: return feature_value_heal_rare
|
||||
["ap", TIER_RAREST]: return feature_value_ap_rarest
|
||||
return 0
|
||||
|
||||
|
||||
@@ -104,8 +113,8 @@ func tier_rank(tier: String) -> int:
|
||||
## 档位令牌总数(货架/校验读面)
|
||||
func tier_total(tier: String) -> int:
|
||||
var total := 0
|
||||
for kind in BONUS_IDS:
|
||||
total += bonus_token_count(kind, tier)
|
||||
for kind in FEATURE_KINDS:
|
||||
total += feature_quota(kind, tier)
|
||||
return total
|
||||
|
||||
|
||||
@@ -118,18 +127,18 @@ func validate() -> Array:
|
||||
var errs: Array[Dictionary] = []
|
||||
if clear_heal_pct < 0 or clear_heal_pct > 100:
|
||||
errs.append({"category": "domain", "message": "clear_heal_pct 越域 [0,100]: %d" % clear_heal_pct})
|
||||
for kind in BONUS_IDS:
|
||||
for kind in FEATURE_KINDS:
|
||||
for tier in TIERS:
|
||||
var c := bonus_token_count(kind, tier)
|
||||
var c := feature_quota(kind, tier)
|
||||
if c < 0 or c > 99:
|
||||
errs.append({"category": "domain", "message": "token_count(%s,%s) 越域 [0,99]: %d" % [kind, tier, c]})
|
||||
var v := bonus_value(kind, tier)
|
||||
var v := feature_value(kind, tier)
|
||||
if v < 0 or v > 999:
|
||||
errs.append({"category": "domain", "message": "bonus_value(%s,%s) 越域 [0,999]: %d" % [kind, tier, v]})
|
||||
errs.append({"category": "domain", "message": "feature_value(%s,%s) 越域 [0,999]: %d" % [kind, tier, v]})
|
||||
for tier in TIERS:
|
||||
var total := tier_total(tier)
|
||||
if total != int(TIER_QUOTAS.get(tier, -1)):
|
||||
errs.append({"category": "domain", "message": "档位配额结构失锚(v2.2 追认 b——%s 应=%d 实=%d;改总量须重裁)" % [tier, int(TIER_QUOTAS.get(tier, -1)), total]})
|
||||
if bonus_candidate_count < 1 or bonus_candidate_count > 6:
|
||||
errs.append({"category": "domain", "message": "bonus_candidate_count 越域 [1,6]: %d" % bonus_candidate_count})
|
||||
if feature_candidate_count < 1 or feature_candidate_count > 6:
|
||||
errs.append({"category": "domain", "message": "feature_candidate_count 越域 [1,6]: %d" % feature_candidate_count})
|
||||
return errs
|
||||
@@ -13,8 +13,8 @@
|
||||
# requires Array[node_id](显式前置——父开子脉内链)/ effects Dictionary(stat 四线 flat:
|
||||
# atk/max_hp/hit/armor_class;rule 键封闭 RULE_KEYS)/ fork_group/fork_side(a/b——同组互斥、
|
||||
# 营地免费切换)。
|
||||
# 🔴 层级纪律(任务书红线 2):局外树只放全局规则件——effects 禁流派标签(relic 流派件永不入树,
|
||||
# archetype 键出域=加载致命);流派件只走局内随机渠道。
|
||||
# 🔴 层级纪律(任务书红线 2):局外树只放全局规则件——effects 禁流派标签(relic 特性永不入树,
|
||||
# archetype 键出域=加载致命);规则改写型特性只走局内随机渠道。
|
||||
# A/B 只放规则面(定稿 1.3——全树互斥面 ≤10-15% 首期 4 组);两侧「不同强非强弱」MC 验差 <~3pp(T10)。
|
||||
# 彩蛋 ≤3(定稿 1.4——点满某脉某排免费觉醒;发现率 <5% 改灰色预告——T10 追认单呈报)。
|
||||
class_name MetaTreeTable
|
||||
@@ -76,9 +76,9 @@ func validate() -> Array:
|
||||
for ek in fx.keys():
|
||||
if not (STAT_KEYS.has(String(ek)) or RULE_KEYS.has(String(ek))):
|
||||
errs.append({"category": "zero_flat", "message": "%s effects 键出域(四线/rule 词表封闭): %s" % [nid, String(ek)]})
|
||||
# 🔴 层级纪律:局外树禁流派件(archetype 键出域=加载致命)
|
||||
# 🔴 层级纪律:局外树禁规则改写型特性(archetype 键出域=加载致命)
|
||||
if fx.has("archetype"):
|
||||
errs.append({"category": "load_bearing", "message": "%s effects 含 archetype(🔴 层级纪律——流派件禁入局外树)" % nid})
|
||||
errs.append({"category": "load_bearing", "message": "%s effects 含 archetype(🔴 层级纪律——特性禁入局外树)" % nid})
|
||||
# A/B 互斥对结构:fork 行必带 fork_group+side;同组恰 a/b 各一
|
||||
if kind == "fork":
|
||||
var fg := String(row.get("fork_group", ""))
|
||||
|
||||
@@ -1,8 +1,14 @@
|
||||
# VERTICAL SLICE - NOT FOR PRODUCTION
|
||||
# Validation Question: 七核心流派各 ≥3 件入局内随机渠道后,标签+档位激活引擎能否机械判「成型」、
|
||||
# 机制件带能否挂进令牌池稀有/罕见档随机投放(P0——迭代 12 双层 BD 实施批 T1)
|
||||
# 专长带能否挂进令牌池稀有/罕见档随机投放(P0——迭代 12 双层 BD 实施批 T1)
|
||||
# Date: 2026-10-04(双层 BD 实施批 T1——任务书五裁定稿;设计权威 双层BD体系-整合定稿-2026-10-03 v3)
|
||||
# 数据配置 RelicTable schema(双层BD/机制件 回填 owner 批末落文;行 = Dictionary 键 relic_id,Rule 4 豁免
|
||||
# 概念指路:本表的专长,与 adventure.tres 的属性值提升、资源,同属一个对象——
|
||||
# 「奇物」(一次冒险内各渠道给予玩家的增益总称)。定义见 design/gdd/systems/冒险循环/奇物.md。
|
||||
# 它们是它分类轴上的枚举(专长 / 属性值提升 / 资源),不是三套系统;本表承载「专长」(专长 Feat)的逐项定义。
|
||||
# (2026-10-05 命名统一 + 分类重构:旧称「流派件」→「规则改写型特性」→ 现定名「专长」;
|
||||
# 表名与 relic_id 沿用历史命名,与统一词族对齐归后续批次——见 06-待办清单「命名统一」条目。
|
||||
# 目标渠道:专长走关底 Boss 击败后专属三选一(不新增节点类型),见奇物文档 2.1 节。)
|
||||
# 数据配置 RelicTable schema(奇物·专长定义表;行 = Dictionary 键 relic_id,Rule 4 豁免
|
||||
# 定义表——AuxItemTable 先例)。
|
||||
# 行字段:relic_id 主键 / display_name / rarity ∈ {common, rare, rarest}(对齐令牌池三档命名——
|
||||
# 投放档映射:common/rare→稀有令牌档、rarest→罕见令牌档;relic 令牌永不入普通档=「挂稀有/罕见档」
|
||||
@@ -12,7 +18,7 @@
|
||||
# 仅校验键域不禁纯增益(专项论证件以 positive_only 批注登记,人工清单呈报)。
|
||||
# 档位激活(整合定稿 设计工具 1——以撒套装/小骨铭文):同标签计数 ≥2→档一(流派核心规则)/≥4→档二
|
||||
# (完全体);散件单体保底=每件效果独立生效,档位只做质变(反例 B-2)——引擎纯函数 RelicsEngine。
|
||||
# 🔴 层级纪律(任务书红线 2):流派件只走局内随机渠道(三选一/商店/格面)——本表行永不入同调位
|
||||
# 🔴 层级纪律(任务书红线 2):专长只走局内随机渠道(三选一/商店/格面)——本表行永不入同调位
|
||||
# (aux_items 表)/局外树(T8 节点表);扫雷触发点铁律:每流派 ≥1 行 hook ∈ MINE_HOOKS(加载校验,
|
||||
# 违反=红线①触碰面)。
|
||||
class_name RelicTable
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
# 现价公式 = base_price + price_level_bonus(关卡) + price_increment × 该商品已购档数(已购档数在 冒险结构)。
|
||||
# price_level_bonus = 关级定价加值行(level_index 连续从 1 递增)。
|
||||
# pool_shelf = 共享池货架行(M-4 迭代 11 第②批 T1——任务书 v1.3 P1 共享池/P4 ceil):键 kind_id 词表
|
||||
# 封闭 = 四切边后种(SHELF_KINDS:attack/max_hp/armor/ap——GP 袋负交易切边、机制件三轴 doctrine 切边);
|
||||
# 封闭 = 四切边后种(SHELF_KINDS:attack/max_hp/armor/ap——GP 袋负交易切边、规则改写型特性三轴 doctrine 切边);
|
||||
# 库存=上限即库存(账本在 冒险结构 _bonus_taken 单点共享,行族不记库存);price_a/price_b = 乘法价格
|
||||
# 因子(公式 ceil(base × b^(关序−1) × A^(本次进店已购次数)),provisional 投值——P5 甲研究拍板后置追认)。
|
||||
# products 行族 + 加法定价随 legacy 模式(shop=off 对照承载)保留,退役归 off 锚换代批。
|
||||
|
||||
@@ -5,27 +5,27 @@
|
||||
[resource]
|
||||
script = ExtResource("1")
|
||||
clear_heal_pct = 20
|
||||
bonus_candidate_count = 3
|
||||
token_attack_common = 18
|
||||
token_attack_rare = 5
|
||||
token_max_hp_common = 17
|
||||
token_max_hp_rare = 5
|
||||
token_armor_common = 17
|
||||
token_armor_rare = 5
|
||||
token_gp_common = 18
|
||||
token_gp_rare = 5
|
||||
token_heal_rare = 5
|
||||
token_ap_rarest = 3
|
||||
bonus_attack_flat = 1
|
||||
bonus_attack_flat_large = 2
|
||||
bonus_max_hp_flat = 5
|
||||
bonus_max_hp_flat_large = 10
|
||||
bonus_armor_flat = 1
|
||||
bonus_armor_flat_large = 2
|
||||
bonus_gp_amount = 20
|
||||
bonus_gp_amount_large = 50
|
||||
bonus_heal_flat = 6
|
||||
bonus_ap_flat = 1
|
||||
feature_candidate_count = 3
|
||||
feature_quota_attack_common = 18
|
||||
feature_quota_attack_rare = 5
|
||||
feature_quota_max_hp_common = 17
|
||||
feature_quota_max_hp_rare = 5
|
||||
feature_quota_armor_common = 17
|
||||
feature_quota_armor_rare = 5
|
||||
feature_quota_gp_common = 18
|
||||
feature_quota_gp_rare = 5
|
||||
feature_quota_heal_rare = 5
|
||||
feature_quota_ap_rarest = 3
|
||||
feature_value_attack_common = 1
|
||||
feature_value_attack_rare = 2
|
||||
feature_value_max_hp_common = 5
|
||||
feature_value_max_hp_rare = 10
|
||||
feature_value_armor_common = 1
|
||||
feature_value_armor_rare = 2
|
||||
feature_value_gp_common = 20
|
||||
feature_value_gp_rare = 50
|
||||
feature_value_heal_rare = 6
|
||||
feature_value_ap_rarest = 1
|
||||
|
||||
; TP0 令牌池换代(2026-10-03,node-reward v2.2 追认 b 落地):三选一池 = 固定配额令牌池——
|
||||
; 普通 70/稀有 25/罕见 3 = 98 张(罕见档原列「道具件 2」随 aux_item 池种退役收窄——台账自决披露项);
|
||||
|
||||
@@ -411,5 +411,5 @@ rows = [{
|
||||
; ≥ 4×(row−1));锻造脉 3 节点收编 forge_levels(钥石付价=现行迁移零痛);钥石脉=工坊解锁收编
|
||||
; (free 迁移点亮)+刷新升级移植;同调脉 socket 3(钥石=规则面首站)+Fork 4 对(A/B 集中同调脉
|
||||
; 营地免费切换——effects 首期两 rule 键真实接线余组 stat 面 provisional);彩蛋 1(锻造满排觉醒)。
|
||||
; 🔴 层级纪律:局外树只放全局规则件——零 archetype 键(schema 校验强制);流派件只走局内随机渠道。
|
||||
; 🔴 层级纪律:局外树只放全局规则件——零 archetype 键(schema 校验强制);规则改写型特性只走局内随机渠道。
|
||||
; 数值全 provisional 归 M-4 数值批;A/B 两侧差 <~3pp 验收=T10 MC。
|
||||
@@ -260,15 +260,15 @@ rows = [{
|
||||
}
|
||||
}]
|
||||
|
||||
; 双层 BD 实施批(2026-10-04):机制件表——行 = 流派件定义
|
||||
; 双层 BD 实施批(2026-10-04):规则改写型特性表——行 = 特性定义
|
||||
; (relic_id/display_name/rarity/archetype/hook/effects)。
|
||||
; T2 魔法流四件(整合定稿 §2.3 S1):奥术余烬〔普通·rider+1 必中附加〕/魔网织者〔稀有·magic vs
|
||||
; magic 克制罚修正〕/湛蓝誓约〔稀有·magic vs heavy 克制加成〕/魔能共鸣〔罕见锚点·rider+2+每战首次
|
||||
; 开格奥术矢——「每关首次」字面落地为「每战首次」台账披露待追认〕;magic 档一(≥2 件)rider+1 /
|
||||
; 档二(≥4 件)rider 可暴击——引擎 tiers_for 承载。T3-T6 逐流派续填(flag 4/pierce 4/normal 4/
|
||||
; dig 4/charge 3/devour 4——整合定稿 §2.3 七流派件面)。
|
||||
; dig 4/charge 3/devour 4——整合定稿 §2.3 七流派的件面)。
|
||||
; 稀有度→投放档映射:common/rare → 稀有令牌档、rarest → 罕见令牌档(relic 永不入普通令牌档
|
||||
; ——「机制件带挂稀有/罕见档」追认 b 接线口径,普通档 70 张纯数值维持)。
|
||||
; 🔴 层级纪律:本表行永不入同调位(aux_items)/局外树(T8 节点表)——流派件只走局内随机渠道。
|
||||
; ——「规则改写型特性带挂稀有/罕见档」追认 b 接线口径,普通档 70 张纯数值维持)。
|
||||
; 🔴 层级纪律:本表行永不入同调位(aux_items)/局外树(T8 节点表)——规则改写型特性只走局内随机渠道。
|
||||
; 数值全 provisional 归 M-4 数值批;effects 键白名单封闭(零裸 flat 同族护栏)。
|
||||
|
||||
@@ -94,7 +94,7 @@ price_b = 1.1
|
||||
;(用户拍板骨架先行、数值整体后置,行值归 难度曲线与Boss)。
|
||||
; GP 商店房重构批(M-4 迭代 11 第②批 T1,2026-10-03——任务书 v1.3 全裁 P1 共享池/P4 ceil/P5 甲):
|
||||
; pool_shelf 行族 = 共享池货架(kind_id 词表封闭四切边后种 attack/max_hp/armor/ap——GP 袋负交易切边、
|
||||
; 机制件三轴 doctrine 切边;库存=上限即库存,账本在 冒险结构 _bonus_taken 单点共享,行族不记库存);
|
||||
; 规则改写型特性三轴 doctrine 切边;库存=上限即库存,账本在 冒险结构 _bonus_taken 单点共享,行族不记库存);
|
||||
; 价格公式换代(pool 模式)= ceil(base_price × b^(关序−1) × A^(本次进店已购次数)),price_a=1.8/price_b=1.1
|
||||
; provisional 投值(零人工令改 provisional+后置追认,原 P5 甲研究拍板后置);products 行族 + 加法定价
|
||||
; 随 legacy 模式(shop=off 对照承载)保留不退役,退役归 off 锚换代批。货架行值全部 provisional 归
|
||||
|
||||
Reference in new issue
Block a user