HumanoidDescriptions incorrectly apply the 'default face' after changing the Head property from a head without a face decal instance

HumanoidDescriptions incorrectly apply the default face after changing the head from a head which does not contain a face decal instance (such as the Headless Horror’s Head).

Correct behaviour with Head ‘6340101’ (contains a face decal):

image

Broken behaviour with Head ‘134082579’ (does not contain a face decal)

image

Reproduction:

local FACE_ID = "616381207"
local HEAD_ID = "134082579" -- Headless Horseman, also breaks for other faceless Heads such as '2499611582'
local player = game:GetService("Players").ForeverHD
local humanoid = player.Character.Humanoid

local description = humanoid:GetAppliedDescription()
description.Face = "616381207"
description.Head = "134082579"
humanoid:ApplyDescription(description)

wait(3)

local description = humanoid:GetAppliedDescription()
description.Face = "616381207"
description.Head = ""
humanoid:ApplyDescription(description)

This bug occurs for all heads without a face decal instance and happens 100% of the time.

The only way to fix this broken behaviour is by changing the face to a different one, applying the humanoid description, then changing back to the original face, then applying the humanoid description again:

if facelessHeadPresentOnRemoval then
	local originalFace = self.humanoidDescription.Face
	self.humanoidDescription.Face = 0
	pcall(function() humanoid:ApplyDescription(self.humanoidDescription) end)
	self.humanoidDescription.Face = originalFace
	pcall(function() humanoid:ApplyDescription(self.humanoidDescription) end)
end

This means the HumanoidDescription has to be applied three times in a row in order to work correctly, in addition to all the other hacky behaviour required to get it to work. This is frustrating, hacky and requires some seriously ugly code to fix. A fix would be greatly appreciated.

3 Likes

i’ll make a ticket to look into this

4 Likes

this should be working correctly now

4 Likes

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.