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

Kratos:说明书/移动器:修订间差异

来自RA2DIY
Kenosis留言 | 贡献
创建页面,内容为“Vector (向量)是纯移动效果器,Duration 期间强制修改附着对象坐标。 适用于 Projectile、Aircraft、Jumpjet Vehicle、Infantry 等。 BuildingTypes 永久免疫。 所有标签写在 [AttachEffectSection] 下,前缀为 Vector. Vector 将"位移"抽象为 5 种独立模式,每个 AE 同时只激活一种, 按优先级匹配:Freeze > Circle > MoveTo > ReachTarget > Speed 核心设计: 1. 硬控制 Force=yes 时,Vector…”
 
Kenosis留言 | 贡献
Vector格式调整
第1行: 第1行:
Vector (向量)是纯移动效果器,Duration 期间强制修改附着对象坐标。
Vector (向量)是纯移动效果器,Duration 期间强制修改附着对象坐标。
适用于 Projectile、Aircraft、Jumpjet Vehicle、Infantry 等。
适用于 Projectile、Aircraft、Jumpjet Vehicle、Infantry 等。
BuildingTypes 永久免疫。
BuildingTypes 永久免疫。
第5行: 第6行:
所有标签写在 [AttachEffectSection] 下,前缀为 Vector.
所有标签写在 [AttachEffectSection] 下,前缀为 Vector.


Vector 将"位移"抽象为 5 种独立模式,每个 AE 同时只激活一种


Vector 将"位移"抽象为 5 种独立模式,每个 AE 同时只激活一种,
按优先级匹配:Freeze > Circle > MoveTo > ReachTarget > Speed
按优先级匹配:Freeze > Circle > MoveTo > ReachTarget > Speed


核心设计:
=== '''核心设计:''' ===
 
1. 硬控制
1. 硬控制
   Force=yes 时,Vector 暴力设定坐标挪移,
   Force=yes 时,Vector 暴力设定坐标挪移,
第28行: 第28行:
   通过 Next= 标签串联多个 AE 实现多阶段运动脚本
   通过 Next= 标签串联多个 AE 实现多阶段运动脚本


============================================================
=== 通用标签 ===
模式优先级
============================================================
Freeze > Circle > MoveTo > ReachTarget > Speed
 
============================================================
通用标签
============================================================
 
Vector.TimeStep=N
Vector.TimeStep=N
   运动颗粒度。每 N 帧执行一次位移。
   运动颗粒度。每 N 帧执行一次位移。
第59行: 第51行:


Vector.Force=yes/no
Vector.Force=yes/no
   yes = 彻底跳过引擎轨迹计算,Vector 直接 SetLocation 控制位置。
   yes = 彻底跳过引擎轨迹计算,Vector 直接 SetLocation 控制位置。默认Yes
   no  = 引擎轨迹正常计算,但 Vector 仍施加 MoveDisp 偏移。用No的话表现模式非常奇妙,不太可控。
   no  = 引擎轨迹正常计算,但 Vector 仍施加 MoveDisp 偏移。用No的话表现模式非常奇妙,不太可控。


第67行: 第59行:
   默认 no。
   默认 no。


============================================================
=== Circle 模式(圆周运动) ===
Circle 模式(圆周运动)
============================================================
圆心 = Origin。半径/线速/角速三选二,未设的一项自动推算。
圆心 = Origin。半径/线速/角速三选二,未设的一项自动推算。
半径每帧动态计算,支持增长、收缩和边界结束。
半径每帧动态计算,支持增长、收缩和边界结束。


--- 基础参数 ---
基础参数  


Vector.CircleRadius=N
Vector.CircleRadius=N
第89行: 第79行:
   默认 0。
   默认 0。


--- 随机初始值 ---
随机初始值


Vector.CircleRandomRadius=Min,Max
Vector.CircleRandomRadius=Min,Max
第99行: 第89行:
   默认空(不随机)。
   默认空(不随机)。


--- 半径动态 ---
半径动态


Vector.CircleRadiusGrow=N
Vector.CircleRadiusGrow=N
第121行: 第111行:
   默认 no。
   默认 no。


