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); }