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

Kratos:說明書/自動武器

出自RA2DIY

[AttachEffectType]

有三種類別:1.攻擊預設好的坐標 2.平時無法開火(但是仍然會消耗開火次數,如AutoWeapon.FireOnce在單位沒有目標時候也會直接結束。如果想要真開火一次後刪除本效果,需要寫一個疊層檢測),本AE附著對象鎖定目標後對目標發射 3.本AE的來源和附著對象之一朝對方發射武器。


AutoWeapon.WeaponIndex=(Integer)

自動發射單位自身的武器序號,如果賦予拋射體,此條無效,默認-1(不啟用)

0=Primary/Weapon1

1=Secondary/Weapon2

2=Weapon3

……

以此類推


優先級高於下一條

AutoWeapon.Types=(List of Weapon)

自動發射的武器,默認none

AutoWeapon.RandomTypesNum=(Integer)

隨機使用幾個武器,默認0

AutoWeapon.FireFLH=(Integer),(Integer),(Integer)

發射的FLH,默認0,0,0

AutoWeapon.TargetFLH=(Integer),(Integer),(Integer)

目標的FLH,默認0,0,0

AutoWeapon.MoveTo=(Integer),(Integer),(Integer)

如果設定,覆蓋TargetFLH等效TargetFLH = FireFLH + MoveTo默認0,0,0


AutoWeapon.EliteWeaponIndex=(Integer)

AutoWeapon.EliteTypes=(List of Weapon)

AutoWeapon.EliteRandomTypesNum=(Integer)

AutoWeapon.EliteFireFLH=(Integer),(Integer),(Integer)

AutoWeapon.EliteTargetFLH=(Integer),(Integer),(Integer)

AutoWeapon.EliteMoveTo=(Integer),(Integer),(Integer)

上述標籤的Elite版本,在被附加單位精英等級時調用


AutoWeapon.FireOnce=(Boolean)

武器在發射一次之後強制結束AE,默認no

AutoWeapon.FireToTarget=(Boolean)

如果設定,朝向附屬對象的目標開火,當附屬對象沒有目標時不開火,默認no

AutoWeapon.IsOnTarget=(Boolean)

如果附屬對象有目標,發射位置參考目標位置,方向是附屬對象面對目標的方向,默認no

AutoWeapon.IsOnTurret=(Boolean)

發射位置和目標位置參考炮塔方向,默認yes

AutoWeapon.IsOnWorld=(Boolean)

發射位置和目標位置以世界坐標做參考,固定朝向北方,不跟隨轉動,默認no

AutoWeapon.Powered=(Boolean)

建築需要電力才可以使用,默認no

AutoWeapon.AttackFromSpawnOwner=(Boolean)

啟用時,如果是由子機發射的武器,拋射體所屬變更為母雞,武器仍會從子機位置射出,子機為導彈類型時,建議設置為yes,否則得不到經驗,默認no

AutoWeapon.ReceiverOwnBullet=(Boolean)不寫此標籤時,武器來源默認跟隨武器發射者

AutoWeapon.DeactiveWhenCivilian=(Boolean)

啟用時,當所屬是平民時,或者被狙掉了駕駛員,不會激活效果,默認no

攻擊者標記專屬設置

AutoWeapon.IsAttackerMark=(Boolean)

AB掛上此模塊後,是否自動從B身上向A不斷發射指定武器,默認no

為yes時,AutoWeapon.TargetFLH設置無效,且下一條有效

AutoWeapon.ReceiverAttack=(Boolean)

是否反轉上一條,即A給B掛上此效果後,是否自動從A身上向B不斷發射指定武器,默認yes

可以用AutoWeapon.ReceiverOwnBullet控制拋射體的來源單位。

寫此標籤時,有以下情況:

默認情況(即不使用武器標記相關標籤)和AutoWeapon.ReceiverAttack=yes時:

AutoWeapon.ReceiverOwnBullet=yes,武器來源跟隨武器發射者

AutoWeapon.ReceiverOwnBullet=no,武器來源跟隨AttachEffectType來源

AutoWeapon.ReceiverAttack=no時:

AutoWeapon.ReceiverOwnBullet=yes,武器來源跟隨AttachEffectType來源

AutoWeapon.ReceiverOwnBullet=no,武器來源跟隨武器發射者

具體用法參考用法舉例武器標記部分

用法舉例

FireToTarget相關

假設AB掛上自動武器AE,BC發射自動武器W,W來源默認是B

如果額外標註AutoWeapon.ReceiverOwnBullet=no時,W來源是A

  • 也就是說,此時的表現路徑實質為:AB掛上自動武器AE,BC打來源為AW
  • 此時如果C因為嘲諷彈頭或AI自身判定,想去打揍他的人,那麼他就會去揍A
  • 如果C被這個自動武器打死了,那麼獲得經驗和升星的是A


武器標記相關

假設AB掛上自動武器標記,且自動發射的武器為W:

  • AutoWeapon.IsAttackerMark=yes
  • AutoWeapon.ReceiverAttack=yes
  • AutoWeapon.ReceiverOwnBullet=yes

BAW,且 W來源為B

  • AutoWeapon.IsAttackerMark=yes
  • AutoWeapon.ReceiverAttack=yes
  • AutoWeapon.ReceiverOwnBullet=no

BAW,且 W來源為A

  • AutoWeapon.IsAttackerMark=yes
  • AutoWeapon.ReceiverAttack=no
  • AutoWeapon.ReceiverOwnBullet=yes

ABW,且 W來源為B

  • AutoWeapon.IsAttackerMark=yes
  • AutoWeapon.ReceiverAttack=no
  • AutoWeapon.ReceiverOwnBullet=no

ABW,且 W來源為A

如果你使用了AttachToSource相關的邏輯,你需要明確「AB掛」的步驟,即誰給誰掛


如果你搞懂了,可以來做個題練練手(省略全部."AutoWeapon"):

AB發射彈頭,彈頭上有AttachToSource,貼自動武器1ReceiverAttackyesReceiverOwnBulletno,自動武器1自動武器2ReceiverAttackyesReceiverOwnBulletno,那自動武器2誰打誰

答案參考