--- 速度动态 ---
速度动态


Vector.CircleSpeedAcceleration=N
Vector.CircleSpeedAcceleration=N
第135行: 第125行:
   默认 0。
   默认 0。


--- 角速度动态 ---
角速度动态


Vector.CircleAngleAcceleration=N
Vector.CircleAngleAcceleration=N
第149行: 第139行:
   默认 0。
   默认 0。


============================================================
=== MoveTo 模式(FLH 强制位移) ===
MoveTo 模式(FLH 强制位移)
每帧在自身 FLH 坐标系下施加固定位移向量。
============================================================
每帧在自身 FLH 坐标系下施加固定位移向量。自动 Force=yes


Vector.MoveTo=F,L,H
Vector.MoveTo=F,L,H
第169行: 第157行:
   默认 0。
   默认 0。


--- 示例 ---
=== Speed / ReachTarget 模式 ===
 
[直线左偏移]
Duration=200
Vector.MoveTo=0,100,0
 
[自旋画圆]
Duration=400
Vector.MoveTo=0,100,0
Vector.AnglePerStep=5
 
[呼吸效果]
Duration=200
Vector.MoveTo=100,100,100
Vector.GrowRate=-1,-1,-1
 
============================================================
Speed / ReachTarget 模式
============================================================
以 Origin + TargetFLH 定义世界坐标目标点,从当前位置追踪。
以 Origin + TargetFLH 定义世界坐标目标点,从当前位置追踪。


--- 目标点 ---
目标点


Vector.TargetFLH=F,L,H
Vector.TargetFLH=F,L,H
第197行: 第167行:


Vector.TargetOffsetF=Min,Max
Vector.TargetOffsetF=Min,Max
Vector.TargetOffsetL=Min,Max
Vector.TargetOffsetL=Min,Max
Vector.TargetOffsetH=Min,Max
Vector.TargetOffsetH=Min,Max
   目标随机偏移范围。获得 AE 时随机一次,之后固定。
   目标随机偏移范围。获得 AE 时随机一次,之后固定。
   默认 0,0。
   默认 0,0。
--- ReachTarget(到达) ---


Vector.ReachTarget=yes/no
Vector.ReachTarget=yes/no
第216行: 第186行:
   默认 0。
   默认 0。


有这玩意就可以把你的Arcing抛射体全刨了
<s>'''有这玩意就可以把你的Arcing抛射体全刨了'''</s>


--- Speed(恒速/加速) ---
Speed(恒速/加速)


Vector.InitialSpeed=N
Vector.InitialSpeed=N
第239行: 第209行:
   最小速度钳位。-1 = 不限。
   最小速度钳位。-1 = 不限。
   默认 -1。
   默认 -1。
--- 坠落 ---


Vector.AllowFallingDestroy=yes/no
Vector.AllowFallingDestroy=yes/no
第253行: 第221行:
   默认使用高度差。
   默认使用高度差。


 
=== 参考系 ===
============================================================
Origin 参考系详细说明
============================================================
 
四种 Origin 的实现机制:
四种 Origin 的实现机制:


FLH(默认)
FLH(默认)
  F 轴 = 抛射体自身 Velocity 方向(Techno 用 TurretFacing)
Vector.OriginFLH=F,L,H  手动指定参考点坐标
 
F 轴 = 抛射体自身 Velocity 方向(Techno 用 TurretFacing)
   L 轴 = F 轴逆时针 90°
   L 轴 = F 轴逆时针 90°
   原点 = 抛射体坐标 + OriginFLH 偏移(OnStart 时锁定快照)
   原点 = 抛射体坐标 + OriginFLH 偏移(OnStart 时锁定快照)
         非 NoUpdate 时原点 = 抛射体当前坐标 + OriginFLH 偏移
         非 NoUpdate 时原点 = 抛射体当前坐标 + OriginFLH 偏移
  锁定于 OnStart 瞬间,不受武器 Target 变化影响。


Launcher
Launcher
   F 轴 = 发射者 TurretFacing(与 AutoWeapon.GetFLHAbsoluteCoords 一致)
   F 轴 = 发射者 TurretFacing
   L 轴 = F 轴逆时针 90°
   L 轴 = F 轴逆时针 90°
   原点 = 发射者坐标(每帧刷新,OriginNoUpdate=yes 则锁定 OnStart 瞬间位置)
   原点 = 发射者坐标(每帧刷新,OriginNoUpdate=yes 则锁定附着AE瞬间位置)
  注意:F 轴使用的是 TurretFacing,非 Launcher→抛射体连线。


Target
Target
   F 轴 = 目标 → 抛射体连线(atan2 实时计算)
   F 轴 = 目标 → 抛射体连线
   L 轴 = F 轴逆时针 90°
   L 轴 = F 轴逆时针 90°
   原点 = 目标坐标(优先 pBullet->Target,次选 Owner->Target)
   原点 = 目标坐标
         每帧刷新,OriginNoUpdate=yes 则锁定 OnStart 瞬间位置。
         每帧刷新,OriginNoUpdate=yes 则锁定附着AE瞬间位置。


Source
Source
第287行: 第251行:
RotateFLH 旋转公式:Y 轴镜像(与引擎 FLH 一致)。
RotateFLH 旋转公式:Y 轴镜像(与引擎 FLH 一致)。


============================================================
=== 所有AE都带的的通用标签 ===
继承自 EffectData 的通用标签
============================================================
 
Duration=N
Duration=N
   AE 持续时间(帧)。-1 表示永久。
   AE 持续时间(帧)。-1 表示永久。
第307行: 第268行:
   手动启用/禁用。默认自动判断(有位移参数时自动启用)。
   手动启用/禁用。默认自动判断(有位移参数时自动启用)。


============================================================
=== 叠加 ===
- 多个带 Vector 效果的 AE 同时附加到一个对象时,每个独立计算MoveDisp,最终所有分量相后一次 SetLocation 应用。
============================================================
用Next接一系列Vector即可划出非常酷炫的飞行轨迹。


- 多个带 Vector 效果的 AE 同时附加到一个对象时,每个独立计算
  MoveDisp,最终所有分量相加后一次 SetLocation 应用。
- Facing / Spin 等取参与叠加的第一个活跃 Vector 的值。
- 通过 Next= 构造多段运动链时,VectorCancel 延后 1 帧判定坠
  落,给下一段 AE 留下衔接窗口。


测试样例INI:


测试样例INI:
[TestDelivery]
[TestDelivery]
Deliver.Types=ZEP
Deliver.Types=ZEP


[ZEP]
[ZEP]
Primary=LOCK
Primary=LOCK
JumpjetHeight=1800
JumpjetHeight=1800


[LOCK]
[LOCK]
Damage=1
Damage=1
Range=50
Range=50
ROF=300
ROF=300
Projectile=InvisibleAll
Projectile=InvisibleAll
Warhead=LOCKWH
Warhead=LOCKWH
OmniFire=yes
OmniFire=yes


[LOCKWH]:[TOY]
[LOCKWH]:[TOY]
AttachEffectTypes=Zidong
AttachEffectTypes=Zidong
CellSpread=10
CellSpread=10


[Zidong]
[Zidong]
AutoWeapon.Types=HoverMissile
AutoWeapon.Types=HoverMissile
AutoWeapon.IsAttackerMark=yes
AutoWeapon.IsAttackerMark=yes
AutoWeapon.ReceiverAttack=no
AutoWeapon.ReceiverAttack=no
Duration=50
Duration=50


[HTNK]
[120mm]
;Primary=LOCK


[120mm]
Range=25
Range=25


[AP]
[AP]
AttachEffectTypes=VECTOR,SPIN
AttachEffectTypes=VECTOR,SPIN
CellSpread=10
CellSpread=10


[SPIN]
[SPIN]
BodySpin.Speed=20
BodySpin.Speed=20
BodySpin.SweepPeriod=400
BodySpin.SweepPeriod=400


