One thing you can do is edit one of the creature hide items (g_i_crhide001, for example) to give it a new template resref, tag, and just the property of bonus feat.
Then you'd use a script sort of like this (You'll need to add this global as a String in globalcat.2da):
void main()
{
string sItemInSlot = "NULL";
object oItemInSlot = GetItemInSlot(INVENTORY_SLOT_CARMOUR, GetFirstPC());
if(GetIsObjectValid(oItemInSlot) == TRUE) //There is an item in the PC's Creature Armor slot
{
sItemInSlot = GetTag(oItemInSlot); // Set that string to the tag of the object (this is one reason why making the tag and template resref is important; we can get the tag via scripting, but not the file name or template resref...)
}
// Set the Global String for use later.
SetGlobalString("FS_CreHide_Item", sItemInSlot);
AssignCommand(GetFirstPC(), ActionEquipItem(CreateItemOnObject("", GetFirstPC()), INVENTORY_SLOT_CARMOUR, TRUE));
}
You'd need to replace the with the template resref of the item you make, and you can change the Global String to whatever you want.
Anyways, you'd run that before you tried to equip the lightsaber (so, a node or two ahead), and then you'd run this script at the end of the cutscene:
void main()
{
sItem = GetGlobalString("FS_CreHide_Item");
DestroyObject(GetItemInSlot(INVENTORY_SLOT_CARMOUR, GetFirstPC()));
if(sItem != "NULL") // If the PC had an item in that slot before you ran the cutscene
{
AssignCommand(GetFirstPC(), ActionEquipItem(CreateItemOnObject(sItem, GetFirstPC()), INVENTORY_SLOT_CARMOUR, TRUE));
}
}