招式系统
640 多个招式随 MIT Licensed Demo(单独下载)一同提供,涵盖物理、特殊和变化类别。本指南说明招式如何运作、如何浏览和分配它们,以及如何创建新招式。

玩家可以选择的每个招式都是学习列表中的一个条目,并且每一 个都通过 下文描述的同一流程结算 —— 威力、命中、属性相克,然后是效果。
招式类别
每个招式都属于三个类别之一:
| 类别 | 说明 | 使用的能力值 |
|---|---|---|
| Physical | 与目标发生物理接触 | 攻击对防御 |
| Special | 远程或元素攻击 | 特攻对特防 |
| Status | 不造成直接伤害;施加效果 | 无 |
类别决定伤害公式中使用哪些能力值。物理招式用攻击方的攻击对抗防御方的防御;特殊招式用特攻对抗特防。
招式属性
每个招式都是一个 Move ScriptableObject(抽象基类;每个招式都是一个具体子类,参见创建新招式)。Inspector 对其字段进行了分组:
| 分组 | 字段 | 说明 |
|---|---|---|
| Base Stats | Move Type | 招式的属性(电、火等) |
| Base Stats | Move Category | Physical、Special 或 Status |
| Base Stats | Base Power Points / Max Power Points | PP —— 招式在休息前可以使用的次数 |
| Base Stats | Priority | 出手顺序优先级(-7 到 +5)。优先级更高的招式无论速度如何都先行动 |
| Base Stats | Makes Contact | 招式是否发生物理接触(与 Static 等特性相关) |
| Base Stats | Affected By... | 是否适用 Protect、Magic Coat、Snatch、Mirror Move 或 King's Rock |
| Accuracy | Infinite Accuracy / Base Accuracy | 要么招式永不落空,要么是其命中几率 |
| Targeting | Move Possible Targets | 招式能击中谁(单个对手、所有对手、自己、盟友、全部等) |
| Multi Hit | Is Multi Hit | 每次使用是否会命中多次 |
伤害招式(DamageMove 及其子类)增加 Power、暴击等级修正,并根据子类的不同,带有诸如附带几率的异常状态这类次要效果(StatusChanceDamageMove)。招式播放的动画、声音和预制体位于其专属的 Animation 分组中。
伤害公式
MCE 使用在 DamageMath 中实现的第五世代及以后的伤害公式:
Base = ((2 * Level / 5 + 2) * Power * A / D) / 50 + 2
其中:
- Level = 攻击方的等级
- Power = 招式的基础威力,根据情况调整
- A / D = 攻击方的有效攻击(或特攻)除以防御方的有效防御(或特防),包含能力等级
这个基础伤害随后会乘以一连串系数:
Final = Base * Targets * Weather * Terrain * Critical * Random * STAB * TypeEffectiveness * Status * Additional
| 系数 | 数值 |
|---|---|
| Targets | 招式击中多个目标时为 0.75 |
| Weather | 来自对该招式生效的天气(例如下雨增强水系、削弱火系) |
| Terrain | 来自生效的地形(如果有) |
| Critical | 1.5 倍(且暴击会把所有低于 0 的能力等级视为 0) |
| Random | 0.85 到 1.00 之间的随机系数 |
| STAB | 如果招式属性与攻击方属性一致则为 1.5 倍(特性可以改变:Adaptability 使其为 2 倍) |
| Type Effectiveness | 对防御方各属性的乘积:0 倍、0.25 倍、0.5 倍、1 倍、2 倍或 4 倍 |
| Status | 攻击方的异常状态会缩放物理伤害:灼伤使其减半(0.5 倍) |
| Additional | 特性、携带道具、己方场地状态和盟友逐个附加的所有内容 |
结果会被取整,且永远不会小于 1。
浏览招式
使用 Database Browser 浏览所有可用招式:
打开 OpenMon Hub(Tools > MCE > OpenMon Hub)→ Database 选项卡 → Database Browser
浏览器可以让你:
- 按名称搜索招式。
- 按属性、类别或威力范围筛选。
- 查看所选招式的所有属性。
- 跳转到该招式的 ScriptableObject 进行编辑。
为怪物分配招式
招式通过 MonsterEntry ScriptableObject 分配给怪物:
升级招式
升级招式组中的每个条目将一个等级与一个招式配对:
Level 1: Tackle
Level 1: Growl
Level 7: Ember
Level 10: Smokescreen
Level 16: Fire Fang
Level 22: Flame Burst
Level 30: Flamethrower
怪物在达到指定等级时会自动学会这些招式。如果怪物被捕获或生成时的等级高于它的某些升级招式,它将掌握其升级列表中最近的 4 个招式。
TM/HM 兼容性
一个 Move 引用列表,指明该物种可以学会哪些 TM 和 HM 招式。玩家使用背包中的 TM/HM 道具来传授这些招式。
蛋招式
只能通过繁殖获得的招式。如果亲代掌握这些招式,后代就会从亲代继承蛋招式。
教学招式
由游戏中 NPC 传授的招式。使用 MoveTutor CommandGraph 节点(它把选定的招式教给选定的怪物)构建 NPC,如果需要,可用 IfMonsterCanLearnMove 设置条件;RemindPreviouslyLearntMoves 就是“招式回忆师”。
创建新招式
每个招式都是一个具体的 Move 子 类,在 Assets > Create > MCE > Monster Database > Moves > <属性> > <招式> 下有自己的资产菜单条目。要创建新招式,请创建一个行为符合你想要的招式类的资产,并重新配置其数值:
- 在 Project 窗口中右键点击,选择匹配的招式类(例如,对于带有麻痹几率的接触伤害招式用
Create > MCE > Monster Database > Moves > Electric > ThunderFang,对于纯接触伤害用... > Normal > Tackle)。 - 为资产命名(例如
ThunderClaw)。 - 在 Inspector 中配置所有字段:
Name: Thunder Claw
Type: Electric
Category: Physical
Power: 75
Accuracy: 95
PP: 15
Priority: 0
Contact: true
Effect: May paralyze target
Effect Chance: 30
- 将其分配给怪物的升级、TM、蛋或教学招式列表。
遵循一致的命名约定。演示的招式使用自然的英文名称。自定义招式名称请保持简洁(1-3 个词),并能体现其属性和效果。
招式效果
许多招式除造成伤害外还有次要效果:
能力变化
Move: Swords Dance
Category: Status
Effect: Raises user's Attack by 2 stages
异常状态
Move: Thunder Wave
Category: Status
Effect: Paralyzes the target
Accuracy: 90
连续攻击招式
一些招式每回合命中 2-5 次(例如 Fury Attack)。命中次数按加权分布随机决定。
反伤招式
攻击方会承受所造成伤害的一定百分比作为反伤(例如 Double-Edge 造成 33% 的反伤)。
优先级招式
具有正优先级的招式总是在回合中最先行动:
| 优先级 | 示例 |
|---|---|
| +5 | Helping Hand |
| +3 | Fake Out |
| +2 | Extreme Speed |
| +1 | Quick Attack、Aqua Jet、Mach Punch |
| 0 | 大多数招式 |
| -1 | Vital Throw |
| -3 | Focus Punch |
| -5 | Counter、Mirror Coat |
| -6 | Whirlwind、Roar |
| -7 | Trick Room |
天气招式
一些招式会改变战场天气(Rain Dance、Sunny Day、Sandstorm、Hail),从而影响伤害倍率并启用某些特性。
招式槽位
每只怪物同时最多可以掌握 4 个招式。学习第 5 个招式时,玩家必须选择替换现有招式中的哪一个。这由界面自动处理 —— 招式学习界面会出现并让玩家选择。
MoveSlot 结构体记录:
Move引用。MaxPP(初始为招式的BasePowerPoints)和CurrentPP,即剩余的 PP。