Server [EU Live/EU Build/US Live/US Build/Event]: EU Live
Description: When putting on dresses it says " *** puts on a glorous suit."
Bug observed since: A month or so.
Images/Screenshots: N/A
Steps to Reproduce: Put on a dress.
Thank you for your bug-report, Aryen!
It will be reviewed as soon as possible by our Developers.
Which dresses, or all of them?
After hours of debugging I was unable to fix the issue that causes all dresses (except for one) to print "puts on a glorious suit" instead of "puts on a glorious dress".
Fixing the typo "glorous" to "glorious" was easy, but something in the lower-stack causes it to use "suit".
-development/gamemode (Github)
You can check my approaches in historical order here:
sh_base_suit.lua:
bd08160db47dbcc5382d3842df4d1707e357f336
137c9bfd54f05aa4a776d3cdbadeae9ddb8368ae
f4c17e3552655ad85180235877783a2d4f7ab29e
sh_dress.lua:
0e39da39fc032940cba94e65ace1d9ddc7e3c939
4e7b5d26107a2da24bf4c68a85eea8ae44c48d5a
f4c17e3552655ad85180235877783a2d4f7ab29e
adcc08d515bf8d936247b5abfa2882df4337cb00
Tests that were performed on the beta server are not included.
The dress that does not have this issue is called "Eloisa Donatella", id "dress8"
local word = "suit"
if self.word then
word = self.word
elseif self.dress then
word = "dress"
end
Would splitting that if statement into two separate if statements help? If `self.word` is set and it's not dress then it would override the self.dress check
> ```
> local word = "suit"
> if self.word then
> word = self.word
> elseif self.dress then
> word = "dress"
> end
> ```
>
> Would splitting that if statement into two separate if statements help? If `self.word` is set and it's not dress then it would override the self.dress check
I did that in bd08160 but no luck.
While debugging the entire DRESS metatable upon registration, I noticed ".word" and ".dress" not being set.
The only dress that somehow has the ".dress" property is dress8
Okay, on beta dresses 1, 7 and 8 have .dress set and .word unset.
I think the issue is that uponLoad is setting in the suit base, which is being pulled by the dress metachain.
Okay, for now what I'll do is disable the uponLoad for the base suit and the base outfit, so they'll only fire in children.
Okay, never mind. I just switched to rawget to ignore __index in the uponLoad function.