策划能力词典(白话版)
给不写代码、不看英文的人用。
程序内部的英文名字只放在每张表最后一列,工具下拉里偶尔会看到,对一下就行。
旧的技术清单仍在 Docs/内容能力词典.md,那份是给程序核对用的。
1. 这本词典在说什么
做卡不是写故事,是用现成积木拼效果。
想一张卡时,按这个顺序问自己:
- 什么时候发动?(打出时、抽到时、回合开始时……)
- 对谁生效?(自己、点选的那个人、面前一排……)
- 做什么?(打伤害、加护甲、抽牌、上状态……)
- 数字从哪来?(写死 4 点,还是「当前行动力 × 2」)
- 有没有如果?(有护甲才额外伤害、击杀才加行动力)
这五问都能用下面的积木回答,就可以在维护工具里配,不用改游戏程序。
积木里没有的效果(例如「把普通伤害改成光属性」),要先找程序加一种通用积木,加完以后所有卡都能用。
2. 一张卡在工具里长什么样(最短例子)
爪击:打出时 → 对你点选的那个人 → 造成 4 点普通伤害。
包扎:打出时 → 对自己 → 恢复生命。
刺击:打出时 → 先打 4 点;如果目标有护甲 → 再打 2 点。
连斩:打出时 → 重复「打 2 点」,重复次数 = 你这次花掉的行动力。
配的时候:打开维护工具的「积木」页,时机用黄帽子,效果往凹槽里拖;有「如果 / 重复 / 一片人」就拖结构积木。细节见 Docs/内容包维护工具使用说明.md。
3. 什么时候发动(时机)
一张卡可以挂多条时机。可打出的卡至少要有一条「打出时」,否则验证会报错。
| 策划怎么叫 | 什么时候发生 | 适合什么卡 | 工具里的名字 |
|---|---|---|---|
| 打出时 | 玩家打出这张牌,费用扣完之后 | 绝大多数攻击、治疗、功能牌 | on_play |
| 抽到时 | 从抽牌库抽进手牌的那一瞬间 | 反噬:一抽到就受伤 | on_draw |
| 加入手牌时 | 牌进手牌时(抽到、生成到手都算) | 需要「入手就提示」的牌 | on_added_to_hand |
| 留在手里直到回合结束 | 回合结束时这张还在手上 | 碎裂、入魔、残缺 | on_turn_end_in_hand |
| 角色回合开始 | 这个单位的回合刚开始 | 锋利、速攻、法师回魔 | on_unit_turn_start |
| 角色回合结束 | 这个单位的回合结束 | 盾牌加护甲、中毒跳伤害 | on_unit_turn_end |
| 状态层数变化 | 某状态加上或去掉时 | 职业被动「受到负面时获得锋利」 | on_status_changed |
| 使用职业主动技 | 点了职业那个主动按钮 | 牧师祈福一类 | on_activated_ability |
下面这些在工具合同里有名字,但现在游戏还没接到,配了也发布不了(或会报「尚未实现」):弃牌时、消耗时、击杀时、战斗开始时、手牌里回合开始时。需要的话让程序先接线。
4. 积木怎么搭(结构)
效果不是只能「从上往下做三件事」。复杂卡用这五种结构:
| 策划怎么叫 | 干什么 | 生活类比 |
|---|---|---|
| 顺序 | 里面的事按从上到下做完 | 菜谱:先切、再炒、再出锅 |
| 如果 | 判断成立走「则」,否则走「否则」(否则可以空着) | 有护甲才加伤 |
| 重复 | 同一件事做 N 次 | 连斩打 N 下 |
| 挨个 | 先找出一群人/一堆牌,对其中每一个做后面的事 | 面前 1×3 每个人都挨打 |
| 效果 | 真正改生命、护甲、手牌的那一步 | 造成伤害、抽牌 |
规则:
- 每一条时机下面,最外面必须是一个「顺序」。
- 「如果」下面分两叉:则 / 否则。
- 「挨个」找人用第 7 节的「选谁」;找到之后,里面的效果目标选「当前这个」即可。
5. 效果(真正发生的事)
数字、目标、状态名字在右侧属性里填。没写「要选人」的,一般打在自己或当前这个目标上。
打和奶
| 策划怎么叫 | 干什么 | 例子 | 工具里的名字 |
|---|---|---|---|
| 造成伤害 | 扣护甲再扣生命;可选伤害类型 | 爪击 4 点普通 | damage |
| 治疗 | 加生命,不超过上限 | 包扎、治愈 | heal |
| 获得护甲 | 加护甲 | 格挡、防护 | gain_armor |
| 复活 | 把死亡单位救回来 | 圣链「璀璨」 | revive |
| 击退 | 往远离你的方向推一格 | 柄击 | knock_back |
常见伤害类型(填中文理解即可,工具里用英文):普通 normal,火 fire,冰 ice,雷 lightning,光 light,暗 dark,毒 poison,真实 true。暗、毒、真实会穿护甲。火冰雷等多数时候只是标签,没有额外克制。
状态
状态本身(中毒怎么跳伤害)在「状态」里另配。卡上只负责上、改、摘。
| 策划怎么叫 | 干什么 | 例子 | 工具里的名字 |
|---|---|---|---|
| 添加状态 | 按叠法加层数,可填持续回合 | 飞刃上中毒、冰锥上寒冷 | add_status |
| 设置状态 | 层数改成指定值 | 需要「直接变成 3 层」时 | set_status |
| 减少状态 | 减层 | 驱散一层 | reduce_status |
| 移除状态 | 去掉某一种 | 去掉冻结 | remove_status |
| 清除状态 | 按正面/负面清一批 | 驱散所有负面 | clear_statuses |
| 消耗自己的状态 | 结算时用掉自己身上某状态的层数 | 开刃吃光锋利 | consume_owner_status |
| 转化自己的状态 | 一种状态变成另一种 | 寒冷叠满变冻结 | transform_owner_status |
行动力和魔力
| 策划怎么叫 | 干什么 | 例子 | 工具里的名字 |
|---|---|---|---|
| 修改行动力 | 正数加,负数扣(当前还剩的) | 封喉击杀 +2 | modify_action_points |
| 修改行动力上限 | 本场上限变高 | 隐遁、祈求 | modify_max_action_points |
| 修改魔力 | 加或扣当前魔力 | 冥想回魔 | modify_mana |
| 消耗资源 | 强制再扣行动力或魔力 | 额外支付 | spend_resource |
| 开始免费移动 | 接下来可以走 N 格,不另扣移动费 | 疾走、翻滚 | begin_free_move |
| 结束回合 | 打完这张就结束你的回合 | 蓄力 | end_turn |
牌相关
| 策划怎么叫 | 干什么 | 例子 | 工具里的名字 |
|---|---|---|---|
| 抽牌 | 从抽牌库抽到手上 | 弓臂肘击摸 1 | draw_cards |
| 生成卡牌 | 按条件新做出来,放到指定牌区 | 通灵变出一张紫牌 | generate_card |
| 移动卡牌 | 从某牌区挪到另一牌区 | 从弃牌拿到手 | move_cards |
| 按条件移除卡牌 | 删掉符合条件的牌 | 搏命飞剑移除本场剑牌 | remove_cards_by_query |
| 修改卡牌临时数字 | 给这张卡记一个数(如下次伤害 +4) | 蓄力狙杀打自己 | modify_card_runtime_value |
| 看牌顶并选择弃置 | 弹出牌顶若干张,你选哪些丢掉 | 预演 | reveal_top_cards_and_choose_discard |
| 免费打出牌顶 | 依次免费打出抽牌库顶 | 推论 | play_top_cards_for_free |
「看牌顶」「免费打出牌顶」会暂停战斗等玩家点,配完要真进游戏点一遍。
改规则(被动常用)
职业、状态、装备「不打出牌、但一直改数字」时用。例如锋利 = 攻击伤害 +1。
| 策划怎么叫 | 干什么 | 例子 | 工具里的名字 |
|---|---|---|---|
| 修改问询数值 | 把游戏正在问的那个数改掉 | 伤害 +1、距离 +1、护甲保留 | modify_query_value |
| 取消这次问询 | 让这件事失败 | 10% 免疫这次普通伤害 | cancel_query |
游戏会问的事情包括:打出去的攻击伤害、挨打伤害、攻击打几下、获得护甲、护甲留不留到下回合、行动力上限、能走几步、能不能打这张牌、回多少魔、技能距离、能不能行动、濒死回多少血。配被动时选对「问的是哪一件」即可。
表现和空操作
| 策划怎么叫 | 干什么 | 工具里的名字 |
|---|---|---|
| 播放画面特效 | 只好看,失败不影响结算 | play_vfx |
| 播放声音 | 同上 | play_sfx |
| 什么都不做 | 占位、或「这张牌故意没效果」 | no_op |
6. 如果……(判断)
用在「如果」积木上。可以组合。
| 策划怎么叫 | 问的是什么 | 工具里的名字 |
|---|---|---|
| 全部成立 | 下面几条都要真 | all |
| 任一成立 | 有一条真就真 | any |
| 取反 | 把结果反过来 | not |
| 目标还活着 | target_is_alive | |
| 目标已死亡 | 复活牌常用 | target_is_dead |
| 目标是自己 | target_is_self | |
| 目标阵营 | 敌/友/任意 | target_team_is |
| 目标有护甲 | 刺击额外伤害 | target_has_armor |
| 目标有某状态 | 身上有中毒吗 | target_has_status |
| 这张卡有某标签 | 是不是攻击牌、是不是剑 | card_has_tag |
| 这张卡在某卡池 | 属不属于弓池 | card_in_pool |
| 这张卡是某稀有度 | 灰/蓝/紫/金/红 | card_rarity_is |
| 本卡是否击杀了目标 | 封喉 | target_killed_by_this_card |
| 本次伤害是否打出来了 | 没被完全免疫 | damage_was_applied |
| 本次扣生命是否大于某值 | health_damage_greater_than | |
| 比较行动力/魔力/生命/护甲 | 还剩多少、花了多少 | resource / health / armor / spent_*_compare |
| 概率 | 填 0~100,例如 10 表示一成 | random_chance |
「目标有某标签」合同里有名字,游戏里单位标签还没接完,先别用。
7. 对谁生效(选谁)
分两种:
- 点选:卡面上的距离、敌友、要不要直线,在卡牌「目标」那一栏填。打出时玩家点人、点格子或选方向。
- 挨个查找:高级树里「挨个」用下面这些,表示「找出这一群,然后对每个人结算」。
| 策划怎么叫 | 找出谁 / 哪 | 工具里的名字 |
|---|---|---|
| 自己 | 出牌的人 | self |
| 点选的单位 | 玩家点的那个人 | selected_unit |
| 点选的格子 | 玩家点的那一格 | selected_cell |
| 当前这个 | 「挨个」循环里正在处理的那一个 | current_graph_target |
| 点选单位周围 | 以那人为中心的方形范围(含对角线) | units_around_selected |
| 曼哈顿范围内 | 上下左右走几步能到的人(不含斜走) | units_in_manhattan_range |
| 指定方向直线 | 穿云箭 | units_in_direction |
| 面前 1×3 | 劈砍(注意会误伤队友) | units_in_front_area |
| 全部友方 / 全部敌方 / 全部单位 | all_allies / all_enemies / all_units | |
| 当前这张卡 | 牌自己 | current_card |
| 手牌 / 抽牌库 / 弃牌库 / 消耗库里的牌 | 用来挪牌、删牌 | cards_in_hand 等 |
效果上直接能填的目标,目前常用就三种:自己、点选的单位、当前这个。一片人请用「挨个」,不要指望在「造成伤害」里直接填「所有敌人」。
8. 数字从哪来
不要在描述里写公式当数据。数字用下面这些拼。
| 策划怎么叫 | 含义 | 工具里的名字 |
|---|---|---|
| 固定数字 | 就是 4、3、2 | constant |
| 我的生命 / 上限 | 出牌人 | source_current_health / source_max_health |
| 目标生命 / 上限 | 被打的人 | target_* |
| 我的护甲 / 目标护甲 | source_armor / target_armor | |
| 某状态层数 | 中毒几层就打几点 | status_stacks |
| 这次花掉的行动力 / 魔力 | 连斩、魔力风暴 | spent_action_points / spent_mana |
| 这次打出的伤害 / 扣血 | 打完以后才能用 | damage_dealt / health_damage_dealt |
| 这张卡记下的数 | 蓄力狙杀那种 | card_runtime_value |
| 随机一段 | 从 A 到 B | random_range |
| 加 / 减 / 乘 / 除 / 较小 / 较大 | 把两个数合起来 | add 等 |
例子:连斩次数 = 「这次花掉的行动力」。
例子:举盾回护甲 = 「当前护甲 ÷ 2」再向下取整(除法按工具规则取整)。
9. 配卡时的对错习惯
- 先写人话描述,再拆成时机 → 目标 → 效果,最后才打开工具。
- 能用简易效果就不要进高级树。
- 新卡尽量复用已有状态(中毒、锋利),不要为了一张卡发明只给它用的「专属程序」。
- 可打出的卡必须能在战斗里打出来:勾选测试牌库或放进某个池,验证零错误后再发布。
- 工具报错里的英文,用本词典最后一列反查;常见还有「没有打出时」「引用了不存在的状态」「选了游戏还没做的时机」。
10. 和「爪击」比一比:你要的效果在不在这本词典里
| 你想做的 | 一般怎么拼 |
|---|---|
| 打一下 | 打出时 + 造成伤害 |
| 打一下再治疗自己 | 顺序:伤害 → 治疗(目标自己) |
| 有护甲再多打 | 顺序:伤害 → 如果有护甲 → 再伤害 |
| 打死回费 | 伤害 → 如果击杀 → 加行动力 |
| 抽到就挨打 | 时机改成「抽到时」+ 对自己伤害 |
| 回合结束还在手上就挨打 | 「留在手里直到回合结束」 |
| 面前一排都打 | 「挨个」面前 1×3 + 伤害(当前这个) |
| 一直让攻击更疼 | 不要写在打出时;用状态/职业的「修改问询数值」改攻击伤害 |
若上表拼不出来,就是缺通用积木,不要硬写一张「只能这张卡用」的说明去找程序改战斗代码。