private bool CheckUserTouch(RoomUser UserTouch, ItemTemp Item)
 {
     if (UserTouch != null)
     {
         if (!this._room.RpRoom)
         {
             return(true);
         }
         else
         {
             if (UserTouch.VirtualId != Item.VirtualUserId)
             {
                 if (UserTouch.IsBot)
                 {
                     if (UserTouch.BotData.RoleBot != null && !UserTouch.BotData.RoleBot.Dead)
                     {
                         return(true);
                     }
                 }
                 else
                 {
                     RolePlayer Rp = UserTouch.Roleplayer;
                     if (Rp != null)
                     {
                         if ((Rp.PvpEnable || Rp.AggroTimer > 0) && !Rp.Dead && !Rp.SendPrison)
                         {
                             return(true);
                         }
                     }
                 }
             }
         }
     }
     return(false);
 }
 private void CheckUserHit(RoomUser UserTouch, ItemTemp Item)
 {
     if (UserTouch != null)
     {
         if (_room.RpRoom)
         {
             if (UserTouch.VirtualId != Item.VirtualUserId)
             {
                 if (UserTouch.IsBot)
                 {
                     if (UserTouch.BotData.RoleBot != null)
                     {
                         UserTouch.BotData.RoleBot.Hit(UserTouch, Item.Value, this._room, Item.VirtualUserId, Item.TeamId);
                     }
                 }
                 else
                 {
                     RolePlayer Rp = UserTouch.Roleplayer;
                     if (Rp != null)
                     {
                         if (Rp.PvpEnable || Rp.AggroTimer > 0)
                         {
                             Rp.Hit(UserTouch, Item.Value, this._room, true);
                         }
                     }
                 }
             }
         }
         else
         {
             _room.GetWiredHandler().TriggerCollision(UserTouch, null);
         }
     }
 }
        private void RemoveProjectile(ItemTemp Item)
        {
            if (!_projectile.Contains(Item))
            {
                return;
            }

            _projectile.Remove(Item);

            this._room.GetRoomItemHandler().RemoveTempItem(Item.Id);
        }
        public void RemoveTempItem(int pId)
        {
            ItemTemp Item = this.GetTempItem(pId);

            if (Item == null)
            {
                return;
            }

            this.GetRoom.SendPacket(new ObjectRemoveMessageComposer(Item.Id, 0));
            this._itemsTemp.TryRemove(pId, out Item);
        }
Beispiel #5
0
        public List <ItemTemp> GetListItemTemp(string user)
        {
            List <ItemTemp> listItem = new List <ItemTemp>();
            DataTable       data     = DataProvider.Instance.ExcuteQuery("select * from ItemInvoiceTemp" + user);

            foreach (DataRow item in data.Rows)
            {
                ItemTemp list = new ItemTemp(item);
                listItem.Add(list);
            }
            return(listItem);
        }
        public ItemTemp GetTempItem(int pId)
        {
            if (_itemsTemp != null && _itemsTemp.ContainsKey(pId))
            {
                ItemTemp Item = null;
                if (_itemsTemp.TryGetValue(pId, out Item))
                {
                    return(Item);
                }
            }

            return(null);
        }
        public ItemTemp AddTempItem(int vId, int spriteId, int x, int y, double z, string extraData, int value = 0, InteractionTypeTemp pInteraction = InteractionTypeTemp.NONE, MovementDirection movement = MovementDirection.none, int pDistance = 0, int pTeamId = 0)
        {
            int      id   = this._itemTempoId--;
            ItemTemp Item = new ItemTemp(id, vId, spriteId, x, y, z, extraData, movement, value, pInteraction, pDistance, pTeamId);

            if (!this._itemsTemp.ContainsKey(Item.Id))
            {
                this._itemsTemp.TryAdd(Item.Id, Item);
            }

            this.GetRoom.SendPacket(new ObjectAddComposer(Item));

            return(Item);
        }
Beispiel #8
0
        public void ExtractAllItemsToTemp(InventoryBase inventory, IInventorySlots inventorySlots)
        {
            for (var i = 0; i < inventorySlots.Capacity; i++)
            {
                if (inventorySlots.TryGetSlot(i, out var inventoryItem))
                {
                    var itemTemp = new ItemTemp();
                    itemTemp.propertySet.SetStats(inventoryItem.Stats);
                    itemTemp.amount         = inventory.Remove(null, inventoryItem.Item, inventoryItem.Stats, inventoryItem.Amount, i);
                    itemTemp.itemDefinition = inventoryItem.Item;

                    itemsToSort.Add(itemTemp);
                }
            }
        }
