// Generate Player Taxi Zones

        // Generate Inventory for Creation Char
        internal void GenerateInventory(Characters character)
        {
            var             stack      = 1;
            uint            countBag   = 0;
            CharStartOutfit startItems = MainForm.CharacterOutfitReader.Get(character.classe, character.race, character.gender);

            if (startItems == null)
            {
                return;
            }

            for (int j = 0; j < startItems.Items.Length; ++j)
            {
                if (startItems.Items[j] <= 0)
                {
                    continue;
                }

                var item = XmlReader.GetItem(startItems.Items[j]);

                if (item == null)
                {
                    continue;
                }

                if (item.@class == 0)
                {
                    stack = 5;
                }

                if (item.id == 6948)
                {
                    stack = 1;
                }

                using (var scope = new DataAccessScope())
                {
                    var inventory = Model.CharactersInventorys.Create();
                    inventory.item  = (ulong)item.id;
                    inventory.bag   = character.Id;
                    inventory.slot  = PrefInvSlot(item) == 23 ? 23 + countBag : PrefInvSlot(item);
                    inventory.stack = (uint)stack;
                    //inventory.durability = item.
                    inventory.flags = 1;

                    inventory.character  = character;
                    inventory.created_at = DateTime.Now;

                    scope.Complete();
                }

                if (PrefInvSlot(item) == 23)
                {
                    countBag++;
                }
            }
        }
Exemple #2
0
 public static void LoadCharStartOutfit()
 {
     try
     {
         DbcStores.InitFiles();
         CharStartOutfit.LoadData();
         ChrRaces.LoadData();
         ChrClasses.LoadData();
     }
     catch (System.Exception ex)
     {
         MessageBox.Show(ex.Message);
     }
 }
