示例#1
0
        static void OutputClassMaskData(uint compareMask)
        {
            uint count = 0;

            Console.WriteLine("====== SkillRaceClassInfo =======");
            foreach (var record in RaceClassDBC.GetAllRecords())
            {
                uint classMask = (uint)record["classMask"];
                if ((classMask & compareMask) != 0)
                {
                    Console.WriteLine($"Count found {++count} ------------------");
                    using (var enumer = record.GetEnumerator())
                    {
                        do
                        {
                            var entry = enumer.Current;
                            var key   = entry.Key;
                            var value = entry.Value;
                            Console.WriteLine($"[{key}]: {value}");
                        }while (enumer.MoveNext());
                    }
                }
            }
            Console.WriteLine("====== SkillLineAbility =======");
            foreach (var record in DBC.GetAllRecords())
            {
                uint classMask = (uint)record["ClassMask"];
                if ((classMask & compareMask) != 0)
                {
                    Console.WriteLine($"Count found {++count} ------------------");
                    using (var enumer = record.GetEnumerator())
                    {
                        do
                        {
                            var entry = enumer.Current;
                            var key   = entry.Key;
                            var value = entry.Value;
                            Console.WriteLine($"[{key}]: {value}");
                        }while (enumer.MoveNext());
                    }
                }
            }
            foreach (var record in DBC.GetAllRecords())
            {
                uint classMask = (uint)record["ClassMask"];
                if ((classMask & compareMask) != 0)
                {
                    uint   skillId    = (uint)record["Id"];
                    uint   spellEntry = (uint)record["SpellDbcRecord"];
                    var    allSpells  = SpellDBC.GetAllRecords().FirstOrDefault(r => ((uint)r["ID"]) == spellEntry);
                    string spellName  = allSpells != null?SpellDBC.LookupString(((uint[])allSpells["SpellName"])[0]) : "Spell Not Found";

                    Console.WriteLine($"SkillLineAbilityId: {skillId}, SpellId: {spellEntry}, Name: {spellName}");
                }
            }
        }