Kratos:说明书/计数器及触发器:修订间差异
创建页面,内容为“特性&注意事项” |
无编辑摘要 |
||
| 第1行: | 第1行: | ||
特性&注意事项 | == 特性&注意事项 == | ||
* 真正的计数器(以及计数器触发器)。计数器和计数触发器分开摆放,具有非常高的灵活性。计数器是AE的一种效果器。一个AE上写了Counter.Mark后,在单位获得这个AE时,单位也就得到计数器。这个AE被移除时,计数器也移除。 | |||
* 用Counter初始化计数器,CountTrigger(注意不是Count <s>ER</s> Trigger,没有ER)进行计数器变更。根据初始化Num和计数器模式,可以直接实现护盾(第二血条),并拥有极其多的扩展效果,并可以接入AE系统。 | |||
* 附着计数器(以及触发器)的单位知道自己身上计数器的来源、触发器的来源,原生支持3个对象的互动,比复仇不知高到哪里去了。 | |||
* 可以拿来做[https://bbs.ra2diy.com/forum.php?mod=viewthread&tid=27014&extra=page%3D1 许许多多奇奇怪怪的效果]。比如用计数器模拟AMMO或MP,武器设为无伤害无视觉效果。在攻击时,给自己反馈计数器触发器,判定计数器数值是否位于可释放技能或开火的区间,如是,将计数器减少一次释放或攻击的COST值,触发自动武器,攻击同目标或贴上其他AE。回复则是贴上一个无条件触发的触发器即可。 以后或许会将自然衰减作为计数器的固有特性。 | |||
* 计数并转换的实现方法:初始化计数器后,每有一些操作,如SHIELD模式下受击,或Feedback给自己贴CountTrigger变更计数器,将计数器减少,记录结束后,在0-初始值的触发条件下内无限次执行CountTrigger把计数器补回去,同时每触发一次Trigger就触发一次额外效果,比如加血,发射武器之类的。 | |||
[[File:比例转换盾.gif|thumb]] | |||
== [AttachEffectType] == | |||
Counter.Mark=Counter1 ;计数器组名称 | |||
Counter.Num=0 ;赋予时的计数值,可以用特殊值HP、MAXHP读取当前单位的血量作为计数,对于抛射体,HP即抛射体的威力 | |||
Counter.NumFromSource=no ;当Num使用特殊值时,优先读取来源 | |||
Counter.Min=0 ;计数器的最小值 | |||
Counter.Max=-1 ;计数器的最大值,-1表示不限制 | |||
Counter.Action=ADD ;计数器的操作,ADD=增加,INIT=设置,SUB=减少,MUL=倍数,如有同组计数器,后贴的计数器做运算对象。 | |||
Counter.AttachIfNotFound=yes ;如果没找到这个计数器时,Action设置为:ADD或INIT,可获得一个计数器;SUB或MUL,仅为计算,不会赋予,视为无效AE | |||
CounterX.RemoveWhenNum=0,-1 ;计数器值在该范围内时移除该计数器,X=[0-127],最大值大于0且大于等于最小值时有效 | |||
注意移除的只是计数器,承载计数器的AE不会消失。 | |||
<nowiki>;</nowiki> 自动调整计数 | |||
Counter.Reaction=NORMAL ;响应计数模式,NORMAL\HITPOINT\SHIELD,HITPOINT与SHIELD模式在收到伤害时,按照伤害数值扣除计数,SHIELD模式会抵扣伤害 | |||
<nowiki>;</nowiki> 受伤计数模式细节设置 | |||
Counter.Reaction.Limit=-1 ;最高可保护的伤害值,超过的伤害不参与转换 | |||
Counter.Reaction.Protect=100% ;使用伤害的比例,Shield模式下剩余部分不会被抵扣,30%的比例下收到100伤害,使用30伤害进行计数结算,余下70伤害正常传递 | |||
Counter.Reaction.Percent=100% ;使用的伤害数值转换为计数的比例,优先扣除计数,Shield模式下若计数不足抵扣,剩余伤害会照常反馈。比如写10%就是受100伤扣10计数器。 | |||
Counter.Reaction.OnlyReactionWarheads=none ;只对这些弹头进行响应 | |||
Counter.Reaction.NotReactionWarheads=none ;不对这些弹头进行响应 | |||
== [AttachEffectType] == | |||
<nowiki>;</nowiki> 模块:计数触发器 —— 与计数器分离的单独触发器,在执行时检查监视的计数器值,满足条件时触发效果 | |||
CountTrigger.Watch=Counter1 ;待监视的计数器组名称 | |||
<nowiki>;</nowiki> 触发条件,X=[0-127],触发可有多个,按ID顺序执行 | |||
CountTriggerX.Range=0,100 ;监视计数器在[0, 100]时触发,最大值小于最小值时表示无条件触发 | |||
CountTriggerX.TriggeredTimes=-1 ;X单独统计触发次数,触发多少次后移除自身,若存在多个触发器,后续的触发将停止执行 | |||
<nowiki>;</nowiki> 操作计数,操作计数会影响后续执行的触发器检查条件,但不影响本次触发执行 | |||
CountTriggerX.Num=0 ;操作的计数,可以用特殊值HP、MAXHP读取当前单位的血量作为计数,对于抛射体,HP即抛射体的威力 | |||
CountTriggerX.NumFrom=ME ;当Num使用特殊值时,ME\SOURCE\COUNTERSOURCE,自身、自身来源、计数器来源 | |||
CountTriggerX.Action=ADD ;计数器的操作,ADD=增加,INIT=设置,SUB=减少,MUL=倍数 | |||
CountTriggerX.ResetNum=no ;重置计数器为计数器初始值Num | |||
CountTriggerX.RemoveCounter=no ;移除计数器,若存在多个触发器,后续的触发将停止执行 | |||
<nowiki>;</nowiki> 赋予效果 | |||
CountTriggerX.AttachEffects=AE1,AE2 ;触发后赋予的新AE | |||
CountTriggerX.AttachChances=100%,100% ;附加效果的成功率 | |||
CountTriggerX.AttachTo=ME ;触发后向谁附加AE,ME\SOURCE\COUNTERSOURCE | |||
CountTriggerX.AttachFrom=SOURCE ;附加效果的来源设置,ME\SOURCE\COUNTERSOURCE | |||
CountTriggerX.RemoveEffects=AE1,AE2 ;触发后移除的AE | |||
CountTriggerX.RemoveEffectsLevel=0,0 ;触发后移除的AE对应的层数 | |||
CountTriggerX.RemoveEffectsWithMarks=none ;触发后移除带这些标记的AE | |||
CountTriggerX.RemoveEffectsSkipNext=no ;触发后移除的AE将跳过Next | |||
CountTriggerX.RemoveWho=ME ;触发后移除谁身上的AE,ME\SOURCE\COUNTERSOURCE | |||
2026年2月2日 (一) 22:21的版本
特性&注意事项
- 真正的计数器(以及计数器触发器)。计数器和计数触发器分开摆放,具有非常高的灵活性。计数器是AE的一种效果器。一个AE上写了Counter.Mark后,在单位获得这个AE时,单位也就得到计数器。这个AE被移除时,计数器也移除。
- 用Counter初始化计数器,CountTrigger(注意不是Count
ERTrigger,没有ER)进行计数器变更。根据初始化Num和计数器模式,可以直接实现护盾(第二血条),并拥有极其多的扩展效果,并可以接入AE系统。 - 附着计数器(以及触发器)的单位知道自己身上计数器的来源、触发器的来源,原生支持3个对象的互动,比复仇不知高到哪里去了。
- 可以拿来做许许多多奇奇怪怪的效果。比如用计数器模拟AMMO或MP,武器设为无伤害无视觉效果。在攻击时,给自己反馈计数器触发器,判定计数器数值是否位于可释放技能或开火的区间,如是,将计数器减少一次释放或攻击的COST值,触发自动武器,攻击同目标或贴上其他AE。回复则是贴上一个无条件触发的触发器即可。 以后或许会将自然衰减作为计数器的固有特性。
- 计数并转换的实现方法:初始化计数器后,每有一些操作,如SHIELD模式下受击,或Feedback给自己贴CountTrigger变更计数器,将计数器减少,记录结束后,在0-初始值的触发条件下内无限次执行CountTrigger把计数器补回去,同时每触发一次Trigger就触发一次额外效果,比如加血,发射武器之类的。

[AttachEffectType]
Counter.Mark=Counter1 ;计数器组名称
Counter.Num=0 ;赋予时的计数值,可以用特殊值HP、MAXHP读取当前单位的血量作为计数,对于抛射体,HP即抛射体的威力
Counter.NumFromSource=no ;当Num使用特殊值时,优先读取来源
Counter.Min=0 ;计数器的最小值
Counter.Max=-1 ;计数器的最大值,-1表示不限制
Counter.Action=ADD ;计数器的操作,ADD=增加,INIT=设置,SUB=减少,MUL=倍数,如有同组计数器,后贴的计数器做运算对象。
Counter.AttachIfNotFound=yes ;如果没找到这个计数器时,Action设置为:ADD或INIT,可获得一个计数器;SUB或MUL,仅为计算,不会赋予,视为无效AE
CounterX.RemoveWhenNum=0,-1 ;计数器值在该范围内时移除该计数器,X=[0-127],最大值大于0且大于等于最小值时有效
注意移除的只是计数器,承载计数器的AE不会消失。
; 自动调整计数
Counter.Reaction=NORMAL ;响应计数模式,NORMAL\HITPOINT\SHIELD,HITPOINT与SHIELD模式在收到伤害时,按照伤害数值扣除计数,SHIELD模式会抵扣伤害
; 受伤计数模式细节设置
Counter.Reaction.Limit=-1 ;最高可保护的伤害值,超过的伤害不参与转换
Counter.Reaction.Protect=100% ;使用伤害的比例,Shield模式下剩余部分不会被抵扣,30%的比例下收到100伤害,使用30伤害进行计数结算,余下70伤害正常传递
Counter.Reaction.Percent=100% ;使用的伤害数值转换为计数的比例,优先扣除计数,Shield模式下若计数不足抵扣,剩余伤害会照常反馈。比如写10%就是受100伤扣10计数器。
Counter.Reaction.OnlyReactionWarheads=none ;只对这些弹头进行响应
Counter.Reaction.NotReactionWarheads=none ;不对这些弹头进行响应
[AttachEffectType]
; 模块:计数触发器 —— 与计数器分离的单独触发器,在执行时检查监视的计数器值,满足条件时触发效果
CountTrigger.Watch=Counter1 ;待监视的计数器组名称
; 触发条件,X=[0-127],触发可有多个,按ID顺序执行
CountTriggerX.Range=0,100 ;监视计数器在[0, 100]时触发,最大值小于最小值时表示无条件触发
CountTriggerX.TriggeredTimes=-1 ;X单独统计触发次数,触发多少次后移除自身,若存在多个触发器,后续的触发将停止执行
; 操作计数,操作计数会影响后续执行的触发器检查条件,但不影响本次触发执行
CountTriggerX.Num=0 ;操作的计数,可以用特殊值HP、MAXHP读取当前单位的血量作为计数,对于抛射体,HP即抛射体的威力
CountTriggerX.NumFrom=ME ;当Num使用特殊值时,ME\SOURCE\COUNTERSOURCE,自身、自身来源、计数器来源
CountTriggerX.Action=ADD ;计数器的操作,ADD=增加,INIT=设置,SUB=减少,MUL=倍数
CountTriggerX.ResetNum=no ;重置计数器为计数器初始值Num
CountTriggerX.RemoveCounter=no ;移除计数器,若存在多个触发器,后续的触发将停止执行
; 赋予效果
CountTriggerX.AttachEffects=AE1,AE2 ;触发后赋予的新AE
CountTriggerX.AttachChances=100%,100% ;附加效果的成功率
CountTriggerX.AttachTo=ME ;触发后向谁附加AE,ME\SOURCE\COUNTERSOURCE
CountTriggerX.AttachFrom=SOURCE ;附加效果的来源设置,ME\SOURCE\COUNTERSOURCE
CountTriggerX.RemoveEffects=AE1,AE2 ;触发后移除的AE
CountTriggerX.RemoveEffectsLevel=0,0 ;触发后移除的AE对应的层数
CountTriggerX.RemoveEffectsWithMarks=none ;触发后移除带这些标记的AE
CountTriggerX.RemoveEffectsSkipNext=no ;触发后移除的AE将跳过Next
CountTriggerX.RemoveWho=ME ;触发后移除谁身上的AE,ME\SOURCE\COUNTERSOURCE