Issue Type (Required):
Enemy Mechanics
Issue Description (Required):
This results in being able to dodge into a Mutant to not get grabbed (needs to be timed for when collision happens on the server, not for lag compensation’s extra collision check).
In scripts\extension_systems\behavior\nodes\actions\bt_mutant_charger_charge_action.lua
-- function BtMutantChargerChargeAction._check_colliding_players
if is_dodging then
local distance = Vector3.distance(pos, POSITION_LOOKUP[hit_unit])
if distance < dodge_radius then
scratchpad.dodged_targets[hit_unit] = true
break
end
end
The distance check is inverted there, it should be checking distance > dodge_radius for adding a player to the dodged_targets lookup (targets who are fully ignored for the rest of that charge action).
The lag compensation extra collision check does it correctly in comparison:
-- function BtMutantChargerChargeAction._update_charging
if is_dodging then
if distance <= dodge_radius then
self:_hit_target(unit, hit_unit, scratchpad, action_data, t)
end
elseif distance < LAG_COMPENSATION_CHECK_RADIUS then
self:_hit_target(unit, hit_unit, scratchpad, action_data, t)
end
As it’s checking with distance <= dodge_radius, in reverse of what the initial collision check is intended to check. Pox Hounds also do it properly too.
Lag compensation for Mutants on its own is supposed to make things more tolerable and lenient, but it was never intended to be as lenient as it is due to this issue, where you’re able to dodge in place with and with no dodge charges, and still not get grabbed..
Steps to Reproduce (Required):
- Play with low ping, or as non-remote player (as the bugged check applies regardless of being a remote player or not), to make this as easier to reproduce as possible.
- Dodge into a Mutant or extremely close to one.
- Notice how you’ll not be caught.
[PC] Do You Use Mods? (Optional):
No, I don’t use mods
Reproduction Rate (Required):
Constant (100%)
Platform (Required):
PC - Steam