I’m calling part:GetMass()
on descendants of the character when DescendantAdded
fires. When it is called on the Handle
part in an Accessory
, it returns a positive number. Some arbitrary amount of time later (around .15 seconds), the mass becomes 0, seemingly without any detectable indication that it did. Now the mass calculations that already finished are wrong because the mass silently changed.
reproduction (LocalScript in StarterCharacterScripts):
script.Parent.DescendantAdded:Connect(function(part)
if part:IsA("BasePart") and part.Parent:IsA("Accoutrement") then
local path = part:GetFullName()
print(path, part:GetMass())
part.Changed:Connect(function(property)
print("(changed)", part:GetFullName(), property, part[property], part:GetMass())
end)
wait(1)
print("(new mass)", path, part:GetMass())
end
end)
example output:
Workspace.1waffle1.Angel.Handle 25.199998855591
(changed) Workspace.1waffle1.Angel.Handle Parent Angel 25.199998855591
Workspace.1waffle1.DominusV2.Handle 5.5999999046326
(changed) Workspace.1waffle1.DominusV2.Handle Parent DominusV2 5.5999999046326
Workspace.1waffle1.AncalagonGreenBlack.Handle 11.648006439209
(changed) Workspace.1waffle1.AncalagonGreenBlack.Handle Parent AncalagonGreenBlack 11.648006439209
(new mass) Workspace.1waffle1.Angel.Handle 0
(new mass) Workspace.1waffle1.DominusV2.Handle 0
(new mass) Workspace.1waffle1.AncalagonGreenBlack.Handle 0
I included the connection to Changed
to show that there’s no indication that the mass changes.
The output here seems to also demonstrate another bug: Changed
fires because the Parent
changed, but it didn’t.