public EquipmentStatus(string ThisType,string ThisSize)
	{
		switch(ThisType) {
		case "EmptyHand":
			equipType=EquipType.EmptyHand;
			break;
		case "Sword":
			equipType=EquipType.Sword;
			break;
		case "Gun":
			equipType=EquipType.Gun;
			break;
		default:
			equipType=EquipType.Other;
			break;
		}
		switch (ThisSize) {
		case "Small":
			equipSize=EquipSize.Small;
			break;
		case "Medium":
			equipSize=EquipSize.Medium;
			break;
		case "Big":
			equipSize=EquipSize.Big;
			break;
		default:
			break;
		}
	}
Example #2
0
		public virtual void UpdateVanity(Player player, EquipType type)
		{
			if (item != null)
			{
				item.UpdateVanity(player, type);
			}
		}
Example #3
0
 internal static bool[] GetLoadedArray(EquipType type)
 {
     switch(type)
     {
     case EquipType.Head:
         return Main.armorHeadLoaded;
     case EquipType.Body:
         return Main.armorBodyLoaded;
     case EquipType.Legs:
         return Main.armorLegsLoaded;
     case EquipType.HandsOn:
         return Main.accHandsOnLoaded;
     case EquipType.HandsOff:
         return Main.accHandsOffLoaded;
     case EquipType.Back:
         return Main.accBackLoaded;
     case EquipType.Front:
         return Main.accFrontLoaded;
     case EquipType.Shoes:
         return Main.accShoesLoaded;
     case EquipType.Waist:
         return Main.accWaistLoaded;
     case EquipType.Wings:
         return Main.wingsLoaded;
     case EquipType.Shield:
         return Main.accShieldLoaded;
     case EquipType.Neck:
         return Main.accNeckLoaded;
     case EquipType.Face:
         return Main.accFaceLoaded;
     case EquipType.Balloon:
         return Main.accballoonLoaded;
     }
     return null;
 }
	public void ChangeTo(EquipmentStatus temp)
	{
		equipType = temp.equipType;
		equipSize = temp.equipSize;
		Length = temp.Length;
		if(IsArea){Range = temp.Range;}
		else{BulletPrefab = temp.BulletPrefab;}
	}
        public int GetItemIdByEquipType(EquipType type)
        {
            var target = GetItemByEquipType(type);
            if (target != null)
                return target.ItemId;

            return 0;
        }
Example #6
0
 public void AddEquipTexture(EquipType type, string texture, string armTexture = "", string femaleTexture = "")
 {
     int slot = EquipLoader.ReserveEquipID(type);
     EquipLoader.equips[type][texture] = slot;
     if(type == EquipType.Body)
     {
     EquipLoader.armTextures[slot] = armTexture;
     EquipLoader.femaleTextures[slot] = femaleTexture.Length > 0 ? femaleTexture : texture;
     }
 }
Example #7
0
 public static int GetEquipSlot(EquipType type, string texture)
 {
     if(equips[type].ContainsKey(texture))
     {
     return equips[type][texture];
     }
     else
     {
     return 0;
     }
 }
Example #8
0
		public static EquipTexture GetEquipTexture(EquipType type, int slot)
		{
			if (equipTextures[type].ContainsKey(slot))
			{
				return equipTextures[type][slot];
			}
			else
			{
				return null;
			}
		}
Example #9
0
 protected string GetEnumSql(EquipType equipType)
 {
     if (equipType == EquipType.CuttingTool)
     {
         return "РИ  ";
     }
     if (equipType == EquipType.MaterialGeneral)
     {
         return "МО  ";
     }
     return null;
 }
Example #10
0
 public static EquipSlot GetSlotByEquipType(EquipType type)
 {
     //Todo:others
     switch (type)
     {
         case EquipType.Sword:
         case EquipType.TwinBlades:
         case EquipType.Katana:
         case EquipType.Axe:
         case EquipType.Bow:
         case EquipType.Talisman:
             return EquipSlot.LeftHand; //weapon slot
         case EquipType.SubWeapon:
         case EquipType.Dagger:
             return EquipSlot.RightHand; //subweapon slot
         case EquipType.WeaponStyle:
             return EquipSlot.AvatarWeapon;
         case EquipType.SubWeaponStyle:
             return EquipSlot.AvatarSubWeapon;
         case EquipType.Upperbody:
             return EquipSlot.Chest;
         case EquipType.UpperbodyStyle:
             return EquipSlot.AvatarChest;
         case EquipType.Underwear:
             return EquipSlot.AvatarUnderWear;
         case EquipType.Ring:
             return EquipSlot.Ring1;//todo ring2 too
         case EquipType.Necklace:
             return EquipSlot.Necklace;
         case EquipType.Head:
             return EquipSlot.Helm;
         case EquipType.HeadStyle:
             return EquipSlot.AvatarHelm;
         case EquipType.Hand:
             return EquipSlot.Glove;
         case EquipType.HandStyle:
             return EquipSlot.AvatarGlove;
         case EquipType.Foot:
             return EquipSlot.Boots;
         case EquipType.FootStyle:
             return EquipSlot.AvatarBoots;
         case EquipType.Accessory:
             return EquipSlot.FaceDecoration1;//todo decorations
     }
     return EquipSlot.None;
 }
Example #11
0
        private static Grid GetEquipGrid(Page current, Character owner, EquipType et, Inventory inv, IButtonable previous, Action <IPlayable> handlePlayable)
        {
            Grid grid = GenerateBackableGrid(
                previous,
                et.Sprite,
                Util.ColorString(et.Name, Color.grey),
                string.Format("Equip an item in the <color=yellow>{0}</color> slot.", et.Name)
                );

            foreach (EquippableItem ei in inv as IEnumerable <EquippableItem> )
            {
                if (ei.Type.Equals(et))
                {
                    grid.List.Add(GenerateTargetProcessHelper(current, previous, owner, owner, new CastEquipItem(ei), handlePlayable, ei.Name, ei.Icon));
                }
            }
            return(grid);
        }
Example #12
0
        private static Grid GetEquipGrid(Page current, Character owner, EquipType et, Inventory inv, IButtonable previous, Action <Spell> spellHandler)
        {
            Grid grid = GenerateBackableGrid(
                previous,
                et.Sprite,
                Util.ColorString(et.Name, Color.grey),
                string.Format("Equip an item in the <color=yellow>{0}</color> slot.", et.Name)
                );

            foreach (EquippableItem ei in inv as IEnumerable <EquippableItem> )
            {
                if (ei.Type.Equals(et))
                {
                    grid.List.Add(ei.GetSelfTargetProcess(current, owner, spellHandler));
                }
            }
            return(grid);
        }
Example #13
0
        // Adds the given patreon item to ModLoader, and handles loading its assets automatically
        private void AddItemAndEquipType(ModItem item, EquipType equipType)
        {
            // If a client, we need to add several textures

            /*if (!Main.dedServ) {
             *      AddTexture($"{prefix}.{name}_{equipType}", ReadTexture($"{prefix}.{name}_{equipType}"));
             *      AddTexture($"{prefix}.{name}_{equipType}_{equipType}", ReadTexture($"{prefix}.{name}_{equipType}_{equipType}"));
             *      if (equipType == EquipType.Body) // If a body, add the arms texture
             *      {
             *              AddTexture($"{prefix}.{name}_{equipType}_Arms", ReadTexture($"{prefix}.{name}_{equipType}_Arms"));
             *      }
             * }*/

            // Adds the item to ModLoader, as well as the normal assets
            AddContent(item);
            // AddEquipTexture adds the arms and female body assets automatically, if EquipType is Body
            AddEquipTexture(item, equipType, item.Texture + '_' + equipType);
        }
Example #14
0
        // Adds the given patreon item to ModLoader, and handles loading its assets automatically
        private void AddItemAndEquipType(ModItem item, string prefix, string name, EquipType equipType)
        {
            // If a client, we need to add several textures
            if (!Main.dedServ)
            {
                AddTexture($"{prefix}.{name}_{equipType}", ReadTexture($"{prefix}.{name}_{equipType}"));
                AddTexture($"{prefix}.{name}_{equipType}_{equipType}", ReadTexture($"{prefix}.{name}_{equipType}_{equipType}"));
                if (equipType == EquipType.Body)                 // If a body, add the arms texture
                {
                    AddTexture($"{prefix}.{name}_{equipType}_Arms", ReadTexture($"{prefix}.{name}_{equipType}_Arms"));
                }
            }

            // Adds the item to ModLoader, as well as the normal assets
            AddItem($"{name}_{equipType}", item);
            // AddEquipTexture adds the arms and female body assets automatically, if EquipType is Body
            AddEquipTexture(item, equipType, item.Name, item.Texture + '_' + equipType, item.Texture + "_Arms", item.Texture + "_FemaleBody");
        }
Example #15
0
        /// <summary>
        /// Eequips the entity to the player
        /// </summary>
        /// <param name="entity">The entity to equip</param>
        /// <param name="bodyPart">The bodypart to equip to</param>
        /// <param name="type">The equipment type</param>
        public void Equip(Entity entity, BodyPart bodyPart, EquipType type)
        {
            // If there is an item in the current slot, unequip it
            var currentEquip = activeEquipment[(int)bodyPart];

            if (currentEquip != null)
            {
                UnequipFromBodySlot(bodyPart);

                if (currentEquip == entity)
                {
                    return;
                }
            }

            activeEquipment[(int)bodyPart] = entity;
            OnItemEquip?.Invoke(entity, bodyPart, type);
        }
Example #16
0
 public void ValueMonitorPoolToequip(EquipType equipType, int index)
 {
     valueMonitorPool.AddMonitor <string>((System.Func <string>)(() =>
     {
         return((string)(Player1.RoleData.EquipData.GetEquip(equipType) != null ? Player1.RoleData.EquipData.GetEquip(equipType).id : ""));
     }), (string from, string to) =>
     {
         registereuqiadata(index, Player1.RoleData.EquipData.HasEquip(equipType), Player1.RoleData.EquipData.GetEquip(equipType).icon, Player1.RoleData.EquipData.GetEquip(equipType),
                           () =>
         {
             if (Player1.RoleData.EquipData.HasEquip(equipType))
             {
                 unequia(Player1, Player1.RoleData.EquipData.GetEquip(equipType).id);
                 Player1.UnEquip(equipType);
             }
         });
     }, true);
 }
Example #17
0
        public override void UpdateVanity(Player player, EquipType type)
        {
            SGAPlayer sgaplayer = player.GetModPlayer(mod, typeof(SGAPlayer).Name) as SGAPlayer;

            if (!Main.dedServ)
            {
                sgaplayer.armorglowmasks[1] = "SGAmod/Items/GlowMasks/" + Name + "_Glow";
                sgaplayer.armorglowcolor[1] = delegate(Player player2, int index)
                {
                    return(IDGHead.IDGGlow(player2, index));
                };
                sgaplayer.armorglowmasks[2] = "SGAmod/Items/GlowMasks/" + Name + "_ArmsGlow";
                sgaplayer.armorglowcolor[2] = delegate(Player player2, int index)
                {
                    return(IDGHead.IDGGlow(player2, index));
                };
            }
        }
Example #18
0
        public MapleEquip(GraphicsDevice graphics, int id, EquipType type)
        {
            // Load animations..
            WZFile charWz = new WZFile("Character.wz", WZVariant.GMS, true, WZReadSelection.LowMemory);
            string equipPath = EquipTypes[(int)type] + "/" + id.ToString("00000000") + ".img";
            Vector2 extraOffset = Vector2.Zero;

            switch (type)
            {
                case EquipType.Top:
                    extraOffset = new Vector2(2, 25);
                    break;
            }

            foreach (MapleCharacter.CharacterState state in Enum.GetValues(typeof(MapleCharacter.CharacterState))) // Loop through the states and get the frames for each animation..
            {
                Dictionary<int, MapleFrame> eFrames = new Dictionary<int, MapleFrame>();
                Dictionary<int, MapleFrame> aFrames = new Dictionary<int, MapleFrame>();
                string statePath = equipPath + "/" + MapleCharacter.States[(int)state];

                foreach (WZObject frame in charWz.ResolvePath(statePath))
                {
                    foreach (WZObject bit in frame)
                    {
                        if (bit is WZCanvasProperty)
                        {
                            WZPointProperty origin = (WZPointProperty)bit["origin"];
                            switch (bit.Name)
                            {
                                case "mail":
                                    eFrames.Add(int.Parse(frame.Name), new MapleFrame(new MapleCanvas(Tools.BitmapToTexture(graphics, bit.ValueOrDie<System.Drawing.Bitmap>()), new Vector2(-origin.Value.X, -origin.Value.Y)), 100));
                                    break;
                                case "mailArm":
                                    aFrames.Add(int.Parse(frame.Name), new MapleFrame(new MapleCanvas(Tools.BitmapToTexture(graphics, bit.ValueOrDie<System.Drawing.Bitmap>()), new Vector2(-origin.Value.X, -origin.Value.Y)), 100));
                                    break;
                            }

                        }
                    }
                }
                ani.Add(state, new MapleAnimation(eFrames));
                armAni.Add(state, new MapleAnimation(aFrames));
            }
        }
Example #19
0
 public EquipEntity FindEquip(string equipName, EquipType equipType)
 {
     if (EquipType.Header == equipType)
     {
         foreach (EquipEntity equip in headers)
         {
             if (equip.equipName.Equals(equipName))
             {
                 return(equip);
             }
         }
     }
     else if (EquipType.Upper == equipType)
     {
         foreach (EquipEntity equip in uppers)
         {
             if (equip.equipName.Equals(equipName))
             {
                 return(equip);
             }
         }
     }
     else if (EquipType.Lower == equipType)
     {
         foreach (EquipEntity equip in lowers)
         {
             if (equip.equipName.Equals(equipName))
             {
                 return(equip);
             }
         }
     }
     else if (EquipType.Weapon == equipType)
     {
         foreach (EquipEntity equip in weapons)
         {
             if (equip.equipName.Equals(equipName))
             {
                 return(equip);
             }
         }
     }
     return(null);
 }
Example #20
0
        /// <summary>
        /// 资料类型表的单元格单击事件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void dGV_MatUnit_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {
            //选中行的资料编号
            int strID = 0;

            try
            {
                strID = Convert.ToInt32(dGV_EquipType.Rows[e.RowIndex].Cells[0].Value.ToString());
            }
            catch (Exception)
            { }

            //dGV_MatType的总列数
            int colCount = dGV_EquipType.Columns.Count;

            if (e.ColumnIndex == colCount - 2)//修改
            {
                EquipType equipType = new EquipType();
                equipType.EquipTypeID   = strID;
                equipType.EquipTypeName = dGV_EquipType.Rows[e.RowIndex].Cells[1].Value.ToString();

                Frm_EquipTypeAlter frmEquipTypeAlter = new Frm_EquipTypeAlter();
                frmEquipTypeAlter.frmEquipTypeManager = this;
                frmEquipTypeAlter.equipType           = equipType;
                frmEquipTypeAlter.Text = "修改资料类型";
                frmEquipTypeAlter.ShowDialog();
            }
            else if (e.ColumnIndex == colCount - 1)//删除
            {
                DialogResult result = MessageBox.Show("确定删除吗?", "提醒", MessageBoxButtons.OKCancel, MessageBoxIcon.Question);
                if (result == DialogResult.OK)
                {
                    if (equipType_BLL.deleteEquipType(strID))
                    {
                        MessageBox.Show("删除成功!");
                        ShowData_dGV_EquipType();
                    }
                    else
                    {
                        MessageBox.Show("删除失败!!!");
                    }
                }
            }
        }
Example #21
0
    public void ReduceProperties(SingleObjInfo info)
    {
        EquipType equipType = info.equipType;

        switch (equipType)
        {
        case EquipType.Headgear:
            PlayerStatus.Instance.ReduceAttack(info.attack);
            PlayerStatus.Instance.ReduceDefence(info.defence);
            PlayerStatus.Instance.ReduceSpeed(info.speed);
            break;

        case EquipType.Armor:
            PlayerStatus.Instance.ReduceAttack(info.attack);
            PlayerStatus.Instance.ReduceDefence(info.defence);
            PlayerStatus.Instance.ReduceSpeed(info.speed);
            break;

        case EquipType.RightHand:
            PlayerStatus.Instance.ReduceAttack(info.attack);
            PlayerStatus.Instance.ReduceDefence(info.defence);
            PlayerStatus.Instance.ReduceSpeed(info.speed);
            break;

        case EquipType.LeftHand:
            PlayerStatus.Instance.ReduceAttack(info.attack);
            PlayerStatus.Instance.ReduceDefence(info.defence);
            PlayerStatus.Instance.ReduceSpeed(info.speed);
            break;

        case EquipType.Shoe:
            PlayerStatus.Instance.ReduceAttack(info.attack);
            PlayerStatus.Instance.ReduceDefence(info.defence);
            PlayerStatus.Instance.ReduceSpeed(info.speed);
            break;

        case EquipType.Accessory:
            PlayerStatus.Instance.ReduceAttack(info.attack);
            PlayerStatus.Instance.ReduceDefence(info.defence);
            PlayerStatus.Instance.ReduceSpeed(info.speed);
            break;
        }
        UIStatus.Instacne.UpdateOriginalProperties();
    }
Example #22
0
    /// <summary>
    /// 装备类型转换
    /// </summary>
    /// <param name="typeName"></param>
    /// <returns></returns>
    public static EquipType GetEquipType(string typeName)
    {
        EquipType type = 0;

        if (typeName == null || typeName.Trim() == "")
        {
            return(type);
        }
        try
        {
            type = (EquipType)Enum.Parse(typeof(EquipType), typeName, false);
        }
        catch (Exception e)
        {
            type = EquipType.Helm;
            Debug.LogError("typeName=" + typeName + " ,GetEquipType(string typeName)装备类型转换失败,=" + GetLineNum());
        }
        return(type);
    }
Example #23
0
        public int AddEquipTexture(ModItem item, EquipType type, string texture, string armTexture = "", string femaleTexture = "")
        {
            int slot = EquipLoader.ReserveEquipID(type);

            EquipLoader.equips[type][texture] = slot;
            ModLoader.GetTexture(texture);
            if (type == EquipType.Body)
            {
                EquipLoader.armTextures[slot]    = armTexture;
                EquipLoader.femaleTextures[slot] = femaleTexture.Length > 0 ? femaleTexture : texture;
                ModLoader.GetTexture(armTexture);
                ModLoader.GetTexture(femaleTexture);
            }
            if (type == EquipType.Head || type == EquipType.Body || type == EquipType.Legs)
            {
                EquipLoader.slotToId[type][slot] = item.item.type;
            }
            return(slot);
        }
Example #24
0
    /// <summary>
    /// Checks if equipment of existing type is equipped, if so, removes it and returns it to inventory
    /// </summary>
    /// <param name="equip"></param>
    /// <returns></returns>
    public List <ItemCode> RemoveEquipment(EquipType equip)
    {
        List <ItemCode> returnedItems = new List <ItemCode>();

        for (int i = 0; i < equippedItems.Count; i++)
        {
            switch (equip)
            {
            case EquipType.TwoHandWeapon:
                if (equippedItems.ContainsKey(EquipType.OneHandWeapon))
                {
                    returnedItems.Add(equippedItems[EquipType.OneHandWeapon]);
                    RemoveStats(EquipType.OneHandWeapon);
                }

                if (equippedItems.ContainsKey(EquipType.Shield))
                {
                    returnedItems.Add(equippedItems[EquipType.Shield]);
                    RemoveStats(EquipType.Shield);
                }
                break;

            case EquipType.OneHandWeapon:
            case EquipType.Shield:
                if (equippedItems.ContainsKey(EquipType.TwoHandWeapon))
                {
                    returnedItems.Add(equippedItems[EquipType.TwoHandWeapon]);
                    RemoveStats(EquipType.TwoHandWeapon);
                }
                break;
            }

            if (equippedItems.ContainsKey(equip))
            {
                //Equipment tempEquip = equip;
                returnedItems.Add(equippedItems[equip]);
                RemoveStats(equip);
            }
        }

        return(returnedItems);
    }
Example #25
0
    private void IniteMainCompent(EquipType type)
    {
        if (isInitedMain)
        {
            return;
        }
        isInitedMain = true;

        InitePublicPart();

        IniteSpcialPart(type);

        changeEquip_btn = transform.Find("spec_btn/change_btn").GetComponent <Button>();
        changeEquip_btn.onClick.RemoveAllListeners();
        changeEquip_btn.onClick.AddListener(() => {
            onChangeEquipClick?.Invoke(this);
        });
        intentifyOrDetail_btn  = transform.Find("spec_btn/strenth_info_btn").GetComponent <Button>();
        intentifyOrDetail_text = transform.Find("spec_btn/strenth_info_btn/Text").GetComponent <Text>();
    }
Example #26
0
        /// <summary>
        /// 根据物理主码查询
        /// </summary>
        /// <param name="id">id</param>
        /// <returns>结果</returns>
        public EquipType SELECT_BY_ID(long id)
        {
            try
            {
                EquipType   rd   = new EquipType();
                U_equiptype temp = (from row in db.U_equiptype where row.id == id select row).First();

                rd.Id     = temp.id;
                rd.Name   = temp.name;
                rd.Sort   = temp.sort;
                rd.Icon   = temp.icon;
                rd.Isused = temp.isused;

                return(rd);
            }
            catch
            {
                return(null);
            }
        }
Example #27
0
    public Actor(string xname, EquipType xweapon, EquipType xarmor, int xmhp, int xstr, int xmag, int xcon, int xdex)
    {
        name = xname;

        weapontype = xweapon;
        armortype  = xarmor;

        mhp = xmhp;
        hp  = mhp;

        str = xstr;
        mag = xmag;
        con = xcon;
        dex = xdex;

        basestr = str;
        basemag = mag;
        basecon = con;
        basedex = dex;
    }
Example #28
0
    public override void RefreshPanel(PItem item, PItem cache)
    {
        base.RefreshPanel(item, cache);
        if (item.InvalidGrowAttr())
        {
            canClick = true;
            return;
        }

        EquipType type       = Module_Equip.GetEquipTypeByID(item.itemTypeId);
        int       level      = item.GetIntentyLevel();
        int       limitLevel = moduleEquip.GetLimitIntenLevel(type, level, true);

        m_currentLevel.text   = level.ToString();
        m_nextLimitLevel.text = limitLevel.ToString();
        if (!m_t)
        {
            canClick = true;
        }
    }
