跳转到内容
RA2DIY-WIKI 当前处于维护模式:页面上的内容随时可能发生更改且不会事先告知。

Kratos:说明书/计数器及触发器:修订间差异

来自RA2DIY
CCC1478留言 | 贡献
无编辑摘要
CCC1478留言 | 贡献
无编辑摘要
第9行: 第9行:
[[File:比例转换盾.gif|thumb|护盾模式计数器,在经过初始延迟后,一个计数触发器将计数器补回初始值,每触发一次获得一次伤害]]
[[File:比例转换盾.gif|thumb|护盾模式计数器,在经过初始延迟后,一个计数触发器将计数器补回初始值,每触发一次获得一次伤害]]
== [AttachEffectType] ==
== [AttachEffectType] ==
'''Counter.Mark=(boolean)'''
'''Counter.Mark=(boolean)'''
计数器组名称,默认'''Counter1'''
计数器组名称,默认'''Counter1'''


'''Counter.Num=(boolean)'''
'''Counter.Num=(boolean)'''
赋予时的计数值,可以用特殊值HP、MAXHP读取当前单位的血量作为计数,对于抛射体,HP即抛射体的威力,默认'''0'''
赋予时的计数值,可以用特殊值HP、MAXHP读取当前单位的血量作为计数,对于抛射体,HP即抛射体的威力,默认'''0'''


'''Counter.NumFromSource=(boolean)'''
'''Counter.NumFromSource=(boolean)'''
当Num使用特殊值时,优先读取来源,默认'''no'''
当Num使用特殊值时,优先读取来源,默认'''no'''


'''Counter.Min=(boolean)'''
'''Counter.Min=(boolean)'''
计数器的最小值,默认'''0'''
计数器的最小值,默认'''0'''


'''Counter.Max=(boolean)'''
'''Counter.Max=(boolean)'''
计数器的最大值,-1表示不限制,默认'''-1'''
计数器的最大值,-1表示不限制,默认'''-1'''


'''Counter.Action=(boolean)'''
'''Counter.Action=(boolean)'''
计数器的操作,ADD=增加,INIT=设置,SUB=减少,MUL=倍数,如有同组计数器,后贴的计数器做运算对象。,默认'''ADD'''
计数器的操作,ADD=增加,INIT=设置,SUB=减少,MUL=倍数,如有同组计数器,后贴的计数器做运算对象。,默认'''ADD'''


'''Counter.AttachIfNotFound=(boolean)'''
'''Counter.AttachIfNotFound=(boolean)'''
如果没找到这个计数器时,Action设置为:ADD或INIT,可获得一个计数器;SUB或MUL,仅为计算,不会赋予,视为无效AE,默认'''yes'''
如果没找到这个计数器时,Action设置为:ADD或INIT,可获得一个计数器;SUB或MUL,仅为计算,不会赋予,视为无效AE,默认'''yes'''


'''CounterX.RemoveWhenNum=(boolean)'''
'''CounterX.RemoveWhenNum=(boolean)'''
计数器值在该范围内时移除该计数器,X=[0-127],最大值大于0且大于等于最小值时有效,默认'''0,-1'''
计数器值在该范围内时移除该计数器,X=[0-127],最大值大于0且大于等于最小值时有效,默认'''0,-1'''


注意移除的只是计数器,承载计数器的AE不会消失。
注意移除的只是计数器,承载计数器的AE不会消失。


<nowiki>;</nowiki> 自动调整计数
<nowiki>;</nowiki> 自动调整计数


'''Counter.Reaction=(boolean)'''
'''Counter.Reaction=(boolean)'''
响应计数模式,NORMAL\HITPOINT\SHIELD,HITPOINT与SHIELD模式在收到伤害时,按照伤害数值扣除计数,SHIELD模式会抵扣伤害,默认'''NORMAL'''
响应计数模式,NORMAL\HITPOINT\SHIELD,HITPOINT与SHIELD模式在收到伤害时,按照伤害数值扣除计数,SHIELD模式会抵扣伤害,默认'''NORMAL'''


<nowiki>;</nowiki> 受伤计数模式细节设置
<nowiki>;</nowiki> 受伤计数模式细节设置


'''Counter.Reaction.Limit=(boolean)'''
'''Counter.Reaction.Limit=(boolean)'''
最高可保护的伤害值,超过的伤害不参与转换,默认'''-1'''
最高可保护的伤害值,超过的伤害不参与转换,默认'''-1'''


'''Counter.Reaction.Protect=(boolean)'''
'''Counter.Reaction.Protect=(boolean)'''
使用伤害的比例,Shield模式下剩余部分不会被抵扣,30%的比例下收到100伤害,使用30伤害进行计数结算,余下70伤害正常传递,默认'''100%'''
使用伤害的比例,Shield模式下剩余部分不会被抵扣,30%的比例下收到100伤害,使用30伤害进行计数结算,余下70伤害正常传递,默认'''100%'''