Beispiel #9
0
        public ObjectAddComposer(ItemTemp Item)
            : base(ServerPacketHeader.ObjectAddMessageComposer)
        {
            WriteInteger(Item.Id);
            WriteInteger(Item.SpriteId); //ScriptId
            WriteInteger(Item.X);
            WriteInteger(Item.Y);
            WriteInteger(2);
            WriteString(string.Format("{0:0.00}", TextHandling.GetString(Item.Z)));
            WriteString("");

            if (Item.InteractionType == InteractionTypeTemp.RPITEM)
            {
                WriteInteger(0);
                WriteInteger(1);

                WriteInteger(5);

                WriteString("state");
                WriteString("0");
                WriteString("imageUrl");
                WriteString("https://swf.wibbo.me/items/" + Item.ExtraData + ".png");
                WriteString("offsetX");
                WriteString("-20");
                WriteString("offsetY");
                WriteString("10");
                WriteString("offsetZ");
                WriteString("10002");
            }
            else
            {
                WriteInteger(1);
                WriteInteger(0);
                WriteString(Item.ExtraData); //ExtraData
            }


            WriteInteger(-1); // to-do: check
            WriteInteger(1);
            WriteInteger(Item.VirtualUserId);
            WriteString("");
        }
Beispiel #10
0
        private void WriteFloorItem(ItemTemp Item, int UserID)
        {
            WriteInteger(Item.Id);
            WriteInteger(Item.SpriteId);
            WriteInteger(Item.X);
            WriteInteger(Item.Y);
            WriteInteger(2);
            WriteString(String.Format("{0:0.00}", TextHandling.GetString(Item.Z)));
            WriteString(String.Empty);

            if (Item.InteractionType == InteractionTypeTemp.RPITEM)
            {
                WriteInteger(0);
                WriteInteger(1);

                WriteInteger(5);

                WriteString("state");
                WriteString("0");
                WriteString("imageUrl");
                WriteString("https://swf.wibbo.me/items/" + Item.ExtraData + ".png");
                WriteString("offsetX");
                WriteString("-20");
                WriteString("offsetY");
                WriteString("10");
                WriteString("offsetZ");
                WriteString("10002");
            }
            else
            {
                WriteInteger(1);
                WriteInteger(0);
                WriteString(Item.ExtraData);
            }

            WriteInteger(-1); // to-do: check
            WriteInteger(1);  //(Item.GetBaseItem().Modes > 1) ? 1 : 0
            WriteInteger(UserID);
        }
