Skip to content

Commit

Permalink
修正说明书
Browse files Browse the repository at this point in the history
  • Loading branch information
CrimRecya committed Dec 26, 2024
1 parent 7cc61f1 commit ddd1ddb
Show file tree
Hide file tree
Showing 2 changed files with 65 additions and 3 deletions.
64 changes: 64 additions & 0 deletions docs/New-or-Enhanced-Logics.md
Original file line number Diff line number Diff line change
Expand Up @@ -750,6 +750,7 @@ Currently interceptor weapons with projectiles that do not have `Inviso=true` wi
- In `Trajectory=Disperse`, it refers to the maximum speed of the projectile and it cannot exceed 256. `Trajectory.Speed` will be fixed at 192 by setting `Trajectory.Disperse.UniqueCurve=true`.
- In `Trajectory=Engrave`, it refers to the engrave speed of the projectile and it cannot exceed 128. Recommend set as about 40.
- In `Trajectory=Parabola`, it refers to the horizontal velocity of the projectile and is only used for modes 0, 3, or 5 and it has no restrictions.
- In `Trajectory=Tracing`, it refers to the tracing speed of the projectile and Negative numbers are considered infinite.

In `rulesmd.ini`:
```ini
Expand Down Expand Up @@ -902,6 +903,7 @@ Trajectory.Bombard.TurningPointAnim= ; Animation

In `rulesmd.ini`:
```ini
[SOMEPROJECTILE] ; Projectile
Trajectory=Disperse ; Trajectory type
Trajectory.Disperse.UniqueCurve=false ; boolean
Trajectory.Disperse.PreAimCoord=0,0,0 ; integer - Forward,Lateral,Height
Expand Down Expand Up @@ -969,6 +971,7 @@ Trajectory.Disperse.WeaponDoRepeat=false ; boolean

In `rulesmd.ini`:
```ini
[SOMEPROJECTILE] ; Projectile
Trajectory=Engrave ; Trajectory type
Trajectory.Engrave.ApplyRangeModifiers=false ; boolean
Trajectory.Engrave.SourceCoord=0,0 ; integer - Forward,Lateral
Expand Down Expand Up @@ -1022,6 +1025,7 @@ Trajectory.Engrave.DamageDelay=2 ; integer

In `rulesmd.ini`:
```ini
[SOMEPROJECTILE] ; Projectile
Trajectory=Parabola ; Trajectory type
Trajectory.Parabola.DetonationDistance=0.4 ; floating point value
Trajectory.Parabola.TargetSnapDistance=0.5 ; floating point value
Expand Down Expand Up @@ -1050,6 +1054,66 @@ Trajectory.Parabola.AxisOfRotation=0,0,1 ; integer - Forward,Lateral,Heig

#### Tracing trajectory