'''Counter.Reaction.Percent=(boolean)'''
'''Counter.Reaction.Percent=(boolean)'''
使用的伤害数值转换为计数的比例,优先扣除计数,Shield模式下若计数不足抵扣,剩余伤害会照常反馈。比如写10%就是受100伤扣10计数器。,默认'''100%'''
使用的伤害数值转换为计数的比例,优先扣除计数,Shield模式下若计数不足抵扣,剩余伤害会照常反馈。比如写10%就是受100伤扣10计数器。,默认'''100%'''


'''Counter.Reaction.OnlyReactionWarheads=(boolean)'''
'''Counter.Reaction.OnlyReactionWarheads=(boolean)'''
只对这些弹头进行响应,默认'''none'''
只对这些弹头进行响应,默认'''none'''


'''Counter.Reaction.NotReactionWarheads=(boolean)'''
'''Counter.Reaction.NotReactionWarheads=(boolean)'''
不对这些弹头进行响应,默认'''none'''
不对这些弹头进行响应,默认'''none'''


== [AttachEffectType] ==
== [AttachEffectType] ==
<nowiki>;</nowiki> 模块:计数触发器 —— 与计数器分离的单独触发器,在执行时检查监视的计数器值,满足条件时触发效果
<nowiki>;</nowiki> 模块:计数触发器 —— 与计数器分离的单独触发器,在执行时检查监视的计数器值,满足条件时触发效果


'''CountTrigger.Watch=(boolean)'''
'''CountTrigger.Watch=(boolean)'''
待监视的计数器组名称,默认'''Counter1'''
待监视的计数器组名称,默认'''Counter1'''


<nowiki>;</nowiki> 触发条件,X=[0-127],触发可有多个,按ID顺序执行
<nowiki>;</nowiki> 触发条件,X=[0-127],触发可有多个,按ID顺序执行


'''CountTriggerX.Range=(boolean)'''
'''CountTriggerX.Range=(boolean)'''
监视计数器在[0, 100]时触发,最大值小于最小值时表示无条件触发,默认'''0,100'''
监视计数器在[0, 100]时触发,最大值小于最小值时表示无条件触发,默认'''0,100'''


'''CountTriggerX.TriggeredTimes=(boolean)'''
'''CountTriggerX.TriggeredTimes=(boolean)'''
X单独统计触发次数,触发多少次后移除自身,若存在多个触发器,后续的触发将停止执行,默认'''-1'''
X单独统计触发次数,触发多少次后移除自身,若存在多个触发器,后续的触发将停止执行,默认'''-1'''




<nowiki>;</nowiki> 操作计数,操作计数会影响后续执行的触发器检查条件,但不影响本次触发执行
<nowiki>;</nowiki> 操作计数,操作计数会影响后续执行的触发器检查条件,但不影响本次触发执行


'''CountTriggerX.Num=(boolean)'''
'''CountTriggerX.Num=(boolean)'''
操作的计数,可以用特殊值HP、MAXHP读取当前单位的血量作为计数,对于抛射体,HP即抛射体的威力,默认'''0'''
操作的计数,可以用特殊值HP、MAXHP读取当前单位的血量作为计数,对于抛射体,HP即抛射体的威力,默认'''0'''


'''CountTriggerX.NumFrom=(boolean)'''
'''CountTriggerX.NumFrom=(boolean)'''
当Num使用特殊值时,ME\SOURCE\COUNTERSOURCE,自身、自身来源、计数器来源,默认'''ME'''
当Num使用特殊值时,ME\SOURCE\COUNTERSOURCE,自身、自身来源、计数器来源,默认'''ME'''


'''CountTriggerX.Action=(boolean)'''
'''CountTriggerX.Action=(boolean)'''
计数器的操作,ADD=增加,INIT=设置,SUB=减少,MUL=倍数,默认'''ADD'''
计数器的操作,ADD=增加,INIT=设置,SUB=减少,MUL=倍数,默认'''ADD'''


'''CountTriggerX.ResetNum=(boolean)'''
'''CountTriggerX.ResetNum=(boolean)'''
重置计数器为计数器初始值Num,默认'''no'''
重置计数器为计数器初始值Num,默认'''no'''


'''CountTriggerX.RemoveCounter=(boolean)'''
'''CountTriggerX.RemoveCounter=(boolean)'''
移除计数器,若存在多个触发器,后续的触发将停止执行,默认'''no'''
移除计数器,若存在多个触发器,后续的触发将停止执行,默认'''no'''




