OpenTopped moving fire customization#2283
Conversation
|
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. |
|
This technically works little bit different from actual It might be more sensible to use name like |
# Conflicts: # docs/Whats-New.md
I believe the main difference is that Illegal will clear the target. What it seems to intend to convey is "invalid target", meaning "It’s not my fault that firing is unavailable; the problem lies with that target, so forget about it."
What is it specifically? |
There was a problem hiding this comment.
The fire error code should maybe be changed back to Illegal from Moving after all. The order of the checks in vanilla game is somewhat deliberate and while fully invalidating (Illegal) firing at any point is completely fine, returning a non-illegal fire status bypasses all checks that could later invalidate it.
(Could also argue from the angle of semantics with this being techno-level evaluation and movement being a property of FootClass and derivatives, so if we're nitpicking these checks should exist elsewhere but I get the appeal of leaving them all in one place.)
Because every other code than OK prevents firing the visible effects of this are likely to be minor or non-existent and would likely require testing to verify such edge cases are not problematic. Mostly I'd check target retention and if repair weapons inside transports behave correctly. It is possible no change is required if everything behaves as expected.
I believe the main difference is that Illegal will clear the target. What it seems to intend to convey is "invalid target", meaning "It’s not my fault that firing is unavailable; the problem lies with that target, so forget about it."
That seems to be the semantic meaning yes.
potentially bypass several other checks
Mostly the aforementioned repair weapon stuff but it is possible it doesn't matter as it will be evaluated correctly the moment the unit stops moving and weapon would potentially be allowed to fire again anyway.
Sorry I removed my original comment as it had some erroneous assumptions and I had hoped nobody had time to reply to it before I could do so.
TL;DR: If FireError::Moving works correctly for target retention, repair weapons etc. just leave it alone after all.
|
The current implementation doesn't make its FireError code change from Illegal to Moving either, cuz it'll still be overwritten at a later point. If we decide to use Moving, then it probably requires another hook to bypass that point |
|
Alright. I have no objectation with Starkku's judgement. |
|
You may add some comments in the doc. |
OpenTopped=yestransport will now respect the weapon'sFireWhileMovingsetting.OpenTopped/OpenTransport.FireWhileMovingcan be used to customize whether or not passengers can fire out when the transport is moving, for transport and passenger respectively. Both of them and the weapon'sFireWhileMovingtoggle need to be set to true to allow firing out when moving.In
rulesmd.ini: