Kratos:说明书/自动武器:修订间差异
无编辑摘要 |
|||
| 第166行: | 第166行: | ||
'''A'''对'''B'''发射弹头,弹头上有'''AttachToSource''',贴'''自动武器1''','''ReceiverAttack'''为'''yes''','''ReceiverOwnBullet'''为'''no,自动武器1'''贴'''自动武器2''','''ReceiverAttack'''为'''yes''','''ReceiverOwnBullet'''为'''no''',那'''自动武器2'''是'''谁打谁'''? | '''A'''对'''B'''发射弹头,弹头上有'''AttachToSource''',贴'''自动武器1''','''ReceiverAttack'''为'''yes''','''ReceiverOwnBullet'''为'''no,自动武器1'''贴'''自动武器2''','''ReceiverAttack'''为'''yes''','''ReceiverOwnBullet'''为'''no''',那'''自动武器2'''是'''谁打谁'''? | ||
[https://bbs.ra2diy.com/forum.php?mod=viewthread&tid=25517 答案参考] | |||
2025年3月23日 (日) 15:19的版本
[AttachEffectType]
自动的使用武器攻击一个指定的位置,如附着对象A地板或由AE的来源对象发射武器到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.DeactiveWhenCivilian=(Boolean)
启用时,当所属是平民时,或者被狙掉了驾驶员,不会激活效果,默认no
攻击者标记专属设置
AutoWeapon.IsAttackerMark=(Boolean)
A给B挂上此模块后,是否自动从B身上向A不断发射指定武器,默认no
为yes时,AutoWeapon.TargetFLH设置无效,且下一条有效
AutoWeapon.ReceiverAttack=(Boolean)
是否反转上一条,即A给B挂上此效果后,是否自动从A身上向B不断发射指定武器,默认yes
AutoWeapon.ReceiverOwnBullet=(Boolean)
不写此标签时,武器来源默认跟随武器发射者
写此标签时,有以下情况:
默认情况(即不使用武器标记相关标签)和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是谁打谁?