Example #29
0
    /// <summary>
    /// 装备类型判断
    /// </summary>
    /// <param name="str">类型</param>
    /// <returns>装备类型</returns>
    private EquipType Equip(string str)
    {
        EquipType equipType = EquipType.Null;

        //Helm,Cloth,Weapon,Shoes,Necklace,Bracelet,Ring,Wing
        switch (str)
        {
        case "Helm":
            equipType = EquipType.helmet;
            break;

        case "Cloth":
            equipType = EquipType.clothes;
            break;

        case "Weapon":
            equipType = EquipType.weapons;
            break;

        case "Shoes":
            equipType = EquipType.shoes;
            break;

        case "Necklace":
            equipType = EquipType.necklace;
            break;

        case "Bracelet":
            equipType = EquipType.bracelet;
            break;

        case "Ring":
            equipType = EquipType.ring;
            break;

        case "Wing":
            equipType = EquipType.wings;
            break;
        }
        return(equipType);
    }
Example #30
0
        public EquipData GetEquip(EquipType equipType)
        {
            switch (equipType)
            {
            case EquipType.Necklace:
                if (necklaceData != null && necklaceData.id != "")
                {
                    return(necklaceData);
                }
                break;

            case EquipType.Glove:
                if (gloveData != null && gloveData.id != "")
                {
                    return(gloveData);
                }
                break;

            case EquipType.Trousers:
                if (TrousersData != null && TrousersData.id != "")
                {
                    return(TrousersData);
                }
                break;

            case EquipType.Shoe:
                if (shoeData != null && shoeData.id != "")
                {
                    return(shoeData);
                }
                break;

            case EquipType.Helmet:
                if (HelmetData != null && HelmetData.id != "")
                {
                    return(HelmetData);
                }
                break;
            }
            return(null);
        }
Example #31
0
        public bool HasEquip(EquipType equipType)
        {
            switch (equipType)
            {
            case EquipType.Necklace:
                if (necklaceData != null && necklaceData.id != "")
                {
                    return(true);
                }
                break;

            case EquipType.Glove:
                if (gloveData != null && gloveData.id != "")
                {
                    return(true);
                }
                break;

            case EquipType.Trousers:
                if (TrousersData != null && TrousersData.id != "")
                {
                    return(true);
                }
                break;

            case EquipType.Shoe:
                if (shoeData != null && shoeData.id != "")
                {
                    return(true);
                }
                break;

            case EquipType.Helmet:
                if (HelmetData != null && HelmetData.id != "")
                {
                    return(true);
                }
                break;
            }
            return(false);
        }
Example #32
0
        /// <summary>
        /// Delegate called when the player equips an item from the inventory
        /// </summary>
        /// <param name="entity">The entity to equip</param>
        /// <param name="bodyPart">Where the equip will be on the body</param>
        /// <param name="type">The equipment type</param>
        private void HandleItemEquipEvent(Entity entity, BodyPart bodyPart, EquipType type)
        {
            Transform anchor;

            if (LocateBodyPart(bodyPart, bodyMappings, out anchor))
            {
                var transform = entity.transform;
                transform.SetParent(anchor);

                var equipment = transform.GetComponent <IEquippable> ();
                if (equipment != null)
                {
                    equipment.Anchor = anchor;
                }

                animator.SetInteger("Equip Type", (int)type);

                var container = transform.GetComponent <IEntityContainer> ();
                container?.InvokeLuaMethod("onEquip", UserData.Create(entity));
            }
        }
Example #33
0
        /// <summary>
        /// Removes a piece of equipment.
        /// </summary>
        /// <param name="inventory">The inventory to place the removed item into.</param>
        /// <param name="type">The type of equipment to remove.</param>
        public void RemoveEquip(Inventory inventory, EquipType type)
        {
            Util.Assert(equipped.ContainsKey(type), "No equipment in slot.");
            EquippableItem itemToRemove = equipped[type];

            if (itemBuffs.ContainsKey(itemToRemove.Type))
            {
                Buff buffToRemove = itemBuffs[itemToRemove.Type];
                itemBuffs.Remove(itemToRemove.Type);
                RemoveBuff(buffToRemove);
            }

            inventory.Add(itemToRemove);
            equipped.Remove(itemToRemove.Type);

            foreach (KeyValuePair <StatType, int> pair in itemToRemove.StatBonuses)
            {
                Util.Assert(StatType.ASSIGNABLES.Contains(pair.Key), "Invalid stat type on equipment.");
                this.statBonuses[pair.Key] -= pair.Value;
            }
        }
Example #34
0
        /// <summary>
        /// 插入函数
        /// </summary>
        /// <param name="info">Model</param>
        /// <returns>影响数据物理ID</returns>
        public long INSERT(EquipType info)
        {
            try
            {
                U_equiptype temp = new U_equiptype();
                //temp.id = info.Id;
                temp.name   = info.Name;
                temp.sort   = info.Sort;
                temp.icon   = info.Icon;
                temp.isused = info.Isused;

                Table <U_equiptype> table = db.GetTable <U_equiptype>();
                table.InsertOnSubmit(temp);
                db.SubmitChanges();
                return(temp.id);
            }
            catch
            {
                return(-2);
            }
        }
Example #35
0
    /// <summary>
    /// 选择穿戴在哪个部位上
    /// </summary>
    /// <param name="type">装备类型 装备在那个部位</param>
    /// <param name="it">需要装备或者卸下装备对象</param>
    public UISprite PutOnSwitchPart(EquipType type, Item it)
    {
        UISprite equItem = null;

        switch (type)
        {
        case EquipType.Helm:
            equItem = HelmSpire;
            break;

        case EquipType.Cloth:
            equItem = ClothSpire;
            break;

        case EquipType.Weapon:
            equItem = WeaponSprite;
            break;

        case EquipType.Shoes:
            equItem = ShoesSprite;
            break;

        case EquipType.Necklace:
            equItem = NecklaceSprite;
            break;

        case EquipType.Bracelet:
            equItem = BraceleSprite;
            break;

        case EquipType.Ring:
            equItem = RingSprite;
            break;

        case EquipType.Wing:
            equItem = WingSprite;
            break;
        }
        return(equItem);
    }
Example #36
0
        /// <summary>
        /// Creates a subgrid containing user's equipment
        /// </summary>
        /// <param name="previous">supergrid</param>
        /// <param name="owner">Owner of the equipment</param>
        /// <param name="handlePlayable">Playable handler</param>
        /// <param name="isInCombat">If in combat, text is "Equipment", otherwise it's the owner's name</param>
        /// <returns></returns>
        public static Grid GenerateEquipmentGrid(Page current, IButtonable previous, Character owner, Action <IPlayable> handlePlayable, bool isInCombat)
        {
            Grid grid = GenerateBackableGrid(previous, EQUIPMENT, isInCombat ? "Equipment" : owner.Look.DisplayName, string.Format("Manage {0}'s equipment.", owner.Look.DisplayName));

            foreach (EquipType myET in EquipType.AllTypes)
            {
                EquipType   et = myET;
                IButtonable ib = null;
                Equipment   eq = owner.Equipment;
                if (owner.Equipment.Contains(et))
                {
                    CastUnequipItem unequip = new CastUnequipItem(owner.Inventory, owner.Equipment, eq.PeekItem(et));
                    ib = GetUnequipProcess(current, unequip, owner, grid, handlePlayable);
                }
                else
                {
                    ib = GetEquipGrid(current, owner, et, owner.Inventory, grid, handlePlayable);
                }
                grid.List.Add(ib);
            }
            return(grid);
        }
Example #37
0
        /// <summary>
        /// 更新函数
        /// </summary>
        /// <param name="info">Model</param>
        /// <returns>影响数据物理ID,已存在逻辑主码返回-1</returns>
        public long UPDATE(EquipType info)
        {
            try
            {
                U_equiptype         temp  = new U_equiptype();
                Table <U_equiptype> table = db.GetTable <U_equiptype>();
                temp = (from row in db.U_equiptype where row.id == info.Id select row).First();

                //temp.id = info.Id;
                temp.name   = info.Name;
                temp.sort   = info.Sort;
                temp.icon   = info.Icon;
                temp.isused = info.Isused;

                db.SubmitChanges();
                return(temp.id);
            }
            catch
            {
                return(-2);
            }
        }
 public override void UpdateVanity(Player player, EquipType type)
 {
     if (Main.rand.Next(4) == 0)
     {
         int num38 = Dust.NewDust(new Vector2(player.position.X - 2f, player.position.Y + (float)player.height - 2f), player.width + 2, 2, 132, 0f, 0f, 100, default(Microsoft.Xna.Framework.Color), 1.5f);
         Main.dust[num38].noGravity = true;
         Main.dust[num38].noLight   = true;
         Dust dust2 = Main.dust[num38];
         dust2.velocity *= 0f;
     }
     if (Main.rand.Next(3) < 2)
     {
         int dust = Dust.NewDust(player.position - new Vector2(2f, 2f), player.width + 4, player.height + 4, 132, player.velocity.X * 0.4f, player.velocity.Y * 0.4f, 100, default(Color), 1.2f);
         Main.dust[dust].noGravity   = true;
         Main.dust[dust].velocity   *= 0f;
         Main.dust[dust].velocity.Y += 0.25f;
         if (Main.rand.Next(2) == 0)
         {
             Main.dust[dust].scale *= 0.5f;
         }
     }
 }
Example #39
0
        /// <summary>
        /// Returns first matching stance based on given parameters,
        /// defaults to 10000 if no stances were found.
        /// </summary>
        /// <param name="jobId"></param>
        /// <param name="riding"></param>
        /// <param name="rightHand"></param>
        /// <param name="leftHand"></param>
        /// <returns></returns>
        public int FindStanceId(JobId jobId, bool riding, EquipType rightHand, EquipType leftHand)
        {
            var data = this.Entries.FirstOrDefault(a => a.JobId == jobId && a.Riding == riding && a.RightHand == rightHand && a.LeftHand == leftHand);

            if (data == null)
            {
                switch (jobId.ToClass())
                {
                default:
                case Class.Swordsman: return(10000);

                case Class.Wizard: return(10006);

                case Class.Archer: return(10008);

                case Class.Cleric:
                case Class.GM: return(10004);
                }
            }

            return(data.StanceId);
        }
Example #40
0
    public void SetWeaponeParts(EquipType equipType)
    {
        if (equips == null)
        {
            return;
        }

        int index = (int)equipType;

        if (equips[index] == null)
        {
            if (weapons[index] == null)
            {
                return;
            }

            Destroy(weapons[index].gameObject);
            weapons[index] = null;
        }
        else
        {
            if (weapons[index] == null)
            {
                Weapon loadWeapone = Resources.Load <Weapon>(equips[index].Path[0]);
                weapons[index] = Instantiate(loadWeapone, equipParts[index].spriteRenderer[0].transform);
                weapons[index].SetEvent(onEventHit, onEventActorPosition, onEventUseProjectile);
            }

            if (equipType == EquipType.RightWeapon)
            {
                SetRightWeaponParts();
            }
            else if (equipType == EquipType.LeftWeapon)
            {
                SetLeftWeaponParts();
            }
        }
    }
    public EquipmentStatus(string ThisType, string ThisSize)
    {
        switch (ThisType)
        {
        case "EmptyHand":
            equipType = EquipType.EmptyHand;
            break;

        case "Sword":
            equipType = EquipType.Sword;
            break;

        case "Gun":
            equipType = EquipType.Gun;
            break;

        default:
            equipType = EquipType.Other;
            break;
        }
        switch (ThisSize)
        {
        case "Small":
            equipSize = EquipSize.Small;
            break;

        case "Medium":
            equipSize = EquipSize.Medium;
            break;

        case "Big":
            equipSize = EquipSize.Big;
            break;

        default:
            break;
        }
    }
Example #42
0
		public int AddEquipTexture(ModItem item, EquipType type, string name, string texture,
			string armTexture = "", string femaleTexture = "")
		{
			return AddEquipTexture(new EquipTexture(), item, type, name, texture, armTexture, femaleTexture);
		}
Example #43
0
		public int AddEquipTexture(EquipTexture equipTexture, ModItem item, EquipType type, string name, string texture,
			string armTexture = "", string femaleTexture = "")
		{
			int slot = EquipLoader.ReserveEquipID(type);
			equipTexture.Texture = texture;
			equipTexture.mod = this;
			equipTexture.Name = name;
			equipTexture.Type = type;
			equipTexture.Slot = slot;
			equipTexture.item = item;
			EquipLoader.equipTextures[type][slot] = equipTexture;
			ModLoader.GetTexture(texture);
			if (type == EquipType.Body)
			{
				EquipLoader.armTextures[slot] = armTexture;
				EquipLoader.femaleTextures[slot] = femaleTexture.Length > 0 ? femaleTexture : texture;
				ModLoader.GetTexture(armTexture);
				ModLoader.GetTexture(femaleTexture);
			}
			if (item != null && (type == EquipType.Head || type == EquipType.Body || type == EquipType.Legs))
			{
				EquipLoader.slotToId[type][slot] = item.item.type;
			}
			return slot;
		}
        /// <summary>
        /// The set selected new item.
        /// </summary>
        /// <param name="itemNew">
        /// The item new.
        /// </param>
        /// <returns>
        /// The <see cref="Task"/>.
        /// </returns>
        private async Task SetSelectedNewItem(EquipType itemNew)
        {
            this._selectedTypeItem = await AssetClassesTypeFunctions.GetDataDetailItemSelected(itemNew.EquipTypeId);

            var itemExist = this.ListDataGridItem.FirstOrDefault(x => x.EquipTypeId == itemNew.EquipTypeId);

            if (itemExist != null)
            {
                this.ListDataGridItem.Remove(itemExist);
                this.ListDataGridItem.Add(this._selectedTypeItem);
            }
            else
            {
                this.ListDataGridItem.Add(this._selectedTypeItem);
            }

            this.ListDataGridItem = this.ListDataGridItem.OrderBy(x => x.TypeDescription).ToList();
        }
Example #45
0
		public virtual void UpdateVanity(Player player, EquipType type)
		{
		}
Example #46
0
 public virtual bool Autoload(ref string name, ref string texture, ref EquipType? equip)
 {
     return mod.Properties.Autoload;
 }
Example #47
0
		internal static Texture2D[] GetTextureArray(EquipType type)
		{
			switch (type)
			{
				case EquipType.Head:
					return Main.armorHeadTexture;
				case EquipType.Body:
					return Main.armorBodyTexture;
				case EquipType.Legs:
					return Main.armorLegTexture;
				case EquipType.HandsOn:
					return Main.accHandsOnTexture;
				case EquipType.HandsOff:
					return Main.accHandsOffTexture;
				case EquipType.Back:
					return Main.accBackTexture;
				case EquipType.Front:
					return Main.accFrontTexture;
				case EquipType.Shoes:
					return Main.accShoesTexture;
				case EquipType.Waist:
					return Main.accWaistTexture;
				case EquipType.Wings:
					return Main.wingsTexture;
				case EquipType.Shield:
					return Main.accShieldTexture;
				case EquipType.Neck:
					return Main.accNeckTexture;
				case EquipType.Face:
					return Main.accFaceTexture;
				case EquipType.Balloon:
					return Main.accBalloonTexture;
			}
			return null;
		}
Example #48
0
		internal static int GetNumVanilla(EquipType type)
		{
			switch (type)
			{
				case EquipType.Head:
					return Main.numArmorHead;
				case EquipType.Body:
					return Main.numArmorBody;
				case EquipType.Legs:
					return Main.numArmorLegs;
				case EquipType.HandsOn:
					return Main.numAccHandsOn;
				case EquipType.HandsOff:
					return Main.numAccHandsOff;
				case EquipType.Back:
					return Main.numAccBack;
				case EquipType.Front:
					return Main.numAccFront;
				case EquipType.Shoes:
					return Main.numAccShoes;
				case EquipType.Waist:
					return Main.numAccWaist;
				case EquipType.Wings:
					return Main.maxWings;
				case EquipType.Shield:
					return Main.numAccShield;
				case EquipType.Neck:
					return Main.numAccNeck;
				case EquipType.Face:
					return Main.numAccFace;
				case EquipType.Balloon:
					return Main.numAccBalloon;
			}
			return 0;
		}
Example #49
0
	void OnSerializeNetworkView(BitStream stream, NetworkMessageInfo info) {
		Vector3 syncPosition = Vector3.zero;
		Quaternion syncRotation = Quaternion.identity;
		bool isShooting = false;
		bool isSwappingWeapon = false;
		bool equippedDefaultGun = false;
		bool serializedControlsEnabled = false;
		bool serializedIsVisible = false;

		int ownerID = -1;

		if (stream.isWriting) {
			syncPosition = transform.position;
			syncRotation = transform.rotation;
			isShooting = shooting;
			isSwappingWeapon = swappingWeapon;
			equippedDefaultGun = (equippedItem == EquipType.DEFAULT_WEAPON);
			serializedIsVisible = isVisible;
			serializedControlsEnabled = controlsEnabled;

			if (Network.isServer) {
				ownerID = ownerPlayerID;
			}
			
			stream.Serialize(ref syncPosition);
			stream.Serialize(ref syncRotation);
			stream.Serialize(ref isShooting);
			stream.Serialize(ref isSwappingWeapon);
			stream.Serialize(ref equippedDefaultGun);
			stream.Serialize(ref serializedIsVisible);
			stream.Serialize(ref serializedControlsEnabled);
			
			if (Network.isServer) {
				Debug.Log("Serializing ownerID to all instances");
				stream.Serialize(ref ownerID);
			}
		}
		else {
			stream.Serialize(ref syncPosition);
			stream.Serialize(ref syncRotation);
			stream.Serialize(ref isShooting);
			stream.Serialize(ref isSwappingWeapon);
			stream.Serialize(ref equippedDefaultGun);
			stream.Serialize(ref serializedIsVisible);
			stream.Serialize(ref serializedControlsEnabled);

			if (Network.isClient) {
				stream.Serialize(ref ownerID);
			}

			syncTime = 0f;
			syncDelay = Time.time - lastSynchronizationTime;
			lastSynchronizationTime = Time.time;
			
			syncStartPosition = transform.position;
			syncEndPosition = syncPosition;
			
			syncStartRotation = transform.rotation;
			syncEndRotation = syncRotation;
			
			shooting = isShooting;
			swappingWeapon = isSwappingWeapon;
			if (equippedDefaultGun) {
				equippedItem = EquipType.DEFAULT_WEAPON;
			}
			else {
				equippedItem = EquipType.SUB_WEAPON;
			}

			isVisible = serializedIsVisible;
			controlsEnabled = serializedControlsEnabled;

			if (Network.isClient) {
				ownerPlayerID = ownerID;
			}
		}
	}
Example #50
0
        public virtual void DrawArmorColor(EquipType type, int slot, Player drawPlayer, float shadow, ref Color color,
			ref int glowMask, ref Color glowMaskColor)
        {
        }
 public EquipmentComponent(ulong id, EquipType t, int ilvl)
     : base(id)
 {
     Type = t;
     ILvl = ilvl;
 }
Example #52
0
 protected string GetStringEnum(EquipType equipType)
 {
     if (equipType == EquipType.CuttingTool)
     {
         return "Режущий инструмент";
     }
     if (equipType == EquipType.MaterialGeneral)
     {
         return "Материалы";
     }
     return null;
 }
Example #53
0
 public static int SlotByEquipType(EquipType slot)
 {
     return GetSlotByEquipType(slot).GetHashCode();
 }
