fix clothing type limits being ignored

This commit is contained in:
Cal 2023-10-27 15:13:18 -06:00
parent 78221f8ac3
commit 89a45a57bb
2 changed files with 17 additions and 2 deletions

View file

@ -487,12 +487,12 @@ class CmdWear(MuxCommand):
return
# Apply individual clothing type limits.
if clothing_type := clothing.db.type:
if clothing_type := clothing.db.clothing_type:
if clothing_type in CLOTHING_TYPE_LIMIT:
type_count = single_type_count(already_worn, clothing_type)
if type_count >= CLOTHING_TYPE_LIMIT[clothing_type]:
self.caller.msg(
"You can't wear any more clothes of the type '{clothing_type}'."
f"You can't wear any more clothes of the type '{clothing_type}'."
)
return

View file

@ -79,6 +79,21 @@ class TestClothingCmd(BaseEvenniaCommandTest):
)
self.call(clothing.CmdUncover(), "hat", "You uncover test hat.", caller=self.wearer)
def test_clothing_limits(self):
"""
make sure clothing type limits are being enforced
"""
# change the scarf to a hat for convenience
# since the "hat" type is limited to 1 by default
self.test_scarf.db.clothing_type = "hat"
self.call(clothing.CmdWear(), "hat", "You put on test hat.", caller=self.wearer)
self.call(
clothing.CmdWear(),
"scarf",
"You can't wear any more clothes of the type 'hat'.",
caller=self.wearer,
)
class TestClothingFunc(BaseEvenniaTest):
def setUp(self):