-
Notifications
You must be signed in to change notification settings - Fork 42
fix: shotgun not gibbing unless aiming at feet #349
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
fix: shotgun not gibbing unless aiming at feet #349
Conversation
Original issue: ioquake/ioq3#794. Original (rejected) MR: ioquake/ioq3#795. Same MR in baseq3a project: https://github.com/ec-/baseq3a/pull/49.
|
I checked, and it's actually true. You can gib a player by shooting him with the shotgun in the feet, but not in the body. What an odd small bug. |
My point about knockback was that you only get knockback for one pellet, i.e. 10 damage, and not all the damage, i.e. shotgun's knockback is much weaker than that of the railgun, for example. |
|
About knockback, I just did a test with OA 0.8.8 and it looks to me that how much a shotgun hit "pushes" a character already changes depending from how accurate your shot is. My steps:
Note: I just aimed at the opponent, without expressly aiming at the legs. However it's possible some pellets hit the lower part of the model. I don't know whether upper or lower part of the hitbox makes any difference. |
|
Hmm, you are right. Line 1168 in d371ff1
But the timer here only gets set by one pellet: Lines 1173 to 1183 in d371ff1
In that case, this MR still only changes how dead players behave. |
|
I just noticed in this commit https://github.com/ec-/baseq3a/pull/49/files/ad81db1b27e669c7c59aca8b1c22e6c552d1a2ac..0efcf57b4d3c5b6b794cced74864b079e15e7abe |
|
I see. Then, changing it may be considered changing part of the Q3 gameplay, despite being quite a side case. It might be an intentional choice by idsoftware instead of a bug, with a reasoning like "the shotgun is already underpowered comparing to other weapons, no need to waste pellets on dead bodies unless someone really wants to shoot the body on the floor". So, to be sure to do not fall under OA "NOTTODO", I guess one may make the fix disabled by default and controlled by an apposite cvar (or a DMFLAGS value, to avoid wasting precious cvar memory on details) as you did... or maybe having a different approach and make those pellets both hit the corpse AND one potential player behind it (like passing through the dead or gibbed body from a side to the other)? |
Considering that they nerfed it in Quake Live (I think it deals 80 damage now), I doubt that this is the case.
I think that the bug that this MR fixes cannot be fixed without affecting gameplay at all. A dead body is not purely decorative, it can shield from bullets / pellets, e.g. when it's upstairs and you try to shoot someone through it.
Such weapons can't perform multiple shots in one frame, so I'm pretty sure that they're basically unaffected. Well, maybe except for the case where multiple players make a shot in the same frame?
That's something that's sent from the server to the client, right? The MR only affects the server, there is no need to change the network protocol I think.
OK, I am fine with merging this disabled by default for a start, enabling can be discussed separately. |
Continuing: with |


Original issue: ioquake/ioq3#794.
Original (rejected) MR: ioquake/ioq3#795.
Same MR in baseq3a project:
https://github.com/ec-/baseq3a/pull/49.
Edit: for a video demo, see my comment below, #349 (comment)