[HoverMissile]
[HoverMissile]
Burst=2
Burst=2
Damage=1
Damage=1
Range=60
Range=60
ROF=1
ROF=1
Speed=100
Speed=100
ProjectileRange=114514
ProjectileRange=114514
Projectile=AAHeatSeeker2
Projectile=AAHeatSeeker2
[AAHeatSeeker2]
[AAHeatSeeker2]
AttachEffectTypes=VECTOR
AttachEffectTypes=VECTOR
Image=DRAGON
Image=DRAGON
ROT=100
ROT=100
Shadow=yes
Shadow=yes


[VECTOR]
[VECTOR]
Duration=35
Duration=35
Vector.TargetFLH=0,0,2500
Vector.TargetFLH=0,0,2500
Vector.Origin=FLH
Vector.Origin=FLH
Vector.Force=yes
Vector.Force=yes
Vector.TimeStep=1
Vector.TimeStep=1
AttachOnceInTechnoType=yes
AttachOnceInTechnoType=yes
Vector.ReachTarget=yes
Vector.ReachTarget=yes
Vector.ArcHeight=0
Vector.ArcHeight=0
Next=SPREAD
Next=SPREAD
Vector.OriginNoUpdate=yes
Vector.OriginNoUpdate=yes


[SPREAD]
[SPREAD]
Duration=70
Duration=70
Vector.TargetFLH=0,0,0
Vector.TargetFLH=0,0,0
Vector.Force=yes
Vector.Force=yes
AttachOnceInTechnoType=yes
AttachOnceInTechnoType=yes
Vector.ReachTarget=yes
Vector.ReachTarget=yes
Vector.TargetOffsetH=-600,600
Vector.TargetOffsetH=-600,600
Vector.TargetOffsetF=-600,600
Vector.TargetOffsetF=-600,600
Vector.TargetOffsetL=-600,600
Vector.TargetOffsetL=-600,600
Next=GOTO
Next=GOTO


[GOTO]


[GOTO]
Duration=40
Duration=40
Vector.TargetFLH=1000,0,2500
Vector.TargetFLH=1000,0,2500
Vector.Origin=Source
Vector.Origin=Source
Vector.Force=yes
Vector.Force=yes
Vector.ArcHeight=1000
Vector.ArcHeight=1000
AttachOnceInTechnoType=yes
AttachOnceInTechnoType=yes
Vector.ReachTarget=yes
Vector.ReachTarget=yes
Next=CIRCLE,MOVETO
Next=CIRCLE,MOVETO
Vector.TargetOffsetH=0,800
Vector.TargetOffsetH=0,800
Vector.TargetOffsetF=0,800
Vector.TargetOffsetF=0,800
Vector.TargetOffsetL=-100,100
Vector.TargetOffsetL=-100,100


[CIRCLE]
[CIRCLE]
Duration=4000
Duration=4000
;Vector.CircleRadius=1000
 
Vector.CircleRandomAngle=5,15
Vector.CircleRandomAngle=5,15
Vector.Origin=Source
Vector.Origin=Source
Vector.Force=yes
Vector.Force=yes
Vector.CircleRadiusGrow=-5
Vector.CircleRadiusGrow=-5
Vector.CircleEndOnMinRadius=yes
Vector.CircleEndOnMinRadius=yes
Vector.CircleMinRadius=50
Vector.CircleMinRadius=50


[MOVETO]
[MOVETO]
Duration=200
Duration=200
Vector.MoveTo=1,0,-7
Vector.MoveTo=1,0,-7

2026年6月15日 (一) 22:57的版本

Vector (向量)是纯移动效果器,Duration 期间强制修改附着对象坐标。

适用于 Projectile、Aircraft、Jumpjet Vehicle、Infantry 等。 BuildingTypes 永久免疫。

所有标签写在 [AttachEffectSection] 下,前缀为 Vector.

Vector 将"位移"抽象为 5 种独立模式,每个 AE 同时只激活一种

按优先级匹配:Freeze > Circle > MoveTo > ReachTarget > Speed

核心设计:

1. 硬控制

  Force=yes 时,Vector 暴力设定坐标挪移,
  引擎自身的 Velocity / 轨迹 / FlakScatter 全部被绕过。
  Vector 默认 Force=yes,所有模式自动硬控。

