Dealing damage to all Humanoids in a Region3, but some Humanoids aren't taking damage

local function hitPlayer(pos, size, dmg, userName)
    
    local pos1 = pos - (size / 2)
    local pos2 = pos + (size / 2)
    
    local region = Region3.new(pos1, pos2)
    local parts = game.Workspace:FindPartsInRegion3(region)
    
    for i, v in pairs(parts) do
        
        if v.Name == "HumanoidRootPart" and v.Parent.Name ~= userName and v.Parent:FindFirstChild("Humanoid") then
            
            v.Parent.Humanoid:TakeDamage(dmg)
            
        end
        
    end
    
end

for some reason not all dummies in the region3 are taking damage, and the ones that do take damage are always the same ones

local hitCoroutine = coroutine.create(function() wait() hitPlayer(hb.Position, hb.Size, 50, plr.Name) end)
coroutine.resume(hitCoroutine)

this is how i fire it

When you do local parts = game.Workspace:FindPartsInRegion3(region), maybe try set the third parameter to math.huge as Region3 has a maxpart amount that can be returned but it can be set, like this:

local parts = game.Workspace:FindPartsInRegion3(region,nil,math.huge)

I’m also new to region3