Beispiel #11
0
        public void ItemTemplate()
        {
            StreamReader reader = File.OpenText(@"itemkr.txt");
            string line;
            TextInfo textInfo = new CultureInfo("en-US", false).TextInfo;
            while (!reader.EndOfStream)
            {
                line = reader.ReadLine();
                var parse = line.Split(new char[]{' '}, StringSplitOptions.RemoveEmptyEntries);
                if (parse.Count() <= 1 || parse[1] == "bg")
                    continue;
                ItemTemp newt = new ItemTemp();
                int itr = 0;
                if (parse.Count() == 11)
                {
                    newt.Name = textInfo.ToTitleCase(parse[0].ToLower()) +" "+ textInfo.ToTitleCase(parse[1].ToLower());
                    itr += 2;
                }
                else
                {
                    newt.Name = textInfo.ToTitleCase(parse[itr++].ToLower());
                }
                newt.Type = textInfo.ToTitleCase(parse[itr++].ToLower());
                newt.StrReq = parse[itr++];
                newt.DexReq = parse[itr++];
                newt.Dura = parse[itr++];
                List<string> clas = new List<string>();
                if (parse[itr++] == "O")
                    clas.Add("Class.Beginner");
                if (parse[itr++] == "O")
                    clas.Add("Class.Knight");
                if (parse[itr++] == "O")
                    clas.Add("Class.Swordsman");
                if (parse[itr++] == "O")
                    clas.Add("Class.Wizard");
                if (parse[itr++] == "O")
                    clas.Add("Class.Shaman");
                foreach (var mem in clas)
                {
                    if (clas.Count == 1)
                    {
                        newt.ClassReq = mem;
                        break;
                    }
                    newt.ClassReq += mem+" | ";
                }
                if (clas.Count > 1)
                    newt.ClassReq = newt.ClassReq.Substring(0, (newt.ClassReq.Count()-3));
                if(clas.Count == 5)
                    newt.ClassReq = "0";
            tempitem.Add(newt);
            }
            reader.Close();
            StreamReader reader2 = File.OpenText(@"itemen.txt");
            while (!reader2.EndOfStream)
            {
                line = reader2.ReadLine();
                var parse = line.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
                ItemTemp item;
                int itre = 1;
                if (parse.Count() == 8)
                {
                    item = tempitem.Where(xe => xe.Name == (parse[1]+" "+parse[2])).FirstOrDefault();
                    itre += 2;
                }
                else
                {
                    item = tempitem.Where(xe => xe.Name == parse[itre]).FirstOrDefault();
                    itre++;
                }

                item.Level = parse[itre++];
                if (Convert.ToInt32(parse[0]) < 37)
                {
                    itre += 2;
                    item.AC = parse[itre++];
                    item.Dam = parse[itre];
                }
                else
                {
                    itre+=3;
                    item.AC = parse[itre];
                    item.Dam = "0";
                }
            }
            reader2.Close();
               /*         using (StreamWriter outp = File.AppendText(@"itemsBack.txt"))
            {
                foreach (var item in tempitem)
                {
                    outp.WriteLine(string.Format("{0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}", item.Name, item.Type, item.StrReq, item.DexReq, item.Dura, item.AC, item.Dam, item.ClassReq));
                }
            }*/
            string path = "hi";
            foreach (var item in tempitem)
            {
                int bas = 10;
                if (item.Type.ToLower() == "sword")
                {
                    path = @"item\sword\" + Regex.Replace(item.Name, @"\s+", "") + ".cs";
                    bas = 10;
                }
                if (item.Type.ToLower() == "axe")
                {
                    bas = 14;
                    path = @"item\axe\" + Regex.Replace(item.Name, @"\s+", "") + ".cs";
                }
                if (item.Type.ToLower() == "hammer")
                {
                    bas = 35;
                    path = @"item\hammer\" + Regex.Replace(item.Name, @"\s+", "") + ".cs";
                }
                if (item.Type.ToLower() == "helmet")
                {
                    bas = 4;
                    path = @"item\helmet\" + Regex.Replace(item.Name, @"\s+", "") + ".cs";
                }
                if (item.Type.ToLower() == "shield")
                {
                    bas = 17;
                    path = @"item\shield\" + Regex.Replace(item.Name, @"\s+", "") + ".cs";
                }
                if (item.Type.ToLower() == "armor")
                {
                    bas = 5;
                    path = @"item\armor\" + Regex.Replace(item.Name, @"\s+", "") + ".cs";
                }

                using (StreamWriter outp = File.AppendText(path))
                {
                    outp.WriteLine("using LKCamelot.library;");
                    outp.WriteLine("using LKCamelot.model;");
                    outp.WriteLine("");
                    outp.WriteLine("namespace LKCamelot.script.item");
                    outp.WriteLine("{");
                    if (item.Type.ToLower() == "armor" || item.Type.ToLower() == "shield" || item.Type.ToLower() == "helmet")
                    {
                        outp.WriteLine("\tpublic class " + Regex.Replace(item.Name, @"\s+", "") + " : BaseArmor");
                    }
                    else
                    {
                        outp.WriteLine("\tpublic class " + Regex.Replace(item.Name, @"\s+", "") + " : BaseWeapon");
                    }
                    outp.WriteLine("\t{");
                    outp.WriteLine("\t\tpublic override string Name { get { return \""+item.Name+"\"; } }");
                    outp.WriteLine("");
                    outp.WriteLine("\t\tpublic override int DamBase { get { return "+item.Dam+"; } }");
                    outp.WriteLine("\t\tpublic override int ACBase { get { return " + item.AC + "; } }");
                    outp.WriteLine("");
                    outp.WriteLine("\t\tpublic override int StrReq { get { return "+item.StrReq+"; } }");
                    outp.WriteLine("\t\tpublic override int DexReq { get { return " + item.DexReq + "; } }");
                    outp.WriteLine("");
                    outp.WriteLine("\t\tpublic override int InitMinHits { get { return "+item.Dura+"; } }");
                    outp.WriteLine("\t\tpublic override int InitMaxHits { get { return " + item.Dura + "; } }");
                    outp.WriteLine("");
                    outp.WriteLine("\t\tpublic override Class ClassReq { get { return " + item.ClassReq + "; } }");
                    if (item.Type.ToLower() == "armor" || item.Type.ToLower() == "shield" || item.Type.ToLower() == "helmet")
                    {
                        outp.WriteLine("\t\tpublic override ArmorType ArmorType { get { return ArmorType." + item.Type + "; } }");
                    }
                    else
                    {
                        outp.WriteLine("\t\tpublic override WeaponType WeaponType { get { return WeaponType." + item.Type + "; } }");
                    }
                    outp.WriteLine("");
                    outp.WriteLine("\t\tpublic " + Regex.Replace(item.Name, @"\s+", "") + "() : base ("+bas+")");
                    outp.WriteLine("\t\t{");
                    outp.WriteLine("\t\t}");
                    outp.WriteLine("");
                    outp.WriteLine("\t\tpublic " + Regex.Replace(item.Name, @"\s+", "") + "(Serial serial) : base (serial)");
                    outp.WriteLine("\t\t{");
                    outp.WriteLine("\t\t}");
                    outp.WriteLine("\t}");
                    outp.WriteLine("}");
                }
            }
        }
        public void AddGrenade(int vId, int x, int y, double z, MovementDirection movement, int Dmg = 0, int pDistance = 10, int pTeamId = -1)
        {
            ItemTemp Item = this._room.GetRoomItemHandler().AddTempItem(vId, 48741061, x, y, z, "1", Dmg, InteractionTypeTemp.GRENADE, movement, 4, pTeamId);

            this._queueProjectile.Enqueue(Item);
        }
        public void AddProjectile(int vId, int x, int y, double z, MovementDirection movement, int Dmg = 0, int pDistance = 10, int pTeamId = -1)
        {
            ItemTemp Item = this._room.GetRoomItemHandler().AddTempItem(vId, 77151726, x, y, z, "1", Dmg, InteractionTypeTemp.PROJECTILE, movement, pDistance, pTeamId);

            this._queueProjectile.Enqueue(Item);
        }
        public void OnCycle()
        {
            if (_projectile.Count == 0 && _queueProjectile.Count == 0)
            {
                return;
            }

            foreach (ItemTemp Item in _projectile.ToArray())
            {
                if (Item == null)
                {
                    continue;
                }

                bool            EndProjectile = false;
                List <RoomUser> UsersTouch    = new List <RoomUser>();
                Point           newPoint      = new Point(Item.X, Item.Y);
                int             newX          = Item.X;
                int             newY          = Item.Y;
                double          newZ          = Item.Z;

                if (Item.InteractionType == InteractionTypeTemp.GRENADE)
                {
                    newPoint = MovementManagement.GetMoveCoord(Item.X, Item.Y, 1, Item.Movement);
                    newX     = newPoint.X;
                    newY     = newPoint.Y;

                    if (Item.Distance > 2)
                    {
                        newZ += 1;
                    }
                    else
                    {
                        newZ -= 1;
                    }

                    if (Item.Distance <= 0)
                    {
                        //explosion
                        UsersTouch = _room.GetGameMap().GetNearUsers(new Point(newPoint.X, newPoint.Y), 2);

                        EndProjectile = true;
                    }

                    Item.Distance--;
                }
                else
                {
                    for (int i = 1; i <= 3; i++)
                    {
                        newPoint = MovementManagement.GetMoveCoord(Item.X, Item.Y, i, Item.Movement);

                        UsersTouch = _room.GetGameMap().GetRoomUsers(newPoint);

                        foreach (RoomUser UserTouch in UsersTouch)
                        {
                            if (CheckUserTouch(UserTouch, Item))
                            {
                                EndProjectile = true;
                            }
                        }

                        if ((_room.GetGameMap().CanStackItem(newPoint.X, newPoint.Y, true) && (_room.GetGameMap().SqAbsoluteHeight(newPoint.X, newPoint.Y) <= Item.Z + 0.5)))
                        {
                            newX = newPoint.X;
                            newY = newPoint.Y;
                        }
                        else
                        {
                            EndProjectile = true;
                        }

                        if (EndProjectile)
                        {
                            break;
                        }

                        Item.Distance--;
                        if (Item.Distance <= 0)
                        {
                            EndProjectile = true;
                            break;
                        }
                    }
                }

                ServerPacket Message = new ServerPacket(ServerPacketHeader.SlideObjectBundleMessageComposer);
                Message.WriteInteger(Item.X);
                Message.WriteInteger(Item.Y);
                Message.WriteInteger(newX);
                Message.WriteInteger(newY);
                Message.WriteInteger(1);
                Message.WriteInteger(Item.Id);
                Message.WriteString(Item.Z.ToString().Replace(',', '.'));
                Message.WriteString(newZ.ToString().Replace(',', '.'));
                Message.WriteInteger(0);
                _messages.Add(Message);

                Item.X = newX;
                Item.Y = newY;
                Item.Z = newZ;

                if (EndProjectile)
                {
                    foreach (RoomUser UserTouch in UsersTouch)
                    {
                        this.CheckUserHit(UserTouch, Item);
                    }

                    RemoveProjectile(Item);
                }
            }

            Dictionary <int, int> BulletUser = new Dictionary <int, int>();

            if (this._queueProjectile.Count > 0)
            {
                List <ItemTemp> toAdd = new List <ItemTemp>();
                while (this._queueProjectile.Count > 0)
                {
                    ItemTemp Item = (ItemTemp)null;
                    if (this._queueProjectile.TryDequeue(out Item))
                    {
                        if (!BulletUser.ContainsKey(Item.VirtualUserId))
                        {
                            BulletUser.Add(Item.VirtualUserId, 1);
                            this._projectile.Add(Item);
                        }
                        else
                        {
                            BulletUser[Item.VirtualUserId]++;

                            //if (BulletUser[Item.VirtualUserId] > 3)
                            //this._room.GetRoomItemHandler().RemoveTempItem(Item.Id);
                            //else
                            toAdd.Add(Item);
                        }
                    }
                }
                foreach (ItemTemp Item in toAdd)
                {
                    this._queueProjectile.Enqueue(Item);
                }

                toAdd.Clear();
            }

            BulletUser.Clear();
            _room.SendMessage(_messages);
            _messages.Clear();
        }
