Kratos:说明书/计数器及触发器:修订间差异
小无编辑摘要 |
Yuchen2010(留言 | 贡献) 小无编辑摘要 |
||
| (未显示3个用户的3个中间版本) | |||
| 第13行: | 第13行: | ||
计数器组名称,默认'''Counter1''' | 计数器组名称,默认'''Counter1''' | ||
| 第28行: | 第29行: | ||
当Num使用特殊值时,优先读取来源,'''默认no''' | 当Num使用特殊值时,优先读取来源,'''默认no''' | ||
| 第33行: | 第35行: | ||
计数器的最小值,'''默认0''' | 计数器的最小值,'''默认0''' | ||
| 第38行: | 第41行: | ||
计数器的最大值,-1表示不限制,'''默认-1''' | 计数器的最大值,-1表示不限制,'''默认-1''' | ||
| 第59行: | 第63行: | ||
'''Counter.Action=SUB/MUL:仅为计算,不会赋予,视作无效AE''' | '''Counter.Action=SUB/MUL:仅为计算,不会赋予,视作无效AE''' | ||
| 第68行: | 第73行: | ||
'''<big>自动调整计数模式</big>''' | '''<big>自动调整计数模式</big>''' | ||
| 第80行: | 第86行: | ||
'''HITPOINT:自动记录受到的最终伤害,并按下列标签额外设置扣除相应数值。''' | '''HITPOINT:自动记录受到的最终伤害,并按下列标签额外设置扣除相应数值。''' | ||
'''SHIELD:同HITPOINT,但是计数器存在时本体不会受伤,直到计数器消失 | '''SHIELD:同HITPOINT,但是计数器存在时本体不会受伤,直到计数器消失。就是护盾。计数器数值就是护盾的血量。''' | ||
'''Counter.Reaction.Limit=(boolean)''' | '''Counter.Reaction.Limit=(boolean)''' | ||
| 第113行: | 第115行: | ||
SHIELD:'''单位受到'''100*(1-30%)='''70伤害''','''Counter'''减去100*30%*50%=15后'''变成285''' | SHIELD:'''单位受到'''100*(1-30%)='''70伤害''','''Counter'''减去100*30%*50%=15后'''变成285''' | ||
| 第132行: | 第135行: | ||
待监视的计数器组名称,'''默认None''' | 待监视的计数器组名称,'''默认None''' | ||
'''<big>触发条件,X=[0-127],触发可有多个,按ID顺序执行</big>''' | '''<big>触发条件,X=[0-127],触发可有多个,按ID顺序执行</big>''' | ||
| 第140行: | 第145行: | ||
监视计数器在[0, 100]时触发,最大值小于最小值时表示无条件触发,'''默认0,-1''' | 监视计数器在[0, 100]时触发,最大值小于最小值时表示无条件触发,'''默认0,-1''' | ||
| 第155行: | 第161行: | ||
'''<big | |||
'''<big>操作计数</big>''' | |||
'''操作计数会影响后续执行的触发器检查条件,但不影响本次触发执行''' | '''操作计数会影响后续执行的触发器检查条件,但不影响本次触发执行''' | ||
以下'''X=[0-127]''' | 以下'''X=[0-127]''' | ||
| 第177行: | 第185行: | ||
计数器的操作,ADD=增加,INIT=设置,SUB=减少,MUL=倍数,'''默认ADD''' | 计数器的操作,ADD=增加,INIT=设置,SUB=减少,MUL=倍数,'''默认ADD''' | ||
| 第194行: | 第203行: | ||
'''<big>赋予效果</big>''' | '''<big>赋予效果</big>''' | ||
'''CountTriggerX.AttachEffects=(List of AttachEffectTypes)''' | '''CountTriggerX.AttachEffects=(List of AttachEffectTypes)''' | ||
| 第247行: | 第253行: | ||
触发后移除谁身上的AE,ME\SOURCE\COUNTERSOURCE,默认'''ME''' | 触发后移除谁身上的AE,ME\SOURCE\COUNTERSOURCE,默认'''ME''' | ||
== [WarheadType] == | |||
'''IgnoreCounterReaction=(Boolean)''' | |||
不触发计数器响应弹头,'''默认no''' | |||
2026年3月15日 (日) 10:31的最新版本
特性&注意事项
- 真正的计数器(以及计数器触发器)。计数器和计数触发器分开摆放,具有非常高的灵活性。计数器是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,每触发一次激发一次自动武器

