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

[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