- A trajectory that keeps following the target and will only detonate when its survival time is exhausted.
- `Trajectory.Tracing.TraceMode` controls how should the projectile trace the target. This is used to calculate coordinate axis of `Trajectory.Tracing.OffsetCoord` located on the tracking target. The H axis is not affected by the tilt and deflection of the tracking target, and always faces directly above. This has the following 6 modes.
- Connection - Line vector. Take the horizontal component of the vector between the launch position and the target position as the F axis.
- Global - Map direction. Take the lower right side of the map as the F axis.
- Body - Follow the body. The F axis is the body orientation of the tracking target.
- Turret - Follow the turret. The F axis is the turret orientation of the tracking target.
- RotateCW - Rotate clockwise. Rotate clockwise around the H axis with the resultant offset in the FL direction as the radius.
- RotateCCW - Rotate counterclockwise. Rotate counterclockwise around the H axis with the resultant offset in the FL direction as the radius.
- `Trajectory.Tracing.TheDuration` controls the tracing duration in frames. If it is a non-positive number, the projectile will use weapon's `ROF`-10 as the duration. At least 1 frame.
- `Trajectory.Tracing.TolerantTime` controls how long the projectile will detonate after losing the target. If it is 0, it will detonate directly when switching targets.
- `Trajectory.Tracing.ROT` controls the rotational speed of the projectile. When it is negative, it will follow the direction of movement. When it is 0, it will always face the target. When it is positive, it will rotate towards the target according to this speed. If `Trajectory.Tracing.BulletSpin=true`, the direction of rotation is determined by its positive or negative sign, and the speed of rotation is determined by its value.
- `Trajectory.Tracing.BulletSpin` controls whether the projectile will continuously rotate itself like `TurretSpin`.
- `Trajectory.Tracing.PeacefullyVanish` controls whether the projectile disappears directly when it is about to detonate, without producing animation or causing damage
- `Trajectory.Tracing.TraceTheTarget` controls whether the target tracked by the projectile is the target of the projectile, and the tracing weapons will be fired by the unit towards the projectile. Otherwise, it will trace the firer, and the tracing weapons will be fired from the projectile towards the target. At the same time, the projectile will detonate if the firer dies.
- `Trajectory.Tracing.CreateAtTarget` controls whether the projectile is directly generated at the target position.
- `Trajectory.Tracing.CreateCoord` controls the generate position. Not related to `Trajectory.Tracing.TraceMode`.
- `Trajectory.Tracing.OffsetCoord` controls the tracing position on its target, use `Trajectory.Tracing.TraceMode` determines the specific location.
- `Trajectory.Tracing.WeaponCoord` controls the FLH where the projectile fires the weapon when `Trajectory.Tracing.TraceTheTarget=false`.
- `Trajectory.Tracing.Weapons` defines the tracing weapons of the projectile.
- `Trajectory.Tracing.WeaponCount` controls how many times the projectile can fire the corresponding weapon. Set to a negative value means unlimited times. If set to zero, the cooling will be calculated directly without firing the tracing weapon. If the quantity is less than `Trajectory.Tracing.Weapons`, the last value in the list will be used.
- `Trajectory.Tracing.WeaponDelay` controls the delay after firing the corresponding weapon, at least 1 frame. If the quantity is less than `Trajectory.Tracing.Weapons`, the last value in the list will be used.
- `Trajectory.Tracing.WeaponTimer` controls the initial delay for firing the tracing weapons defined by `Trajectory.Tracing.Weapons`.
- `Trajectory.Tracing.WeaponCycle` controls how many rounds of weapons the projectile can fire, zero will not fire weapons, and negative numbers are considered infinite.
- `Trajectory.Tracing.WeaponCheck` controls whether the projectile will check its orientation before firing the tracing weapons. Ignore this if `Trajectory.Tracing.Synchronize=false` or `Trajectory.Tracing.TraceTheTarget=true` or `Trajectory.Tracing.BulletSpin=true` or have negative `Trajectory.Tracing.ROT`.
- `Trajectory.Tracing.Synchronize` controls whether the target of the projectile is synchronized with the target of its firer. If not, the projectile will not update the target. When `Trajectory.Tracing.TraceTheTarget=no`, the tracing weapons will select their own targets to attack based on its range.
- `Trajectory.Tracing.SuicideAboveRange` controls whether the projectile will explode if its target exceeds the range.
- `Trajectory.Tracing.SuicideIfNoWeapon` controls whether the projectile will explode after firing the final weapon.

`rulesmd.ini` 之中:
```ini
[SOMEPROJECTILE] ; Projectile
Trajectory=Tracing ; Trajectory type
Trajectory.Tracing.TraceMode=Connection ; TraceMode value enumeration (Connection|Global|Body|Turret|RotateCW|RotateCCW)
Trajectory.Tracing.TheDuration=0 ; integer
Trajectory.Tracing.TolerantTime=-1 ; integer
Trajectory.Tracing.ROT=-1 ; integer
Trajectory.Tracing.BulletSpin=no ; boolean
Trajectory.Tracing.PeacefullyVanish=no ; boolean
Trajectory.Tracing.TraceTheTarget=yes ; boolean
Trajectory.Tracing.CreateAtTarget=no ; boolean
Trajectory.Tracing.CreateCoord=0,0,0 ; integer - Forward,Lateral,Height
Trajectory.Tracing.OffsetCoord=0,0,0 ; integer - Forward,Lateral,Height
Trajectory.Tracing.WeaponCoord=0,0,0 ; integer - Forward,Lateral,Height
Trajectory.Tracing.Weapons= ; list of WeaponTypes
Trajectory.Tracing.WeaponCount= ; list of integers
Trajectory.Tracing.WeaponDelay= ; list of integers
Trajectory.Tracing.WeaponTimer=0 ; integer
Trajectory.Tracing.WeaponCycle=-1 ; integer
Trajectory.Tracing.WeaponCheck=no ; boolean
Trajectory.Tracing.Synchronize=yes ; boolean
Trajectory.Tracing.SuicideAboveRange=no ; boolean
Trajectory.Tracing.SuicideIfNoWeapon=no ; boolean
```

