Skip to content

Commit

Permalink
扩散抛体速度无上限
Browse files Browse the repository at this point in the history
  • Loading branch information
CrimRecya committed Feb 17, 2025
1 parent cea68ec commit 94c53c7
Show file tree
Hide file tree
Showing 3 changed files with 4 additions and 5 deletions.
2 changes: 1 addition & 1 deletion docs/New-or-Enhanced-Logics.md
Original file line number Diff line number Diff line change
Expand Up @@ -774,7 +774,7 @@ Currently interceptor weapons with projectiles that do not have `Inviso=true` wi
- The speed of the projectile is defined by `Trajectory.Speed`, which unlike `Speed` used by `ROT` > 0 projectiles is defined on projectile not weapon.
- In `Trajectory=Straight`, it refers to the whole distance speed of the projectile and it has no restrictions.
- In `Trajectory=Bombard`, it refers to the initial speed of the projectile and it has no restrictions.
- In `Trajectory=Disperse`, it refers to the final speed of the projectile and it cannot exceed 512. `Trajectory.Speed` will be fixed at 192 by setting `Trajectory.Disperse.UniqueCurve=true`.
- In `Trajectory=Disperse`, it refers to the final speed of the projectile and it has no restrictions. `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 speed of tracing and turning around of the projectile.
Expand Down
5 changes: 2 additions & 3 deletions src/Ext/Bullet/Trajectories/DisperseTrajectory.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,6 @@ void DisperseTrajectoryType::Read(CCINIClass* const pINI, const char* pSection)
{
INI_EX exINI(pINI);

this->Trajectory_Speed = Math::min(512.0, this->Trajectory_Speed);
this->UniqueCurve.Read(exINI, pSection, "Trajectory.Disperse.UniqueCurve");
this->PreAimCoord.Read(exINI, pSection, "Trajectory.Disperse.PreAimCoord");
this->RotateCoord.Read(exINI, pSection, "Trajectory.Disperse.RotateCoord");
Expand All @@ -99,10 +98,10 @@ void DisperseTrajectoryType::Read(CCINIClass* const pINI, const char* pSection)
this->UseDisperseBurst.Read(exINI, pSection, "Trajectory.Disperse.UseDisperseBurst");
this->AxisOfRotation.Read(exINI, pSection, "Trajectory.Disperse.AxisOfRotation");
this->LaunchSpeed.Read(exINI, pSection, "Trajectory.Disperse.LaunchSpeed");
this->LaunchSpeed = Math::clamp(this->LaunchSpeed, 0.001, 512.0);
this->LaunchSpeed = Math::max(0.001, this->LaunchSpeed);
this->Acceleration.Read(exINI, pSection, "Trajectory.Disperse.Acceleration");
this->ROT.Read(exINI, pSection, "Trajectory.Disperse.ROT");
this->ROT = Math::max(0, this->ROT);
this->ROT = Math::max(0.0, this->ROT);
this->LockDirection.Read(exINI, pSection, "Trajectory.Disperse.LockDirection");
this->CruiseEnable.Read(exINI, pSection, "Trajectory.Disperse.CruiseEnable");
this->CruiseUnableRange.Read(exINI, pSection, "Trajectory.Disperse.CruiseUnableRange");
Expand Down
2 changes: 1 addition & 1 deletion 整合包说明/额外功能说明.md
Original file line number Diff line number Diff line change
Expand Up @@ -185,7 +185,7 @@ BallisticScatter.Max= ; 浮点型,(原有功能-修
```ini
[SOMEPROJECTILE] ; 弹道抛体(不和原版四类抛体共存)
Trajectory= ; Trajectory类型,以下为【Disperse】
Trajectory.Speed=100.0 ; 浮点型,弹道抛体的速度,此值定义的是在 [Trajectory.Disperse.UniqueCurve=no] 的情况下时抛体的最终速度(最高速度限制在512
Trajectory.Speed=100.0 ; 浮点型,弹道抛体的速度,此值定义的是在 [Trajectory.Disperse.UniqueCurve=no] 的情况下时抛体的最终速度(最高速度无限制
Trajectory.Disperse.UniqueCurve=no ; 布尔值,是否启用模拟钱学森弹道,启用后以下19项及 `Trajectory.Speed` 无效,最高速度固定为192(应该不会有人范围很小的情况下还拿这个做弹道吧)
Trajectory.Disperse.PreAimCoord=0,0,0 ; FLH坐标,请写完整,发射设定,决定抛体初始飞行方向和距离,达到该坐标后会进行初次转向,为0,0,0时会直接朝着目标前进
Trajectory.Disperse.RotateCoord=0 ; 浮点型,发射设定,是否按照武器的 `Burst` 在以 `Trajectory.Disperse.PreAimCoord` 为角平分线的角度内旋转抛体发射方向,为0代表不启用该逻辑(负值会反转旋转方向)
Expand Down

0 comments on commit 94c53c7

Please sign in to comment.