[Humanoid] Remove the Status class, and replace it with a Folder named Status

Inside of the Humanoid object, theres a weird object called Status.

image

This object is used to store value objects relating to an unfinished (and now deprecated) set of Humanoid APIs that were being worked on by @Sorcus a LONG while ago.

Class Status : Model [NotCreatable] [Deprecated]

Function bool Humanoid:AddCustomStatus(string status) [Deprecated]
Function bool Humanoid:AddStatus(Enum<Status> status = Poison) [Deprecated]
Function Array Humanoid:GetStatuses() [Deprecated]
Function bool Humanoid:HasCustomStatus(string status) [Deprecated]
Function bool Humanoid:HasStatus(Enum<Status> status = Poison) [Deprecated]

Event Humanoid.StatusAdded(Enum<Status> status) [Deprecated]
Event Humanoid.StatusRemoved(Enum<Status> status) [Deprecated]

What is odd about the Status object is that it directly inherits from the Model object, for no other reason than to store objects. This reflects upon early storage practices on Roblox before Folders were a thing, but it just seems clumsy now.

Since this API is ultimately deprecated, I wanted to propose a few small alterations to clean this up.

  • Remove the Status class and make it a Folder named Status instead of being its own object
  • The folder should only appear if someone makes a call to one of the deprecated status functions.

Rationale

  • There is a name collision between the Status class and the Status enum, which has caused problems with the API documentation previously.
  • New developers might get confused or try to utilize the object because they don’t realize its deprecated, so why is it even showing up in the first place?
  • I just think its weird that an entire class was allocated just for a renamed object instead of… using the Name property?
36 Likes

I fully support this.

Support. I’ve always wondered what that was. I thought it involved animations or something.