hmm i'm having a little trouble making a baldric/sheath for weapons, my first time doing any kind of coding lol

Basically i want it so that the baldric can only store 1 weapon of a specific type, i have achieved making the baldric only store blade type weapons, however i can't seem to restrict it to only 1.
It would also be great if someone could tell me how i can get started on making short/long name of the baldric change when a weapon is stored in it.
Thanks in advance!
*EDIT*
ok i changed the code to
#include <lib.h>
#include <armor_types.h>
#include <damage_types.h>
inherit LIB_WORN_STORAGE;
static void create(){
::create();
SetKeyName("baldric");
SetAdjectives( ({"leather"}) );
SetId( ({"baldric"}) );
SetShort("a leather baldric");
SetLong("A light yet sturdy looking sword baldric.");
SetCanClose(1);
SetMaxCarry(100);
SetMass(200);
SetBaseCost("silver",10);
SetDamagePoints(100);
SetArmorType(A_PANTS);
SetProtection(COLD, 1);
}
int CanReceive(object ob)
{
return ::CanReceive(ob)
&& ( sizeof(all_inventory(this_object())) < 1 )
&& ( ob->GetWeaponType() == "blade");
}
void init(){
worn_storage::init();
}
and the restrictions are working, so how would i get the weapon to change its description when a sword is in it?