public override bool FireEvent(Event E)
        {
            if (E.ID == "MutationAdded")
            {
                Body pBody = ParentObject.GetPart("Body") as Body;
                if (pBody != null)
                {
                    BodyPart Part = pBody.GetPartByManager(AdditionsManagerID);
                    if (Part != null)
                    {
                        ParentObject.FireEvent(Event.New("CommandForceUnequipObject", "BodyPart", Part));
                        if (BaseTail == null)
                        {
                            BaseTail = GameObject.create("BaseThickTail");
                        }

                        Armor armor = BaseTail.GetPart("Armor") as Armor;
                        armor.WornOn = Part.Type;
                        Event @event = Event.New("CommandForceEquipObject");
                        @event.SetParameter("Object", BaseTail);
                        @event.SetParameter("BodyPart", Part);
                        @event.SetSilent(Silent: true);
                        ParentObject.FireEvent(@event);
                    }
                }
                if (ParentObject.HasObjectInInventory("BaseThickTail"))
                {
                    ParentObject.FindObjectInInventory("BaseThickTail").Destroy(null, true, false);
                }
            }
            return(base.FireEvent(E));
        }