To support the GPT_DAMAGE packet, the P_DamageMobj() function was modified to include a parameter for skipping all network-related checks and just applying the damage.
Client-requested damage is currently unused. If player action requests work well enough, there is no need for clients to request damage on objects. Currently GPT_DAMAGE is retained as a fallback mechanism that would allow the clientside game logic to operate network-agnostically and just apply the damage on the targets. The damage requests would then be routed to the server automatically. The benefit would be increased fairness for the client: if the damage is applied in a valid fashion in the clientside world, it is accepted by the server as-is.
Network-aware object damaging
To support the GPT_DAMAGE packet, the P_DamageMobj() function was modified to
include a parameter for skipping all network-related checks and just applying
the damage.
Client-requested damage is currently unused. If player action requests work
well enough, there is no need for clients to request damage on objects.
Currently GPT_DAMAGE is retained as a fallback mechanism that would allow the
clientside game logic to operate network-agnostically and just apply the
damage on the targets. The damage requests would then be routed to the server
automatically. The benefit would be increased fairness for the client: if the
damage is applied in a valid fashion in the clientside world, it is accepted
by the server as-is.