Example #54
0
		internal static int GetPlayerEquip(Player player, EquipType type)
		{
			switch (type)
			{
				case EquipType.Head:
					return player.head;
				case EquipType.Body:
					return player.body;
				case EquipType.Legs:
					return player.legs;
				case EquipType.HandsOn:
					return player.handon;
				case EquipType.HandsOff:
					return player.handoff;
				case EquipType.Back:
					return player.back;
				case EquipType.Front:
					return player.front;
				case EquipType.Shoes:
					return player.shoe;
				case EquipType.Waist:
					return player.waist;
				case EquipType.Wings:
					return player.wings;
				case EquipType.Shield:
					return player.shield;
				case EquipType.Neck:
					return player.neck;
				case EquipType.Face:
					return player.face;
				case EquipType.Balloon:
					return player.balloon;
			}
			return 0;
		}
        /// <summary>
        /// Process actions or steps were raised on content
        /// </summary>
        /// <param name="e">
        /// The e.
        /// </param>
        /// <param name="_params">
        /// The _params.
        /// </param>
        /// <param name="item">
        /// The id.
        /// </param>
        public void ProcessingStepsOnChild(EnumScreen e, object _params, object item)
        {
            Screen = e;

            // handle behavior for step on content
            EnumSteps currentStep = (EnumSteps)Enum.Parse(typeof(EnumSteps), _params.ToString());
            object firstSelectedItem = null;
            if (FormBarMenuViewModel != null)
            {
                switch (currentStep)
                {
                    case EnumSteps.Edit:
                    case EnumSteps.Transfer:
                        FormBarMenuViewModel.ChangedVisibility = Visibility.Collapsed;
                        return;
                    case EnumSteps.EditBulkUpdate:
                        switch (Screen)
                        {
                            case EnumScreen.AssetCollateralClasses:
                            case EnumScreen.AssetFeatures:
                                var assetFeatureVm = this.ScreenDetailViewModel as MainWindowDetailsViewModel;
                                if (assetFeatureVm != null)
                                {
                                    assetFeatureVm.ChangedVisibilityHyperlink = Visibility.Hidden;
                                }
                                FormBarMenuViewModel.ChangedVisibility = Visibility.Collapsed;
                                return;
                        }
                        break;                       
                    case EnumSteps.Cancel:
                        FormBarMenuViewModel.ChangedVisibility = Visibility.Visible;
                        return;
                    case EnumSteps.CancelBulkUpdate:
                        switch (Screen)
                        {
                            case EnumScreen.AssetCollateralClasses:
                            case EnumScreen.AssetFeatures:
                                var assetFeatureVm = this.ScreenDetailViewModel as MainWindowDetailsViewModel;
                                if (assetFeatureVm != null)
                                {
                                    assetFeatureVm.ChangedVisibilityHyperlink = Visibility.Hidden;
                                }
                                FormBarMenuViewModel.ChangedVisibility = Visibility.Visible;
                                return;
                        }
                        break;
                    case EnumSteps.CancelAssignFeature:
                        switch (Screen)
                        {
                            case EnumScreen.AssetCollateralClasses:
                                FormBarMenuViewModel.FormMenuContent = "Asset Collateral Classes";
                                var assetFeatureVm = this.ScreenDetailViewModel as MainWindowDetailsViewModel;
                                if (assetFeatureVm != null)
                                {
                                    assetFeatureVm.ChangedVisibilityHyperlink = Visibility.Hidden;
                                }
                                FormBarMenuViewModel.ChangedVisibility = Visibility.Visible;
                                return;
                            case EnumScreen.AssetFeatures:
                                FormBarMenuViewModel.FormMenuContent = "Asset Features";
                                assetFeatureVm = this.ScreenDetailViewModel as MainWindowDetailsViewModel;
                                if (assetFeatureVm != null)
                                {
                                    assetFeatureVm.ChangedVisibilityHyperlink = Visibility.Hidden;
                                }
                                FormBarMenuViewModel.ChangedVisibility = Visibility.Visible;
                                return;
                            case EnumScreen.AssetClassesCategory:
                                FormBarMenuViewModel.ChangedVisibility = Visibility.Visible;
                                return;
                            case EnumScreen.AssetClassesType:
                                FormBarMenuViewModel.ChangedVisibility = Visibility.Visible;
                                return;
                        }
                        break;
                    case EnumSteps.CancelAssignMake:
                        switch (Screen)
                        {
                            case EnumScreen.AssetClassesType:
                                FormBarMenuViewModel.ChangedVisibility = Visibility.Visible;
                                return;
                        }
                        break;
                    case EnumSteps.ItemLocked:
                        if (item != null)
                        {
                            FormBarMenuViewModel.ChangedVisibility = Visibility.Visible;
                            switch (Screen)
                            {
                                case EnumScreen.CollectionAssignment:
                                    CollectionAssignmentModel selectedQueue = item as CollectionAssignmentModel;
                                    this.ToggleViewModel.SetSelectedItem(selectedQueue);
                                    break;
                            }
                        }
                        return;
                    case EnumSteps.Add:
                        var toggleViewModel = this.ToggleViewModel.GridDynamicViewModel;
                        if (toggleViewModel != null && toggleViewModel.SelectedItem != null)
                        {
                            toggleViewModel.SelectedItem = null;
                        }
                        if (Screen == EnumScreen.AssetClassesMake)
                        {
                            FormBarMenuViewModel.ChangedVisibility = Visibility.Collapsed;
                        }
                        break;
                    case EnumSteps.Delete:
                        if (item != null)
                        {
                            switch (Screen)
                            {
                                case EnumScreen.AssetFeatures:
                                    this.ContentViewModel_OnPropertyChanged(currentStep, item);
                                    FormBarMenuViewModel.ChangedVisibility = Visibility.Visible;
                                    return;
                            }
                        }
                        var mainWindowDetailsViewModelFundingSummary = this.ScreenDetailViewModel as MainWindowDetailsViewModel;
                        if (mainWindowDetailsViewModelFundingSummary != null)
                        {
                            mainWindowDetailsViewModelFundingSummary.ChangedVisibilityHyperlink = Visibility.Hidden;
                        }
                        FormBarMenuViewModel.ChangedVisibility = Visibility.Collapsed;
                        ContentViewModel_OnPropertyChanged(currentStep, item);
                        return;
                    case EnumSteps.Save:
                        FormBarMenuViewModel.ChangedVisibility = Visibility.Visible;
                        ContentViewModel_OnPropertyChanged(currentStep, item);
                        return;
                    //Asset classes Category step change for mode bulk update
                    case EnumSteps.AssetClassesCategoryAssignFeaturesState:
                        FormBarMenuViewModel.ChangedVisibility = Visibility.Collapsed;
                        FormBarMenuViewModel.FormBarContent = "Assign Features";
                        FormBarMenuViewModel.FormMenuContent = "Asset Category";
                        return;
                    case EnumSteps.AssetClassesCategoryAssignTypesState:
                        FormBarMenuViewModel.ChangedVisibility = Visibility.Collapsed;
                        FormBarMenuViewModel.FormBarContent = "Assign Types";
                        FormBarMenuViewModel.FormMenuContent = "Asset Category";
                        return;
                    case EnumSteps.AssetClassesCategoryUpdateDepreciationState:
                        FormBarMenuViewModel.ChangedVisibility = Visibility.Collapsed;
                        FormBarMenuViewModel.FormBarContent = "Update Depreciation";
                        FormBarMenuViewModel.FormMenuContent = "Asset Category";
                        return;
                    //Asset classes Type step change for mode bulk update
                    case EnumSteps.AssetClassesTypeAssignFeaturesState:
                        FormBarMenuViewModel.ChangedVisibility = Visibility.Collapsed;
                        FormBarMenuViewModel.FormBarContent = "Assign Features";
                        FormBarMenuViewModel.FormMenuContent = "Asset Type";
                        return;
                    case EnumSteps.AssetClassesTypeAssignMakeState:
                        FormBarMenuViewModel.ChangedVisibility = Visibility.Collapsed;
                        FormBarMenuViewModel.FormBarContent = "Assign Make";
                        FormBarMenuViewModel.FormMenuContent = "Asset Type";
                        return;
                    case EnumSteps.AssetClassesTypeUpdateDepreciationState:
                        FormBarMenuViewModel.ChangedVisibility = Visibility.Collapsed;
                        FormBarMenuViewModel.FormBarContent = "Update Depreciation";
                        FormBarMenuViewModel.FormMenuContent = "Asset Type";
                        return;
                    case EnumSteps.SaveAssignFeature:
                        switch (Screen)
                        {
                            case EnumScreen.AssetCollateralClasses:
                            case EnumScreen.AssetFeatures:
                                var assetFeatureVm = this.ScreenDetailViewModel as MainWindowDetailsViewModel;
                                if (assetFeatureVm != null)
                                {
                                    assetFeatureVm.ChangedVisibilityHyperlink = Visibility.Hidden;
                                }
                                FormBarMenuViewModel.ChangedVisibility = Visibility.Visible;
                                return;
                            case EnumScreen.AssetClassesCategory:
                                FormBarMenuViewModel.ChangedVisibility = Visibility.Visible;
                                return;
                            case EnumScreen.AssetClassesType:
                                FormBarMenuViewModel.ChangedVisibility = Visibility.Visible;
                                return;
                        }
                        break;
                    case EnumSteps.SaveAssignTypes:
                        FormBarMenuViewModel.ChangedVisibility = Visibility.Visible;
                        switch (Screen)
                        {
                            case EnumScreen.AssetCollateralClasses:
                                var collateralVm = this.ScreenDetailViewModel as MainWindowDetailsViewModel;
                                if (collateralVm != null)
                                {
                                    collateralVm.ChangedVisibilityHyperlink = Visibility.Hidden;
                                }
                                return;
                        }
                        return;
                    case EnumSteps.SaveAssignMake:
                        FormBarMenuViewModel.ChangedVisibility = Visibility.Visible;
                        return;
                    case EnumSteps.SaveUpdateDepreciation:
                        FormBarMenuViewModel.ChangedVisibility = Visibility.Visible;
                        return;
                    case EnumSteps.CancelAssignTypes:
                        FormBarMenuViewModel.ChangedVisibility = Visibility.Visible;
                        return;
                    case EnumSteps.CancelUpdateDepreciation:
                        FormBarMenuViewModel.ChangedVisibility = Visibility.Visible;
                        return;
                    case EnumSteps.BulkUpdate:
                        switch (Screen)
                        {
                            case EnumScreen.AssetCollateralClasses:
                                var collateralVm = this.ScreenDetailViewModel as MainWindowDetailsViewModel;
                                if (collateralVm != null)
                                {
                                    collateralVm.ChangedVisibilityHyperlink = Visibility.Hidden;
                                }
                                return;
                            case EnumScreen.AssetFeatures:
                                var assetFeatureVm = this.ScreenDetailViewModel as MainWindowDetailsViewModel;
                                if (assetFeatureVm != null)
                                {
                                    assetFeatureVm.ChangedVisibilityHyperlink = Visibility.Hidden;
                                }
                                return;
                        }
                        break;
                    case EnumSteps.SelectOldTabHyperlink:
                        return;
                    //case EnumSteps.AssignModel:
                    //    if (Screen == EnumScreen.AssetClassesMake)
                    //    {
                    //        var assetMakeVm = this.ScreenDetailViewModel as MainAssetClassesViewModel;
                    //        if (assetMakeVm != null)
                    //        {
                    //            assetMakeVm.ChangedVisibility = Visibility.Collapsed;
                    //        }
                    //        return;
                    //    }
                    //    break;
                    case EnumSteps.SaveAssignModel:
                        FormBarMenuViewModel.ChangedVisibility = Visibility.Visible;
                        return;
                    case EnumSteps.AssignModel:
                        FormBarMenuViewModel.ChangedVisibility = Visibility.Collapsed;
                        FormBarMenuViewModel.FormBarContent = "Asset Make";
                        FormBarMenuViewModel.FormMenuContent = "Asset Make";
                        return;
                    case EnumSteps.CancelAssignModel:
                        FormBarMenuViewModel.ChangedVisibility = Visibility.Visible;
                        return;
                    case EnumSteps.SaveRegisterSummary:
                        FormBarMenuViewModel.ChangedVisibility = Visibility.Visible;
                        FormBarMenuViewModel.FormBarContent = "Asset Registers";
                        FormBarMenuViewModel.FormMenuContent = "Menu";
                        return;
                    //case EnumSteps.SelectRegisteredAsset:
                    //    FormBarMenuViewModel.ChangedVisibility = Visibility.Visible;
                    //    FormBarMenuViewModel.FormBarContent = "Assets Detail";
                    //    FormBarMenuViewModel.FormMenuContent = "Assets";
                    //    return;
                }

                // handle behavior for screens when select item
                switch (Screen)
                {
                    #region users
                    case EnumScreen.Users:
                        var mainWindowDetailsTabControlViewModel = this.ScreenDetailViewModel as MainWindowDetailsTabControlViewModel;
                        if (mainWindowDetailsTabControlViewModel != null)
                        {
                            var usersViewModel = mainWindowDetailsTabControlViewModel.UsersMainWindowDetailsVm.ScreenDetailViewModel as UsersViewModel;
                            if (usersViewModel != null)
                            {
                                if (usersViewModel.AllUsers != null)
                                {
                                    // load data for right hand grid
                                    if (this.ToggleViewModel.GridDynamicViewModel == null || this.ToggleViewModel.Screen != Screen)
                                    {
                                        var userCredentials = usersViewModel.AllUsers.Select(x => x.UserCredentials).ToList();
                                        var userMappings = from d in userCredentials
                                                           select new UserMapping
                                                                           {
                                                                               UserEntityId = d.UserEntityId,
                                                                               LoginName = d.LoginName,
                                                                               IsEnabled = d.IsEnabled,
                                                                           };

                                        // create column and data for dynamic grid
                                        this.ToggleViewModel.GridDynamicViewModel = null;
                                        this.ToggleViewModel.GridDynamicViewModel = new DynamicGridViewModel(typeof(UserMapping));
                                        this.ToggleViewModel.GridDynamicViewModel.GridColumns = new List<DynamicColumn>
                                                                                         {
                                                                                             new DynamicColumn { ColumnName = "LoginName", Header = "Login Name" },
                                                                                             new DynamicColumn { ColumnName = "IsEnabled",  Header = "Enabled" },
                                                                                         };
                                        this.ToggleViewModel.GridDynamicViewModel.GridDataRows = userMappings.ToList<object>();
                                        this.ToggleViewModel.GridDynamicViewModel.LoadRadGridView();
                                        this.ToggleViewModel.Header = "User List";
                                        this.ToggleViewModel.Screen = Screen;
                                    }
                                    firstSelectedItem = usersViewModel.SelectedUser;
                                }
                            }
                        }

                        // change behavior form bar menu
                        FormBarMenuViewModel.ChangedVisibility = Visibility.Visible;
                        FormBarMenuViewModel.FormMenuContent = "Users";
                        if (this._formBarCurrent != string.Empty)
                        {
                            FormBarMenuViewModel.FormBarContent = this._formBarCurrent;
                        }
                        else
                        {
                            if (FormBarMenuViewModel.FormBarContent == "Users")
                            {
                                FormBarMenuViewModel.FormBarContent = "User Detail";
                            }
                        }

                        this._formBarCurrent = FormBarMenuViewModel.FormBarContent;

                        // Visible right hand grid
                        ChangedVisibility = Visibility.Visible;
                        break;
                    #endregion

                    #region groups
                    case EnumScreen.Groups:
                        var mainWindowDetailsTabControlViewModel1 = this.ScreenDetailViewModel as MainWindowDetailsTabControlViewModel;
                        if (mainWindowDetailsTabControlViewModel1 != null)
                        {
                            var groupsViewModel = mainWindowDetailsTabControlViewModel1.GroupsMainWindowDetailsVm.ScreenDetailViewModel as GroupsViewModel;
                            if (groupsViewModel != null)
                            {
                                if (groupsViewModel.Groups != null)
                                {
                                    // load data for right hand grid
                                    if (this.ToggleViewModel.GridDynamicViewModel == null || this.ToggleViewModel.Screen != Screen)
                                    {
                                        var lxmGroup = groupsViewModel.Groups.Select(x => x.LXMGroup).ToList();

                                        var groupMappings = from d in lxmGroup
                                                            select new GroupMapping
                                                            {
                                                                UserEntityId = d.UserEntityId,
                                                                GroupName = d.GroupName,
                                                            };

                                        // create column and data for dynamic grid
                                        this.ToggleViewModel.GridDynamicViewModel = null;
                                        this.ToggleViewModel.GridDynamicViewModel = new DynamicGridViewModel(typeof(GroupMapping));
                                        this.ToggleViewModel.GridDynamicViewModel.GridColumns = new List<DynamicColumn>
                                                                                                    {
                                                                                                        new DynamicColumn
                                                                                                            {
                                                                                                                ColumnName
                                                                                                                    =
                                                                                                                    "GroupName",
                                                                                                                Header
                                                                                                                    =
                                                                                                                    "Group Name"
                                                                                                            }
                                                                                                    };
                                        this.ToggleViewModel.GridDynamicViewModel.GridDataRows = groupMappings.ToList<object>();
                                        this.ToggleViewModel.GridDynamicViewModel.LoadRadGridView();
                                        this.ToggleViewModel.Header = "Group List";
                                        this.ToggleViewModel.Screen = Screen;
                                    }
                                    firstSelectedItem = groupsViewModel.SelectedGroup;
                                }

                            }
                        }

                        // change behavior form bar menu
                        FormBarMenuViewModel.ChangedVisibility = Visibility.Visible;
                        FormBarMenuViewModel.FormMenuContent = "Groups";
                        if (this._formGroupBarCurrent != string.Empty)
                        {
                            FormBarMenuViewModel.FormBarContent = this._formGroupBarCurrent;
                        }
                        else
                        {
                            if (FormBarMenuViewModel.FormBarContent == "Groups")
                            {
                                FormBarMenuViewModel.FormBarContent = "Group Detail";
                            }
                            else
                            {
                                FormBarMenuViewModel.FormBarContent = "Groups";
                            }
                        }

                        this._formGroupBarCurrent = FormBarMenuViewModel.FormBarContent;

                        // Visible right hand grid
                        ChangedVisibility = Visibility.Visible;
                        break;
                    #endregion

                    #region collectionAssignment
                    case EnumScreen.CollectionAssignment:
                        var mainWindowDetailsViewModel = this.ScreenDetailViewModel as MainWindowDetailsViewModel;

                        if (mainWindowDetailsViewModel != null)
                        {
                            var collectionAssignmentViewModel = mainWindowDetailsViewModel.ScreenDetailViewModel as CollectionsAssignmentViewModel;
                            if (collectionAssignmentViewModel != null)
                            {
                                // load data for right hand grid
                                var collectionAssignmentMappings = from d in collectionAssignmentViewModel.FilteredItems
                                                                   select new CollectionAssignmentMapping
                                                                   {
                                                                       QueueID = d.QueueID,
                                                                       FollowUpDate = d.FollowUpDate,
                                                                       ContractId = d.ContractId
                                                                   };

                                // create column and data for dynamic grid
                                this.ToggleViewModel.GridDynamicViewModel = null;
                                this.ToggleViewModel.GridDynamicViewModel = new DynamicGridViewModel(typeof(CollectionAssignmentMapping));
                                this.ToggleViewModel.GridDynamicViewModel.GridColumns = new List<DynamicColumn>
                                                                                         {
                                                                                             new DynamicColumn { ColumnName = "QueueID", Header = "Q#" },
                                                                                             new DynamicColumn { ColumnName = "FollowUpDate",  Header = "Follow-Up", DataFormatString = "{0:g}" },
                                                                                             new DynamicColumn { ColumnName = "ContractId",  Header = "Contract" },
                                                                                         };
                                this.ToggleViewModel.GridDynamicViewModel.GridDataRows = collectionAssignmentMappings.ToList<object>();
                                this.ToggleViewModel.GridDynamicViewModel.LoadRadGridView();
                                this.ToggleViewModel.Header = "Assignment List";
                                this.ToggleViewModel.Screen = Screen;
                                collectionAssignmentViewModel.SelectedItemChanged = this.ToggleViewModel.SetSelectedItem;
                                firstSelectedItem = collectionAssignmentViewModel.SelectedQueue;
                            }
                        }

                        // change behavior form bar menu
                        FormBarMenuViewModel.ChangedVisibility = Visibility.Visible;
                        FormBarMenuViewModel.FormMenuContent = "Assignments";

                        if (this._formBarCurrent != string.Empty)
                        {
                            FormBarMenuViewModel.FormBarContent = this._formBarCurrent;
                        }
                        else
                        {
                            if (FormBarMenuViewModel.FormBarContent == "Assignments")
                            {
                                FormBarMenuViewModel.FormBarContent = "Assignment Detail";
                            }
                        }
                        this._formBarCurrent = FormBarMenuViewModel.FormBarContent;

                        // Visible right hand grid
                        ChangedVisibility = Visibility.Visible;
                        break;
                    #endregion

                    #region collectionQueues
                    case EnumScreen.ColletionQueues:
                        this.FormBarMenuViewModel.ChangedVisibility = Visibility.Visible;
                        this.FormBarMenuViewModel.FormMenuContent = "Menu";
                        var viewModel = this.ScreenDetailViewModel as MainWindowDetailsTabControlCollectionQueueViewModel;

                        if (viewModel != null)
                        {
                            var list = viewModel.ListMainWindowDetailsVm.ScreenDetailViewModel as CollectionsManagementViewModel;
                            if (list != null)
                            {
                                if (list.AllQueueManagementDetails != null)
                                {
                                    // load data for right hand grid
                                    if (this.ToggleViewModel.GridDynamicViewModel == null || this.ToggleViewModel.Screen != Screen)
                                    {
                                        var collectionQueue =
                                            list.AllQueueManagementDetails.Select(x => x.CollectionQueue)
                                                .OrderBy(c => c.AssignmentOrder)
                                                .ToList();

                                        var collectionsManagementMappings = from d in collectionQueue
                                                                            select new CollectionsManagementMapping
                                                                           {
                                                                               Enabled = d.Enabled,
                                                                               ID = d.ID,
                                                                               QueueName = d.QueueName,
                                                                               AssignmentOrder = d.AssignmentOrder
                                                                           };

                                        // create column and data for dynamic grid
                                        this.ToggleViewModel.GridDynamicViewModel = null;
                                        this.ToggleViewModel.GridDynamicViewModel = new DynamicGridViewModel(typeof(CollectionsManagementMapping));
                                        this.ToggleViewModel.GridDynamicViewModel.GridColumns = new List<DynamicColumn>
                                                                                         {
                                                                                             new DynamicColumn { ColumnName = "Enabled", Header = "Enabled" },
                                                                                             new DynamicColumn { ColumnName = "AssignmentOrder", Header = "Order#" },
                                                                                             new DynamicColumn { ColumnName = "QueueName", Header = "Queue Name" },                                                                                            
                                                                                         };
                                        this.ToggleViewModel.GridDynamicViewModel.GridDataRows = collectionsManagementMappings.ToList<object>();
                                        this.ToggleViewModel.GridDynamicViewModel.LoadRadGridView();
                                        this.ToggleViewModel.Header = "Queue List";
                                        this.ToggleViewModel.Screen = Screen;
                                    }
                                    firstSelectedItem = list.SelectedQueue;
                                }
                            }
                        }

                        // change behavior form bar menu
                        FormBarMenuViewModel.ChangedVisibility = Visibility.Visible;
                        FormBarMenuViewModel.FormMenuContent = "Queues";
                        if (this._formBarCurrent != string.Empty)
                        {
                            FormBarMenuViewModel.FormBarContent = this._formBarCurrent;
                        }
                        else
                        {
                            if (FormBarMenuViewModel.FormBarContent == "Collection Queues")
                            {
                                FormBarMenuViewModel.FormBarContent = "Collection Queue Detail";
                            }
                        }
                        this._formBarCurrent = FormBarMenuViewModel.FormBarContent;

                        // Visible right hand grid
                        ChangedVisibility = Visibility.Visible;
                        break;
                    #endregion

                    #region fundingSummary
                    case EnumScreen.FundingSummary:
                        var mainWindowDetailsViewModelFundingSummary = this.ScreenDetailViewModel as MainWindowDetailsViewModel;

                        if (mainWindowDetailsViewModelFundingSummary != null)
                        {
                            var fundingSummaryViewModel = mainWindowDetailsViewModelFundingSummary.ScreenDetailViewModel as FundingSummaryViewModel;
                            if (fundingSummaryViewModel != null)
                            {
                                if (fundingSummaryViewModel.TrancheSummary != null)
                                {
                                    // load data for right hand grid
                                    if (this.ToggleViewModel.GridDynamicViewModel == null || this.ToggleViewModel.Screen != Screen)
                                    {
                                        var fundingSummaryMappings = from d in fundingSummaryViewModel.TrancheSummary
                                                                     select new FundingSummaryMaping
                                                                            {
                                                                                TrancheId = d.TrancheId,
                                                                                FunderName = d.FunderName,
                                                                            };

                                        // create column and data for dynamic grid
                                        this.ToggleViewModel.GridDynamicViewModel = null;
                                        this.ToggleViewModel.GridDynamicViewModel = new DynamicGridViewModel(typeof(FundingSummaryMaping));
                                        this.ToggleViewModel.GridDynamicViewModel.GridColumns = new List<DynamicColumn>
                                                                                         {
                                                                                             new DynamicColumn { ColumnName = "FunderName",  Header = "Funder Name" },
                                                                                             new DynamicColumn { ColumnName = "TrancheId", Header = "Tranche ID" },
                                                                                         };
                                        this.ToggleViewModel.GridDynamicViewModel.GridDataRows = fundingSummaryMappings.ToList<object>();
                                        this.ToggleViewModel.GridDynamicViewModel.LoadRadGridView();
                                        this.ToggleViewModel.Header = "Tranche List";
                                        this.ToggleViewModel.Screen = Screen;

                                    }
                                    firstSelectedItem = fundingSummaryViewModel.SelectedTranche;
                                }
                            }
                        }

                        // change behavior form bar menu
                        FormBarMenuViewModel.ChangedVisibility = Visibility.Visible;
                        FormBarMenuViewModel.FormMenuContent = "Tranches";
                        FormBarMenuViewModel.FormBarContent = "Funding Detail";
                        this._formBarCurrent = FormBarMenuViewModel.FormBarContent;

                        // Visible right hand grid
                        ChangedVisibility = Visibility.Visible;
                        break;
                    #endregion

                    #region asset classes category
                    case EnumScreen.AssetClassesCategory:
                        var mainDetailModel = this.ScreenDetailViewModel as MainAssetClassesViewModel;

                        if (mainDetailModel != null)
                        {
                            var assetClassesCategoryViewModel = mainDetailModel.AssetCategoryViewModel.ScreenDetailViewModel as AssetClassesCategoryViewModel;
                            if (assetClassesCategoryViewModel != null)
                            {
                                // load data for right hand grid
                                if (this.ToggleViewModel.GridDynamicViewModel == null
                                    || this.ToggleViewModel.Screen != Screen)
                                {
                                    // create column and data for dynamic grid
                                    this.ToggleViewModel.GridDynamicViewModel = null;
                                    this.ToggleViewModel.GridDynamicViewModel =
                                        new DynamicGridViewModel(typeof(AssetClassesCategoryRowItem));
                                    this.ToggleViewModel.GridDynamicViewModel.GridColumns = new List<DynamicColumn> 
                                                                                                { 
                                                                                                    new DynamicColumn { ColumnName="Category",Header="CATEGORY NAME", MinWidth = 90},
                                                                                                    new DynamicColumn { ColumnName="Enabled",Header="ENABLED", MinWidth = 80, ColumnTemplate = RadGridViewEnum.ColumnCheckedTemplate },
                                                                                                };
                                    this.ToggleViewModel.GridDynamicViewModel.GridDataRows =
                                        assetClassesCategoryViewModel.ListDataGridItem.ToList<object>();
                                    this.ToggleViewModel.GridDynamicViewModel.LoadRadGridView();
                                    this.ToggleViewModel.Header = "Asset Category List";
                                    this.ToggleViewModel.Screen = Screen;
                                }
                                firstSelectedItem = new EquipCategory
                                {
                                    EquipCatId = assetClassesCategoryViewModel.SelectedCategoryItem.EquipCategoryId
                                };
                            }
                        }

                        // change behavior form bar menu
                        FormBarMenuViewModel.ChangedVisibility = Visibility.Visible;
                        FormBarMenuViewModel.FormMenuContent = "Asset Category";

                        if (this._formBarCurrent != string.Empty)
                        {
                            FormBarMenuViewModel.FormBarContent = this._formBarCurrent;
                        }
                        else
                        {
                            if (FormBarMenuViewModel.FormBarContent == "Asset Features")
                            {
                                FormBarMenuViewModel.FormBarContent = "Asset Features";
                            }
                        }
                        this._formBarCurrent = FormBarMenuViewModel.FormBarContent;

                        // Visible right hand grid
                        ChangedVisibility = Visibility.Visible;
                        break;
                    #endregion

                    #region asset classes type
                    case EnumScreen.AssetClassesType:
                        var mainDetailModelType = this.ScreenDetailViewModel as MainAssetClassesViewModel;

                        if (mainDetailModelType != null)
                        {
                            var assetClassesTypeViewModel = mainDetailModelType.AssetClassesTypeViewModel.ScreenDetailViewModel as AssetClassesTypeViewModel;
                            if (assetClassesTypeViewModel != null)
                            {
                                // load data for right hand grid
                                if (this.ToggleViewModel.GridDynamicViewModel == null
                                    || this.ToggleViewModel.Screen != Screen)
                                {
                                    // create column and data for dynamic grid
                                    this.ToggleViewModel.GridDynamicViewModel = null;
                                    this.ToggleViewModel.GridDynamicViewModel =
                                        new DynamicGridViewModel(typeof(AssetClassesTypeRowItem));
                                    this.ToggleViewModel.GridDynamicViewModel.GridColumns = new List<DynamicColumn> 
                                                                                                { 
                                                                                                    new DynamicColumn { ColumnName="TypeDescription",Header="TYPE", MinWidth = 65 },
                                                                                                    new DynamicColumn { ColumnName="Enabled",Header="ENABLED", MinWidth= 80, ColumnTemplate = RadGridViewEnum.ColumnCheckedTemplate },
                                                                                                };
                                    this.ToggleViewModel.GridDynamicViewModel.GridDataRows = assetClassesTypeViewModel.ListDataGridItem.ToList<object>();
                                    this.ToggleViewModel.GridDynamicViewModel.LoadRadGridView();
                                    this.ToggleViewModel.Header = "Asset Type List";
                                    this.ToggleViewModel.Screen = Screen;
                                }
                                firstSelectedItem = new EquipType
                                {
                                    EquipTypeId = assetClassesTypeViewModel.SelectedTypeItem.EquipTypeId
                                };
                            }
                        }

                        // change behavior form bar menu
                        FormBarMenuViewModel.ChangedVisibility = Visibility.Visible;
                        FormBarMenuViewModel.FormMenuContent = "Asset Type";

                        if (this._formBarCurrent != string.Empty)
                        {
                            FormBarMenuViewModel.FormBarContent = this._formBarCurrent;
                        }
                        else
                        {
                            if (FormBarMenuViewModel.FormBarContent == "Asset Type")
                            {
                                FormBarMenuViewModel.FormBarContent = "Asset Type";
                            }
                        }
                        this._formBarCurrent = FormBarMenuViewModel.FormBarContent;

                        // Visible right hand grid
                        ChangedVisibility = Visibility.Visible;
                        break;
                    #endregion

                    #region asset feature
                    case EnumScreen.AssetFeatures:
                        var model = this.ScreenDetailViewModel as MainWindowDetailsViewModel;

                        if (model != null)
                        {
                            var assetFeaturesViewModel = model.ScreenDetailViewModel as AssetFeaturesViewModel;
                            if (assetFeaturesViewModel != null)
                            {
                                // load data for right hand grid
                                if (this.ToggleViewModel.GridDynamicViewModel == null
                                    || this.ToggleViewModel.Screen != Screen)
                                {
                                    var assetFeaturesMappings = from d in assetFeaturesViewModel.AllFeatureTypes
                                                                select
                                                                    new AssetFeatureTypeRowItem
                                                                        {
                                                                            FeatureTypeId = d.FeatureTypeId,
                                                                            FeatureName = d.FeatureName,
                                                                            Enabled = d.Enabled,
                                                                        };

                                    // create column and data for dynamic grid
                                    this.ToggleViewModel.GridDynamicViewModel = null;
                                    this.ToggleViewModel.GridDynamicViewModel =
                                        new DynamicGridViewModel(typeof(AssetFeatureTypeRowItem));
                                    this.ToggleViewModel.GridDynamicViewModel.GridColumns = new List<DynamicColumn> 
                                                                                                { 
                                                                                                    new DynamicColumn { ColumnName = "FeatureName", Header = "FEATURE NAME", MinWidth= 80 },
                                                                                                    new DynamicColumn { ColumnName = "Enabled", Header ="ENABLED", MinWidth = 80, ColumnTemplate = RadGridViewEnum.ColumnCheckedTemplate },
                                                                                                };
                                    this.ToggleViewModel.GridDynamicViewModel.GridDataRows =
                                        assetFeaturesMappings.ToList<object>();
                                    this.ToggleViewModel.GridDynamicViewModel.LoadRadGridView();
                                    this.ToggleViewModel.Header = "Feature List";
                                    this.ToggleViewModel.Screen = Screen;
                                }
                                firstSelectedItem = assetFeaturesViewModel.SelectedFeatureType;
                            }
                        }

                        // change behavior form bar menu
                        FormBarMenuViewModel.ChangedVisibility = Visibility.Visible;
                        FormBarMenuViewModel.FormMenuContent = "Asset Features";

                        if (this._formBarCurrent != string.Empty)
                        {
                            FormBarMenuViewModel.FormBarContent = this._formBarCurrent;
                        }
                        else
                        {
                            if (FormBarMenuViewModel.FormBarContent == "Asset Features")
                            {
                                FormBarMenuViewModel.FormBarContent = "Asset Features";
                            }
                        }
                        this._formBarCurrent = FormBarMenuViewModel.FormBarContent;

                        // Visible right hand grid
                        ChangedVisibility = Visibility.Visible;
                        break;
                    #endregion

                    #region Asset Classes Model
                    case EnumScreen.AssetClassesModel:
                        var mainWindowDetailsModel = this.ScreenDetailViewModel as MainAssetClassesViewModel;
                        if (mainWindowDetailsModel != null)
                        {
                            var assetClassesModelViewModel =
                                mainWindowDetailsModel.AssetClassesModelViewModel.ScreenDetailViewModel as
                                    AssetClassesModelViewModel;
                            if (assetClassesModelViewModel != null)
                            {
                                if ((this.ToggleViewModel.GridDynamicViewModel == null) ||
                                    (this.ToggleViewModel.Screen != Screen))
                                {
                                    var assetModelMappings = from d in assetClassesModelViewModel.AllAssetModel
                                                             select new AssetClassesModelRowItem
                                                             {
                                                                 EquipModelId = d.EquipModelId,
                                                                 Description = d.Description,
                                                                 Enabled = d.Enabled
                                                             };
                                    this.ToggleViewModel.GridDynamicViewModel = null;
                                    this.ToggleViewModel.GridDynamicViewModel = new DynamicGridViewModel(typeof(AssetClassesModelRowItem));
                                    this.ToggleViewModel.GridDynamicViewModel.GridColumns = new List<DynamicColumn>
                                    {
                                        new DynamicColumn
                                        {
                                            ColumnName = "Description", Header = "MODEL", MinWidth = 70
                                        },
                                        new DynamicColumn
                                        {
                                            ColumnName = "Enabled", Header = "ENABLED", MinWidth = 80, ColumnTemplate = RadGridViewEnum.ColumnCheckedTemplate
                                        }
                                    };
                                    this.ToggleViewModel.GridDynamicViewModel.GridDataRows =
                                        assetClassesModelViewModel.AllAssetModel.ToList<object>();
                                    this.ToggleViewModel.GridDynamicViewModel.LoadRadGridView();
                                    this.ToggleViewModel.Header = "Model List";
                                    this.ToggleViewModel.Screen = Screen;
                                }
                                //firstSelectedItem = assetClassesModelViewModel.SelectedModel;
                                firstSelectedItem = new EquipModel()
                                {
                                    EquipModelId = assetClassesModelViewModel.SelectedModel.EquipModelId,
                                };
                            }
                        }

                        // change behavior form bar menu
                        FormBarMenuViewModel.ChangedVisibility = Visibility.Visible;
                        FormBarMenuViewModel.FormMenuContent = "Asset Model";

                        if (this._formBarCurrent != string.Empty)
                        {
                            FormBarMenuViewModel.FormBarContent = this._formBarCurrent;
                        }
                        else
                        {
                            if (FormBarMenuViewModel.FormBarContent == "Asset Model")
                            {
                                FormBarMenuViewModel.FormBarContent = "Asset Model";
                            }
                        }
                        this._formBarCurrent = FormBarMenuViewModel.FormBarContent;

                        // Visible right hand grid
                        ChangedVisibility = Visibility.Visible;

                        break;
                    #endregion

                    #region asset classes make type

                    case EnumScreen.AssetClassesMake:
                        var mainDetailModelAsset = this.ScreenDetailViewModel as MainAssetClassesViewModel;

                        if (mainDetailModelAsset != null)
                        {
                            var assetClassesMakeViewModel = mainDetailModelAsset.AssetClassesMakeViewModel.ScreenDetailViewModel as AssetClassesMakeViewModel;
                            if (assetClassesMakeViewModel != null)
                            {
                                // load data for right hand grid
                                if (this.ToggleViewModel.GridDynamicViewModel == null
                                    || this.ToggleViewModel.Screen != Screen)
                                {
                                    //var assetClassesCategoryMappings = from itemCategory in (assetClassesCategoryViewModel.CategoryDetailViewModel.DynamicAssetClassCategoryViewModel.GridDataRows)
                                    //                            select
                                    //                                new AssetClassesCategoryRowItem
                                    //                                {
                                    //                                    Category = (itemCategory as AssetClassesCategoryRowItem).Category,
                                    //                                    Enabled = (itemCategory as AssetClassesCategoryRowItem).Enabled,
                                    //                                };

                                    // create column and data for dynamic grid
                                    this.ToggleViewModel.GridDynamicViewModel = null;
                                    this.ToggleViewModel.GridDynamicViewModel =
                                        new DynamicGridViewModel(typeof(AssetClassesMakeRowItem));
                                    this.ToggleViewModel.GridDynamicViewModel.GridColumns = new List<DynamicColumn> 
                                                                                                { 
                                                                                                     new DynamicColumn { ColumnName = "Description", Header = "MAKE", MinWidth = 70 },
                                                                                                     new DynamicColumn { ColumnName = "Enabled",  Header = "ENABLED", MinWidth = 80, ColumnTemplate = RadGridViewEnum.ColumnCheckedTemplate },
                                                                                                };
                                    this.ToggleViewModel.GridDynamicViewModel.GridDataRows =
                                        assetClassesMakeViewModel.AllAssetMake.ToList<object>();
                                    this.ToggleViewModel.GridDynamicViewModel.LoadRadGridView();
                                    this.ToggleViewModel.Header = "Make List";
                                    this.ToggleViewModel.Screen = Screen;
                                }
                                //firstSelectedItem = assetClassesMakeViewModel.DynamicAssetClassMakeViewModel.SelectedItem;
                                firstSelectedItem = new EquipMake()
                                {
                                    EquipMakeId = assetClassesMakeViewModel.SelectedMake.EquipMakeId
                                };
                            }
                        }

                        // change behavior form bar menu
                        FormBarMenuViewModel.ChangedVisibility = Visibility.Visible;
                        FormBarMenuViewModel.FormMenuContent = "Asset Make";

                        if (this._formBarCurrent != string.Empty)
                        {
                            FormBarMenuViewModel.FormBarContent = this._formBarCurrent;
                        }
                        else
                        {
                            if (FormBarMenuViewModel.FormBarContent == "Asset Make")
                            {
                                FormBarMenuViewModel.FormBarContent = "Asset Make";
                            }
                        }
                        this._formBarCurrent = FormBarMenuViewModel.FormBarContent;

                        // Visible right hand grid
                        if (currentStep == EnumSteps.AssignModel)
                        {
                            ChangedVisibility = Visibility.Collapsed;
                        }
                        else
                        {
                            ChangedVisibility = Visibility.Visible;
                        }
                        break;

                    #endregion

                    #region asset collateral classes
                    case EnumScreen.AssetCollateralClasses:
                        var viewmodel = this.ScreenDetailViewModel as MainWindowDetailsViewModel;

                        if (viewmodel != null)
                        {
                            var assetCollateralViewModel = viewmodel.ScreenDetailViewModel as AssetCollateralClassesViewModel;
                            if (assetCollateralViewModel != null)
                            {
                                // load data for right hand grid
                                if (this.ToggleViewModel.GridDynamicViewModel == null
                                    || this.ToggleViewModel.Screen != Screen)
                                {
                                    var assetFeaturesMappings = assetCollateralViewModel.AllCollateralClasses;

                                    // create column and data for dynamic grid
                                    this.ToggleViewModel.GridDynamicViewModel = null;
                                    this.ToggleViewModel.GridDynamicViewModel =
                                        new DynamicGridViewModel(typeof(AssetCollateralRowItem));
                                    this.ToggleViewModel.GridDynamicViewModel.GridColumns = new List<DynamicColumn>
                                                                                                {
                                                                                                    new DynamicColumn
                                                                                                        {
                                                                                                            ColumnName = "Description", Header = "COLLATERAL CLASS", MinWidth= 95
                                                                                                        },
                                                                                                };
                                    this.ToggleViewModel.GridDynamicViewModel.GridDataRows =
                                        assetFeaturesMappings.ToList<object>();
                                    this.ToggleViewModel.GridDynamicViewModel.LoadRadGridView();
                                    this.ToggleViewModel.Header = "Collateral Class List";
                                    this.ToggleViewModel.Screen = Screen;
                                }
                                firstSelectedItem = assetCollateralViewModel.SelectedCollateral;
                            }
                        }

                        // change behavior form bar menu
                        FormBarMenuViewModel.ChangedVisibility = Visibility.Visible;
                        FormBarMenuViewModel.FormMenuContent = "Asset Collateral Classes";

                        if (this._formBarCurrent != string.Empty)
                        {
                            FormBarMenuViewModel.FormBarContent = this._formBarCurrent;
                        }
                        else
                        {
                            if (FormBarMenuViewModel.FormBarContent == "Asset Collateral Classes")
                            {
                                FormBarMenuViewModel.FormBarContent = "Asset Collateral Classes";
                            }
                        }
                        this._formBarCurrent = FormBarMenuViewModel.FormBarContent;

                        // Visible right hand grid
                        ChangedVisibility = Visibility.Visible;
                        break;
                    #endregion

                    #region registers
                    case EnumScreen.AssetRegisters:
                        var mainWindowDetailsViewModelRegister = this.ScreenDetailViewModel as MainWindowDetailsViewModel;
                        if (mainWindowDetailsViewModelRegister != null)
                        {
                            var registersViewModel = mainWindowDetailsViewModelRegister.ScreenDetailViewModel as AssetRegistersViewModel;
                            if (registersViewModel != null)
                            {
                                    // load data for right hand grid
                                    if (this.ToggleViewModel.GridDynamicViewModel == null || this.ToggleViewModel.Screen != Screen)
                                    {
                                        var assetRegistersMappings = from d in registersViewModel.AllAssetRegister
                                                                     select
                                                                         new AssetRegisterRowItem
                                                                         {
                                                                             ID = d.ID,
                                                                             RegisterName = d.RegisterName,
                                                                             ReportName = d.ReportName,
                                                                             InternalOnly = d.InternalOnly
                                                                         };

                                        // create column and data for dynamic grid
                                        this.ToggleViewModel.GridDynamicViewModel = null;
                                        this.ToggleViewModel.GridDynamicViewModel = new DynamicGridViewModel(typeof(AssetRegisterRowItem));
                                        this.ToggleViewModel.GridDynamicViewModel.GridColumns = new List<DynamicColumn>
                                                                                         {
                                                                                             new DynamicColumn { ColumnName = "RegisterName", Header = "REGISTER NAME", MinWidth = 90 },
                                                                                             new DynamicColumn { ColumnName = "InternalOnly",  Header = "INTERNAL ONLY", MinWidth = 90, ColumnTemplate = RadGridViewEnum.ColumnCheckedTemplate },
                                                                                         };
                                        this.ToggleViewModel.GridDynamicViewModel.GridDataRows = assetRegistersMappings.ToList<object>();
                                        this.ToggleViewModel.GridDynamicViewModel.LoadRadGridView();
                                        this.ToggleViewModel.Header = "Asset Register";
                                        this.ToggleViewModel.Screen = Screen;
                                    }
                                    firstSelectedItem = new AssetRegister()
                                    {
                                        ID = registersViewModel.SelectedRegister.ID
                                    };
                                    //firstSelectedItem = registersViewModel.SelectedRegister;
                            }
                        }

                        // change behavior form bar menu
                        FormBarMenuViewModel.ChangedVisibility = Visibility.Visible;
                        FormBarMenuViewModel.FormMenuContent = "Asset Register";
                        if (this._formBarCurrent != string.Empty)
                        {
                            FormBarMenuViewModel.FormBarContent = this._formBarCurrent;
                        }
                        else
                        {
                            if (FormBarMenuViewModel.FormBarContent == "Asset Registers")
                            {
                                FormBarMenuViewModel.FormBarContent = "Asset Registers Detail";
                            }
                        }

                        this._formBarCurrent = FormBarMenuViewModel.FormBarContent;

                        // Visible right hand grid
                        ChangedVisibility = Visibility.Visible;
                        break;
                    #endregion

                    #region registeredAsset
                    case EnumScreen.RegisteredAsset:
                        var mainWindowDetailsViewModelRegisteredAsset = this.ScreenDetailViewModel as MainWindowDetailsViewModel;
                        if (mainWindowDetailsViewModelRegisteredAsset != null)
                        {
                            var registersViewModel = mainWindowDetailsViewModelRegisteredAsset.ScreenDetailViewModel as RegisteredAssetViewModel;
                            if (registersViewModel != null)
                            {
                                // load data for right hand grid
                                if (this.ToggleViewModel.GridDynamicViewModel == null || this.ToggleViewModel.Screen != Screen)
                                {
                                    var assetRegistersMappings = from d in registersViewModel.AllRegisteredAsset
                                                                 select
                                                                     new RegisteredAssetRowItem()
                                                                     {
                                                                         Id = d.Id,
                                                                         AssetRegisterId = d.AssetRegisterId,
                                                                         AssetState = d.AssetState,
                                                                     };

                                    // create column and data for dynamic grid
                                    this.ToggleViewModel.GridDynamicViewModel = null;
                                    this.ToggleViewModel.GridDynamicViewModel = new DynamicGridViewModel(typeof(RegisteredAssetRowItem));
                                    this.ToggleViewModel.GridDynamicViewModel.GridColumns = new List<DynamicColumn>
                                                                                         {
                                                                                             new DynamicColumn { ColumnName = "Id", Header = "Asset ID" },
                                                                                             new DynamicColumn { ColumnName = "AssetRegisterId",  Header = "Reg#" },
                                                                                             new DynamicColumn { ColumnName = "AssetState", Header = "Asset State"},
                                                                                         };
                                    this.ToggleViewModel.GridDynamicViewModel.GridDataRows = assetRegistersMappings.ToList<object>();
                                    this.ToggleViewModel.GridDynamicViewModel.LoadRadGridView();
                                    this.ToggleViewModel.Header = "Assets List";
                                    this.ToggleViewModel.Screen = Screen;
                                }
                                firstSelectedItem = new RegisteredAsset
                                {
                                    ID = registersViewModel.SelectedRegistererdAsset.Id
                                };
                                //firstSelectedItem = registersViewModel.SelectedRegister;
                            }
                        }

                        // change behavior form bar menu
                        FormBarMenuViewModel.ChangedVisibility = Visibility.Visible;
                        FormBarMenuViewModel.FormMenuContent = "Assets";
                        if (this._formBarCurrent != string.Empty)
                        {
                            FormBarMenuViewModel.FormBarContent = this._formBarCurrent;
                        }
                        else
                        {
                            if (FormBarMenuViewModel.FormBarContent == "Assets")
                            {
                                FormBarMenuViewModel.FormBarContent = "Asset Detail";
                            }
                        }

                        this._formBarCurrent = FormBarMenuViewModel.FormBarContent;

                        // Visible right hand grid
                        ChangedVisibility = Visibility.Visible;
                        break;
                    #endregion
                }
            }

            // To call some Actions or Events of Toggle ViewModel 
            if (ToggleViewModel != null)
            {
                ToggleViewModel.OnSelectedItemChange = ToggleViewModel_SelectedItemChanged;
                ToggleViewModel.RaiseSelectedItemChanged();
                if (firstSelectedItem != null)
                {
                    ToggleViewModel.SetSelectedItem(firstSelectedItem);
                }
            }
        }