Beispiel #15
0
        public void ItemTemplate()
        {
            StreamReader reader = File.OpenText(@"itemkr.txt");
            string       line;
            TextInfo     textInfo = new CultureInfo("en-US", false).TextInfo;

            while (!reader.EndOfStream)
            {
                line = reader.ReadLine();
                var parse = line.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
                if (parse.Count() <= 1 || parse[1] == "bg")
                {
                    continue;
                }
                ItemTemp newt = new ItemTemp();
                int      itr  = 0;
                if (parse.Count() == 11)
                {
                    newt.Name = textInfo.ToTitleCase(parse[0].ToLower()) + " " + textInfo.ToTitleCase(parse[1].ToLower());
                    itr      += 2;
                }
                else
                {
                    newt.Name = textInfo.ToTitleCase(parse[itr++].ToLower());
                }
                newt.Type   = textInfo.ToTitleCase(parse[itr++].ToLower());
                newt.StrReq = parse[itr++];
                newt.DexReq = parse[itr++];
                newt.Dura   = parse[itr++];
                List <string> clas = new List <string>();
                if (parse[itr++] == "O")
                {
                    clas.Add("Class.Beginner");
                }
                if (parse[itr++] == "O")
                {
                    clas.Add("Class.Knight");
                }
                if (parse[itr++] == "O")
                {
                    clas.Add("Class.Swordsman");
                }
                if (parse[itr++] == "O")
                {
                    clas.Add("Class.Wizard");
                }
                if (parse[itr++] == "O")
                {
                    clas.Add("Class.Shaman");
                }
                foreach (var mem in clas)
                {
                    if (clas.Count == 1)
                    {
                        newt.ClassReq = mem;
                        break;
                    }
                    newt.ClassReq += mem + " | ";
                }
                if (clas.Count > 1)
                {
                    newt.ClassReq = newt.ClassReq.Substring(0, (newt.ClassReq.Count() - 3));
                }
                if (clas.Count == 5)
                {
                    newt.ClassReq = "0";
                }
                tempitem.Add(newt);
            }
            reader.Close();
            StreamReader reader2 = File.OpenText(@"itemen.txt");

            while (!reader2.EndOfStream)
            {
                line = reader2.ReadLine();
                var      parse = line.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
                ItemTemp item;
                int      itre = 1;
                if (parse.Count() == 8)
                {
                    item  = tempitem.Where(xe => xe.Name == (parse[1] + " " + parse[2])).FirstOrDefault();
                    itre += 2;
                }
                else
                {
                    item = tempitem.Where(xe => xe.Name == parse[itre]).FirstOrDefault();
                    itre++;
                }

                item.Level = parse[itre++];
                if (Convert.ToInt32(parse[0]) < 37)
                {
                    itre    += 2;
                    item.AC  = parse[itre++];
                    item.Dam = parse[itre];
                }
                else
                {
                    itre    += 3;
                    item.AC  = parse[itre];
                    item.Dam = "0";
                }
            }
            reader2.Close();

            /*         using (StreamWriter outp = File.AppendText(@"itemsBack.txt"))
             *       {
             *           foreach (var item in tempitem)
             *           {
             *               outp.WriteLine(string.Format("{0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}", item.Name, item.Type, item.StrReq, item.DexReq, item.Dura, item.AC, item.Dam, item.ClassReq));
             *           }
             *       }*/
            string path = "hi";

            foreach (var item in tempitem)
            {
                int bas = 10;
                if (item.Type.ToLower() == "sword")
                {
                    path = @"item\sword\" + Regex.Replace(item.Name, @"\s+", "") + ".cs";
                    bas  = 10;
                }
                if (item.Type.ToLower() == "axe")
                {
                    bas  = 14;
                    path = @"item\axe\" + Regex.Replace(item.Name, @"\s+", "") + ".cs";
                }
                if (item.Type.ToLower() == "hammer")
                {
                    bas  = 35;
                    path = @"item\hammer\" + Regex.Replace(item.Name, @"\s+", "") + ".cs";
                }
                if (item.Type.ToLower() == "helmet")
                {
                    bas  = 4;
                    path = @"item\helmet\" + Regex.Replace(item.Name, @"\s+", "") + ".cs";
                }
                if (item.Type.ToLower() == "shield")
                {
                    bas  = 17;
                    path = @"item\shield\" + Regex.Replace(item.Name, @"\s+", "") + ".cs";
                }
                if (item.Type.ToLower() == "armor")
                {
                    bas  = 5;
                    path = @"item\armor\" + Regex.Replace(item.Name, @"\s+", "") + ".cs";
                }

                using (StreamWriter outp = File.AppendText(path))
                {
                    outp.WriteLine("using LKCamelot.library;");
                    outp.WriteLine("using LKCamelot.model;");
                    outp.WriteLine("");
                    outp.WriteLine("namespace LKCamelot.script.item");
                    outp.WriteLine("{");
                    if (item.Type.ToLower() == "armor" || item.Type.ToLower() == "shield" || item.Type.ToLower() == "helmet")
                    {
                        outp.WriteLine("\tpublic class " + Regex.Replace(item.Name, @"\s+", "") + " : BaseArmor");
                    }
                    else
                    {
                        outp.WriteLine("\tpublic class " + Regex.Replace(item.Name, @"\s+", "") + " : BaseWeapon");
                    }
                    outp.WriteLine("\t{");
                    outp.WriteLine("\t\tpublic override string Name { get { return \"" + item.Name + "\"; } }");
                    outp.WriteLine("");
                    outp.WriteLine("\t\tpublic override int DamBase { get { return " + item.Dam + "; } }");
                    outp.WriteLine("\t\tpublic override int ACBase { get { return " + item.AC + "; } }");
                    outp.WriteLine("");
                    outp.WriteLine("\t\tpublic override int StrReq { get { return " + item.StrReq + "; } }");
                    outp.WriteLine("\t\tpublic override int DexReq { get { return " + item.DexReq + "; } }");
                    outp.WriteLine("");
                    outp.WriteLine("\t\tpublic override int InitMinHits { get { return " + item.Dura + "; } }");
                    outp.WriteLine("\t\tpublic override int InitMaxHits { get { return " + item.Dura + "; } }");
                    outp.WriteLine("");
                    outp.WriteLine("\t\tpublic override Class ClassReq { get { return " + item.ClassReq + "; } }");
                    if (item.Type.ToLower() == "armor" || item.Type.ToLower() == "shield" || item.Type.ToLower() == "helmet")
                    {
                        outp.WriteLine("\t\tpublic override ArmorType ArmorType { get { return ArmorType." + item.Type + "; } }");
                    }
                    else
                    {
                        outp.WriteLine("\t\tpublic override WeaponType WeaponType { get { return WeaponType." + item.Type + "; } }");
                    }
                    outp.WriteLine("");
                    outp.WriteLine("\t\tpublic " + Regex.Replace(item.Name, @"\s+", "") + "() : base (" + bas + ")");
                    outp.WriteLine("\t\t{");
                    outp.WriteLine("\t\t}");
                    outp.WriteLine("");
                    outp.WriteLine("\t\tpublic " + Regex.Replace(item.Name, @"\s+", "") + "(Serial serial) : base (serial)");
                    outp.WriteLine("\t\t{");
                    outp.WriteLine("\t\t}");
                    outp.WriteLine("\t}");
                    outp.WriteLine("}");
                }
            }
        }