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

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

来自RA2DIY
Kenosis留言 | 贡献
创建页面,内容为“特性&注意事项”
 
Kenosis留言 | 贡献
无编辑摘要
第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 ER Trigger,没有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