agentleFS
limoaCatherinelimoaCatherine/game-studio-harness/skills/damage-formula-pass/SKILL.md

damage-formula-pass

Skill4 starsChanged 54 days agoMITView on GitHub

选定伤害/治疗通道、冻结运算顺序与钳制,并给出可解析表达式语法需要与验算槽。触发:伤害公式、damage formula、结算式、表达式语法。

The file

Files
SKILL.md

伤害公式怎么定与验

何时用

  • 要命名结算公式,或统一物理/法术/真实/治疗/护盾通道
  • 加成、易伤、暴击插入顺序有争议
  • 程序与数值对同一式理解不一致,需要可校验的表达式语法
  • 改公式前要影响面与可回归验算槽

怎么做

1. 选通道与命名

做

  1. 列出启用结算通道(物理/法术/真实/治疗/护盾等);本版不做的通道显式标「不做」。
  2. 每通道给稳定公式 id(英文 snake)+ 中文名;口头称呼一律回指公式 id。
  3. 写适用/不适用边界(真实伤害无视哪类减伤、治疗是否吃加成区)。
  4. 变量只引用 attribute-framework 已有主键;缺属性先补框架再写式。
  5. 标明输出单位(点血/盾值/比例)及跳字是否与权威结算共用同一输出。
  6. 对照:打开属性主键表与现有公式目录;检索公式 id 查撞名。
  7. 失败→回本步:通道未命名或变量不在属性框架。

做到:启用通道均有可引用公式 id;变量集有属性出处;适用边界写清。公式目录可检索;孤儿变量为零。

2. 定项、顺序与可解析表达式语法需要

做

  1. 列候选项:基础值、攻防、技能系数、加算区、乘算区、易伤/抗性、暴击、波动、穿透等;每项标必选/可选。
  2. 写 ≥2 套插入顺序草案(分层括号或箭头),例:base→atk_def→add→mul→vuln→crit→clamp;附手感/可读性/克制深度利弊,待选定后冻结顺序表版本 order_version。
  3. 所有乘区显式进表与文档,禁止口头「再乘一点」或暗乘。
  4. 必须成文「可解析表达式语法需要」(程序与数值共用同一文档做词法/语法校验),至少覆盖:
    • 运算符与优先级:+ - * /、一元负号、比较(若启用)、括号强制优先;写清结合性(左结合);禁止位运算与赋值运算符。
    • 函数白名单:仅允许已登记函数(至少含 min/max/clamp/floor/ceil/abs);未登记函数名一律拒绝。
    • 标识符规则:仅属性主键与已登记中间项;英文 snake;禁止中文标识符、禁止隐式全局变量。
    • 字面量与百分数:整数/小数写法写死;百分数须统一约定(0.15 小数 或 15% 百分号二选一,全项目一致);禁止混写。
    • 禁止副作用:表达式不得含赋值、读写外部状态、随机调用(波动项须作为显式输入变量,不得在式内掷骰)。
    • 括号与分层注释:多层用括号或分层箭头文档对照;行内注释约定(如 # 至行尾)不得进入求值。
  5. 规定表达式落表形态(二选一或分字段并存,须声明):
    • 单行可解析串字段(如 expr_text);或
    • 结构化 AST 字段(如 expr_ast JSON); 程序与数值共用同一词法/语法校验器;落表前校验失败不得写入正式系数。
  6. 快照规则旁注:施放锁定 vs 命中取值;snapshot_at∈{cast,hit,tick} 写入顺序表;未冻结顺序表不得填技能系数。
  7. 非法式校验拒绝信号(须可观察):未知标识符、未白名单函数、非法运算符、空式、括号不配、百分数混写、副作用词法 → 校验器拒绝并给出行列定位;不得静默改写或忽略。
  8. 不合格:语法未成文或不可被校验器拒绝非法式 → 回本步;缺主键 → 回 attribute-framework。

做到:唯一冻结顺序表;乘区全显式;可解析表达式语法需要成文;非法式可被校验拒绝;快照规则无歧义。

3. 钳制与边界场景

做

  1. 写伤害/治疗 floor、软硬帽、暴击倍率上下限。
  2. 防御/抗性极值行为与零除返回值(0 / floor / 拒绝结算)写死。
  3. 治疗与伤害若共用表达式须声明符号域,否则拆两条公式。
  4. 溢出规则:过量治疗是否转盾、破盾扣减顺序,与跳字/权威一致。
  5. 边界必跑集至少含:0 防、0 攻、满暴击、满易伤、破盾瞬间;数值向制作方索取,不编造。
  6. 验算槽:边界行全部有中间项与最终输出列。
  7. 失败→回步骤 2:钳制与顺序层冲突则先改顺序或改帽。

做到:极值与零除行为写死;边界场景清单可跑。

4. 验算槽与影响面

做

  1. 建验算表头:输入变量 → 各中间项 → 最终输出;程序与数值共用回归。
  2. 用真实系数跑边界场景写入验算记录,禁止伪造「好看」结果。
  3. 全文检索技能/Buff/关卡/被动对旧公式名或旧顺序的引用,附影响面清单。
  4. 系数或公式变更:沙盒走 excel-com-write,晋升走 tunable-table-diff。
  5. 确认同输入下跳字与权威结算一致;不一致先立项修式或修展示,不双轨。
  6. 抽检:任选 1 技能走读「通道→顺序层→语法校验→钳制→跳字」能指到表行。
  7. 失败→回步骤 2/3:验算不可回归或端上双轨。

做到:验算槽可回归;影响面可指;表变更路径明确;端上一致或差异已立项。

完成检查

  • 启用通道均有冻结顺序表版本与公式 id
  • 可解析表达式语法需要成文且非法式可被校验拒绝
  • 验算槽边界场景可复跑;影响面清单已附

工具锚

  • 验算槽(中间项与最终输出回归)
  • 表引擎 COM/写入(公式/系数沙盒)
  • 版本库 diff(公式改名/改序影响面)
  • 表达式语法校验信号(非法运算符/未知标识符拒绝)

不在本文件

  • 不重写属性主键全集(归 attribute-framework)
  • 不填各技能具体系数包(归 skill-numeric-pass)
  • 不写软件商品名或编辑器菜单路径

失败回哪一步

  • 通道未命名或变量不在属性框架 → 回步骤 1
  • 语法未成文、非法式不可拒绝、顺序未冻或乘区未显式 → 回步骤 2
  • 钳制/零除/溢出未写死 → 回步骤 3
  • 验算不可回归、端上不一致 → 回步骤 2/3/4

下一步常接:skill-numeric-pass;系数落表 excel-com-write → tunable-table-diff。

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.