<nowiki>;</nowiki> 赋予效果
<nowiki>;</nowiki> 赋予效果


'''CountTriggerX.AttachEffects=(boolean)'''
'''CountTriggerX.AttachEffects=(boolean)'''
触发后赋予的新AE,默认'''AE1,AE2'''
触发后赋予的新AE,默认'''AE1,AE2'''


'''CountTriggerX.AttachChances=(boolean)'''
'''CountTriggerX.AttachChances=(boolean)'''
附加效果的成功率,默认'''100%,100%'''
附加效果的成功率,默认'''100%,100%'''


'''CountTriggerX.AttachTo=(boolean)'''
'''CountTriggerX.AttachTo=(boolean)'''
触发后向谁附加AE,ME\SOURCE\COUNTERSOURCE,默认'''ME'''
触发后向谁附加AE,ME\SOURCE\COUNTERSOURCE,默认'''ME'''


'''CountTriggerX.AttachFrom=(boolean)'''
'''CountTriggerX.AttachFrom=(boolean)'''
附加效果的来源设置,ME\SOURCE\COUNTERSOURCE,默认'''SOURCE'''
附加效果的来源设置,ME\SOURCE\COUNTERSOURCE,默认'''SOURCE'''


'''CountTriggerX.RemoveEffects=(boolean)'''
'''CountTriggerX.RemoveEffects=(boolean)'''
触发后移除的AE,默认'''AE1,AE2'''
触发后移除的AE,默认'''AE1,AE2'''


'''CountTriggerX.RemoveEffectsLevel=(boolean)'''
'''CountTriggerX.RemoveEffectsLevel=(boolean)'''
触发后移除的AE对应的层数,默认'''0,0'''
触发后移除的AE对应的层数,默认'''0,0'''


'''CountTriggerX.RemoveEffectsWithMarks=(boolean)'''
'''CountTriggerX.RemoveEffectsWithMarks=(boolean)'''
触发后移除带这些标记的AE,默认'''none'''
触发后移除带这些标记的AE,默认'''none'''


'''CountTriggerX.RemoveEffectsSkipNext=(boolean)'''
'''CountTriggerX.RemoveEffectsSkipNext=(boolean)'''
触发后移除的AE将跳过Next,默认'''no'''
触发后移除的AE将跳过Next,默认'''no'''


'''CountTriggerX.RemoveWho=(boolean)'''
'''CountTriggerX.RemoveWho=(boolean)'''
触发后移除谁身上的AE,ME\SOURCE\COUNTERSOURCE,默认'''ME'''
触发后移除谁身上的AE,ME\SOURCE\COUNTERSOURCE,默认'''ME'''

2026年2月2日 (一) 22:59的版本

特性&注意事项

  • 真正的计数器(以及计数器触发器)。计数器和计数触发器分开摆放,具有非常高的灵活性。计数器是AE的一种效果器。一个AE上写了Counter.Mark后,在单位获得这个AE时,单位也就得到计数器。这个AE被移除时,计数器也移除。
  • 用Counter初始化计数器,CountTrigger(注意不是Count ER Trigger,没有ER)进行计数器变更。根据初始化Num和计数器模式,可以直接实现护盾(第二血条),并拥有极其多的扩展效果,并可以接入AE系统。
  • 附着计数器(以及触发器)的单位知道自己身上计数器的来源、触发器的来源,原生支持3个对象的互动,比复仇不知高到哪里去了。
  • 可以拿来做许许多多奇奇怪怪的效果。比如用计数器模拟AMMO或MP,武器设为无伤害无视觉效果。在攻击时,给自己反馈计数器触发器,判定计数器数值是否位于可释放技能或开火的区间,如是,将计数器减少一次释放或攻击的COST值,触发自动武器,攻击同目标或贴上其他AE。回复则是贴上一个无条件触发的触发器即可。 以后或许会将自然衰减作为计数器的固有特性。
  • 单位获得复仇,每次受击时,使用Stack反向器令单位获得来自攻击者的持续性无限触发Stack。经过初始延迟后,使用计数触发器将计数器补满,每次补充,令单位获得持续性Stack检测的信号AE,每触发一次激发一次自动武器
    计数并转换的实现方法:初始化计数器后,每有一些操作,如SHIELD模式下受击,或Feedback给自己贴CountTrigger变更计数器,将计数器减少,记录结束后,在0-初始值的触发条件下内无限次执行CountTrigger把计数器补回去,同时每触发一次Trigger就触发一次额外效果,比如加血,发射武器之类的。
护盾模式计数器,在经过初始延迟后,一个计数触发器将计数器补回初始值,每触发一次获得一次伤害

[AttachEffectType]

Counter.Mark=(boolean)

计数器组名称,默认Counter1


Counter.Num=(boolean)