2. 参考系

  位移计算需要一个原点和一个 FLH 朝向(F 轴)。
  Origin 定义了原点来源和 F 轴的计算方式。
  Z 轴不参与 F/L 轴计算,坐标系严格二维。

3. 叠加

  多个 Vector AE 可同时附加,每个独立计算位移向量,
  最终所有运动合并出总向量进行挪移。

4. 链式切换

  通过 Next= 标签串联多个 AE 实现多阶段运动脚本

通用标签

Vector.TimeStep=N

 运动颗粒度。每 N 帧执行一次位移。
 默认 1(每帧执行)。非运动帧时作用对象冻结。

Vector.Origin=FLH / Launcher / Target / Source

 定义位移参考系的原点和 F 轴朝向。
 FLH      = 抛射体自身朝向(Velocity 方向),Techno 用 TurretFacing(默认)
 Launcher = 发射者为原点,F 轴 = 发射者 TurretFacing
 Target   = 目标为原点,F 轴 = 目标 → 抛射体连线
 Source   = AE 来源单位为原点,F 轴 = 来源 → 抛射体连线
 默认 FLH。

Vector.OriginFLH=F,L,H

 Origin=FLH 时的原点偏移(FLH 坐标系),基点 = 抛射体自身坐标。
 默认 0,0,0。

Vector.OriginNoUpdate=yes/no

 yes = 原点锁定在获得 AE 瞬间的坐标,不跟随 Origin 移动。
 no  = 每帧根据 Origin 类型动态刷新原点和 F 轴。
 默认 no。

Vector.Force=yes/no

 yes = 彻底跳过引擎轨迹计算,Vector 直接 SetLocation 控制位置。默认Yes。
 no  = 引擎轨迹正常计算,但 Vector 仍施加 MoveDisp 偏移。用No的话表现模式非常奇妙,不太可控。

Vector.Freeze=yes/no

 yes = 冻结在获得 AE 时的位置,Duration 继续计时。
       Freeze 为最高优先级,启用时强制挪移,无视其他任何Vector。
 默认 no。

Circle 模式(圆周运动)

圆心 = Origin。半径/线速/角速三选二,未设的一项自动推算。 半径每帧动态计算,支持增长、收缩和边界结束。

基础参数

Vector.CircleRadius=N

 初始圆半径(lepton)。不写代表自动取抛射体到原点的当前 XY 距离。
 默认 -1。

Vector.CircleSpeed=N

 速率(lepton/step),沿圆周切向。正值逆时针,负值顺时针。建议用角速度,别写这个。
 未设时由半径和角速度自动推算:speed = radius × angleStep(弧度)。
 默认 0。

Vector.CircleAnglePerStep=N

 角速度(°/step),正值逆时针,负值顺时针。
 未设时由半径和线速度自动推算:angleStep = speed / radius(弧度转度)。
 默认 0。

随机初始值

Vector.CircleRandomRadius=Min,Max

 随机初始半径范围,覆盖 CircleRadius。Max>Min 时生效。
 默认空(不随机)。

Vector.CircleRandomAngle=Min,Max

 随机初始角速度范围(°),覆盖 CircleAnglePerStep。Max>Min 时生效。
 默认空(不随机)。

半径动态

Vector.CircleRadiusGrow=N

 半径每步增长率(lepton/step)。正值外扩(外螺旋),负值内缩(内螺旋)。
 默认 0(半径恒定)。

Vector.CircleMaxRadius=N

 半径上限(lepton)。0 = 不限。
 默认 0。

Vector.CircleMinRadius=N

 半径下限(lepton)。0 = 不限。
 默认 0。

Vector.CircleEndOnMaxRadius=yes/no

 yes = 半径达到上限时强制结束 AE。
 默认 no。

Vector.CircleEndOnMinRadius=yes/no

 yes = 半径达到下限时强制结束 AE。
 默认 no。

速度动态

Vector.CircleSpeedAcceleration=N

 速率每步加速度(lepton/step²)。正=加速,负=减速。建议用角速度。
 默认 0。

Vector.CircleMaxSpeed=N

 线速度上限。0 = 不限。
 默认 0。