```{note}
- If you set `Trajectory.Tracing.TraceTheTarget=false` and `Trajectory.Tracing.Synchronize=false`, make sure you set low `Range` values for weapons in `Trajectory.Tracing.Weapons` unless necessary.
- Note that the listed Weapons in `Trajectory.Tracing.Weapons` must be listed in `[WeaponTypes]` for them to work.
- `Trajectory.Tracing.Weapons` now not support customized `Bolt.ColorN`.
```

### Shrapnel enhancements

![image](_static/images/shrapnel.gif)
Expand Down
4 changes: 1 addition & 3 deletions 整合包说明/额外功能说明.md
Original file line number Diff line number Diff line change
Expand Up @@ -498,7 +498,7 @@ Trajectory.Speed=100.0 ; 弹道抛体的速度,此值定
Trajectory.Tracing.TraceMode=Connection ; 字符串,抛体的追踪模式
Trajectory.Tracing.TheDuration=0 ; 整数型,锁定的持续时间,持续时间结束时引爆,单位为帧,如果为非正数,则使用武器 `ROF` - 10 作为持续时间,持续时间最低为1
Trajectory.Tracing.TolerantTime=-1 ; 整数型,锁定闲置的容忍时间,抛体在失去目标超过这么长时间后会引爆,若为0,则会在切换目标时直接引爆
Trajectory.Tracing.ROT=-1 ; 整数型,抛体的转动速度,为负数时跟随移动的方向,为0时会始终朝向目标,为正数时会根据该速度向目标转动,如果 `Trajectory.Tracing.BulletSpin` 为时则由正负决定方向,数值决定速度
Trajectory.Tracing.ROT=-1 ; 整数型,抛体的转动速度,为负数时跟随移动的方向,为0时会始终朝向目标,为正数时会根据该速度向目标转动,如果 `Trajectory.Tracing.BulletSpin` 为是则由正负决定方向,数值决定速度
Trajectory.Tracing.BulletSpin=no ; 布尔值,抛体是否会一直旋转
Trajectory.Tracing.PeacefullyVanish=no ; 布尔值,抛体在最后将要引爆时是否直接消失,即不产生动画和造成伤害
Trajectory.Tracing.TraceTheTarget=yes ; 布尔值,抛体追踪的目标是否为抛体的目标,并且发射的追踪武器是由单位朝抛体发射,否则为追踪发射者,发射的追踪武器是由抛体朝目标发射,当发射者死亡时,抛体也会一同引爆
Expand All @@ -524,9 +524,7 @@ Trajectory.Tracing.SuicideIfNoWeapon=no ; 布尔值,抛体在发射完最
```

```{note}
- 未完全测试与其它发射武器方式的嵌套使用,遇到问题请反馈
- `Trajectory.Tracing.Weapons` 不支持使用 `Arcing=true` 的抛体的武器,支持 `Bolt.Disable1` 、`Bolt.Disable2` 、`Bolt.Disable3` 、`Bolt.Arcs` 的绘制效果,同时支持 Ares 的 `LaserThickness` 、`Beam.Color` 、`Beam.Duration` 、`Beam.Amplitude` 、`Beam.IsHouseColor` ,暂不支持 Ares 的 `Bolt.Color1` 、`Bolt.Color2` 、`Bolt.Color3`
- `Trajectory.Tracing.Weapons` 不会读取 `CanTargetHouses` 的设置,请使用 `Trajectory.Disperse.WeaponToAllies`
```

### 21. 部署清除载员( 暂无pr )
Expand Down

0 comments on commit ddd1ddb

Please sign in to comment.