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

Kratos:說明書/計數器及觸發器

出自RA2DIY

特性&注意事項

  • 真正的計數器(以及計數器觸發器)。計數器和計數觸發器分開擺放,具有非常高的靈活性。計數器是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就觸發一次額外效果,比如加血,發射武器之類的。
護盾模式計數器,在經過初始延遲後,一個計數觸發器將計數器補回初始值,每觸發一次獲得一次傷害

計數器

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