public static ItemBaseMelee Load(BaseEntity heldent)
        {
            var bMelee = heldent as BaseMelee;

            if (bMelee == null)
            {
                return(null);
            }

            var ibmInfo = new ItemBaseMelee();

            ibmInfo.Damage = bMelee.damageTypes.Sum(p => p.amount);
            ibmInfo.Radius = bMelee.attackRadius;
            return(ibmInfo);
        }
        public static ItemInformation Load(Item item)
        {
            var iteminfo = new ItemInformation();

            iteminfo.ItemID       = item.info.itemid;
            iteminfo.Shortname    = item.info.shortname;
            iteminfo.MaxStack     = item.info.stackable;
            iteminfo.MaxCondition = item.info.condition.max;

            var heldent = item.GetHeldEntity();

            if (heldent != null)
            {
                iteminfo.HeldEntity = ItemHeldEntity.Load(heldent);

                var heldtype = heldent.GetType();
                if (heldtype == typeof(HeldEntity))
                {
                    iteminfo.HeldType = ItemHeldType.HeldEntity;
                }
                else if (heldtype == typeof(AttackEntity))
                {
                    iteminfo.HeldType = ItemHeldType.AttackEntity;
                }
                else if (heldtype == typeof(BaseProjectile))
                {
                    iteminfo.HeldType = ItemHeldType.BaseProjectile;
                }
                else if (heldtype == typeof(BaseMelee))
                {
                    iteminfo.HeldType = ItemHeldType.BaseMelee;
                }

                iteminfo.HeldEntity     = ItemHeldEntity.Load(heldent);
                iteminfo.BaseProjectile = ItemBaseProjectileInfo.Load(heldent);
                iteminfo.BaseMelee      = ItemBaseMelee.Load(heldent);
            }

            return(iteminfo);
        }