Allow Laser drawing position update#2218
Conversation
|
To Chinese users:
|
|
Nightly build for this pull request:
This comment is automatic and is meant to allow guests to get latest nightly builds for this pull request without registering. It is updated on every successful build. |
| if (ObjectClass::Array.FindItemIndex(info.Shooter) != -1 && !info.Shooter->IsDead()) | ||
| { | ||
| CoordStruct flh; | ||
| info.Shooter->GetFLH(&flh, info.WeaponIndex, CoordStruct { 0, 0, 0 }); |
| } | ||
|
|
||
| // Per‑frame coordinate update | ||
| DEFINE_HOOK(0x550173, LaserDrawClass_UpdateCoords_Update, 6) |
There was a problem hiding this comment.
LaserDrawClass_Update_UpdateCoords
| In `rulesmd.ini`: | ||
| ```ini | ||
| [SOMEWEAPON] ; WeaponType with IsLaser=yes or DiskLaser=yes | ||
| LaserPositionUpdate=none ; Position Follow Enumeration (none|firer|target|all) |
There was a problem hiding this comment.
Maybe a global value would be useful?
There was a problem hiding this comment.
Not sure, I've gone to the corresponding topic on Forum and started a poll to see.
3d0a7b0 to
aa3a265
Compare
|
I thought those were supposed to be several GIFs |
aa3a265 to
c2b02b7
Compare
|
I think it's that after further refining the scope, I forgot to remove the image of Ares 3.0p1 without Phobos, so perhaps the three images arranged together earlier looked a bit confusing. :P |


None: No update.Firer: The start point follows the firer's FLH; if the firer dies, the update stops.DiskLaser's FLH actually determines the center of the ring, this would cause the beam's start point after charging to become the FLH, so this scenario may not be suitable for usingFirer.Target: The end point follows the target; if the target object dies, the update stops.All: Equivalent to specifying bothFirerandTarget.move.mp4
Used together with Projectile interception logic
Note
For a sub-weapon created by
ShrapnelWeapon, its start point is the position where the parent weapon detonates, not the firer's FLH.Fireris set, it will be treated asNone.Allis set, it will be treated asTarget.In
rulesmd.ini:Warning
If the weapon sets this logic to a non-
Nonevalue while also using other logics that change the drawing position, such asFlakScatter, then after initially drawing the laser according to those other logics, the drawing position will be forced to change due to the update rules.