Vector.CircleMinSpeed=N

 线速度下限。0 = 不限。
 默认 0。

角速度动态

Vector.CircleAngleAcceleration=N

 角速度每步加速度(°/step²)。正=加速,负=减速。
 默认 0。

Vector.CircleMaxAngle=N

 角速度上限。0 = 不限。
 默认 0。

Vector.CircleMinAngle=N

 角速度下限。0 = 不限。
 默认 0。

MoveTo 模式(FLH 强制位移)

每帧在自身 FLH 坐标系下施加固定位移向量。

Vector.MoveTo=F,L,H

 FLH 坐标系位移向量(lepton/step)。
 F=前进方向,L=左方向,H=高度方向。
 默认 0,0,0(不启用 MoveTo 模式)。

Vector.GrowRate=F,L,H

 每运动帧增量(lepton/step),随时间缩放 MoveTo。
 受 TimeStep 约束。
 默认 0,0,0。

Vector.AnglePerStep=N

 每运动帧自增角度(°/step),叠加到当前 FLH 朝向上。
 0 = 跟随物体当前朝向;非 0 = 位移向量持续自旋。
 默认 0。

Speed / ReachTarget 模式

以 Origin + TargetFLH 定义世界坐标目标点,从当前位置追踪。

目标点

Vector.TargetFLH=F,L,H

 目标点(FLH 坐标系,相对 Origin)。
 默认 0,0,0。

Vector.TargetOffsetF=Min,Max

Vector.TargetOffsetL=Min,Max

Vector.TargetOffsetH=Min,Max

 目标随机偏移范围。获得 AE 时随机一次,之后固定。
 默认 0,0。

Vector.ReachTarget=yes/no

 yes = 根据剩余 Duration 自动调节每帧速度,保证恰好在结束前到达。
       Ignore: InitialSpeed / Acceleration / MaxSpeed / MinSpeed。
 no  = 使用 Speed 模式,恒速或加速飞行。
 默认 no。

Vector.ArcHeight=N

 抛物线弧高(lepton)。仅 ReachTarget=yes 时生效。
 正=先升后降(上凸弧),负=先降后升(下凹弧),0=直线。
 弧高叠加在起终点连线上:Z(t) = Z0 + (Z1-Z0)·t + 4·H·t·(1-t)。
 默认 0。

有这玩意就可以把你的Arcing抛射体全刨了

Speed(恒速/加速)

Vector.InitialSpeed=N

 初始线速度(lepton/step)。-1 = 读取单位 Speed 属性。
 默认 -1。

Vector.RandomSpeed=Min,Max

 随机初始速度范围,覆盖 InitialSpeed。Max>Min 时生效。
 默认空(不随机)。

Vector.Acceleration=N

 线加速度(lepton/step²)。每运动帧叠加,受 TimeStep 约束。
 默认 0。

Vector.MaxSpeed=N

 最大速度钳位。-1 = 不限。
 默认 -1。

Vector.MinSpeed=N

 最小速度钳位。-1 = 不限。
 默认 -1。

Vector.AllowFallingDestroy=yes/no

 yes = AE 结束后,若单位在空中且超出指定高度,摔死。
 no  = 结束后自由坠落。
 默认 no。

Vector.FallingDestroyHeight=N

 致死高度(lepton)。AllowFallingDestroy=yes 时有效。
 超出此高度则摔死,否则正常坠落。
 未设时使用当前高度对地面差值。
 默认使用高度差。

参考系

四种 Origin 的实现机制:

FLH(默认)

Vector.OriginFLH=F,L,H  手动指定参考点坐标
F 轴 = 抛射体自身 Velocity 方向(Techno 用 TurretFacing)
 L 轴 = F 轴逆时针 90°
 原点 = 抛射体坐标 + OriginFLH 偏移(OnStart 时锁定快照)
       非 NoUpdate 时原点 = 抛射体当前坐标 + OriginFLH 偏移

Launcher

 F 轴 = 发射者 TurretFacing
 L 轴 = F 轴逆时针 90°
 原点 = 发射者坐标(每帧刷新,OriginNoUpdate=yes 则锁定附着AE瞬间位置)

