Kratos:說明書/禮盒
這是個什麼東西
默認效果:一個對象獲得這個效果器後,立刻移除單位,並生成新的單位。舊的單位邏輯上等效於死亡。原單位稱為「禮物盒」,新單位稱為「禮物」。
可以配置繼承血量或血量數值、繼承或指派新任務、不移除舊單位、繼承原有AE(只能繼承附着在禮物盒上的AE。如果禮物盒曾經給其他單位添加過AE,那麼在禮物盒AE運行時,禮物盒單位會被移除,禮物單位無法成為其他單位身上已有AE的來源),獲得新AE等效果。
特性&注意項
- 狀態類效果,僅最後附上的生效
- 默認生成的禮物所屬跟隨禮物盒AE的來源。如需要打中敵人把敵人變形,但是不改變所屬,則禮物盒應有ReceiverOwn
- KratosPP下,當GiftBox.Remove=no時,GiftBox.AttachEffects賦予給禮物的AE默認來源是禮物盒。如果你不想在禮盒和禮物盒之間建立綁定,讓禮物刷出來時持有的AE來源是自己,則用禮物盒添加的AE應有ReceiverOwn=yes
- 如果GiftBox.Remove=no,且GiftBox有Duration,則Duration中每一幀都會生成一次。如果不寫Duration,則會一直生成(AttachOnceInTechnoType=yes也會一直生成)。如果Duration=1,則無法生成。解法是Duration=1,InitialDelay=1。但是如果多個單位同時給自己反饋Duration=1的禮盒,就會因為時序出錯導致部分單位貼不上。只是變身的話就別在禮盒上寫持續時間了。如果你都用Remove=no了,說明你要普通地刷兵,那就用Host系列效果器。另外,如果給禮盒寫了Duration=1,同時又Remove=yes,生成的單位有一定概率丟失原來的目標。
- 拋射體也可以貼禮物盒。如果加入GiftBox.OpenWhenDestroyed=yes,則會產生常規意義的刷兵效果。如果不加,則是攻擊後立刻從炮口生成,這樣生成的禮物單位會繼承原單位的攻擊目標,且刷出來時如果發射武器的單位被選中,則禮物也被玩家選中。刷出來的單位持有Guard任務,有目標但不會走近攻擊,只有射程內的會攻擊。如果需要讓單位走過去,需要另外寫AE讓開出來的禮盒單位Mission改為Attack或Move,不能使用GiftBox.ForceMission,會掐斷GiftBox.InheritTarget的效果
- 不要用在建築上。將一個建築禮盒變成另一個建築時,會將建築的實際foundation變成1x1。
- GiftBox.InheritAE=yes時,相應的AE上必須有Inheritable=yes 以及DiscardOnTransform=no,否則相關AE會在效果器執行後被刪除。如果一個單位禮盒變成另一個單位
[TechnoType]&[AttachEffectType]
GiftBox.Types=(List of TechnoType)
禮物,默認none
GiftBox.Nums=(List of Integer)
數量,默認1,1
GiftBox.Chances=(List of Float/Integer - Precent)
抽中的概率,當決定要刷出這個類型時,可以刷出來的概率,每個類型單獨計算概率,不寫為100%,默認1.0,1.0
GiftBox.Delay=(Integer)
多久後開盒,默認0
GiftBox.RandomDelay=(Integer),(Integer)
隨機延遲,默認0,300
GiftBox.RandomType=(Boolean)
隨機從列表中選取類型,並釋放等於Nums列表中數值總和的禮物數量,默認no
GiftBox.RandomWeights=(Integer)
隨機從列表中選區類型,對應列表中每個類型的權重值,數字越大概率越高,默認1
GiftBox.EliteTypes=(List of TechnoType)
GiftBox.EliteNums=(List of Integer)
GiftBox.EliteChances=(List of Float/Integer - Precent)
GiftBox.EliteDelay=(Integer)
GiftBox.EliteRandomDelay=(Integer),(Integer)
GiftBox.EliteRandomType=(Boolean)
GiftBox.EliteRandomWeights=(Integer)
上列標籤的Elite版本
GiftBox.Remove=(Boolean)
開盒後刪除盒子,默認yes
GiftBox.Explodes=(Boolean)
刪除盒子後會不會引起爆炸,觸發死亡武器,默認no
GiftBox.RealCoords=(Boolean)
禮物釋放在單位的實際位置,否則為邏輯中心,影響建築,默認no
如果試圖用GiftBox變建築,必須為yes。並且為了避免詭異的抽風,需要多走一步1x1建築跳轉。如NAWEAP->YAWEAP, 需要寫NAWEAP->GAPILL->YAWEAP才能正常。
GiftBox.RandomRange=(Integer)
禮物刷在附近隨機範圍內,單位格,默認0
GiftBox.RandomToEmptyCell=(Boolean)
禮物只在空地上刷,沒有空地就刷在原地,默認no
GiftBox.OpenWhenDestroyed=(Boolean)
禮盒單位被摧毀時釋放禮物,yes時僅在被摧毀時釋放,延遲等設置無效,默認no
GiftBox.OpenWhenHealthPercent=(Integer - Precent)
指定收到傷害後,剩餘血量低於這個值時釋放,0-1,0%和100%都不會啟用這個設置,如果傷害很大直接擊殺不會釋放,默認100%
GiftBox.OnlyOpenWhenMarks=(List of MarkType)
帶有這些標記的時候才可以開盒,默認none
特殊設定-單位轉換
GiftBox.IsTransform=(Boolean)
是否使用單位轉換機制,默認no
啟用後,禮盒將會強制刪除,並不會發生爆炸,調整繼承選項的默認值
GiftBox.HealthPercent=(Integer - Precent)
指定禮物的血量百分比,0-1,0或者0%,按照原單位血量百分比進行轉換,默認100%
GiftBox.HealthNumber=(Integer)
直接指定禮物的血量數字,低於1,不使用,默認0
GiftBox.InheritHealthNumber=(Boolean)
指定禮物是否繼承原單位的血量數字,非按比例轉換,默認no
GiftBox.InheritTarget=(Boolean)
指定禮物是否繼承原單位的目標,變身時默認yes,默認no。
如果GiftBox.Remove寫了yes,則有一定概率丟失目標!
所以得寫Remove為no,Next出一個DestroySelf來實現這一套。
GiftBox.InheritExp=(Boolean)
如果可以升級則繼承等級,變身時默認yes,默認no
; GiftBox.InheritPassenger=(Boolean)
如果有乘客艙位則轉移乘客,變身時默認yes,默認no
GiftBox.InheritROF=(Boolean)
繼承ROF計時器,變身時默認yes,默認no
GiftBox.InheritAmmo=(Boolean)
如果有彈藥則繼承彈藥,沒有彈藥生成有彈藥,彈藥箱清空,變身時默認yes,默認no
GiftBox.InheritAE=(Boolean)
當禮盒被摧毀,第一個禮物繼承禮盒的AE,禮盒自身不會繼承,變身時默認yes,默認no
AE掛載相關
GiftBox.RemoveEffects=(List of AttachEffectType)
移除禮物繼承的AE,默認none
GiftBox.AttachEffects=(List of AttachEffectType)
給禮物附加AE,默認none
GiftBox.AttachChances=(List of Float/Integer - Precent)
附加效果的成功率,每個禮物單獨計算,默認100%,100%
GiftBox.ForceMission=(MissionType)
強制設置禮物的任務,默認None
[AttachEffectType]
GiftBox.AffectWho=(Speical)
作用於誰,ALL\MASTER\STAND,默認MASTER