Example #56
0
		internal static int ReserveEquipID(EquipType type)
		{
			int reserveID = nextEquip[type];
			nextEquip[type]++;
			return reserveID;
		}
Example #57
0
 public int AddEquipTexture(ModItem item, EquipType type, string texture, string armTexture = "", string femaleTexture = "")
 {
     int slot = EquipLoader.ReserveEquipID(type);
     EquipLoader.equips[type][texture] = slot;
     ModLoader.GetTexture(texture);
     if (type == EquipType.Body)
     {
         EquipLoader.armTextures[slot] = armTexture;
         EquipLoader.femaleTextures[slot] = femaleTexture.Length > 0 ? femaleTexture : texture;
         ModLoader.GetTexture(armTexture);
         ModLoader.GetTexture(femaleTexture);
     }
     if (type == EquipType.Head || type == EquipType.Body || type == EquipType.Legs)
     {
         EquipLoader.slotToId[type][slot] = item.item.type;
     }
     return slot;
 }
Example #58
0
		public static void DrawArmorColor(EquipType type, int slot, Player drawPlayer, float shadow, ref Color color,
			ref int glowMask, ref Color glowMaskColor)
		{
			EquipTexture texture = EquipLoader.GetEquipTexture(type, slot);
			texture?.DrawArmorColor(drawPlayer, shadow, ref color, ref glowMask, ref glowMaskColor);

			foreach (var hook in HookDrawArmorColor)
			{
				hook(type, slot, drawPlayer, shadow, ref color, ref glowMask, ref glowMaskColor);
			}
		}