Target

 F 轴 = 目标 → 抛射体连线
 L 轴 = F 轴逆时针 90°
 原点 = 目标坐标
       每帧刷新,OriginNoUpdate=yes 则锁定附着AE瞬间位置。

Source

 F 轴 = AE 来源单位 → 抛射体连线(atan2 实时计算)
 L 轴 = F 轴逆时针 90°
 原点 = AE 来源单位坐标(每帧刷新,OriginNoUpdate=yes 则锁定 OnStart 瞬间位置)。

所有模式下 F/L 轴仅使用 XY 分量计算,Z 不纳入,避免坐标系倾斜。 RotateFLH 旋转公式:Y 轴镜像(与引擎 FLH 一致)。

所有AE都带的的通用标签

Duration=N

 AE 持续时间(帧)。-1 表示永久。

HoldDuration=yes/no

 yes = Duration 到期后保持 AE 不销毁。
 默认 yes(Duration<0 自动 yes)。

Next=AE_SECTION_NAME

 当前 AE 结束后自动附加的下一个 AE。支持逗号分隔多个。

AttachOnceInTechnoType=yes/no

 同类型单位只附加一次。

Vector.Enable=yes/no

 手动启用/禁用。默认自动判断(有位移参数时自动启用)。

叠加

- 多个带 Vector 效果的 AE 同时附加到一个对象时,每个独立计算MoveDisp,最终所有分量相加后一次 SetLocation 应用。 用Next链接一系列Vector即可规划出非常酷炫的飞行轨迹。


测试样例INI:

[TestDelivery]

Deliver.Types=ZEP

[ZEP]

Primary=LOCK

JumpjetHeight=1800

[LOCK]

Damage=1

Range=50

ROF=300

Projectile=InvisibleAll

Warhead=LOCKWH

OmniFire=yes

[LOCKWH]:[TOY]

AttachEffectTypes=Zidong

CellSpread=10

[Zidong]

AutoWeapon.Types=HoverMissile

AutoWeapon.IsAttackerMark=yes

AutoWeapon.ReceiverAttack=no

Duration=50

[120mm]

Range=25

[AP]

AttachEffectTypes=VECTOR,SPIN

CellSpread=10

[SPIN]

BodySpin.Speed=20

BodySpin.SweepPeriod=400

[HoverMissile]

Burst=2

Damage=1

Range=60

ROF=1

Speed=100

ProjectileRange=114514

Projectile=AAHeatSeeker2

[AAHeatSeeker2]

AttachEffectTypes=VECTOR

Image=DRAGON

ROT=100

Shadow=yes

[VECTOR]

Duration=35

Vector.TargetFLH=0,0,2500

Vector.Origin=FLH

Vector.Force=yes

Vector.TimeStep=1

AttachOnceInTechnoType=yes

Vector.ReachTarget=yes

Vector.ArcHeight=0

Next=SPREAD

Vector.OriginNoUpdate=yes

[SPREAD]

Duration=70

Vector.TargetFLH=0,0,0

Vector.Force=yes

AttachOnceInTechnoType=yes

Vector.ReachTarget=yes

Vector.TargetOffsetH=-600,600

Vector.TargetOffsetF=-600,600

Vector.TargetOffsetL=-600,600

Next=GOTO

[GOTO]

Duration=40

Vector.TargetFLH=1000,0,2500

Vector.Origin=Source

Vector.Force=yes

Vector.ArcHeight=1000

AttachOnceInTechnoType=yes

Vector.ReachTarget=yes

Next=CIRCLE,MOVETO

Vector.TargetOffsetH=0,800

Vector.TargetOffsetF=0,800

Vector.TargetOffsetL=-100,100

[CIRCLE]

Duration=4000

Vector.CircleRandomAngle=5,15

Vector.Origin=Source

Vector.Force=yes

Vector.CircleRadiusGrow=-5

Vector.CircleEndOnMinRadius=yes

Vector.CircleMinRadius=50

[MOVETO]

Duration=200

Vector.MoveTo=1,0,-7