Exemple #3
0
        private unsafe string GetStartingEquipment(byte Race, byte Class, byte Gender)
        {
            CharStartOutfit entry  = Core.DBC.GetDBC <CharStartOutfit>().SingleOrDefault(item => (byte)item.Class == Class && (byte)item.Race == Race && (byte)item.Gender == Gender);
            var             result = "";

            for (int i = 0; i < 12; i++)
            {
                result += entry.ItemId[i];
                if (i != 11)
                {
                    result += ",";
                }
            }
            return(result);
        }
        private void LoadAvailableItmes()
        {
            StreamReader streamReader = EquipmentManager.smethod_7(EquipmentManager.smethod_6(EquipmentManager.smethod_5(), Module.smethod_33 <string>(2775282556u)));

            try
            {
                while (true)
                {
IL_224:
                    uint arg_1D7_0 = (!EquipmentManager.smethod_10(streamReader)) ? 3461010831u : 3426587474u;
                    while (true)
                    {
                        uint num;
                        switch ((num = (arg_1D7_0 ^ 2626580690u)) % 12u)
                        {
                        case 0u:
                        {
                            CharStartOutfit charStartOutfit;
                            charStartOutfit.ClassId  = byte.Parse(this.line[27]);
                            charStartOutfit.SexId    = byte.Parse(this.line[28]);
                            charStartOutfit.OutfitId = byte.Parse(this.line[29]);
                            arg_1D7_0 = (num * 2077656181u ^ 2075374387u);
                            continue;
                        }

                        case 1u:
                        {
                            int num2 = 1;
                            arg_1D7_0 = (num * 4094123927u ^ 4252297251u);
                            continue;
                        }

                        case 2u:
                        {
                            CharStartOutfit charStartOutfit;
                            int             num2;
                            arg_1D7_0 = ((num2 > charStartOutfit.ItemId.Length) ? 2555147717u : 2500467789u);
                            continue;
                        }

                        case 3u:
                        {
                            CharStartOutfit charStartOutfit;
                            int             num2;
                            charStartOutfit.ItemId[num2 - 1] = uint.Parse(this.line[num2]);
                            arg_1D7_0 = 3707076784u;
                            continue;
                        }

                        case 4u:
                            goto IL_224;

                        case 5u:
                        {
                            this.line = EquipmentManager.smethod_9(EquipmentManager.smethod_8(streamReader), new char[]
                                {
                                    ';'
                                });
                            CharStartOutfit charStartOutfit = new CharStartOutfit();
                            charStartOutfit.Id = uint.Parse(this.line[0]);
                            arg_1D7_0          = 2242302911u;
                            continue;
                        }

                        case 6u:
                        {
                            int num2;
                            num2++;
                            arg_1D7_0 = (num * 2585752736u ^ 1017943336u);
                            continue;
                        }

                        case 7u:
                        {
                            CharStartOutfit charStartOutfit;
                            charStartOutfit.PetDisplayId = uint.Parse(this.line[25]);
                            charStartOutfit.RaceId       = byte.Parse(this.line[26]);
                            arg_1D7_0 = (num * 362195882u ^ 714632876u);
                            continue;
                        }

                        case 9u:
                        {
                            CharStartOutfit charStartOutfit;
                            charStartOutfit.PetFamilyId = byte.Parse(this.line[30]);
                            arg_1D7_0 = (num * 599166167u ^ 762590322u);
                            continue;
                        }

                        case 10u:
                            arg_1D7_0 = 3461010831u;
                            continue;

                        case 11u:
                        {
                            CharStartOutfit charStartOutfit;
                            this.CharStartOutfits.Add(charStartOutfit);
                            arg_1D7_0 = (num * 3430256344u ^ 2239010134u);
                            continue;
                        }
                        }
                        goto Block_9;
                    }
                }
                Block_9 :;
            }
            finally
            {
                if (streamReader != null)
                {
                    while (true)
                    {
                        IL_26A :
                        uint arg_251_0 = 4257077129u;
                        while (true)
                        {
                            uint num;
                            switch ((num = (arg_251_0 ^ 2626580690u)) % 3u)
                            {
                            case 0u:
                                goto IL_26A;

                            case 1u:
                                EquipmentManager.smethod_11(streamReader);
                                arg_251_0 = (num * 835379987u ^ 2486029765u);
                                continue;
                            }
                            goto Block_13;
                        }
                    }
                    Block_13 :;
                }
            }
            StreamReader streamReader2 = EquipmentManager.smethod_7(EquipmentManager.smethod_6(EquipmentManager.smethod_5(), Module.smethod_33 <string>(2116823149u)));

            try
            {
                while (true)
                {
IL_359:
                    int arg_32D_0 = (!EquipmentManager.smethod_10(streamReader2)) ? -1013399805 : -1101339282;
                    while (true)
                    {
                        switch ((arg_32D_0 ^ -1668386606) % 4)
                        {
                        case 1:
                        {
                            this.line = EquipmentManager.smethod_9(EquipmentManager.smethod_8(streamReader2), new char[]
                                {
                                    ';'
                                });
                            string s  = EquipmentManager.smethod_12(this.line[1], Module.smethod_37 <string>(3974021651u), "");
                            string s2 = EquipmentManager.smethod_12(this.line[0], Module.smethod_33 <string>(3031927268u), "");
                            this.AvailableDisplayIds.TryAdd(int.Parse(s2), int.Parse(s));
                            arg_32D_0 = -2100030119;
                            continue;
                        }

                        case 2:
                            arg_32D_0 = -1013399805;
                            continue;

                        case 3:
                            goto IL_359;
                        }
                        goto Block_15;
                    }
                }
                Block_15 :;
            }
            finally
            {
                if (streamReader2 != null)
                {
                    while (true)
                    {
                        IL_39F :
                        uint arg_386_0 = 3923196079u;
                        while (true)
                        {
                            uint num;
                            switch ((num = (arg_386_0 ^ 2626580690u)) % 3u)
                            {
                            case 0u:
                                goto IL_39F;

                            case 1u:
                                EquipmentManager.smethod_11(streamReader2);
                                arg_386_0 = (num * 4013498643u ^ 3261947067u);
                                continue;
                            }
                            goto Block_19;
                        }
                    }
                    Block_19 :;
                }
            }
            StreamReader streamReader3 = EquipmentManager.smethod_7(EquipmentManager.smethod_6(EquipmentManager.smethod_5(), Module.smethod_36 <string>(359555861u)));

            try
            {
                while (true)
                {
IL_6E0:
                    uint arg_67B_0 = (!EquipmentManager.smethod_10(streamReader3)) ? 4276022470u : 2181295176u;
                    while (true)
                    {
                        uint   num;
                        string key;
                        switch ((num = (arg_67B_0 ^ 2626580690u)) % 18u)
                        {
                        case 0u:
                            goto IL_6E0;

                        case 1u:
                            goto IL_541;

                        case 2u:
                        {
                            string s3;
                            this.AvailableDisplayIds2.TryAdd(int.Parse(s3), new Dictionary <string, Tuple <int, int> >());
                            arg_67B_0 = (num * 223768797u ^ 1426707423u);
                            continue;
                        }

                        case 3u:
                            goto IL_52B;

                        case 5u:
                            arg_67B_0 = (num * 1466427458u ^ 97242185u);
                            continue;

                        case 6u:
                        {
                            this.line = EquipmentManager.smethod_9(EquipmentManager.smethod_8(streamReader3), new char[]
                                {
                                    ';'
                                });
                            string s3 = EquipmentManager.smethod_12(this.line[1], Module.smethod_34 <string>(1801001672u), "");
                            arg_67B_0 = 3157067419u;
                            continue;
                        }

                        case 7u:
                            goto IL_4FF;

                        case 8u:
                            arg_67B_0 = (num * 2221118697u ^ 3909868360u);
                            continue;

                        case 9u:
                            goto IL_4D3;

                        case 10u:
                            goto IL_4E9;

                        case 11u:
                            arg_67B_0 = 4276022470u;
                            continue;

                        case 12u:
                        {
                            string s3;
                            int    item;
                            this.AvailableDisplayIds2[int.Parse(s3)].Add(key, Tuple.Create <int, int>(item, int.Parse(EquipmentManager.smethod_12(this.line[3], Module.smethod_35 <string>(764625391u), ""))));
                            arg_67B_0 = 2331671664u;
                            continue;
                        }

                        case 13u:
                        {
                            int num3 = int.Parse(EquipmentManager.smethod_12(this.line[3], Module.smethod_33 <string>(3031927268u), ""));
                            arg_67B_0 = (num * 284313300u ^ 514507668u);
                            continue;
                        }

                        case 14u:
                        {
                            int num3;
                            switch (num3)
                            {
                            case 0:
                                goto IL_4D3;

                            case 1:
                                goto IL_4E9;

                            case 2:
                                goto IL_4FF;

                            case 3:
                                goto IL_52B;

                            case 4:
                                goto IL_541;

                            default:
                                arg_67B_0 = (num * 2855740908u ^ 4218272821u);
                                continue;
                            }
                            break;
                        }

                        case 15u:
                            key       = Module.smethod_36 <string>(102126220u);
                            arg_67B_0 = 2880666535u;
                            continue;

                        case 16u:
                        {
                            int    item = this.AvailableDisplayIds[int.Parse(EquipmentManager.smethod_12(this.line[2], Module.smethod_35 <string>(764625391u), ""))];
                            string s3;
                            arg_67B_0 = ((this.AvailableDisplayIds2.ContainsKey(int.Parse(s3)) ? 3711815613u : 3173784448u) ^ num * 2379889547u);
                            continue;
                        }

                        case 17u:
                            arg_67B_0 = (((int.Parse(EquipmentManager.smethod_12(this.line[2], Module.smethod_34 <string>(1801001672u), "")) == 0) ? 869108670u : 1918094454u) ^ num * 1926906206u);
                            continue;
                        }
                        goto Block_24;
IL_4D3:
                        key       = Module.smethod_33 <string>(3446856637u);
                        arg_67B_0 = 2458526896u;
                        continue;
IL_4E9:
                        key       = Module.smethod_35 <string>(1436672640u);
                        arg_67B_0 = 2241113722u;
                        continue;
IL_4FF:
                        key       = EquipmentManager.smethod_12(this.line[3], Module.smethod_34 <string>(1801001672u), "");
                        arg_67B_0 = 2241113722u;
                        continue;
IL_52B:
                        key       = Module.smethod_37 <string>(3389766987u);
                        arg_67B_0 = 2241113722u;
                        continue;
IL_541:
                        key       = Module.smethod_36 <string>(1114921850u);
                        arg_67B_0 = 2241113722u;
                    }
                }
                Block_24 :;
            }
            finally
            {
                if (streamReader3 != null)
                {
                    while (true)
                    {
                        IL_729 :
                        uint arg_710_0 = 2388129943u;
                        while (true)
                        {
                            uint num;
                            switch ((num = (arg_710_0 ^ 2626580690u)) % 3u)
                            {
                            case 0u:
                                goto IL_729;

                            case 2u:
                                EquipmentManager.smethod_11(streamReader3);
                                arg_710_0 = (num * 573678255u ^ 992583810u);
                                continue;
                            }
                            goto Block_28;
                        }
                    }
                    Block_28 :;
                }
            }
            StreamReader streamReader4 = EquipmentManager.smethod_7(EquipmentManager.smethod_6(EquipmentManager.smethod_5(), Module.smethod_35 <string>(3912916760u)));

            try
            {
                while (true)
                {
IL_8D8:
                    uint arg_89C_0 = (!EquipmentManager.smethod_10(streamReader4)) ? 3398431451u : 3176612841u;
                    while (true)
                    {
                        uint num;
                        switch ((num = (arg_89C_0 ^ 2626580690u)) % 8u)
                        {
                        case 0u:
                            arg_89C_0 = 3398431451u;
                            continue;

                        case 1u:
                            this.line = EquipmentManager.smethod_9(EquipmentManager.smethod_8(streamReader4), new char[]
                            {
                                ';'
                            });
                            arg_89C_0 = 2481746045u;
                            continue;

                        case 2u:
                        {
                            int num4;
                            Dictionary <string, Tuple <int, int> > dictionary;
                            arg_89C_0 = ((this.AvailableDisplayIds2.TryGetValue(num4, out dictionary) ? 3095803325u : 2725875438u) ^ num * 4288170837u);
                            continue;
                        }

                        case 4u:
                            goto IL_8D8;

                        case 5u:
                        {
                            int    num4;
                            string s4;
                            this.AvailableItems.TryAdd(num4, new Item
                                {
                                    Id             = num4,
                                    DisplayInfoIds = this.AvailableDisplayIds2[num4],
                                    InventoryType  = byte.Parse(s4)
                                });
                            arg_89C_0 = (num * 402617654u ^ 3623275920u);
                            continue;
                        }

                        case 6u:
                        {
                            int    num4;
                            string s4;
                            this.AvailableItems.TryAdd(num4, new Item
                                {
                                    Id            = num4,
                                    InventoryType = byte.Parse(s4)
                                });
                            arg_89C_0 = 3483778670u;
                            continue;
                        }

                        case 7u:
                        {
                            string arg_7A4_0 = EquipmentManager.smethod_12(this.line[0], Module.smethod_36 <string>(1708679815u), "");
                            string s4        = EquipmentManager.smethod_12(this.line[2], Module.smethod_35 <string>(764625391u), "");
                            int    num4      = int.Parse(arg_7A4_0);
                            arg_89C_0 = (num * 1860668236u ^ 1191528156u);
                            continue;
                        }
                        }
                        goto Block_31;
                    }
                }
                Block_31 :;
            }
            finally
            {
                if (streamReader4 != null)
                {
                    while (true)
                    {
                        IL_921 :
                        uint arg_908_0 = 2965684795u;
                        while (true)
                        {
                            uint num;
                            switch ((num = (arg_908_0 ^ 2626580690u)) % 3u)
                            {
                            case 0u:
                                goto IL_921;

                            case 1u:
                                EquipmentManager.smethod_11(streamReader4);
                                arg_908_0 = (num * 2627898260u ^ 3996126377u);
                                continue;
                            }
                            goto Block_35;
                        }
                    }
                    Block_35 :;
                }
            }
            StreamReader streamReader5 = EquipmentManager.smethod_7(EquipmentManager.smethod_6(EquipmentManager.smethod_5(), Module.smethod_35 <string>(4192676738u)));

            try
            {
                while (true)
                {
IL_A4C:
                    uint arg_A14_0 = (!EquipmentManager.smethod_10(streamReader5)) ? 2962417221u : 4091737895u;
                    while (true)
                    {
                        uint num;
                        switch ((num = (arg_A14_0 ^ 2626580690u)) % 7u)
                        {
                        case 0u:
                            arg_A14_0 = 2962417221u;
                            continue;

                        case 1u:
                        {
                            string name = this.line[0];
                            arg_A14_0 = (num * 3704255759u ^ 3887901866u);
                            continue;
                        }

                        case 2u:
                            goto IL_A4C;

                        case 3u:
                        {
                            byte race = byte.Parse(this.line[1]);
                            byte sex  = byte.Parse(this.line[2]);
                            arg_A14_0 = (num * 469991047u ^ 3704787315u);
                            continue;
                        }

                        case 4u:
                            this.line = EquipmentManager.smethod_9(EquipmentManager.smethod_8(streamReader5), new char[]
                            {
                                ';'
                            });
                            arg_A14_0 = 4277341210u;
                            continue;

                        case 5u:
                        {
                            string name;
                            byte   race;
                            byte   sex;
                            this.Namegens.Add(new Namegen
                                {
                                    Name = name,
                                    Race = race,
                                    Sex  = sex
                                });
                            arg_A14_0 = (num * 905516309u ^ 3416554058u);
                            continue;
                        }
                        }
                        goto Block_37;
                    }
                }
                Block_37 :;
            }
            finally
            {
                if (streamReader5 != null)
                {
                    while (true)
                    {
                        IL_A95 :
                        uint arg_A7C_0 = 3292403005u;
                        while (true)
                        {
                            uint num;
                            switch ((num = (arg_A7C_0 ^ 2626580690u)) % 3u)
                            {
                            case 1u:
                                EquipmentManager.smethod_11(streamReader5);
                                arg_A7C_0 = (num * 830996846u ^ 714018961u);
                                continue;

                            case 2u:
                                goto IL_A95;
                            }
                            goto Block_41;
                        }
                    }
                    Block_41 :;
                }
            }
            Item arg_AAD_0 = this.AvailableItems[112454];

            while (true)
            {
IL_B05:
                uint arg_AEC_0 = 2636670562u;
                while (true)
                {
                    uint num;
                    switch ((num = (arg_AEC_0 ^ 2626580690u)) % 3u)
                    {
                    case 0u:
                        goto IL_B05;

                    case 2u:
                        Log.Message(LogType.Debug, Module.smethod_33 <string>(3912832510u), new object[]
                        {
                            this.AvailableItems.Count
                        });
                        arg_AEC_0 = (num * 513635594u ^ 549473989u);
                        continue;
                    }
                    return;
                }
            }
        }