Kratos:说明书/移动器:修订间差异
创建页面,内容为“Vector (向量)是纯移动效果器,Duration 期间强制修改附着对象坐标。 适用于 Projectile、Aircraft、Jumpjet Vehicle、Infantry 等。 BuildingTypes 永久免疫。 所有标签写在 [AttachEffectSection] 下,前缀为 Vector. Vector 将"位移"抽象为 5 种独立模式,每个 AE 同时只激活一种, 按优先级匹配:Freeze > Circle > MoveTo > ReachTarget > Speed 核心设计: 1. 硬控制 Force=yes 时,Vector…” |
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 同时只激活一种 | |||
按优先级匹配:Freeze > Circle > MoveTo > ReachTarget > Speed | 按优先级匹配:Freeze > Circle > MoveTo > ReachTarget > Speed | ||
=== '''核心设计:''' === | |||
1. 硬控制 | 1. 硬控制 | ||
Force=yes 时,Vector 暴力设定坐标挪移, | Force=yes 时,Vector 暴力设定坐标挪移, | ||
| 第28行: | 第28行: | ||
通过 Next= 标签串联多个 AE 实现多阶段运动脚本 | 通过 Next= 标签串联多个 AE 实现多阶段运动脚本 | ||
=== | === 通用标签 === | ||
通用标签 | |||
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 坐标系下施加固定位移向量 | |||
Vector.MoveTo=F,L,H | Vector.MoveTo=F,L,H | ||
| 第169行: | 第157行: | ||
默认 0。 | 默认 0。 | ||
=== Speed / ReachTarget 模式 === | |||
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。 | ||
Vector.ReachTarget=yes/no | Vector.ReachTarget=yes/no | ||
| 第216行: | 第186行: | ||
默认 0。 | 默认 0。 | ||
<s>'''有这玩意就可以把你的Arcing抛射体全刨了'''</s> | |||
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 的实现机制: | ||
FLH(默认) | FLH(默认) | ||
Vector.OriginFLH=F,L,H 手动指定参考点坐标 | |||
F 轴 = 抛射体自身 Velocity 方向(Techno 用 TurretFacing) | |||
L 轴 = F 轴逆时针 90° | L 轴 = F 轴逆时针 90° | ||
原点 = 抛射体坐标 + OriginFLH 偏移(OnStart 时锁定快照) | 原点 = 抛射体坐标 + OriginFLH 偏移(OnStart 时锁定快照) | ||
非 NoUpdate 时原点 = 抛射体当前坐标 + OriginFLH 偏移 | 非 NoUpdate 时原点 = 抛射体当前坐标 + OriginFLH 偏移 | ||
Launcher | Launcher | ||
F 轴 = 发射者 TurretFacing | F 轴 = 发射者 TurretFacing | ||
L 轴 = F 轴逆时针 90° | L 轴 = F 轴逆时针 90° | ||
原点 = 发射者坐标(每帧刷新,OriginNoUpdate=yes 则锁定 | 原点 = 发射者坐标(每帧刷新,OriginNoUpdate=yes 则锁定附着AE瞬间位置) | ||
Target | Target | ||
F 轴 = 目标 → 抛射体连线 | F 轴 = 目标 → 抛射体连线 | ||
L 轴 = F 轴逆时针 90° | L 轴 = F 轴逆时针 90° | ||
原点 = 目标坐标 | 原点 = 目标坐标 | ||
每帧刷新,OriginNoUpdate=yes 则锁定 | 每帧刷新,OriginNoUpdate=yes 则锁定附着AE瞬间位置。 | ||
Source | Source | ||
| 第287行: | 第251行: | ||
RotateFLH 旋转公式:Y 轴镜像(与引擎 FLH 一致)。 | RotateFLH 旋转公式:Y 轴镜像(与引擎 FLH 一致)。 | ||
=== | === 所有AE都带的的通用标签 === | ||
Duration=N | Duration=N | ||
AE 持续时间(帧)。-1 表示永久。 | AE 持续时间(帧)。-1 表示永久。 | ||
| 第307行: | 第268行: | ||
手动启用/禁用。默认自动判断(有位移参数时自动启用)。 | 手动启用/禁用。默认自动判断(有位移参数时自动启用)。 | ||
=== | === 叠加 === | ||
- 多个带 Vector 效果的 AE 同时附加到一个对象时,每个独立计算MoveDisp,最终所有分量相加后一次 SetLocation 应用。 | |||
用Next链接一系列Vector即可规划出非常酷炫的飞行轨迹。 | |||
测试样例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 | ||
[ | [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] | |||
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.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