用于随时间变化的伤害效果(例如回合开始/结束时豁免并受到伤害等)或使用动作进行检定来挣脱某项效应。
flags.midi-qol.OverTime——“覆盖”或”自定义”——特殊表达式
关于使用@来调用哪个目标字段(如施法者的豁免DC还是目标的当前生命值),请详细查看末尾【Overtime使用@fields(字段)】介绍。
Overtime前面的设置需要严格按照给定的来,如applyCondition不能写为ApplyCondition或applycondition;
Overtime除了末尾外,需要以英文逗号(,)作为结尾,最后一个字段则不需要用英文逗号(,)作为结尾;
allowIncapacitated = true | false
如果为true,即使具有该效果的token陷入失能,也允许进行物品掷骰,这对律令震慑Power Word Stun等效果非常有用。
applyCondition=expression
removeCondition=expression
如果该表达式存在且其值为 true,则会在其他处理之后移除效果。
当掷骰结果超过所提供的 DC 时(或效果持续时间结束时),整个激活效果将被移除。
rollType=check/save/skill
属性检定/豁免检定/技能检定(默认豁免)。进行一次属性检定、豁免检定或技能检定。
敏捷/体质/察觉/特技(需要注意使用的是缩写如slt/acr/ani/arc)等,使用目标的属性/技能,用于掷骰。
设定的DC数值,可以为引用,如@attributes.spelldc为法术豁免DC。
saveDamage=halfdamage/nodamage/fulldamage
豁免成功后,受到的伤害。半伤/无伤/全伤(默认无伤)。
就魔法抗性(需要midi设置魔法抗性效果)而言,该豁免检定被视为 "魔法豁免检定"。
如果为 true,midi 将不会掷骰豁免,而是交由玩家掷骰。对于动作豁免,您可以指定多个豁免类型,例如:
saveAbility=dex|con:指敏捷Dex 或 体质Con豁免检定,
saveAbility=acr|ath:允许进行特技或运动检定。
额外说明:有相当多的效果需要目标使用动作来尝试对效果进行豁免。您可以添加这意味着overtime效果不会自动掷出豁免,而是等待轮到 actor 的回合时掷出适当的豁免(从角色表中掷出豁免即可)。这样就可以支持 "角色可以使用其动作来对效果进行豁免"。
只需添加到 overtime 效果定义中,MidiQOL 就会在 actor 的回合中观察豁免检定(而不是自动掷骰进行豁免检定),如果类型与 overtime 效果相匹配,就会检查掷骰结果,并与豁免DC的对比,如果豁免检定成功,就会移除效果。
damageBeforeSave=true/false
true "表示伤害会在豁免检定之前施加(如血光剑)。"false "表示只有在豁免失败时才会施加伤害。
damageRoll=roll expression
damageType=piercing/bludgeoning
可以指定 "healing"(治疗)或 "temphp"(临时生命)来应用治疗或临时生命。临时生命只有在掷骰的临时生命值大于现有临时生命值时才会应用。
rollMode=gmroll/blindroll/publicroll/selfroll
模式将应用于 overtime 项目的滚动。这对向玩家隐藏掷骰子很有用。使用 publicroll(公开掷骰)/gmroll(GM掷骰)/blindroll(盲骰)/selfroll(自我掷骰)中的一种。
作为伤害应用阶段的一部分,调用一个宏,其可用参数为overTime项目的掷骰结果,其中将包括造成的伤害、进行的豁免检定等,就好像是 Overtime项目掷骰的 OnUse 宏一样。
通过使用ItemMacro.ItemUUID 链接到项目的项目宏
·如果该效果可叠加,假设叠加次数为 2 ,则伤害将变为(对于 "血光剑等物品)累计后的伤害,更多详情见下文“Overtime示例——血光剑”
damageRoll=3d6 //基础伤害为1d6,之后叠加1次变为 3d6 + 3d6(累计叠加2次)
·Overtime 效果最常用的是伤害超时效果。你可以包含一个OverTime效果,只需进行一次豁免即可用于应用任何其他更改(在同一激活效果中),直到进行一次豁免(如人类定身术Hold Person)。
saveDC=@attributes.spelldc //引用法术豁免DC
·使用 @fields有几个 "问题"。如果效果是通过转移效果或手动编辑效果在 actor 上创建的,则 @fields指的是具有该效果的 actor。
*非转移效果是指未设置为 "装备物品时转移到角色"的效果)*
一个模板(使用CPR更为方便,具体看后文【CPR快速配置Overtime】)
一个用于回合结束进行豁免的overtime设置,需要配置为非转移效果:
allowIncapacitated = true, //目标陷入失能也可进行此掷骰
saveDC=@attributes.spelldc, //使用本人(请注意是施法者本人而非目标)的法术豁免DC
saveDamage=halfdamage, //豁免成功后只受到一半的伤害
saveRemove=true, //豁免成功后删除此效果
saveMagic=true, //该豁免检定视为“魔法豁免检定”(配合midi的魔法抗性选项使用)
damageBeforeSave=false, //如果为true,就会先造成1d6点毒素伤害,在进行豁免(默认为豁免后造成伤害,可不写此字段)
damageType=poison, //1d6点毒素伤害
rollMode=publicroll //这是一个公开掷骰
效应:每当一个生物(包括你)在球体中结束它自己的回合时,你能给予它以下好处之一:
·使目标获得等同于1d6+你牧师等级点的临时生命。
·使目标结束一个正使他魅惑或恐慌的效应(此效应不太好实现,故不在此教程中演示)。
消耗:这里是消耗的【引导神力】,这个角色卡设置的是资源2
案例—血光剑(非转移效果,应将可叠加设置为 "每叠加一次,叠加次数增加 1")
damageBeforeSave=true, //伤害会在进行豁免检定之前施加
damageType=necrotic, //伤害类型为黯蚀(即1d4点黯蚀伤害)
案例—人类定身术(1 非转移效果,但 2 个变更都会在豁免成功时移除)
saveDC=@attributes.spelldc, //豁免DC为法术豁免DC
saveMagic=true, //该豁免检定被视为 "魔法豁免检定"
StatusEffect——“覆盖”——Convenient Effect: Paralyzed
在回合触发时,Overtime效果具有很多的应用。其中一个不明显的功能是,您可以将overtime效果作为开关来打开或关闭其他效果。如果你的一个效果有多个变化,其中一个是overtime效果,那么在一次豁免时,它们将全部被应用或全部被移除。
上方有一个 "人类定身术",它有一个用于豁免的overtime效果和一个对目标施加麻痹状态效果的应用。
MidiQOL.doOverTimeEffect(actor: Actor5e, effect: ActiveEffect, turnStart: boolean),将对传递的效果执行 overtime 处理,turnStart === true 时做 turn=start 的变化,false 时做 turn=end 的变化。
如果你是通过使用物品来施加效果,@fields就会变得模棱两可,它们应该指施法者还是目标?两种解释都有理由。
正在进行的豁免检定应指施法者,例如:saveDC=@attributes.spelldc。
通过物品使用转移的效果需要 DAE 并使用其评估来解决问题。写成简单@fields(@attributes.spelldc)的字段总是指向施法者。
如果你希望 @field 指向目标,则需要使用 DAE 功能,##field 不会在施法者身上评估,而会在效果应用到目标后转换为 @field。
下面是一个例子,如果我为武器添加以下效果,那么当武器命中目标时,效果就会作用于目标:
这会在目标身上产生效果(假设攻击者有 75 点生命值):
flags.midi-qol.Overtime——“覆盖”——applyCondition=75 > 0 //应用了攻击者的生命值进行判断
使用 Overtime 效果时,有两种方法可以让宏效果应用于目标。
·第一种方法是将宏作为激活效果(macro.execute/macro.ItemMacro)的附加变化。在应用效果时和移除效果时(with args[0]==="on"/"off" respectively - the normal macro.execute/macro.itemMacro behaviour),宏作为附加变化都会被调用一次。
·第二种是作为Overtime效果的一部分,如上文解释的那样,使用 macro= some macro。每个回合都会调用该宏,同时调用豁免/目标等的结果(详见 OnUse Macro 数据)。
借助CPR模组,我们可以快速配置Overtime,而无需自己去输入字段
4.来到配置页面,依次开始配置,这里需要说明几点,字段完全就是和Overtime一致,但有个翻译有些出入。