赋予时的计数值,可以用特殊值HP、MAXHP读取当前单位的血量作为计数,对于抛射体,HP即抛射体的威力,默认0


Counter.NumFromSource=(boolean)

当Num使用特殊值时,优先读取来源,默认no


Counter.Min=(boolean)

计数器的最小值,默认0


Counter.Max=(boolean)

计数器的最大值,-1表示不限制,默认-1


Counter.Action=(boolean)

计数器的操作,ADD=增加,INIT=设置,SUB=减少,MUL=倍数,如有同组计数器,后贴的计数器做运算对象。,默认ADD


Counter.AttachIfNotFound=(boolean)

如果没找到这个计数器时,Action设置为:ADD或INIT,可获得一个计数器;SUB或MUL,仅为计算,不会赋予,视为无效AE,默认yes


CounterX.RemoveWhenNum=(boolean)

计数器值在该范围内时移除该计数器,X=[0-127],最大值大于0且大于等于最小值时有效,默认0,-1


注意移除的只是计数器,承载计数器的AE不会消失。

; 自动调整计数


Counter.Reaction=(boolean)

响应计数模式,NORMAL\HITPOINT\SHIELD,HITPOINT与SHIELD模式在收到伤害时,按照伤害数值扣除计数,SHIELD模式会抵扣伤害,默认NORMAL


; 受伤计数模式细节设置


Counter.Reaction.Limit=(boolean)

最高可保护的伤害值,超过的伤害不参与转换,默认-1


Counter.Reaction.Protect=(boolean)

使用伤害的比例,Shield模式下剩余部分不会被抵扣,30%的比例下收到100伤害,使用30伤害进行计数结算,余下70伤害正常传递,默认100%


Counter.Reaction.Percent=(boolean)

使用的伤害数值转换为计数的比例,优先扣除计数,Shield模式下若计数不足抵扣,剩余伤害会照常反馈。比如写10%就是受100伤扣10计数器。,默认100%


Counter.Reaction.OnlyReactionWarheads=(boolean)

只对这些弹头进行响应,默认none


Counter.Reaction.NotReactionWarheads=(boolean)

不对这些弹头进行响应,默认none


[AttachEffectType]

; 模块:计数触发器 —— 与计数器分离的单独触发器,在执行时检查监视的计数器值,满足条件时触发效果


CountTrigger.Watch=(boolean)

待监视的计数器组名称,默认Counter1


; 触发条件,X=[0-127],触发可有多个,按ID顺序执行


CountTriggerX.Range=(boolean)

监视计数器在[0, 100]时触发,最大值小于最小值时表示无条件触发,默认0,100


CountTriggerX.TriggeredTimes=(boolean)

X单独统计触发次数,触发多少次后移除自身,若存在多个触发器,后续的触发将停止执行,默认-1


; 操作计数,操作计数会影响后续执行的触发器检查条件,但不影响本次触发执行


CountTriggerX.Num=(boolean)

操作的计数,可以用特殊值HP、MAXHP读取当前单位的血量作为计数,对于抛射体,HP即抛射体的威力,默认0


CountTriggerX.NumFrom=(boolean)

当Num使用特殊值时,ME\SOURCE\COUNTERSOURCE,自身、自身来源、计数器来源,默认ME


CountTriggerX.Action=(boolean)

计数器的操作,ADD=增加,INIT=设置,SUB=减少,MUL=倍数,默认ADD


CountTriggerX.ResetNum=(boolean)

重置计数器为计数器初始值Num,默认no


CountTriggerX.RemoveCounter=(boolean)

移除计数器,若存在多个触发器,后续的触发将停止执行,默认no


; 赋予效果


CountTriggerX.AttachEffects=(boolean)

触发后赋予的新AE,默认AE1,AE2


CountTriggerX.AttachChances=(boolean)

附加效果的成功率,默认100%,100%


CountTriggerX.AttachTo=(boolean)

触发后向谁附加AE,ME\SOURCE\COUNTERSOURCE,默认ME


CountTriggerX.AttachFrom=(boolean)

附加效果的来源设置,ME\SOURCE\COUNTERSOURCE,默认SOURCE


CountTriggerX.RemoveEffects=(boolean)

触发后移除的AE,默认AE1,AE2


CountTriggerX.RemoveEffectsLevel=(boolean)

触发后移除的AE对应的层数,默认0,0


CountTriggerX.RemoveEffectsWithMarks=(boolean)

触发后移除带这些标记的AE,默认none


CountTriggerX.RemoveEffectsSkipNext=(boolean)

触发后移除的AE将跳过Next,默认no


CountTriggerX.RemoveWho=(boolean)

触发后移除谁身上的AE,ME\SOURCE\COUNTERSOURCE,默认ME