Example #59
0
		public virtual void AutoloadEquip(EquipType equip, ref string texture, ref string armTexture, ref string femaleTexture)
		{
		}
Example #60
0
 private void completeWeapon(WeaponType w)
 {
     switch(w) {
     case WeaponType.None:
         itemName = "Empty";
         itemDescription = "Empty";
         weight = 0;
         value = 0;
         damage = 0;
         equipType = EquipType.None;
         weaponCatergory = WeaponCatergory.None;
         break;
     case WeaponType.Gauntlet:
         itemName = "Gauntlet";
         itemDescription = "";
         weight = 1;
         value = 200;
         damage = 3;
         bludgeoning = true;
         equipType = EquipType.Unarmed;
         weaponCatergory = WeaponCatergory.Simple;
         break;
     case WeaponType.UnarmedStrike:
         itemName = "Unarmed";
         itemDescription = "";
         weight = 0;
         value = 0;
         damage = 3;
         bludgeoning = true;
         addSpecial(Specials.Nonlethal);
         equipType = EquipType.Unarmed;
         weaponCatergory = WeaponCatergory.Simple;
         break;
     case WeaponType.BattleAspergillum:
         itemName = "Battle Aspergillum";
         itemDescription = "";
         weight = 4;
         value = 500;
         damage = 6;
         bludgeoning = true;
         equipType = EquipType.LightOneHanded;
         weaponCatergory = WeaponCatergory.Simple;
         break;
     case WeaponType.BrassKnife:
         itemName = "Brass Knife";
         itemDescription = "";
         weight = 1;
         value = 200;
         damage = 4;
         criticalRange = 2;
         range = 10;
         slashing = true;
         piercing = true;
         addSpecial(Specials.Fragile);
         equipType = EquipType.LightOneHanded;
         weaponCatergory = WeaponCatergory.Simple;
         break;
     case WeaponType.BrassKnuckles:
         itemName = "Brass Knuckles";
         itemDescription = "";
         weight = 1;
         value = 100;
         damage = 3;
         bludgeoning = true;
         addSpecial(Specials.Monk);
         equipType = EquipType.LightOneHanded;
         weaponCatergory = WeaponCatergory.Simple;
         break;
     case WeaponType.Cestus:
         itemName = "Cestus";
         itemDescription = "";
         weight = 1;
         value = 500;
         damage = 4;
         criticalRange = 2;
         piercing = true;
         bludgeoning = true;
         addSpecial(Specials.Monk);
         equipType = EquipType.LightOneHanded;
         weaponCatergory = WeaponCatergory.Simple;
         break;
     case WeaponType.Dagger:
         itemName = "Dagger";
         itemDescription = "";
         weight = 1;
         value = 200;
         damage = 4;
         criticalRange = 2;
         range = 10;
         slashing = true;
         piercing = true;
         equipType = EquipType.LightOneHanded;
         weaponCatergory = WeaponCatergory.Simple;
         break;
     case WeaponType.PunchingDagger:
         itemName = "Punching Dagger";
         itemDescription = "";
         weight = 1;
         value = 200;
         damage = 4;
         criticalRolls = 2;
         piercing = true;
         equipType = EquipType.LightOneHanded;
         weaponCatergory = WeaponCatergory.Simple;
         break;
     case WeaponType.SpikedGauntlet:
         itemName = "Spiked Gauntlet";
         itemDescription = "";
         weight = 1;
         value = 500;
         damage = 4;
         piercing = true;
         equipType = EquipType.LightOneHanded;
         weaponCatergory = WeaponCatergory.Simple;
         break;
     case WeaponType.HookHand:
         itemName = "Hook Hand";
         itemDescription = "";
         weight = 1;
         value = 1000;
         damage = 4;
         slashing = true;
         addSpecial(Specials.Disarm);
         equipType = EquipType.LightOneHanded;
         weaponCatergory = WeaponCatergory.Simple;
         break;
     case WeaponType.Kunai:
         itemName = "Kunai";
         itemDescription = "";
         weight = 2;
         value = 200;
         damage = 4;
         range = 10;
         piercing = true;
         bludgeoning = true;
         equipType = EquipType.LightOneHanded;
         weaponCatergory = WeaponCatergory.Simple;
         break;
     case WeaponType.LightMace:
         itemName = "Light Mace";
         itemDescription = "";
         weight = 4;
         value = 500;
         damage = 6;
         bludgeoning = true;
         equipType = EquipType.LightOneHanded;
         weaponCatergory = WeaponCatergory.Simple;
         break;
     case WeaponType.Sickle:
         itemName = "Sickle";
         itemDescription = "";
         weight = 2;
         value = 600;
         damage = 6;
         slashing = true;
         addSpecial(Specials.Trip);
         equipType = EquipType.LightOneHanded;
         weaponCatergory = WeaponCatergory.Simple;
         break;
     case WeaponType.WoodenStake:
         itemName = "Wooden Stake";
         itemDescription = "";
         weight = 1;
         value = 0;
         damage = 4;
         range = 10;
         piercing = true;
         equipType = EquipType.LightOneHanded;
         weaponCatergory = WeaponCatergory.Simple;
         break;
     case WeaponType.Club:
         itemName = "Club";
         itemDescription = "";
         weight = 3;
         value = 0;
         damage = 6;
         range = 10;
         bludgeoning = true;
         equipType = EquipType.OneHanded;
         weaponCatergory = WeaponCatergory.Simple;
         break;
     case WeaponType.MereClub:
         itemName = "Mere Club";
         itemDescription = "";
         weight = 2;
         value = 200;
         damage = 4;
         piercing = true;
         bludgeoning = true;
         addSpecial(Specials.Fragile);
         equipType = EquipType.OneHanded;
         weaponCatergory = WeaponCatergory.Simple;
         break;
     case WeaponType.HeavyMace:
         itemName = "Heavy Mace";
         itemDescription = "";
         weight = 8;
         value = 1200;
         damage = 8;
         piercing = true;
         bludgeoning = true;
         equipType = EquipType.OneHanded;
         weaponCatergory = WeaponCatergory.Simple;
         break;
     case WeaponType.Morningstar:
         itemName = "Morningstar";
         itemDescription = "";
         weight = 6;
         value = 800;
         damage = 8;
         piercing = true;
         bludgeoning = true;
         equipType = EquipType.OneHanded;
         weaponCatergory = WeaponCatergory.Simple;
         break;
     case WeaponType.Shortspear:
         itemName = "Shortspear";
         itemDescription = "";
         weight = 3;
         value = 100;
         damage = 6;
         range = 20;
         piercing = true;
         equipType = EquipType.OneHanded;
         weaponCatergory = WeaponCatergory.Simple;
         break;
     case WeaponType.Bayonet:
         itemName = "Bayonet";
         itemDescription = "";
         weight = 1;
         value = 500;
         damage = 6;
         piercing = true;
         equipType = EquipType.TwoHanded;
         weaponCatergory = WeaponCatergory.Simple;
         break;
     case WeaponType.BoardingPike:
         itemName = "Boarding Pike";
         itemDescription = "";
         weight = 9;
         value = 800;
         damage = 8;
         criticalRolls = 2;
         piercing = true;
         addSpecial(Specials.Brace);
         addSpecial(Specials.Reach);
         equipType = EquipType.TwoHanded;
         weaponCatergory = WeaponCatergory.Simple;
         break;
     case WeaponType.Kumade:
         itemName = "Kumade";
         itemDescription = "";
         weight = 4;
         value = 500;
         damage = 6;
         criticalRolls = 2;
         piercing = true;
         addSpecial(Specials.Grapple);
         equipType = EquipType.TwoHanded;
         weaponCatergory = WeaponCatergory.Simple;
         break;
     case WeaponType.CollapsibleKumade:
         itemName = "Collapsible Kumade";
         itemDescription = "";
         weight = 4;
         value = 1000;
         damage = 6;
         criticalRolls = 2;
         piercing = true;
         addSpecial(Specials.Grapple);
         equipType = EquipType.TwoHanded;
         weaponCatergory = WeaponCatergory.Simple;
         break;
     case WeaponType.Longspear:
         itemName = "Longspear";
         itemDescription = "";
         weight = 9;
         value = 500;
         damage = 8;
         criticalRolls = 2;
         piercing = true;
         addSpecial(Specials.Brace);
         addSpecial(Specials.Reach);
         equipType = EquipType.TwoHanded;
         weaponCatergory = WeaponCatergory.Simple;
         break;
     case WeaponType.Quarterstaff:
         itemName = "Quarterstaff";
         itemDescription = "";
         weight = 4;
         value = 0;
         twoAttackRolls = true;
         damage = 6;
         secondAttackDamage = 6;
         bludgeoning = true;
         addSpecial(Specials.Double);
         addSpecial(Specials.Monk);
         equipType = EquipType.TwoHanded;
         weaponCatergory = WeaponCatergory.Simple;
         break;
     case WeaponType.Spear:
         itemName = "Spear";
         itemDescription = "";
         weight = 6;
         value = 200;
         damage = 8;
         criticalRolls = 2;
         range = 20;
         piercing = true;
         addSpecial(Specials.Brace);
         equipType = EquipType.TwoHanded;
         weaponCatergory = WeaponCatergory.Simple;
         break;
     case WeaponType.BoarSpear:
         itemName = "Boar Spear";
         itemDescription = "";
         weight = 8;
         value = 500;
         damage = 8;
         piercing = true;
         addSpecial(Specials.Brace);
         equipType = EquipType.TwoHanded;
         weaponCatergory = WeaponCatergory.Simple;
         break;
     case WeaponType.WeightedSpear:
         itemName = "Weighted Spear";
         itemDescription = "";
         weight = 8;
         value = 1000;
         twoAttackRolls = true;
         damage = 8;
         secondAttackDamage = 6;
         twoCriticalRolls = true;
         criticalRolls = 2;
         secondAttackCritical = 1;
         piercing = true;
         bludgeoning = true;
         addSpecial(Specials.Brace);
         addSpecial(Specials.Double);
         equipType = EquipType.TwoHanded;
         weaponCatergory = WeaponCatergory.Simple;
         break;
     case WeaponType.Blowgun:
         itemName = "Blowgun";
         itemDescription = "";
         weight = 1;
         value = 200;
         damage = 2;
         range = 20;
         piercing = true;
         equipType = EquipType.Ranged;
         weaponCatergory = WeaponCatergory.Simple;
         break;
     case WeaponType.HeavyCrossbow:
         itemName = "Heavy Crossbow";
         itemDescription = "";
         weight = 8;
         value = 5000;
         damage = 10;
         criticalRange = 2;
         range = 120;
         piercing = true;
         equipType = EquipType.Ranged;
         weaponCatergory = WeaponCatergory.Simple;
         break;
     case WeaponType.LightCrossbow:
         itemName = "Light Crossbow";
         itemDescription = "";
         weight = 4;
         value = 3500;
         damage = 8;
         criticalRange = 2;
         range = 80;
         piercing = true;
         equipType = EquipType.Ranged;
         weaponCatergory = WeaponCatergory.Simple;
         break;
     case WeaponType.Dart:
         itemName = "Dart";
         itemDescription = "";
         weight = 0.5f;
         value = 50;
         damage = 4;
         range = 20;
         piercing = true;
         equipType = EquipType.Ranged;
         weaponCatergory = WeaponCatergory.Simple;
         break;
     case WeaponType.Javelin:
         itemName = "Javelin";
         itemDescription = "";
         weight = 2;
         value = 100;
         damage = 6;
         range = 30;
         piercing = true;
         equipType = EquipType.Ranged;
         weaponCatergory = WeaponCatergory.Simple;
         break;
     case WeaponType.Sling:
         itemName = "Sling";
         itemDescription = "";
         weight = 0;
         value = 0;
         damage = 4;
         range = 50;
         bludgeoning = true;
         equipType = EquipType.Ranged;
         weaponCatergory = WeaponCatergory.Simple;
         break;
     case WeaponType.Stingchuck:
         itemName = "Stingchuck";
         itemDescription = "";
         weight = 9;
         value = 0;
         damage = 4;
         range = 10;
         bludgeoning = true;
         equipType = EquipType.Ranged;
         weaponCatergory = WeaponCatergory.Simple;
         break;
     case WeaponType.Stonebow:
         itemName = "Stonebow";
         itemDescription = "";
         weight = 4;
         value = 3500;
         damage = 6;
         range = 50;
         bludgeoning = true;
         equipType = EquipType.Ranged;
         weaponCatergory = WeaponCatergory.Simple;
         break;
     case WeaponType.CrossbowBolt:
         itemName = "Crossbow Bolt";
         itemDescription = "";
         weight = 0.1f;
         value = 10;
         damageRolls = 0;
         criticalRange = 0;
         criticalRolls = 0;
         equipType = EquipType.Ammunition;
         weaponCatergory = WeaponCatergory.Simple;
         break;
     case WeaponType.AcidBolt:
         itemName = "Acid Bolt";
         itemDescription = "";
         weight = 0.1f;
         value = 4000;
         damageRolls = 0;
         criticalRange = 0;
         criticalRolls = 0;
         equipType = EquipType.Ammunition;
         weaponCatergory = WeaponCatergory.Simple;
         break;
     case WeaponType.DrowPoisonBolt:
         itemName = "Drow Poison Bolt";
         itemDescription = "";
         weight = 0.1f;
         value = 10000;
         damageRolls = 0;
         criticalRange = 0;
         criticalRolls = 0;
         equipType = EquipType.Ammunition;
         weaponCatergory = WeaponCatergory.Simple;
         break;
     case WeaponType.FireBolt:
         itemName = "Fire Bolt";
         itemDescription = "";
         weight = 0.1f;
         value = 5000;
         damageRolls = 0;
         criticalRange = 0;
         criticalRolls = 0;
         equipType = EquipType.Ammunition;
         weaponCatergory = WeaponCatergory.Simple;
         break;
     case WeaponType.GroaningBullet:
         itemName = "Groaning Bullet";
         itemDescription = "";
         weight = 0.5f;
         value = 20;
         damageRolls = 0;
         criticalRange = 0;
         criticalRolls = 0;
         equipType = EquipType.Ammunition;
         weaponCatergory = WeaponCatergory.Simple;
         break;
     case WeaponType.SlingBullet:
         itemName = "Sling Bullet";
         itemDescription = "";
         weight = 0.5f;
         value = 1;
         damageRolls = 0;
         criticalRange = 0;
         criticalRolls = 0;
         equipType = EquipType.Ammunition;
         weaponCatergory = WeaponCatergory.Simple;
         break;
     case WeaponType.SmokeBullet:
         itemName = "Smoke Bullet";
         itemDescription = "";
         weight = 0.5f;
         value = 1000;
         damageRolls = 0;
         criticalRange = 0;
         criticalRolls = 0;
         equipType = EquipType.Ammunition;
         weaponCatergory = WeaponCatergory.Simple;
         break;
     case WeaponType.BlowgunDart:
         itemName = "Blowgun Dart";
         itemDescription = "";
         weight = 0.1f;
         value = 5;
         damageRolls = 0;
         criticalRange = 0;
         criticalRolls = 0;
         equipType = EquipType.Ammunition;
         weaponCatergory = WeaponCatergory.Simple;
         break;
     case WeaponType.BoardingAxe:
         itemName = "Boarding Axe";
         itemDescription = "";
         weight = 3;
         value = 600;
         damage = 6;
         criticalRolls = 2;
         slashing = true;
         piercing = true;
         equipType = EquipType.LightOneHanded;
         weaponCatergory = WeaponCatergory.Martial;
         break;
     case WeaponType.ThrowingAxe:
         itemName = "Throwing Axe";
         itemDescription = "";
         weight = 2;
         value = 800;
         damage = 6;
         range = 10;
         slashing = true;
         equipType = EquipType.LightOneHanded;
         weaponCatergory = WeaponCatergory.Martial;
         break;
     case WeaponType.BladeBoot:
         itemName = "Blade Boot";
         itemDescription = "";
         weight = 2;
         value = 2500;
         damage = 4;
         piercing = true;
         equipType = EquipType.LightOneHanded;
         weaponCatergory = WeaponCatergory.Martial;
         break;
     case WeaponType.CatONineTails:
         itemName = "Cat-o'-nine-tails";
         itemDescription = "";
         weight = 1;
         value = 100;
         damage = 4;
         slashing = true;
         addSpecial(Specials.Disarm);
         addSpecial(Specials.Nonlethal);
         equipType = EquipType.LightOneHanded;
         weaponCatergory = WeaponCatergory.Martial;
         break;
     case WeaponType.Dogslicer:
         itemName = "Dogslicer";
         itemDescription = "";
         weight = 1;
         value = 800;
         damage = 6;
         criticalRange = 2;
         slashing = true;
         addSpecial(Specials.Fragile);
         equipType = EquipType.LightOneHanded;
         weaponCatergory = WeaponCatergory.Martial;
         break;
     case WeaponType.LightHammer:
         itemName = "Light Hammer";
         itemDescription = "";
         weight = 2;
         value = 100;
         damage = 4;
         range = 20;
         bludgeoning = true;
         equipType = EquipType.LightOneHanded;
         weaponCatergory = WeaponCatergory.Martial;
         break;
     case WeaponType.Gladius:
         itemName = "Gladius";
         itemDescription = "";
         weight = 3;
         value = 1500;
         damage = 6;
         criticalRange = 2;
         slashing = true;
         piercing = true;
         addSpecial(Specials.Performance);
         equipType = EquipType.LightOneHanded;
         weaponCatergory = WeaponCatergory.Martial;
         break;
     case WeaponType.Handaxe:
         itemName = "Handaxe";
         itemDescription = "";
         weight = 3;
         value = 600;
         damage = 6;
         criticalRolls = 2;
         slashing = true;
         equipType = EquipType.LightOneHanded;
         weaponCatergory = WeaponCatergory.Martial;
         break;
     case WeaponType.SwitchbladeKnife:
         itemName = "Switchblade Knife";
         itemDescription = "";
         weight = 1;
         value = 500;
         damage = 4;
         criticalRange = 2;
         range = 10;
         piercing = true;
         equipType = EquipType.LightOneHanded;
         weaponCatergory = WeaponCatergory.Martial;
         break;
     case WeaponType.KTALongLash:
         itemName = "Kobold Tail Attachment: Long Lash";
         itemDescription = "";
         weight = 1;
         value = 1500;
         damage = 6;
         slashing = true;
         addSpecial(Specials.Reach);
         equipType = EquipType.LightOneHanded;
         weaponCatergory = WeaponCatergory.Martial;
         break;
     case WeaponType.KTAPounder:
         itemName = "Kobold Tail Attachment: Pounder";
         itemDescription = "";
         weight = 4;
         value = 100;
         damage = 8;
         bludgeoning = true;
         equipType = EquipType.LightOneHanded;
         weaponCatergory = WeaponCatergory.Martial;
         break;
     case WeaponType.KTARazored:
         itemName = "Kobold Tail Attachment: Razored";
         itemDescription = "";
         weight = 2;
         value = 300;
         damage = 8;
         criticalRange = 2;
         slashing = true;
         equipType = EquipType.LightOneHanded;
         weaponCatergory = WeaponCatergory.Martial;
         break;
     case WeaponType.KTASpiked:
         itemName = "Kobold Tail Attachment: Spiked";
         itemDescription = "";
         weight = 2;
         value = 300;
         damage = 8;
         criticalRolls = 2;
         piercing = true;
         equipType = EquipType.LightOneHanded;
         weaponCatergory = WeaponCatergory.Martial;
         break;
     case WeaponType.KTASweeper:
         itemName = "Kobold Tail Attachment: Sweeper";
         itemDescription = "";
         weight = 3;
         value = 700;
         damage = 6;
         bludgeoning = true;
         addSpecial(Specials.Trip);
         equipType = EquipType.LightOneHanded;
         weaponCatergory = WeaponCatergory.Martial;
         break;
     case WeaponType.Kukri:
         itemName = "Kukri";
         itemDescription = "";
         weight = 2;
         value = 800;
         damage = 4;
         criticalRange = 3;
         slashing = true;
         equipType = EquipType.LightOneHanded;
         weaponCatergory = WeaponCatergory.Martial;
         break;
     case WeaponType.Machete:
         itemName = "Machete";
         itemDescription = "";
         weight = 2;
         value = 1000;
         damage = 6;
         criticalRange = 2;
         slashing = true;
         equipType = EquipType.LightOneHanded;
         weaponCatergory = WeaponCatergory.Martial;
         break;
     case WeaponType.LightPick:
         itemName = "Light Pick";
         itemDescription = "";
         weight = 3;
         value = 400;
         damage = 4;
         criticalRolls = 3;
         piercing = true;
         equipType = EquipType.LightOneHanded;
         weaponCatergory = WeaponCatergory.Martial;
         break;
     case WeaponType.RatfolkTailblade:
         itemName = "Ratfolk Tailblade";
         itemDescription = "";
         weight = 0.5f;
         value = 1100;
         damage = 3;
         slashing = true;
         equipType = EquipType.LightOneHanded;
         weaponCatergory = WeaponCatergory.Martial;
         break;
     case WeaponType.Sap:
         itemName = "Sap";
         itemDescription = "";
         weight = 2;
         value = 100;
         damage = 6;
         bludgeoning = true;
         addSpecial(Specials.Nonlethal);
         equipType = EquipType.LightOneHanded;
         weaponCatergory = WeaponCatergory.Martial;
         break;
     case WeaponType.SeaKnife:
         itemName = "Sea Knife";
         itemDescription = "";
         weight = 1;
         value = 800;
         damage = 4;
         criticalRange = 2;
         slashing = true;
         equipType = EquipType.LightOneHanded;
         weaponCatergory = WeaponCatergory.Martial;
         break;
     case WeaponType.LightShield:
         itemName = "Light Shield";
         itemDescription = "";
         weight = 0;
         value = 0;
         damage = 3;
         bludgeoning = true;
         equipType = EquipType.LightOneHanded;
         weaponCatergory = WeaponCatergory.Martial;
         break;
     case WeaponType.SpikedArmor:
         itemName = "Spiked Armor";
         itemDescription = "";
         weight = 0;
         value = 0;
         damage = 6;
         piercing = true;
         equipType = EquipType.LightOneHanded;
         weaponCatergory = WeaponCatergory.Martial;
         break;
     case WeaponType.LightSpikedShield:
         itemName = "Light Spiked Shield";
         itemDescription = "";
         weight = 0;
         value = 0;
         damage = 4;
         piercing = true;
         equipType = EquipType.LightOneHanded;
         weaponCatergory = WeaponCatergory.Martial;
         break;
     case WeaponType.Starknife:
         itemName = "Starknife";
         itemDescription = "";
         weight = 3;
         value = 2400;
         damage = 4;
         criticalRolls = 2;
         range = 20;
         piercing = true;
         equipType = EquipType.LightOneHanded;
         weaponCatergory = WeaponCatergory.Martial;
         break;
     case WeaponType.ShortSword:
         itemName = "Short Sword";
         itemDescription = "";
         weight = 2;
         value = 1000;
         damage = 6;
         criticalRange = 2;
         piercing = true;
         equipType = EquipType.LightOneHanded;
         weaponCatergory = WeaponCatergory.Martial;
         break;
     case WeaponType.WarRazor:
         itemName = "War Razor";
         itemDescription = "";
         weight = 1;
         value = 800;
         damage = 4;
         criticalRange = 2;
         slashing = true;
         equipType = EquipType.LightOneHanded;
         weaponCatergory = WeaponCatergory.Martial;
         break;
     case WeaponType.Ankus:
         itemName = "Ankus";
         itemDescription = "";
         weight = 5;
         value = 800;
         damage = 8;
         piercing = true;
         addSpecial(Specials.Disarm);
         addSpecial(Specials.Trip);
         equipType = EquipType.OneHanded;
         weaponCatergory = WeaponCatergory.Martial;
         break;
     case WeaponType.Battleaxe:
         itemName = "Battleaxe";
         itemDescription = "";
         weight = 6;
         value = 1000;
         damage = 8;
         criticalRolls = 2;
         slashing = true;
         equipType = EquipType.OneHanded;
         weaponCatergory = WeaponCatergory.Martial;
         break;
     case WeaponType.CombatScabbard:
         itemName = "Combat Scabbard";
         itemDescription = "";
         weight = 1;
         value = 100;
         damage = 6;
         bludgeoning = true;
         addSpecial(Specials.Improvised);
         equipType = EquipType.OneHanded;
         weaponCatergory = WeaponCatergory.Martial;
         break;
     case WeaponType.Cutlass:
         itemName = "Cutlass";
         itemDescription = "";
         weight = 4;
         value = 1500;
         damage = 6;
         criticalRange = 3;
         slashing = true;
         equipType = EquipType.OneHanded;
         weaponCatergory = WeaponCatergory.Martial;
         break;
     case WeaponType.Flail:
         itemName = "Flail";
         itemDescription = "";
         weight = 5;
         value = 800;
         damage = 8;
         bludgeoning = true;
         addSpecial(Specials.Disarm);
         addSpecial(Specials.Trip);
         equipType = EquipType.OneHanded;
         weaponCatergory = WeaponCatergory.Martial;
         break;
     case WeaponType.Gandasa:
         itemName = "Gandasa";
         itemDescription = "";
         weight = 4;
         value = 1500;
         damage = 4;
         damageRolls = 2;
         criticalRolls = 2;
         slashing = true;
         equipType = EquipType.OneHanded;
         weaponCatergory = WeaponCatergory.Martial;
         break;
     case WeaponType.Klar:
         itemName = "Klar";
         itemDescription = "";
         weight = 6;
         value = 1200;
         damage = 6;
         slashing = true;
         equipType = EquipType.OneHanded;
         weaponCatergory = WeaponCatergory.Martial;
         break;
     case WeaponType.Longsword:
         itemName = "Longsword";
         itemDescription = "";
         weight = 4;
         value = 1500;
         damage = 8;
         criticalRange = 2;
         slashing = true;
         equipType = EquipType.OneHanded;
         weaponCatergory = WeaponCatergory.Martial;
         break;
     case WeaponType.Manople:
         itemName = "Manople";
         itemDescription = "";
         weight = 4;
         value = 1700;
         damage = 8;
         slashing = true;
         piercing = true;
         addSpecial(Specials.Blocking);
         addSpecial(Specials.Disarm);
         equipType = EquipType.OneHanded;
         weaponCatergory = WeaponCatergory.Martial;
         break;
     case WeaponType.HeavyPick:
         itemName = "Heavy Pick";
         itemDescription = "";
         weight = 6;
         value = 800;
         damage = 6;
         criticalRolls = 3;
         piercing = true;
         equipType = EquipType.OneHanded;
         weaponCatergory = WeaponCatergory.Martial;
         break;
     case WeaponType.Rapier:
         itemName = "Rapier";
         itemDescription = "";
         weight = 2;
         value = 2000;
         damage = 6;
         criticalRange = 3;
         piercing = true;
         equipType = EquipType.OneHanded;
         weaponCatergory = WeaponCatergory.Martial;
         break;
     case WeaponType.SharpenedCombatScabbard:
         itemName = "Combat Scabbard (sharpened)";
         itemDescription = "";
         weight = 1;
         value = 1000;
         damage = 6;
         slashing = true;
         equipType = EquipType.OneHanded;
         weaponCatergory = WeaponCatergory.Martial;
         break;
     case WeaponType.Scimitar:
         itemName = "Scimitar";
         itemDescription = "";
         weight = 4;
         value = 1500;
         damage = 6;
         criticalRange = 3;
         slashing = true;
         equipType = EquipType.OneHanded;
         weaponCatergory = WeaponCatergory.Martial;
         break;
     case WeaponType.Scizore:
         itemName = "Scizore";
         itemDescription = "";
         weight = 3;
         value = 2000;
         damage = 10;
         piercing = true;
         equipType = EquipType.OneHanded;
         weaponCatergory = WeaponCatergory.Martial;
         break;
     case WeaponType.HeavyShield:
         itemName = "Heavy Shield";
         itemDescription = "";
         weight = 0;
         value = 0;
         damage = 4;
         bludgeoning = true;
         equipType = EquipType.OneHanded;
         weaponCatergory = WeaponCatergory.Martial;
         break;
     case WeaponType.HeavySpikedShield:
         itemName = "Heavy Spiked Shield";
         itemDescription = "";
         weight = 0;
         value = 0;
         damage = 6;
         piercing = true;
         equipType = EquipType.OneHanded;
         weaponCatergory = WeaponCatergory.Martial;
         break;
     case WeaponType.SwordCane:
         itemName = "Sword Cane";
         itemDescription = "";
         weight = 4;
         value = 4500;
         damage = 6;
         piercing = true;
         equipType = EquipType.OneHanded;
         weaponCatergory = WeaponCatergory.Martial;
         break;
     case WeaponType.Terbutje:
         itemName = "Terbutje";
         itemDescription = "";
         weight = 2;
         value = 500;
         damage = 8;
         criticalRange = 2;
         slashing = true;
         addSpecial(Specials.Fragile);
         equipType = EquipType.OneHanded;
         weaponCatergory = WeaponCatergory.Martial;
         break;
     case WeaponType.SteelTerbutje:
         itemName = "Steel Terbutje";
         itemDescription = "";
         weight = 4;
         value = 2000;
         damage = 8;
         criticalRange = 2;
         slashing = true;
         equipType = EquipType.OneHanded;
         weaponCatergory = WeaponCatergory.Martial;
         break;
     case WeaponType.Trident:
         itemName = "Trident";
         itemDescription = "";
         weight = 4;
         value = 1500;
         damage = 8;
         range = 10;
         piercing = true;
         addSpecial(Specials.Brace);
         equipType = EquipType.OneHanded;
         weaponCatergory = WeaponCatergory.Martial;
         break;
     case WeaponType.Warhammer:
         itemName = "Warhammer";
         itemDescription = "";
         weight = 5;
         value = 1200;
         damage = 8;
         criticalRolls = 2;
         bludgeoning = true;
         equipType = EquipType.OneHanded;
         weaponCatergory = WeaponCatergory.Martial;
         break;
     case WeaponType.Bardiche:
         itemName = "Bardiche";
         itemDescription = "";
         weight = 14;
         value = 1300;
         damage = 10;
         criticalRange = 2;
         slashing = true;
         addSpecial(Specials.Brace);
         addSpecial(Specials.Reach);
         equipType = EquipType.TwoHanded;
         weaponCatergory = WeaponCatergory.Martial;
         break;
     case WeaponType.BecDeCorbin:
         itemName = "Bec de Corbin";
         itemDescription = "";
         weight = 12;
         value = 1500;
         damage = 10;
         criticalRolls = 2;
         piercing = true;
         bludgeoning = true;
         addSpecial(Specials.Brace);
         addSpecial(Specials.Reach);
         equipType = EquipType.TwoHanded;
         weaponCatergory = WeaponCatergory.Martial;
         break;
     case WeaponType.Bill:
         itemName = "Bill";
         itemDescription = "";
         weight = 11;
         value = 1100;
         damage = 8;
         criticalRolls = 2;
         slashing = true;
         addSpecial(Specials.Brace);
         addSpecial(Specials.Disarm);
         addSpecial(Specials.Reach);
         equipType = EquipType.TwoHanded;
         weaponCatergory = WeaponCatergory.Martial;
         break;
     case WeaponType.EarthBreaker:
         itemName = "Earth Breaker";
         itemDescription = "";
         weight = 14;
         value = 4000;
         damage = 6;
         damageRolls = 2;
         criticalRolls = 2;
         bludgeoning = true;
         equipType = EquipType.TwoHanded;
         weaponCatergory = WeaponCatergory.Martial;
         break;
     case WeaponType.Falchion:
         itemName = "Falchion";
         itemDescription = "";
         weight = 8;
         value = 7500;
         damage = 4;
         damageRolls = 2;
         criticalRange = 3;
         slashing = true;
         equipType = EquipType.TwoHanded;
         weaponCatergory = WeaponCatergory.Martial;
         break;
     case WeaponType.HeavyFlail:
         itemName = "Heavy Flail";
         itemDescription = "";
         weight = 10;
         value = 1500;
         damage = 10;
         criticalRange = 2;
         bludgeoning = true;
         addSpecial(Specials.Disarm);
         addSpecial(Specials.Trip);
         equipType = EquipType.TwoHanded;
         weaponCatergory = WeaponCatergory.Martial;
         break;
     case WeaponType.Glaive:
         itemName = "Glaive";
         itemDescription = "";
         weight = 10;
         value = 800;
         damage = 10;
         criticalRolls = 2;
         slashing = true;
         addSpecial(Specials.Reach);
         equipType = EquipType.TwoHanded;
         weaponCatergory = WeaponCatergory.Martial;
         break;
     case WeaponType.GlaiveGuisarme:
         itemName = "Glaive Guisarme";
         itemDescription = "";
         weight = 10;
         value = 1200;
         damage = 10;
         criticalRolls = 2;
         slashing = true;
         addSpecial(Specials.Brace);
         addSpecial(Specials.Reach);
         equipType = EquipType.TwoHanded;
         weaponCatergory = WeaponCatergory.Martial;
         break;
     case WeaponType.Greataxe:
         itemName = "Greataxe";
         itemDescription = "";
         weight = 12;
         value = 2000;
         damage = 12;
         criticalRolls = 2;
         slashing = true;
         equipType = EquipType.TwoHanded;
         weaponCatergory = WeaponCatergory.Martial;
         break;
     case WeaponType.Greatclub:
         itemName = "Greatclub";
         itemDescription = "";
         weight = 8;
         value = 500;
         damage = 10;
         bludgeoning = true;
         equipType = EquipType.TwoHanded;
         weaponCatergory = WeaponCatergory.Martial;
         break;
     case WeaponType.Greatsword:
         itemName = "Greatsword";
         itemDescription = "";
         weight = 8;
         value = 5000;
         damage = 6;
         damageRolls = 2;
         criticalRange = 2;
         slashing = true;
         equipType = EquipType.TwoHanded;
         weaponCatergory = WeaponCatergory.Martial;
         break;
     case WeaponType.Guisarme:
         itemName = "Guisarme";
         itemDescription = "";
         weight = 12;
         value = 900;
         damage = 4;
         damageRolls = 2;
         criticalRolls = 2;
         slashing = true;
         addSpecial(Specials.Reach);
         addSpecial(Specials.Trip);
         equipType = EquipType.TwoHanded;
         weaponCatergory = WeaponCatergory.Martial;
         break;
     case WeaponType.Halberd:
         itemName = "Halberd";
         itemDescription = "";
         weight = 12;
         value = 1000;
         damage = 10;
         criticalRolls = 2;
         slashing = true;
         piercing = true;
         addSpecial(Specials.Brace);
         addSpecial(Specials.Trip);
         equipType = EquipType.TwoHanded;
         weaponCatergory = WeaponCatergory.Martial;
         break;
     case WeaponType.LucerneHammer:
         itemName = "Lucerne Hammer";
         itemDescription = "";
         weight = 12;
         value = 1500;
         damage = 12;
         piercing = true;
         bludgeoning = true;
         addSpecial(Specials.Brace);
         addSpecial(Specials.Reach);
         equipType = EquipType.TwoHanded;
         weaponCatergory = WeaponCatergory.Martial;
         break;
     case WeaponType.Horsechopper:
         itemName = "Horsechopper";
         itemDescription = "";
         weight = 12;
         value = 1000;
         damage = 10;
         criticalRolls = 2;
         slashing = true;
         piercing = true;
         addSpecial(Specials.Reach);
         addSpecial(Specials.Trip);
         equipType = EquipType.TwoHanded;
         weaponCatergory = WeaponCatergory.Martial;
         break;
     case WeaponType.Lance:
         itemName = "Lance";
         itemDescription = "";
         weight = 10;
         value = 1000;
         damage = 10;
         criticalRolls = 2;
         slashing = true;
         piercing = true;
         addSpecial(Specials.Reach);
         equipType = EquipType.TwoHanded;
         weaponCatergory = WeaponCatergory.Martial;
         break;
     case WeaponType.OgreHook:
         itemName = "Ogre Hook";
         itemDescription = "";
         weight = 10;
         value = 2400;
         damage = 10;
         criticalRolls = 2;
         piercing = true;
         addSpecial(Specials.Trip);
         equipType = EquipType.TwoHanded;
         weaponCatergory = WeaponCatergory.Martial;
         break;
     case WeaponType.Pickaxe:
         itemName = "Pickaxe";
         itemDescription = "";
         weight = 12;
         value = 1400;
         damage = 8;
         criticalRolls = 3;
         piercing = true;
         equipType = EquipType.TwoHanded;
         weaponCatergory = WeaponCatergory.Martial;
         break;
     case WeaponType.Planson:
         itemName = "Planson";
         itemDescription = "";
         weight = 10;
         value = 1000;
         damage = 10;
         piercing = true;
         bludgeoning = true;
         addSpecial(Specials.Brace);
         equipType = EquipType.TwoHanded;
         weaponCatergory = WeaponCatergory.Martial;
         break;
     case WeaponType.Ranseur:
         itemName = "Ranseur";
         itemDescription = "";
         weight = 12;
         value = 1800;
         damage = 4;
         damageRolls = 2;
         criticalRolls = 3;
         piercing = true;
         addSpecial(Specials.Disarm);
         addSpecial(Specials.Reach);
         equipType = EquipType.TwoHanded;
         weaponCatergory = WeaponCatergory.Martial;
         break;
     case WeaponType.Scythe:
         itemName = "Scythe";
         itemDescription = "";
         weight = 10;
         value = 1800;
         damage = 4;
         damageRolls = 2;
         criticalRolls = 3;
         slashing = true;
         piercing = true;
         addSpecial(Specials.Trip);
         equipType = EquipType.TwoHanded;
         weaponCatergory = WeaponCatergory.Martial;
         break;
     case WeaponType.SyringeSpear:
         itemName = "Syringe Spear";
         itemDescription = "";
         weight = 6;
         value = 10000;
         damage = 8;
         criticalRolls = 2;
         range = 20;
         piercing = true;
         addSpecial(Specials.Brace);
         equipType = EquipType.TwoHanded;
         weaponCatergory = WeaponCatergory.Martial;
         break;
     case WeaponType.Ammentum:
         itemName = "Ammentum";
         itemDescription = "";
         weight = 1;
         value = 0;
         damage = 6;
         range = 50;
         piercing = true;
         addSpecial(Specials.Performance);
         equipType = EquipType.Ranged;
         weaponCatergory = WeaponCatergory.Martial;
         break;
     case WeaponType.Chakram:
         itemName = "Chakram";
         itemDescription = "";
         weight = 1;
         value = 100;
         damage = 8;
         range = 30;
         slashing = true;
         equipType = EquipType.Ranged;
         weaponCatergory = WeaponCatergory.Martial;
         break;
     case WeaponType.JoltingDart:
         itemName = "Jolting Dart";
         itemDescription = "";
         weight = 0.5f;
         value = 10000;
         damage = 4;
         range = 20;
         piercing = true;
         equipType = EquipType.Ranged;
         weaponCatergory = WeaponCatergory.Martial;
         break;
     case WeaponType.HungaMunga:
         itemName = "Hunga Munga";
         itemDescription = "";
         weight = 3;
         value = 400;
         damage = 6;
         range = 15;
         piercing = true;
         equipType = EquipType.Ranged;
         weaponCatergory = WeaponCatergory.Martial;
         break;
     case WeaponType.Hurlbat:
         itemName = "Hurlbat";
         itemDescription = "";
         weight = 2;
         value = 800;
         damage = 6;
         range = 10;
         slashing = true;
         piercing = true;
         equipType = EquipType.Ranged;
         weaponCatergory = WeaponCatergory.Martial;
         break;
     case WeaponType.Longbow:
         itemName = "Longbow";
         itemDescription = "";
         weight = 3;
         value = 7500;
         damage = 8;
         criticalRolls = 2;
         range = 100;
         piercing = true;
         equipType = EquipType.Ranged;
         weaponCatergory = WeaponCatergory.Martial;
         break;
     case WeaponType.CompositeLongbow:
         itemName = "Composite Longbow";
         itemDescription = "";
         weight = 3;
         value = 10000;
         damage = 8;
         criticalRolls = 2;
         range = 110;
         piercing = true;
         equipType = EquipType.Ranged;
         weaponCatergory = WeaponCatergory.Martial;
         break;
     case WeaponType.Pilum:
         itemName = "Pilum";
         itemDescription = "";
         weight = 4;
         value = 500;
         damage = 8;
         range = 20;
         piercing = true;
         equipType = EquipType.Ranged;
         weaponCatergory = WeaponCatergory.Martial;
         break;
     case WeaponType.Shortbow:
         itemName = "Shortbow";
         itemDescription = "";
         weight = 2;
         value = 3000;
         damage = 6;
         criticalRolls = 2;
         range = 60;
         piercing = true;
         equipType = EquipType.Ranged;
         weaponCatergory = WeaponCatergory.Martial;
         break;
     case WeaponType.CompositeShortbow:
         itemName = "Composite Shortbow";
         itemDescription = "";
         weight = 2;
         value = 7500;
         damage = 6;
         criticalRolls = 2;
         range = 70;
         piercing = true;
         equipType = EquipType.Ranged;
         weaponCatergory = WeaponCatergory.Martial;
         break;
     case WeaponType.SpearSling:
         itemName = "Spear Sling";
         itemDescription = "";
         weight = 2;
         value = 5000;
         damage = 8;
         criticalRolls = 2;
         piercing = true;
         equipType = EquipType.Ranged;
         weaponCatergory = WeaponCatergory.Martial;
         break;
     case WeaponType.ThrowingArrowCord:
         itemName = "Throwing Arrow Cord";
         itemDescription = "";
         weight = 0;
         value = 0;
         damage = 4;
         range = 60;
         piercing = true;
         equipType = EquipType.Ranged;
         weaponCatergory = WeaponCatergory.Martial;
         break;
     case WeaponType.CommonArrow:
         itemName = "Common Arrow";
         itemDescription = "";
         weight = 0.15f;
         value = 5;
         damageRolls = 0;
         criticalRange = 0;
         criticalRolls = 0;
         piercing = true;
         equipType = EquipType.Ammunition;
         weaponCatergory = WeaponCatergory.Martial;
         break;
     case WeaponType.BarbedArrow:
         itemName = "Barbed Arrow";
         itemDescription = "";
         weight = 0.15f;
         value = 1;
         damageRolls = 0;
         criticalRange = 0;
         criticalRolls = 0;
         piercing = true;
         addSpecial(Specials.Grapple);
         equipType = EquipType.Ammunition;
         weaponCatergory = WeaponCatergory.Martial;
         break;
     case WeaponType.BarbedBolt:
         itemName = "Barbed Bolt";
         itemDescription = "";
         weight = 0.15f;
         value = 10;
         damageRolls = 0;
         criticalRange = 0;
         criticalRolls = 0;
         piercing = true;
         addSpecial(Specials.Grapple);
         equipType = EquipType.Ammunition;
         weaponCatergory = WeaponCatergory.Martial;
         break;
     case WeaponType.BleedingArrow:
         itemName = "Bleeding Arrow";
         itemDescription = "";
         weight = 0;
         value = 36000;
         damageRolls = 0;
         criticalRange = 0;
         criticalRolls = 0;
         equipType = EquipType.Ammunition;
         weaponCatergory = WeaponCatergory.Martial;
         break;
     case WeaponType.BluntArrow:
         itemName = "Blunt Arrow";
         itemDescription = "";
         weight = 0.15f;
         value = 10;
         damageRolls = 0;
         criticalRange = 0;
         criticalRolls = 0;
         bludgeoning = true;
         equipType = EquipType.Ammunition;
         weaponCatergory = WeaponCatergory.Martial;
         break;
     case WeaponType.DurableArrow:
         itemName = "Durable Arrow";
         itemDescription = "";
         weight = 0;
         value = 100;
         damageRolls = 0;
         criticalRange = 0;
         criticalRolls = 0;
         equipType = EquipType.Ammunition;
         weaponCatergory = WeaponCatergory.Martial;
         break;
     case WeaponType.DyeArrow:
         itemName = "Dye Arrow";
         itemDescription = "";
         weight = 4;
         value = 100;
         damageRolls = 0;
         criticalRange = 0;
         criticalRolls = 0;
         equipType = EquipType.Ammunition;
         weaponCatergory = WeaponCatergory.Martial;
         break;
     case WeaponType.FlightArrow:
         itemName = "Flight Arrow";
         itemDescription = "";
         weight = 0.15f;
         value = 10;
         damageRolls = 0;
         criticalRange = 0;
         criticalRolls = 0;
         equipType = EquipType.Ammunition;
         weaponCatergory = WeaponCatergory.Martial;
         break;
     case WeaponType.IncendiaryArrow:
         itemName = "Incendiary Arrow";
         itemDescription = "";
         weight = 0.15f;
         value = 50;
         damageRolls = 0;
         criticalRange = 0;
         criticalRolls = 0;
         equipType = EquipType.Ammunition;
         weaponCatergory = WeaponCatergory.Martial;
         break;
     case WeaponType.IncendiaryBolt:
         itemName = "Incendiary Bolt";
         itemDescription = "";
         weight = 0.15f;
         value = 50;
         damageRolls = 0;
         criticalRange = 0;
         criticalRolls = 0;
         equipType = EquipType.Ammunition;
         weaponCatergory = WeaponCatergory.Martial;
         break;
     case WeaponType.LodestoneArrow:
         itemName = "Lodestone Arrow";
         itemDescription = "";
         weight = 0;
         value = 1000;
         damageRolls = 0;
         criticalRange = 0;
         criticalRolls = 0;
         equipType = EquipType.Ammunition;
         weaponCatergory = WeaponCatergory.Martial;
         break;
     case WeaponType.PheromoneArrow:
         itemName = "Pheromone Arrow";
         itemDescription = "";
         weight = 0;
         value = 1500;
         damageRolls = 0;
         criticalRange = 0;
         criticalRolls = 0;
         equipType = EquipType.Ammunition;
         weaponCatergory = WeaponCatergory.Martial;
         break;
     case WeaponType.ProngedArrow:
         itemName = "Pronged Arrow";
         itemDescription = "";
         weight = 0.15f;
         value = 10;
         damageRolls = 0;
         criticalRange = 0;
         criticalRolls = 0;
         equipType = EquipType.Ammunition;
         weaponCatergory = WeaponCatergory.Martial;
         break;
     case WeaponType.ProngedBolt:
         itemName = "Pronged Bolt";
         itemDescription = "";
         weight = 0.15f;
         value = 10;
         damageRolls = 0;
         criticalRange = 0;
         criticalRolls = 0;
         equipType = EquipType.Ammunition;
         weaponCatergory = WeaponCatergory.Martial;
         break;
     case WeaponType.RainingArrow:
         itemName = "Raining Arrow";
         itemDescription = "";
         weight = 0;
         value = 3000;
         damageRolls = 0;
         criticalRange = 0;
         criticalRolls = 0;
         equipType = EquipType.Ammunition;
         weaponCatergory = WeaponCatergory.Martial;
         break;
     case WeaponType.SlowBurnArrow:
         itemName = "Slow Burn Arrow";
         itemDescription = "";
         weight = 0;
         value = 15000;
         damageRolls = 0;
         criticalRange = 0;
         criticalRolls = 0;
         equipType = EquipType.Ammunition;
         weaponCatergory = WeaponCatergory.Martial;
         break;
     case WeaponType.SmokeArrow:
         itemName = "Smoke Arrow";
         itemDescription = "";
         weight = 0;
         value = 1000;
         damageRolls = 0;
         criticalRange = 0;
         criticalRolls = 0;
         equipType = EquipType.Ammunition;
         weaponCatergory = WeaponCatergory.Martial;
         break;
     case WeaponType.SplintercloudArrow:
         itemName = "Splintercloud Arrow";
         itemDescription = "";
         weight = 0;
         value = 2500;
         damageRolls = 0;
         criticalRange = 0;
         criticalRolls = 0;
         equipType = EquipType.Ammunition;
         weaponCatergory = WeaponCatergory.Martial;
         break;
     case WeaponType.TanglefootArrow:
         itemName = "Tanglefoot Arrow";
         itemDescription = "";
         weight = 0;
         value = 2000;
         damageRolls = 0;
         criticalRange = 0;
         criticalRolls = 0;
         equipType = EquipType.Ammunition;
         weaponCatergory = WeaponCatergory.Martial;
         break;
     case WeaponType.ThistleArrow:
         itemName = "Thistle Arrow";
         itemDescription = "";
         weight = 0.15f;
         value = 100;
         damageRolls = 0;
         criticalRange = 0;
         criticalRolls = 0;
         piercing = true;
         equipType = EquipType.Ammunition;
         weaponCatergory = WeaponCatergory.Martial;
         break;
     case WeaponType.ThrowingArrow:
         itemName = "Throwing Arrow";
         itemDescription = "";
         weight = 0.5f;
         value = 50;
         damageRolls = 0;
         criticalRange = 0;
         criticalRolls = 0;
         equipType = EquipType.Ammunition;
         weaponCatergory = WeaponCatergory.Martial;
         break;
     case WeaponType.TripArrow:
         itemName = "Trip Arrow";
         itemDescription = "";
         weight = 0;
         value = 2500;
         damageRolls = 0;
         criticalRange = 0;
         criticalRolls = 0;
         equipType = EquipType.Ammunition;
         weaponCatergory = WeaponCatergory.Martial;
         break;
     case WeaponType.WhistlingArrow:
         itemName = "Whistling Arrow";
         itemDescription = "";
         weight = 3;
         value = 200;
         damageRolls = 0;
         criticalRange = 0;
         criticalRolls = 0;
         equipType = EquipType.Ammunition;
         weaponCatergory = WeaponCatergory.Martial;
         break;
     case WeaponType.Aklys:
         itemName = "Aklys";
         itemDescription = "";
         weight = 2;
         value = 500;
         damage = 8;
         range = 20;
         bludgeoning = true;
         addSpecial(Specials.Performance);
         addSpecial(Specials.Trip);
         equipType = EquipType.LightOneHanded;
         weaponCatergory = WeaponCatergory.Exotic;
         break;
     case WeaponType.KnuckleAxe:
         itemName = "Knuckle Axe";
         itemDescription = "";
         weight = 2;
         value = 900;
         damage = 6;
         criticalRolls = 2;
         slashing = true;
         addSpecial(Specials.Monk);
         addSpecial(Specials.Performance);
         equipType = EquipType.LightOneHanded;
         weaponCatergory = WeaponCatergory.Exotic;
         break;
     case WeaponType.BarbazuBeard:
         itemName = "Barbazu Beard";
         itemDescription = "";
         weight = 2;
         value = 2500;
         damage = 4;
         slashing = true;
         equipType = EquipType.LightOneHanded;
         weaponCatergory = WeaponCatergory.Exotic;
         break;
     case WeaponType.BattlePoi:
         itemName = "Battle Poi";
         itemDescription = "";
         weight = 2;
         value = 500;
         damage = 4;
         equipType = EquipType.LightOneHanded;
         weaponCatergory = WeaponCatergory.Exotic;
         break;
     case WeaponType.SwordbreakerDagger:
         itemName = "Swordbreaker Dagger";
         itemDescription = "";
         weight = 3;
         value = 1000;
         damage = 4;
         slashing = true;
         addSpecial(Specials.Disarm);
         addSpecial(Specials.Sunder);
         equipType = EquipType.LightOneHanded;
         weaponCatergory = WeaponCatergory.Exotic;
         break;
     case WeaponType.FlyingTalon:
         itemName = "Flying Talon";
         itemDescription = "";
         weight = 5;
         value = 1500;
         damage = 4;
         range = 10;
         piercing = true;
         addSpecial(Specials.Disarm);
         addSpecial(Specials.Trip);
         equipType = EquipType.LightOneHanded;
         weaponCatergory = WeaponCatergory.Exotic;
         break;
     case WeaponType.GnomePincher:
         itemName = "Gnome Pincher";
         itemDescription = "";
         weight = 2;
         value = 1000;
         damage = 6;
         bludgeoning = true;
         addSpecial(Specials.Disarm);
         equipType = EquipType.LightOneHanded;
         weaponCatergory = WeaponCatergory.Exotic;
         break;
     case WeaponType.HalflingRopeShot:
         itemName = "Halfling Rope Shot";
         itemDescription = "";
         weight = 1;
         value = 100;
         damage = 6;
         bludgeoning = true;
         addSpecial(Specials.Disarm);
         equipType = EquipType.LightOneHanded;
         weaponCatergory = WeaponCatergory.Exotic;
         break;
     case WeaponType.DwarvenBoulderHelmet:
         itemName = "Dwarven Boulder Helmet";
         itemDescription = "";
         weight = 10;
         value = 2000;
         damage = 4;
         bludgeoning = true;
         equipType = EquipType.LightOneHanded;
         weaponCatergory = WeaponCatergory.Exotic;
         break;
     case WeaponType.Kama:
         itemName = "Kama";
         itemDescription = "";
         weight = 2;
         value = 200;
         damage = 6;
         slashing = true;
         addSpecial(Specials.Monk);
         addSpecial(Specials.Trip);
         equipType = EquipType.LightOneHanded;
         weaponCatergory = WeaponCatergory.Exotic;
         break;
     case WeaponType.TriBladedKatar:
         itemName = "Tri-Bladed Katar";
         itemDescription = "";
         weight = 2;
         value = 600;
         damage = 4;
         criticalRolls = 3;
         piercing = true;
         equipType = EquipType.LightOneHanded;
         weaponCatergory = WeaponCatergory.Exotic;
         break;
     case WeaponType.ButterflyKnife:
         itemName = "Butterfly Knife";
         itemDescription = "";
         weight = 1;
         value = 500;
         damage = 4;
         criticalRange = 2;
         slashing = true;
         piercing = true;
         equipType = EquipType.LightOneHanded;
         weaponCatergory = WeaponCatergory.Exotic;
         break;
     case WeaponType.DeerHornKnife:
         itemName = "Deer Horn Knife";
         itemDescription = "";
         weight = 3;
         value = 1000;
         damage = 4;
         criticalRolls = 2;
         range = 20;
         piercing = true;
         addSpecial(Specials.Blocking);
         addSpecial(Specials.Monk);
         equipType = EquipType.LightOneHanded;
         weaponCatergory = WeaponCatergory.Exotic;
         break;
     case WeaponType.DwarvenMaulaxe:
         itemName = "Dwarven Maulaxe";
         itemDescription = "";
         weight = 5;
         value = 2500;
         damage = 6;
         criticalRolls = 2;
         range = 10;
         slashing = true;
         bludgeoning = true;
         equipType = EquipType.LightOneHanded;
         weaponCatergory = WeaponCatergory.Exotic;
         break;
     case WeaponType.Nunchaku:
         itemName = "Nunchaku";
         itemDescription = "";
         weight = 2;
         value = 200;
         damage = 6;
         bludgeoning = true;
         addSpecial(Specials.Disarm);
         addSpecial(Specials.Monk);
         equipType = EquipType.LightOneHanded;
         weaponCatergory = WeaponCatergory.Exotic;
         break;
     case WeaponType.Quadrens:
         itemName = "Quadrens";
         itemDescription = "";
         weight = 2;
         value = 800;
         damage = 6;
         criticalRange = 2;
         piercing = true;
         addSpecial(Specials.Performance);
         equipType = EquipType.LightOneHanded;
         weaponCatergory = WeaponCatergory.Exotic;
         break;
     case WeaponType.RopeGauntlet:
         itemName = "Rope Gauntlet";
         itemDescription = "";
         weight = 2;
         value = 20;
         damage = 4;
         slashing = true;
         bludgeoning = true;
         equipType = EquipType.LightOneHanded;
         weaponCatergory = WeaponCatergory.Exotic;
         break;
     case WeaponType.Sai:
         itemName = "Sai";
         itemDescription = "";
         weight = 1;
         value = 100;
         damage = 4;
         bludgeoning = true;
         addSpecial(Specials.Disarm);
         addSpecial(Specials.Monk);
         equipType = EquipType.LightOneHanded;
         weaponCatergory = WeaponCatergory.Exotic;
         break;
     case WeaponType.Siangham:
         itemName = "Siangham";
         itemDescription = "";
         weight = 1;
         value = 300;
         damage = 6;
         piercing = true;
         addSpecial(Specials.Monk);
         equipType = EquipType.LightOneHanded;
         weaponCatergory = WeaponCatergory.Exotic;
         break;
     case WeaponType.Sica:
         itemName = "Sica";
         itemDescription = "";
         weight = 2;
         value = 1000;
         damage = 6;
         slashing = true;
         addSpecial(Specials.Performance);
         equipType = EquipType.LightOneHanded;
         weaponCatergory = WeaponCatergory.Exotic;
         break;
     case WeaponType.ThornBracer:
         itemName = "Thorn Bracer";
         itemDescription = "";
         weight = 3;
         value = 3000;
         damage = 6;
         piercing = true;
         equipType = EquipType.LightOneHanded;
         weaponCatergory = WeaponCatergory.Exotic;
         break;
     case WeaponType.ScorpionWhip:
         itemName = "Scorpion Whip";
         itemDescription = "";
         weight = 3;
         value = 500;
         damage = 4;
         slashing = true;
         addSpecial(Specials.Disarm);
         addSpecial(Specials.Performance);
         addSpecial(Specials.Reach);
         addSpecial(Specials.Trip);
         equipType = EquipType.LightOneHanded;
         weaponCatergory = WeaponCatergory.Exotic;
         break;
     case WeaponType.HookedAxe:
         itemName = "Hooked Axe";
         itemDescription = "";
         weight = 7;
         value = 2000;
         damage = 8;
         criticalRolls = 2;
         slashing = true;
         addSpecial(Specials.Disarm);
         addSpecial(Specials.Performance);
         addSpecial(Specials.Trip);
         equipType = EquipType.OneHanded;
         weaponCatergory = WeaponCatergory.Exotic;
         break;
     case WeaponType.Estoc:
         itemName = "Estoc";
         itemDescription = "";
         weight = 4;
         value = 5000;
         damage = 4;
         damageRolls = 2;
         criticalRange = 3;
         piercing = true;
         equipType = EquipType.OneHanded;
         weaponCatergory = WeaponCatergory.Exotic;
         break;
     case WeaponType.Falcata:
         itemName = "Falcata";
         itemDescription = "";
         weight = 4;
         value = 1800;
         damage = 8;
         criticalRange = 2;
         criticalRolls = 2;
         piercing = true;
         equipType = EquipType.OneHanded;
         weaponCatergory = WeaponCatergory.Exotic;
         break;
     case WeaponType.Flindbar:
         itemName = "Flindbar";
         itemDescription = "";
         weight = 6;
         value = 900;
         damage = 8;
         piercing = true;
         bludgeoning = true;
         addSpecial(Specials.Disarm);
         addSpecial(Specials.Trip);
         equipType = EquipType.OneHanded;
         weaponCatergory = WeaponCatergory.Exotic;
         break;
     case WeaponType.Khopesh:
         itemName = "Khopesh";
         itemDescription = "";
         weight = 8;
         value = 2000;
         damage = 8;
         criticalRange = 2;
         slashing = true;
         addSpecial(Specials.Trip);
         equipType = EquipType.OneHanded;
         weaponCatergory = WeaponCatergory.Exotic;
         break;
     case WeaponType.Knobkerrie:
         itemName = "Knobkerrie";
         itemDescription = "";
         weight = 4;
         value = 500;
         damage = 6;
         range = 20;
         bludgeoning = true;
         equipType = EquipType.OneHanded;
         weaponCatergory = WeaponCatergory.Exotic;
         break;
     case WeaponType.Rhoka:
         itemName = "Rhoka";
         itemDescription = "";
         weight = 6;
         value = 500;
         damage = 8;
         criticalRange = 3;
         slashing = true;
         equipType = EquipType.OneHanded;
         weaponCatergory = WeaponCatergory.Exotic;
         break;
     case WeaponType.SawtoothSabre:
         itemName = "Sawtooth Sabre";
         itemDescription = "";
         weight = 2;
         value = 3500;
         damage = 8;
         criticalRange = 2;
         slashing = true;
         equipType = EquipType.OneHanded;
         weaponCatergory = WeaponCatergory.Exotic;
         break;
     case WeaponType.Shotel:
         itemName = "Shotel";
         itemDescription = "";
         weight = 3;
         value = 3000;
         damage = 8;
         criticalRolls = 2;
         piercing = true;
         addSpecial(Specials.Performance);
         equipType = EquipType.OneHanded;
         weaponCatergory = WeaponCatergory.Exotic;
         break;
     case WeaponType.DuelingSword:
         itemName = "Dueling Sword";
         itemDescription = "";
         weight = 3;
         value = 2000;
         damage = 8;
         criticalRange = 2;
         slashing = true;
         equipType = EquipType.OneHanded;
         weaponCatergory = WeaponCatergory.Exotic;
         break;
     case WeaponType.BastardSword:
         itemName = "Bastard Sword";
         itemDescription = "";
         weight = 6;
         value = 3500;
         damage = 10;
         criticalRange = 2;
         slashing = true;
         equipType = EquipType.OneHanded;
         weaponCatergory = WeaponCatergory.Exotic;
         break;
     case WeaponType.Tongi:
         itemName = "Tongi";
         itemDescription = "";
         weight = 4;
         value = 1800;
         damage = 6;
         criticalRange = 2;
         criticalRolls = 2;
         piercing = true;
         equipType = EquipType.OneHanded;
         weaponCatergory = WeaponCatergory.Exotic;
         break;
     case WeaponType.DwarvenWaraxe:
         itemName = "Dwarven Waraxe";
         itemDescription = "";
         weight = 8;
         value = 3000;
         damage = 10;
         criticalRolls = 2;
         slashing = true;
         equipType = EquipType.OneHanded;
         weaponCatergory = WeaponCatergory.Exotic;
         break;
     case WeaponType.DwarvenDoubleWaraxe:
         itemName = "Dwarven Double Waraxe";
         itemDescription = "";
         weight = 12;
         value = 6000;
         damage = 10;
         criticalRolls = 2;
         slashing = true;
         equipType = EquipType.OneHanded;
         weaponCatergory = WeaponCatergory.Exotic;
         break;
     case WeaponType.Whip:
         itemName = "Whip";
         itemDescription = "";
         weight = 2;
         value = 100;
         damage = 3;
         slashing = true;
         addSpecial(Specials.Disarm);
         addSpecial(Specials.Nonlethal);
         addSpecial(Specials.Reach);
         addSpecial(Specials.Trip);
         equipType = EquipType.OneHanded;
         weaponCatergory = WeaponCatergory.Exotic;
         break;
     case WeaponType.OrcDoubleAxe:
         itemName = "Orc Double Axe";
         itemDescription = "";
         weight = 15;
         value = 6000;
         twoAttackRolls = true;
         damage = 8;
         secondAttackDamage = 8;
         criticalRolls = 2;
         slashing = true;
         addSpecial(Specials.Double);
         equipType = EquipType.TwoHanded;
         weaponCatergory = WeaponCatergory.Exotic;
         break;
     case WeaponType.BattleLadder:
         itemName = "Battle Ladder";
         itemDescription = "";
         weight = 8;
         value = 2000;
         twoAttackRolls = true;
         damage = 6;
         secondAttackDamage = 6;
         bludgeoning = true;
         addSpecial(Specials.Trip);
         equipType = EquipType.TwoHanded;
         weaponCatergory = WeaponCatergory.Exotic;
         break;
     case WeaponType.BoardingGaff:
         itemName = "Boarding Gaff";
         itemDescription = "";
         weight = 8;
         value = 800;
         twoAttackRolls = true;
         damage = 6;
         secondAttackDamage = 6;
         slashing = true;
         addSpecial(Specials.Double);
         addSpecial(Specials.Reach);
         addSpecial(Specials.Trip);
         equipType = EquipType.TwoHanded;
         weaponCatergory = WeaponCatergory.Exotic;
         break;
     case WeaponType.SpikedChain:
         itemName = "Spiked Chain";
         itemDescription = "";
         weight = 10;
         value = 2500;
         damage = 4;
         damageRolls = 2;
         piercing = true;
         addSpecial(Specials.Disarm);
         addSpecial(Specials.Trip);
         equipType = EquipType.TwoHanded;
         weaponCatergory = WeaponCatergory.Exotic;
         break;
     case WeaponType.Crook:
         itemName = "Crook";
         itemDescription = "";
         weight = 5;
         value = 100;
         damage = 6;
         bludgeoning = true;
         addSpecial(Specials.Reach);
         addSpecial(Specials.Trip);
         equipType = EquipType.TwoHanded;
         weaponCatergory = WeaponCatergory.Exotic;
         break;
     case WeaponType.ElvenCurveBlade:
         itemName = "Elven Curve Blade";
         itemDescription = "";
         weight = 7;
         value = 8000;
         damage = 10;
         criticalRange = 3;
         slashing = true;
         equipType = EquipType.TwoHanded;
         weaponCatergory = WeaponCatergory.Exotic;
         break;
     case WeaponType.DwarvenDornDergar:
         itemName = "Dwarven Dorn Dergar";
         itemDescription = "";
         weight = 15;
         value = 5000;
         damage = 10;
         bludgeoning = true;
         addSpecial(Specials.Reach);
         equipType = EquipType.TwoHanded;
         weaponCatergory = WeaponCatergory.Exotic;
         break;
     case WeaponType.ElvenBranchedSpear:
         itemName = "Elven Branched Spear";
         itemDescription = "";
         weight = 10;
         value = 2000;
         damage = 8;
         criticalRolls = 2;
         piercing = true;
         addSpecial(Specials.Brace);
         addSpecial(Specials.Reach);
         equipType = EquipType.TwoHanded;
         weaponCatergory = WeaponCatergory.Exotic;
         break;
     case WeaponType.Fauchard:
         itemName = "Fauchard";
         itemDescription = "";
         weight = 10;
         value = 1400;
         damage = 10;
         criticalRange = 3;
         slashing = true;
         addSpecial(Specials.Reach);
         addSpecial(Specials.Trip);
         equipType = EquipType.TwoHanded;
         weaponCatergory = WeaponCatergory.Exotic;
         break;
     case WeaponType.DireFlail:
         itemName = "Dire Flail";
         itemDescription = "";
         weight = 10;
         value = 9000;
         twoAttackRolls = true;
         damage = 8;
         secondAttackDamage = 8;
         bludgeoning = true;
         addSpecial(Specials.Disarm);
         addSpecial(Specials.Double);
         addSpecial(Specials.Trip);
         equipType = EquipType.TwoHanded;
         weaponCatergory = WeaponCatergory.Exotic;
         break;
     case WeaponType.Flailpole:
         itemName = "Flailpole";
         itemDescription = "";
         weight = 10;
         value = 1500;
         damage = 8;
         slashing = true;
         addSpecial(Specials.Reach);
         addSpecial(Specials.Trip);
         equipType = EquipType.TwoHanded;
         weaponCatergory = WeaponCatergory.Exotic;
         break;
     case WeaponType.Flambard:
         itemName = "Flambard";
         itemDescription = "";
         weight = 6;
         value = 5000;
         damage = 10;
         criticalRange = 2;
         slashing = true;
         addSpecial(Specials.Sunder);
         equipType = EquipType.TwoHanded;
         weaponCatergory = WeaponCatergory.Exotic;
         break;
     case WeaponType.FlyingBlade:
         itemName = "Flying Blade";
         itemDescription = "";
         weight = 12;
         value = 4000;
         damage = 12;
         criticalRolls = 2;
         slashing = true;
         addSpecial(Specials.Performance);
         addSpecial(Specials.Reach);
         equipType = EquipType.TwoHanded;
         weaponCatergory = WeaponCatergory.Exotic;
         break;
     case WeaponType.Garrote:
         itemName = "Garrote";
         itemDescription = "";
         weight = 1;
         value = 300;
         damage = 6;
         slashing = true;
         addSpecial(Specials.Grapple);
         equipType = EquipType.TwoHanded;
         weaponCatergory = WeaponCatergory.Exotic;
         break;
     case WeaponType.GnomeHookedHammer:
         itemName = "Gnome Hooked Hammer";
         itemDescription = "";
         weight = 6;
         value = 2000;
         twoAttackRolls = true;
         damage = 8;
         secondAttackDamage = 6;
         twoCriticalRolls = true;
         criticalRolls = 2;
         secondAttackCritical = 3;
         piercing = true;
         bludgeoning = true;
         addSpecial(Specials.Double);
         addSpecial(Specials.Trip);
         equipType = EquipType.TwoHanded;
         weaponCatergory = WeaponCatergory.Exotic;
         break;
     case WeaponType.Harpoon:
         itemName = "Harpoon";
         itemDescription = "";
         weight = 16;
         value = 500;
         damage = 8;
         criticalRolls = 2;
         range = 10;
         piercing = true;
         addSpecial(Specials.Grapple);
         equipType = EquipType.TwoHanded;
         weaponCatergory = WeaponCatergory.Exotic;
         break;
     case WeaponType.DwarvenLongaxe:
         itemName = "Dwarven Longaxe";
         itemDescription = "";
         weight = 14;
         value = 5000;
         damage = 12;
         criticalRolls = 2;
         slashing = true;
         addSpecial(Specials.Reach);
         equipType = EquipType.TwoHanded;
         weaponCatergory = WeaponCatergory.Exotic;
         break;
     case WeaponType.DwarvenLonghammer:
         itemName = "Dwarven Longhammer";
         itemDescription = "";
         weight = 20;
         value = 7000;
         damage = 6;
         damageRolls = 2;
         criticalRolls = 2;
         bludgeoning = true;
         addSpecial(Specials.Reach);
         equipType = EquipType.TwoHanded;
         weaponCatergory = WeaponCatergory.Exotic;
         break;
     case WeaponType.Mancatcher:
         itemName = "Mancatcher";
         itemDescription = "";
         weight = 10;
         value = 1500;
         damage = 2;
         piercing = true;
         addSpecial(Specials.Grapple);
         addSpecial(Specials.Reach);
         equipType = EquipType.TwoHanded;
         weaponCatergory = WeaponCatergory.Exotic;
         break;
     case WeaponType.SnagNet:
         itemName = "Snag Net";
         itemDescription = "";
         weight = 10;
         value = 3000;
         piercing = true;
         addSpecial(Specials.Trip);
         equipType = EquipType.TwoHanded;
         weaponCatergory = WeaponCatergory.Exotic;
         break;
     case WeaponType.OrcSkullRam:
         itemName = "Orc Skull Ram";
         itemDescription = "";
         weight = 20;
         value = 1500;
         damage = 10;
         criticalRolls = 2;
         bludgeoning = true;
         addSpecial(Specials.Reach);
         equipType = EquipType.TwoHanded;
         weaponCatergory = WeaponCatergory.Exotic;
         break;
     case WeaponType.PistonMaul:
         itemName = "Piston Maul";
         itemDescription = "";
         weight = 15;
         value = 7000;
         damage = 10;
         bludgeoning = true;
         equipType = EquipType.TwoHanded;
         weaponCatergory = WeaponCatergory.Exotic;
         break;
     case WeaponType.RipsawGlaive:
         itemName = "Ripsaw Glaive";
         itemDescription = "";
         weight = 12;
         value = 3000;
         damage = 10;
         criticalRolls = 2;
         slashing = true;
         addSpecial(Specials.Reach);
         equipType = EquipType.TwoHanded;
         weaponCatergory = WeaponCatergory.Exotic;
         break;
     case WeaponType.BladedScarf:
         itemName = "Bladed Scarf";
         itemDescription = "";
         weight = 2;
         value = 1200;
         damage = 6;
         slashing = true;
         addSpecial(Specials.Disarm);
         addSpecial(Specials.Trip);
         equipType = EquipType.TwoHanded;
         weaponCatergory = WeaponCatergory.Exotic;
         break;
     case WeaponType.TotemSpear:
         itemName = "Totem Spear";
         itemDescription = "";
         weight = 6;
         value = 2500;
         damage = 10;
         criticalRolls = 2;
         range = 10;
         slashing = true;
         piercing = true;
         equipType = EquipType.TwoHanded;
         weaponCatergory = WeaponCatergory.Exotic;
         break;
     case WeaponType.TwoBladedSword:
         itemName = "Two-Bladed Sword";
         itemDescription = "";
         weight = 10;
         value = 10000;
         twoAttackRolls = true;
         damage = 8;
         secondAttackDamage = 8;
         criticalRange = 2;
         slashing = true;
         addSpecial(Specials.Double);
         equipType = EquipType.TwoHanded;
         weaponCatergory = WeaponCatergory.Exotic;
         break;
     case WeaponType.DwarvenUrgrosh:
         itemName = "Dwarven Urgrosh";
         itemDescription = "";
         weight = 12;
         value = 5000;
         twoAttackRolls = true;
         damage = 8;
         secondAttackDamage = 6;
         criticalRolls = 2;
         slashing = true;
         piercing = true;
         addSpecial(Specials.Brace);
         addSpecial(Specials.Double);
         equipType = EquipType.TwoHanded;
         weaponCatergory = WeaponCatergory.Exotic;
         break;
     case WeaponType.Bola:
         itemName = "Bola";
         itemDescription = "";
         weight = 2;
         value = 500;
         damage = 4;
         range = 10;
         bludgeoning = true;
         addSpecial(Specials.Nonlethal);
         addSpecial(Specials.Trip);
         equipType = EquipType.Ranged;
         weaponCatergory = WeaponCatergory.Exotic;
         break;
     case WeaponType.BrutalBola:
         itemName = "Brutal Bola";
         itemDescription = "";
         weight = 2;
         value = 1500;
         damage = 4;
         range = 10;
         piercing = true;
         bludgeoning = true;
         addSpecial(Specials.Trip);
         equipType = EquipType.Ranged;
         weaponCatergory = WeaponCatergory.Exotic;
         break;
     case WeaponType.Boomerang:
         itemName = "Boomerang";
         itemDescription = "";
         weight = 3;
         value = 300;
         damage = 6;
         range = 30;
         bludgeoning = true;
         equipType = EquipType.Ranged;
         weaponCatergory = WeaponCatergory.Exotic;
         break;
     case WeaponType.ThornBow:
         itemName = "Thorn Bow";
         itemDescription = "";
         weight = 2;
         value = 5000;
         damage = 6;
         criticalRolls = 2;
         range = 40;
         piercing = true;
         equipType = EquipType.Ranged;
         weaponCatergory = WeaponCatergory.Exotic;
         break;
     case WeaponType.HeavyCrankCrossbow:
         itemName = "Crank Crossbow (heavy)";
         itemDescription = "";
         weight = 12;
         value = 40000;
         damage = 10;
         criticalRange = 2;
         range = 120;
         piercing = true;
         equipType = EquipType.Ranged;
         weaponCatergory = WeaponCatergory.Exotic;
         break;
     case WeaponType.LightCrankCrossbow:
         itemName = "Crank Crossbow (light)";
         itemDescription = "";
         weight = 6;
         value = 25000;
         damage = 8;
         criticalRange = 2;
         range = 80;
         piercing = true;
         equipType = EquipType.Ranged;
         weaponCatergory = WeaponCatergory.Exotic;
         break;
     case WeaponType.DoubleCrossbow:
         itemName = "Double Crossbow";
         itemDescription = "";
         weight = 18;
         value = 30000;
         damage = 8;
         criticalRange = 2;
         range = 80;
         piercing = true;
         equipType = EquipType.Ranged;
         weaponCatergory = WeaponCatergory.Exotic;
         break;
     case WeaponType.HandCrossbow:
         itemName = "Hand Crossbow";
         itemDescription = "";
         weight = 2;
         value = 10000;
         damage = 4;
         criticalRange = 2;
         range = 30;
         piercing = true;
         equipType = EquipType.Ranged;
         weaponCatergory = WeaponCatergory.Exotic;
         break;
     case WeaponType.LaunchingCrossbow:
         itemName = "Launching Crossbow";
         itemDescription = "";
         weight = 8;
         value = 75;
         damageRolls = 0;
         criticalRange = 0;
         criticalRolls = 0;
         range = 30;
         equipType = EquipType.Ranged;
         weaponCatergory = WeaponCatergory.Exotic;
         break;
     case WeaponType.RepeatingHeavyCrossbow:
         itemName = "Repeating Heavy Crossbow";
         itemDescription = "";
         weight = 12;
         value = 40000;
         damage = 10;
         criticalRange = 2;
         range = 120;
         piercing = true;
         equipType = EquipType.Ranged;
         weaponCatergory = WeaponCatergory.Exotic;
         break;
     case WeaponType.RepeatingCrossbow:
         itemName = "Repeating Crossbow";
         itemDescription = "";
         weight = 6;
         value = 25000;
         damage = 8;
         criticalRange = 2;
         range = 80;
         piercing = true;
         equipType = EquipType.Ranged;
         weaponCatergory = WeaponCatergory.Exotic;
         break;
     case WeaponType.FlaskThrower:
         itemName = "Flask Thrower";
         itemDescription = "";
         weight = 4;
         value = 2500;
         damageRolls = 0;
         criticalRange = 0;
         criticalRolls = 0;
         range = 20;
         equipType = EquipType.Ranged;
         weaponCatergory = WeaponCatergory.Exotic;
         break;
     case WeaponType.GrapplingHook:
         itemName = "Grappling Hook";
         itemDescription = "";
         weight = 14;
         value = 600;
         damage = 6;
         range = 10;
         piercing = true;
         addSpecial(Specials.Grapple);
         equipType = EquipType.Ranged;
         weaponCatergory = WeaponCatergory.Exotic;
         break;
     case WeaponType.Lasso:
         itemName = "Lasso";
         itemDescription = "";
         weight = 5;
         value = 10;
         damageRolls = 0;
         criticalRange = 0;
         criticalRolls = 0;
         equipType = EquipType.Ranged;
         weaponCatergory = WeaponCatergory.Exotic;
         break;
     case WeaponType.Net:
         itemName = "Net";
         itemDescription = "";
         weight = 6;
         value = 2000;
         damageRolls = 0;
         criticalRange = 0;
         criticalRolls = 0;
         range = 10;
         equipType = EquipType.Ranged;
         weaponCatergory = WeaponCatergory.Exotic;
         break;
     case WeaponType.ThrowingShield:
         itemName = "Throwing Shield";
         itemDescription = "";
         weight = 0;
         value = 5000;
         damage = 6;
         range = 20;
         bludgeoning = true;
         addSpecial(Specials.Performance);
         addSpecial(Specials.Trip);
         equipType = EquipType.Ranged;
         weaponCatergory = WeaponCatergory.Exotic;
         break;
     case WeaponType.ShrillshaftJavelin:
         itemName = "Shrillshaft Javelin";
         itemDescription = "";
         weight = 3;
         value = 3500;
         damage = 6;
         range = 30;
         piercing = true;
         equipType = EquipType.Ranged;
         weaponCatergory = WeaponCatergory.Exotic;
         break;
     case WeaponType.Shuriken:
         itemName = "Shuriken";
         itemDescription = "";
         weight = 0.1f;
         value = 20;
         damage = 2;
         range = 10;
         piercing = true;
         addSpecial(Specials.Monk);
         equipType = EquipType.Ranged;
         weaponCatergory = WeaponCatergory.Exotic;
         break;
     case WeaponType.DoubleSling:
         itemName = "Double Sling";
         itemDescription = "";
         weight = 1;
         value = 1000;
         damage = 4;
         range = 50;
         bludgeoning = true;
         addSpecial(Specials.Double);
         equipType = EquipType.Ranged;
         weaponCatergory = WeaponCatergory.Exotic;
         break;
     case WeaponType.SlingGlove:
         itemName = "Sling Glove";
         itemDescription = "";
         weight = 2;
         value = 500;
         damage = 4;
         range = 50;
         bludgeoning = true;
         equipType = EquipType.Ranged;
         weaponCatergory = WeaponCatergory.Exotic;
         break;
     case WeaponType.HalflingSlingStaff:
         itemName = "Halfling Sling Staff";
         itemDescription = "";
         weight = 3;
         value = 2000;
         damage = 8;
         criticalRolls = 2;
         range = 80;
         bludgeoning = true;
         equipType = EquipType.Ranged;
         weaponCatergory = WeaponCatergory.Exotic;
         break;
     case WeaponType.StitchedSling:
         itemName = "Stitched Sling";
         itemDescription = "";
         weight = 1;
         value = 0;
         damage = 6;
         bludgeoning = true;
         addSpecial(Specials.Disarm);
         addSpecial(Specials.Trip);
         equipType = EquipType.Ranged;
         weaponCatergory = WeaponCatergory.Exotic;
         break;
     case WeaponType.HeavyCrossbowBolt:
         itemName = "Heavy Crossbow Bolt";
         itemDescription = "";
         weight = 0.1f;
         value = 10;
         damageRolls = 0;
         criticalRange = 0;
         criticalRolls = 0;
         equipType = EquipType.Ammunition;
         weaponCatergory = WeaponCatergory.Exotic;
         break;
     case WeaponType.LightCrossbowBolt:
         itemName = "Light Crossbow Bolt";
         itemDescription = "";
         weight = 0.1f;
         value = 10;
         damageRolls = 0;
         criticalRange = 0;
         criticalRolls = 0;
         equipType = EquipType.Ammunition;
         weaponCatergory = WeaponCatergory.Exotic;
         break;
     case WeaponType.HandCrossbowBolt:
         itemName = "Hand Crossbow Bolt";
         itemDescription = "";
         weight = 0.1f;
         value = 10;
         damageRolls = 0;
         criticalRange = 0;
         criticalRolls = 0;
         equipType = EquipType.Ammunition;
         weaponCatergory = WeaponCatergory.Exotic;
         break;
     case WeaponType.HeavyRepeatingCrossbowBolt:
         itemName = "Heavy Repeating Crossbow Bolt";
         itemDescription = "";
         weight = 0.2f;
         value = 20;
         damageRolls = 0;
         criticalRange = 0;
         criticalRolls = 0;
         equipType = EquipType.Ammunition;
         weaponCatergory = WeaponCatergory.Exotic;
         break;
     case WeaponType.LightRepeatingCrossbowBolt:
         itemName = "Light Repeating Crossbow Bolt";
         itemDescription = "";
         weight = 0.2f;
         value = 20;
         damageRolls = 0;
         criticalRange = 0;
         criticalRolls = 0;
         equipType = EquipType.Ammunition;
         weaponCatergory = WeaponCatergory.Exotic;
         break;
     case WeaponType.LittleStarstones:
         itemName = "Little Starstone";
         itemDescription = "";
         weight = 0.2f;
         value = 1;
         damage = 1;
         damageRolls = 0;
         criticalRange = 0;
         criticalRolls = 0;
         bludgeoning = true;
         addSpecial(Specials.Nonlethal);
         equipType = EquipType.Ammunition;
         weaponCatergory = WeaponCatergory.Exotic;
         break;
     case WeaponType.Sharpstones:
         itemName = "Sharpstone";
         itemDescription = "";
         weight = 0.5f;
         value = 10;
         damage = 4;
         damageRolls = 0;
         criticalRange = 0;
         criticalRolls = 0;
         slashing = true;
         piercing = true;
         equipType = EquipType.Ammunition;
         weaponCatergory = WeaponCatergory.Exotic;
         break;
     case WeaponType.Softstones:
         itemName = "Softstone";
         itemDescription = "";
         weight = 0.4f;
         value = 1;
         damageRolls = 0;
         criticalRange = 0;
         criticalRolls = 0;
         bludgeoning = true;
         addSpecial(Specials.Nonlethal);
         equipType = EquipType.Ammunition;
         weaponCatergory = WeaponCatergory.Exotic;
         break;
     case WeaponType.Spongestones:
         itemName = "Spongestone";
         itemDescription = "";
         weight = 0.2f;
         value = 10;
         damageRolls = 0;
         criticalRange = 0;
         criticalRolls = 0;
         piercing = true;
         equipType = EquipType.Ammunition;
         weaponCatergory = WeaponCatergory.Exotic;
         break;
     case WeaponType.Thorn:
         itemName = "Thorn";
         itemDescription = "";
         weight = 0.05f;
         value = 5;
         damageRolls = 0;
         criticalRange = 0;
         criticalRolls = 0;
         equipType = EquipType.Ammunition;
         weaponCatergory = WeaponCatergory.Exotic;
         break;
     default:
         break;
     }
 }