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