计数器
Counter.Mark=(Special)
计数器组名称,默认Counter1
Counter.Num=(Int or Special)
赋予时的计数值,默认0
Int:指定的数值
HP:被下个标签指定的目标当前血量
MAXHP:被下个标签指定的目标最大血量
Counter.NumFromSource=(boolean)
当Num使用特殊值时,优先读取来源,默认no
Counter.Min=(Int)
计数器的最小值,默认0
Counter.Max=(Int)
计数器的最大值,-1表示不限制,默认-1
Counter.Action=(Special)
计数器的操作,如有同组计数器,后贴的计数器做运算对象。默认ADD
ADD:在原Counter当前值的基础上增加Counter.Num指定的值
INIT:调整原Counter当前值上设置为Counter.Num指定的值
SUB:在原Counter当前值的基础上减少Counter.Num指定的值
MUL:在原Counter当前值的基础上乘以Counter.Num指定的值
Counter.AttachIfNotFound=(boolean)
此Counter是否只能在目标身上存在有同组计数器时,才能被附加并作为运算对象。
Counter.Action=ADD/INIT:作为新的计数器赋予
Counter.Action=SUB/MUL:仅为计算,不会赋予,视作无效AE
CounterX.RemoveWhenNum=(Int),(Int)
计数器值在该范围内时移除该计数器,最大值大于0且大于等于最小值时有效,默认0,-1 X可取0-127
注意移除的只是计数器,承载计数器的AE不会消失。
自动调整计数模式
Counter.Reaction=(Special)
响应计数模式,默认NORMAL
NORMAL:常规计数器算法,只受CountTrigger影响
HITPOINT:自动记录受到的最终伤害,并按下列标签额外设置扣除相应数值。
SHIELD:同HITPOINT,但是计数器存在时本体不会受伤,直到计数器消失。就是护盾。计数器数值就是护盾的血量。
Counter.Reaction.Limit=(boolean)
最高可保护的伤害值,超过的伤害不参与转换,默认-1
Counter.Reaction.Protect=(boolean)
使用伤害的比例,默认100%
Shield模式下剩余部分不会被抵扣
Counter.Reaction.Percent=(boolean)
使用的伤害数值转换为计数的比例,优先扣除计数,默认100%
Shield模式下若计数不足抵扣,剩余伤害会照常反馈
例:
Counter.Num=300
Counter.Reaction.Protect=30%
Counter.Reaction.Percent=50%
HITPOINT:单位受到100伤害,Counter减去100*30%*50%=15后变成285
SHIELD:单位受到100*(1-30%)=70伤害,Counter减去100*30%*50%=15后变成285
弹头响应相关设置
Counter.Reaction.OnlyReactionWarheads=(boolean)
只对这些弹头进行响应,默认none
Counter.Reaction.NotReactionWarheads=(boolean)
不对这些弹头进行响应,默认none
计数触发器
与计数器分离的单独触发器,在执行时检查监视的计数器值,满足条件时触发效果
CountTrigger.Watch=(boolean)
待监视的计数器组名称,默认None
触发条件,X=[0-127],触发可有多个,按ID顺序执行
CountTriggerX.Range=(Int),(Int)
监视计数器在[0, 100]时触发,最大值小于最小值时表示无条件触发,默认0,-1
CountTriggerX.TriggeredTimes=(Int)
触发多少次后移除自身,默认-1
仅对X值对应的触发器相关标签有效
例如CountTrigger1.TriggeredTimes=1,那么CountTrigger1会在触发一次后移除,而不影响CountTrigger2,CountTrigger3等等
操作计数
操作计数会影响后续执行的触发器检查条件,但不影响本次触发执行
以下X=[0-127]
CountTriggerX.Num=(Int)
操作的计数,可以用特殊值HP、MAXHP读取当前单位的血量作为计数,对于抛射体,HP即抛射体的威力,默认0
CountTriggerX.NumFrom=(Special)
当Num使用特殊值时,ME\SOURCE\COUNTERSOURCE,自身、自身来源、计数器来源,默认ME
CountTriggerX.Action=(Special)
计数器的操作,ADD=增加,INIT=设置,SUB=减少,MUL=倍数,默认ADD
CountTriggerX.ResetNum=(boolean)
重置计数器为计数器初始值Num,默认no
CountTriggerX.RemoveCounter=(boolean)
移除计数器,若存在多个触发器,后续的触发将停止执行,默认no
赋予效果
CountTriggerX.AttachEffects=(List of AttachEffectTypes)
触发后赋予的新AE,默认AE1,AE2
CountTriggerX.AttachChances=(List of Precent)
附加效果的成功率,默认100%,100%
CountTriggerX.AttachTo=(Special)
触发后向谁附加AE,ME\SOURCE\COUNTERSOURCE,默认ME
CountTriggerX.AttachFrom=(Special)
附加效果的来源设置,ME\SOURCE\COUNTERSOURCE,默认SOURCE
CountTriggerX.RemoveEffects=(List of Precent)
触发后移除的AE,默认AE1,AE2
CountTriggerX.RemoveEffectsLevel=(List of Int)
触发后移除的AE对应的层数,默认0,0
CountTriggerX.RemoveEffectsWithMarks=(Special)
触发后移除带这些标记的AE,默认none
CountTriggerX.RemoveEffectsSkipNext=(boolean)
触发后移除的AE将跳过Next,默认no
CountTriggerX.RemoveWho=(Special)
触发后移除谁身上的AE,ME\SOURCE\COUNTERSOURCE,默认ME
[WarheadType]
IgnoreCounterReaction=(Boolean)
不触发计数器响应弹头,默认no