Kratos:說明書/自動武器
[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)
A給B掛上此模塊後,是否自動從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相關
假設A給B掛上自動武器AE,B向C發射自動武器W,W來源默認是B
如果額外標註AutoWeapon.ReceiverOwnBullet=no時,W來源是A
- 也就是說,此時的表現路徑實質為:A給B掛上自動武器AE,B向C打來源為A的W
- 此時如果C因為嘲諷彈頭或AI自身判定,想去打揍他的人,那麼他就會去揍A
- 如果C被這個自動武器打死了,那麼獲得經驗和升星的是A
武器標記相關
假設A給B掛上自動武器標記,且自動發射的武器為W:
- AutoWeapon.IsAttackerMark=yes
- AutoWeapon.ReceiverAttack=yes
- AutoWeapon.ReceiverOwnBullet=yes
B向A射W,且 W來源為B
- AutoWeapon.IsAttackerMark=yes
- AutoWeapon.ReceiverAttack=yes
- AutoWeapon.ReceiverOwnBullet=no
B向A射W,且 W來源為A
- AutoWeapon.IsAttackerMark=yes
- AutoWeapon.ReceiverAttack=no
- AutoWeapon.ReceiverOwnBullet=yes
A向B射W,且 W來源為B
- AutoWeapon.IsAttackerMark=yes
- AutoWeapon.ReceiverAttack=no
- AutoWeapon.ReceiverOwnBullet=no
A向B射W,且 W來源為A
如果你使用了AttachToSource相關的邏輯,你需要明確「A給B掛」的步驟,即誰給誰掛
如果你搞懂了,可以來做個題練練手(省略全部."AutoWeapon"):
A對B發射彈頭,彈頭上有AttachToSource,貼自動武器1,ReceiverAttack為yes,ReceiverOwnBullet為no,自動武器1貼自動武器2,ReceiverAttack為yes,ReceiverOwnBullet為no,那自動武器2是誰打誰?