using System.Collections.Generic; using System.Linq; using System.Runtime.CompilerServices; using Dalamud.Plugin.Services; using Lumina.Excel.Sheets; namespace LLib.GameData; public static class EClassJobExtensions { public static bool IsClass(this EClassJob classJob) { int num = ((classJob < EClassJob.Gladiator) ? (-1021997813) : (-1021997816)); bool flag = default(bool); while (true) { int num2 = num; int num3 = -1021997812; int num4 = num2; int num5 = num4 + num3; int num6 = num4 & num3; switch (num5 - (num6 + num6)) { case 7: flag = false; num = -1021997809; break; case 4: num = ((classJob <= EClassJob.Thaumaturge) ? (-1021997810) : (-1021997819)); break; case 5: num = ((classJob != EClassJob.Rogue) ? (-1021997813) : (-1021997810)); break; case 8: return true; case 2: flag = true; num = -1021997809; break; case 3: num = (flag ? (-1021997820) : (-1021997812)); break; case 0: num = (classJob.IsCrafter() ? (-1021997820) : (-1021997811)); break; case 1: return classJob.IsGatherer(); case 6: num = -1021997816; break; case 9: num = ((classJob == EClassJob.Arcanist) ? (-1021997810) : (-1021997815)); break; } } } public static bool HasBaseClass(this EClassJob classJob) { return classJob.GetBaseClass().HasValue; } public static EClassJob? GetBaseClass(this EClassJob classJob) { int num; EClassJob? result = default(EClassJob?); switch (classJob) { default: num = 1515021; goto IL_0044; case EClassJob.Bard: result = EClassJob.Archer; num = 1515018; goto IL_0044; case EClassJob.Paladin: goto IL_00ac; case EClassJob.Dragoon: goto IL_00be; case EClassJob.BlackMage: goto IL_00d0; case EClassJob.Summoner: goto IL_00e2; case EClassJob.Arcanist: case EClassJob.Rogue: goto IL_00f5; case EClassJob.Scholar: goto IL_010a; case EClassJob.Ninja: goto IL_0128; case EClassJob.Monk: goto IL_013b; case EClassJob.Warrior: goto IL_0158; case EClassJob.WhiteMage: goto IL_016a; IL_0044: while (true) { int num2 = num; int num3 = 1515022; int num4 = num2; switch ((num4 | num3) - (num4 & num3)) { case 1: goto end_IL_0044; case 4: return result; case 7: goto IL_00ac; case 10: goto IL_00be; case 0: goto IL_00d0; case 11: goto IL_00e2; case 8: goto IL_00f5; case 2: goto IL_010a; case 3: num = 1515014; break; case 5: goto IL_0128; case 9: goto IL_013b; case 13: num = 1515021; break; case 12: goto IL_0158; case 6: goto IL_016a; } continue; end_IL_0044: break; } goto case EClassJob.Bard; IL_016a: result = EClassJob.Conjurer; num = 1515018; goto IL_0044; IL_0158: result = EClassJob.Marauder; num = 1515018; goto IL_0044; IL_013b: result = EClassJob.Pugilist; num = 1515018; goto IL_0044; IL_0128: result = EClassJob.Rogue; num = 1515018; goto IL_0044; IL_010a: result = EClassJob.Arcanist; num = 1515018; goto IL_0044; IL_00f5: result = null; num = 1515018; goto IL_0044; IL_00e2: result = EClassJob.Arcanist; num = 1515018; goto IL_0044; IL_00d0: result = EClassJob.Thaumaturge; num = 1515018; goto IL_0044; IL_00be: result = EClassJob.Lancer; num = 1515018; goto IL_0044; IL_00ac: result = EClassJob.Gladiator; num = 1515018; goto IL_0044; } } public static EClassJob AsJob(this EClassJob classJob) { int num; EClassJob result = default(EClassJob); switch (classJob) { default: num = 2104859750; goto IL_002f; case EClassJob.Archer: result = EClassJob.Bard; num = 2104859754; goto IL_002f; case EClassJob.Marauder: goto IL_0094; case EClassJob.Lancer: goto IL_00a2; case EClassJob.Conjurer: goto IL_00d4; case EClassJob.Pugilist: goto IL_00e2; case EClassJob.Gladiator: goto IL_00f0; case EClassJob.Thaumaturge: goto IL_0155; IL_002f: while (true) { int num2 = num; int num3 = 2104859745; int num4 = num2; switch ((num4 | num3) - (num4 & num3)) { case 11: return result; case 4: goto end_IL_002f; case 14: goto IL_0094; case 9: goto IL_00a2; case 10: num = 2104859757; break; case 1: result = EClassJob.Ninja; num = 2104859754; break; case 13: num = 2104859750; break; case 5: goto IL_00d4; case 0: goto IL_00e2; case 3: goto IL_00f0; case 7: goto IL_00fe; case 6: goto IL_011c; case 2: result = EClassJob.Summoner; num = 2104859754; break; case 12: result = classJob; num = 2104859754; break; case 8: goto IL_0155; } continue; IL_011c: num = ((classJob == EClassJob.Rogue) ? 2104859744 : 2104859755); continue; IL_00fe: num = ((classJob == EClassJob.Arcanist) ? 2104859747 : 2104859751); continue; end_IL_002f: break; } goto case EClassJob.Archer; IL_0155: result = EClassJob.BlackMage; num = 2104859754; goto IL_002f; IL_00f0: result = EClassJob.Paladin; num = 2104859754; goto IL_002f; IL_00e2: result = EClassJob.Monk; num = 2104859754; goto IL_002f; IL_00d4: result = EClassJob.WhiteMage; num = 2104859754; goto IL_002f; IL_00a2: result = EClassJob.Dragoon; num = 2104859754; goto IL_002f; IL_0094: result = EClassJob.Warrior; num = 2104859754; goto IL_002f; } } public static bool IsTank(this EClassJob classJob) { int num = ((classJob > EClassJob.Paladin) ? 2088962462 : 2088962449); bool result = default(bool); while (true) { int num2 = num; int num3 = 2088962455; int num4 = num2; int num5 = num4 + num3; int num6 = num4 & num3; switch (num5 - (num6 + num6)) { case 7: num = 2088962449; break; case 6: num = ((classJob == EClassJob.Gladiator) ? 2088962452 : 2088962461); break; case 9: num = ((classJob == EClassJob.Warrior) ? 2088962452 : 2088962451); break; case 2: result = false; num = 2088962463; break; case 5: num = 2088962453; break; case 3: result = true; num = 2088962463; break; case 4: num = ((classJob == EClassJob.DarkKnight) ? 2088962452 : 2088962455); break; case 10: num = ((classJob == EClassJob.Marauder) ? 2088962452 : 2088962454); break; case 8: return result; case 0: num = ((classJob != EClassJob.Gunbreaker) ? 2088962453 : 2088962452); break; case 1: num = ((classJob == EClassJob.Paladin) ? 2088962452 : 2088962450); break; } } } public static bool IsHealer(this EClassJob classJob) { int num = ((classJob > EClassJob.WhiteMage) ? (-693082528) : (-693082517)); bool result = default(bool); while (true) { int num2 = num; int num3 = -693082519; int num4 = num2; switch ((num4 | num3) - (num4 & num3)) { case 7: num = ((classJob == EClassJob.Astrologian) ? (-693082515) : (-693082520)); break; case 3: result = false; num = -693082519; break; case 8: num = ((classJob == EClassJob.WhiteMage) ? (-693082515) : (-693082513)); break; case 2: num = ((classJob == EClassJob.Conjurer) ? (-693082515) : (-693082527)); break; case 0: return result; case 1: num = ((classJob != EClassJob.Sage) ? (-693082518) : (-693082515)); break; case 5: num = -693082517; break; case 6: num = -693082518; break; case 4: result = true; num = -693082519; break; case 9: num = ((classJob == EClassJob.Scholar) ? (-693082515) : (-693082514)); break; } } } public static bool IsMelee(this EClassJob classJob) { int num = ((classJob > EClassJob.Monk) ? 1922031772 : 1922031771); bool result = default(bool); while (true) { int num2 = num; int num3 = 1922031765; int num4 = num2; switch ((num4 | num3) - (num4 & num3)) { case 3: num = ((classJob == EClassJob.Samurai) ? 1922031774 : 1922031769); break; case 11: result = true; num = 1922031767; break; case 4: num = ((classJob == EClassJob.Dragoon) ? 1922031774 : 1922031765); break; case 13: num = ((classJob == EClassJob.Monk) ? 1922031774 : 1922031762); break; case 7: num = 1922031775; break; case 9: num = ((classJob > EClassJob.Ninja) ? 1922031766 : 1922031761); break; case 6: num = 1922031771; break; case 5: num = 1922031775; break; case 1: num = ((classJob == EClassJob.Lancer) ? 1922031774 : 1922031768); break; case 8: num = 1922031775; break; case 12: switch (classJob) { case EClassJob.Reaper: case EClassJob.Viper: case EClassJob.Beastmaster: break; default: goto IL_015e; case EClassJob.Sage: case EClassJob.Pictomancer: goto IL_016b; } goto case 11; case 2: return result; case 10: goto IL_016b; case 0: num = ((classJob - 29 <= EClassJob.Gladiator) ? 1922031774 : 1922031773); break; case 14: { num = ((classJob == EClassJob.Pugilist) ? 1922031774 : 1922031764); break; } IL_016b: result = false; num = 1922031767; break; IL_015e: num = 1922031760; break; } } } public static bool IsPhysicalRanged(this EClassJob classJob) { int num = ((classJob > EClassJob.Bard) ? 361445859 : 361445862); bool result = default(bool); while (true) { int num2 = num; int num3 = 361445858; int num4 = num2; int num5 = num4 + num3; int num6 = num4 & num3; switch (num5 - (num6 + num6)) { case 3: num = 361445862; break; case 7: num = ((classJob != EClassJob.Dancer) ? 361445856 : 361445863); break; case 6: num = ((classJob == EClassJob.Bard) ? 361445863 : 361445858); break; case 2: result = false; num = 361445866; break; case 1: num = ((classJob == EClassJob.Machinist) ? 361445863 : 361445861); break; case 5: result = true; num = 361445866; break; case 0: num = 361445856; break; case 4: num = ((classJob == EClassJob.Archer) ? 361445863 : 361445860); break; case 8: return result; } } } public static bool IsCaster(this EClassJob classJob) { int num = ((classJob > EClassJob.Summoner) ? (-152910150) : (-152910151)); bool result = default(bool); while (true) { int num2 = num; int num3 = -152910147; int num4 = num2; int num5 = num4 + num3; int num6 = num4 & num3; switch (num5 - (num6 + num6)) { case 5: num = ((classJob - 25 <= EClassJob.Pugilist) ? (-152910149) : (-152910145)); break; case 7: num = ((classJob - 35 <= EClassJob.Gladiator) ? (-152910149) : (-152910148)); break; case 3: return result; case 6: result = true; num = -152910146; break; case 2: num = -152910155; break; case 8: result = false; num = -152910146; break; case 1: num = ((classJob != EClassJob.Pictomancer) ? (-152910155) : (-152910149)); break; case 4: num = ((classJob == EClassJob.Thaumaturge) ? (-152910149) : (-152910152)); break; case 0: num = -152910151; break; } } } public static bool IsDps(this EClassJob classJob) { int num = (classJob.IsMelee() ? 652988313 : 652988314); while (true) { int num2 = num; int num3 = 652988315; int num4 = num2; int num5 = num4 + num3; int num6 = num4 & num3; switch (num5 - (num6 + num6)) { case 2: return true; case 1: num = (classJob.IsPhysicalRanged() ? 652988313 : 652988315); break; case 3: num = 652988314; break; case 0: return classJob.IsCaster(); } } } public static bool DealsPhysicalDamage(this EClassJob classJob) { int num = (classJob.IsTank() ? (-1539913949) : (-1539913950)); while (true) { int num2 = num; int num3 = -1539913951; int num4 = num2; switch ((num4 | num3) - (num4 & num3)) { case 0: num = -1539913950; break; case 2: return true; case 1: return classJob.IsPhysicalRanged(); case 3: num = (classJob.IsMelee() ? (-1539913949) : (-1539913952)); break; } } } public static bool DealsMagicDamage(this EClassJob classJob) { int num = (classJob.IsHealer() ? (-686525847) : (-686525846)); while (true) { int num2 = num; int num3 = -686525845; int num4 = num2; switch ((num4 | num3) - (num4 & num3)) { case 2: return true; case 1: return classJob.IsCaster(); case 0: goto IL_004f; } continue; IL_004f: num = -686525846; } } public static bool IsCrafter(this EClassJob classJob) { int num = ((classJob < EClassJob.Carpenter) ? 1685178901 : 1685178902); while (true) { int num2 = num; int num3 = 1685178903; int num4 = num2; switch ((num4 | num3) - (num4 & num3)) { case 0: goto IL_0042; case 1: return classJob <= EClassJob.Culinarian; case 2: return false; } continue; IL_0042: num = 1685178902; } } public static bool IsGatherer(this EClassJob classJob) { int num = ((classJob < EClassJob.Miner) ? (-1618937167) : (-1618937166)); while (true) { int num2 = num; int num3 = -1618937168; int num4 = num2; switch ((num4 | num3) - (num4 & num3)) { case 0: goto IL_0043; case 1: return false; case 2: return classJob <= EClassJob.Fisher; } continue; IL_0043: num = -1618937166; } } public static bool IsLimitedJob(this EClassJob classJob) { int num = ((classJob == EClassJob.BlueMage) ? 421326945 : 421326949); bool result = default(bool); while (true) { int num2 = num; int num3 = 421326945; int num4 = num2; switch ((num4 | num3) - (num4 & num3)) { case 2: num = 421326949; break; case 1: return result; case 0: result = true; num = 421326944; break; case 4: num = ((classJob != EClassJob.Beastmaster) ? 421326946 : 421326945); break; case 3: result = false; num = 421326944; break; } } } [MethodImpl(MethodImplOptions.NoInlining)] public static string ToFriendlyString(this EClassJob classJob) { int num = ((classJob == EClassJob.WhiteMage) ? 1982513328 : 1982513340); string result = default(string); while (true) { int num2 = num; int num3 = 1982513334; int num4 = num2; switch ((num4 | num3) - (num4 & num3)) { default: continue; case 8: num = 1982513340; continue; case 0: result = global::_003CModule_003E._202E_202C_206D_206B_202B_202D_206D_202E_206F_202E_202A_206A_206A_202B_206A_202D_202C_206C_206B_202C_206E_202B_200E_206E_206A_206C_200D_200D_200F_200B_202C_200B_200E_206F_202C_200F_202D_202A_206E_202B_202E(1101047022); num = 1982513330; continue; case 6: result = global::_003CModule_003E._202E_202C_206D_206B_202B_202D_206D_202E_206F_202E_202A_206A_206A_202B_206A_202D_202C_206C_206B_202C_206E_202B_200E_206E_206A_206C_200D_200D_200F_200B_202C_200B_200E_206F_202C_200F_202D_202A_206E_202B_202E(-1414195190); num = 1982513330; continue; case 5: result = global::_003CModule_003E._206A_202C_200C_206F_202A_200C_200F_206F_202B_202B_200D_206F_206D_200E_206A_206B_202A_200F_200B_206C_202B_202A_202B_206C_200F_206C_202C_202C_200C_206C_206F_200C_200B_202D_200E_202A_202A_206B_206B_200F_202E(-1506629366); num = 1982513330; continue; case 2: num = 1982513329; continue; case 3: goto IL_00bb; case 10: num = ((classJob == EClassJob.BlackMage) ? 1982513331 : 1982513343); continue; case 4: return result; case 1: goto IL_00f1; case 9: switch (classJob) { case EClassJob.RedMage: break; case EClassJob.BlueMage: goto IL_00bb; case EClassJob.DarkKnight: goto IL_00f1; default: goto IL_0124; case EClassJob.Astrologian: case EClassJob.Samurai: goto end_IL_002d; } goto case 0; case 7: break; IL_0124: num = 1982513332; continue; IL_00f1: result = global::_003CModule_003E._206A_206D_202C_206E_206D_206E_202A_200F_200D_206A_200F_206C_202C_202D_206D_206A_200D_200F_206A_206C_202C_206D_206E_200F_200F_200C_206B_200B_206B_206E_202B_206B_200E_200E_200B_206F_200F_202E_200C_200C_202E(2050012990); num = 1982513330; continue; IL_00bb: result = global::_003CModule_003E._202E_202C_206D_206B_202B_202D_206D_202E_206F_202E_202A_206A_206A_202B_206A_202D_202C_206C_206B_202C_206E_202B_200E_206E_206A_206C_200D_200D_200F_200B_202C_200B_200E_206F_202C_200F_202D_202A_206E_202B_202E(656115751); num = 1982513330; continue; end_IL_002d: break; } result = classJob.ToString(); num = 1982513330; } } public static bool IsInCategory(this EClassJob classJob, ClassJobCategory category) { int num; bool result = default(bool); switch (classJob) { default: num = -1564064857; goto IL_00c1; case EClassJob.Dragoon: result = category.DRG; num = -1564064876; goto IL_00c1; case EClassJob.Samurai: goto IL_01af; case EClassJob.Miner: goto IL_01c2; case EClassJob.Beastmaster: goto IL_01d5; case EClassJob.Carpenter: goto IL_01e8; case EClassJob.Astrologian: goto IL_01fb; case EClassJob.Fisher: goto IL_020e; case EClassJob.Sage: goto IL_022c; case EClassJob.Goldsmith: goto IL_023f; case EClassJob.Thaumaturge: goto IL_0252; case EClassJob.WhiteMage: goto IL_0265; case EClassJob.Lancer: goto IL_0278; case EClassJob.Leatherworker: goto IL_028b; case EClassJob.Pictomancer: goto IL_029e; case EClassJob.Botanist: goto IL_02b1; case EClassJob.Pugilist: goto IL_02c4; case EClassJob.Reaper: goto IL_02d7; case EClassJob.Viper: goto IL_02ea; case EClassJob.Paladin: goto IL_02fd; case EClassJob.Weaver: goto IL_0310; case EClassJob.Rogue: goto IL_0323; case EClassJob.Gunbreaker: goto IL_0336; case EClassJob.Culinarian: goto IL_0354; case EClassJob.Arcanist: goto IL_0367; case EClassJob.Blacksmith: goto IL_037a; case EClassJob.Summoner: goto IL_038d; case EClassJob.Marauder: goto IL_03a0; case EClassJob.BlueMage: goto IL_03b3; case EClassJob.Adventurer: goto IL_03c6; case EClassJob.Ninja: goto IL_03d9; case EClassJob.Monk: goto IL_03ec; case EClassJob.Archer: goto IL_03ff; case EClassJob.Alchemist: goto IL_0412; case EClassJob.Bard: goto IL_0425; case EClassJob.BlackMage: goto IL_043a; case EClassJob.Scholar: goto IL_044d; case EClassJob.Conjurer: goto IL_0460; case EClassJob.Machinist: goto IL_0473; case EClassJob.Gladiator: goto IL_0486; case EClassJob.Warrior: goto IL_0499; case EClassJob.Armorer: goto IL_04ac; case EClassJob.DarkKnight: goto IL_04bf; case EClassJob.Dancer: goto IL_04d2; case EClassJob.RedMage: goto IL_04e5; IL_00c1: while (true) { int num2 = num; int num3 = -1564064836; int num4 = num2; int num5 = num4 + num3; int num6 = num4 & num3; switch (num5 - (num6 + num6)) { case 31: goto end_IL_00c1; case 5: goto IL_01af; case 4: goto IL_01c2; case 45: goto IL_01d5; case 14: goto IL_01e8; case 34: goto IL_01fb; case 18: goto IL_020e; case 9: num = -1564064857; break; case 6: goto IL_022c; case 41: goto IL_023f; case 11: goto IL_0252; case 21: goto IL_0265; case 12: goto IL_0278; case 39: goto IL_028b; case 16: goto IL_029e; case 25: goto IL_02b1; case 44: goto IL_02c4; case 1: goto IL_02d7; case 2: goto IL_02ea; case 47: goto IL_02fd; case 37: goto IL_0310; case 38: goto IL_0323; case 36: goto IL_0336; case 27: num = -1564064867; break; case 46: goto IL_0354; case 20: goto IL_0367; case 30: goto IL_037a; case 23: goto IL_038d; case 17: goto IL_03a0; case 29: goto IL_03b3; case 10: goto IL_03c6; case 3: goto IL_03d9; case 35: goto IL_03ec; case 26: goto IL_03ff; case 13: goto IL_0412; case 7: goto IL_0425; case 40: return result; case 15: goto IL_043a; case 0: goto IL_044d; case 43: goto IL_0460; case 42: goto IL_0473; case 8: goto IL_0486; case 28: goto IL_0499; case 22: goto IL_04ac; case 32: goto IL_04bf; case 19: goto IL_04d2; case 24: goto IL_04e5; case 33: result = false; num = -1564064876; break; } continue; end_IL_00c1: break; } goto case EClassJob.Dragoon; IL_04e5: result = category.RDM; num = -1564064876; goto IL_00c1; IL_04d2: result = category.DNC; num = -1564064876; goto IL_00c1; IL_04bf: result = category.DRK; num = -1564064876; goto IL_00c1; IL_04ac: result = category.ARM; num = -1564064876; goto IL_00c1; IL_0499: result = category.WAR; num = -1564064876; goto IL_00c1; IL_0486: result = category.GLA; num = -1564064876; goto IL_00c1; IL_0473: result = category.MCH; num = -1564064876; goto IL_00c1; IL_0460: result = category.CNJ; num = -1564064876; goto IL_00c1; IL_044d: result = category.SCH; num = -1564064876; goto IL_00c1; IL_043a: result = category.BLM; num = -1564064876; goto IL_00c1; IL_0425: result = category.BRD; num = -1564064876; goto IL_00c1; IL_0412: result = category.ALC; num = -1564064876; goto IL_00c1; IL_03ff: result = category.ARC; num = -1564064876; goto IL_00c1; IL_03ec: result = category.MNK; num = -1564064876; goto IL_00c1; IL_03d9: result = category.NIN; num = -1564064876; goto IL_00c1; IL_03c6: result = category.ADV; num = -1564064876; goto IL_00c1; IL_03b3: result = category.BLU; num = -1564064876; goto IL_00c1; IL_03a0: result = category.MRD; num = -1564064876; goto IL_00c1; IL_038d: result = category.SMN; num = -1564064876; goto IL_00c1; IL_037a: result = category.BSM; num = -1564064876; goto IL_00c1; IL_0367: result = category.ACN; num = -1564064876; goto IL_00c1; IL_0354: result = category.CUL; num = -1564064876; goto IL_00c1; IL_0336: result = category.GNB; num = -1564064876; goto IL_00c1; IL_0323: result = category.ROG; num = -1564064876; goto IL_00c1; IL_0310: result = category.WVR; num = -1564064876; goto IL_00c1; IL_02fd: result = category.PLD; num = -1564064876; goto IL_00c1; IL_02ea: result = category.VPR; num = -1564064876; goto IL_00c1; IL_02d7: result = category.RPR; num = -1564064876; goto IL_00c1; IL_02c4: result = category.PGL; num = -1564064876; goto IL_00c1; IL_02b1: result = category.BTN; num = -1564064876; goto IL_00c1; IL_029e: result = category.PCT; num = -1564064876; goto IL_00c1; IL_028b: result = category.LTW; num = -1564064876; goto IL_00c1; IL_0278: result = category.LNC; num = -1564064876; goto IL_00c1; IL_0265: result = category.WHM; num = -1564064876; goto IL_00c1; IL_0252: result = category.THM; num = -1564064876; goto IL_00c1; IL_023f: result = category.GSM; num = -1564064876; goto IL_00c1; IL_022c: result = category.SGE; num = -1564064876; goto IL_00c1; IL_020e: result = category.FSH; num = -1564064876; goto IL_00c1; IL_01fb: result = category.AST; num = -1564064876; goto IL_00c1; IL_01e8: result = category.CRP; num = -1564064876; goto IL_00c1; IL_01d5: result = category.Unknown0; num = -1564064876; goto IL_00c1; IL_01c2: result = category.MIN; num = -1564064876; goto IL_00c1; IL_01af: result = category.SAM; num = -1564064876; goto IL_00c1; } } public static int GetLevel(this EClassJob classJob, IDataManager dataManager) { ClassJob? rowOrDefault = dataManager.GetExcelSheet().GetRowOrDefault((uint)classJob); int num = ((!rowOrDefault.HasValue) ? (-2126726363) : (-2126726364)); while (true) { int num2 = num; int num3 = -2126726361; int num4 = num2; switch ((num4 | num3) - (num4 & num3)) { case 2: return 0; case 3: num = ((rowOrDefault.Value.ExpArrayIndex >= 0) ? (-2126726362) : (-2126726363)); break; case 1: return PlayerStateHelper.GetClassJobLevel(rowOrDefault.Value.ExpArrayIndex); case 0: num = -2126726364; break; } } } public static int GetExperience(this EClassJob classJob, IDataManager dataManager) { ClassJob? rowOrDefault = dataManager.GetExcelSheet().GetRowOrDefault((uint)classJob); int num = ((!rowOrDefault.HasValue) ? 638644957 : 638644959); while (true) { int num2 = num; int num3 = 638644958; int num4 = num2; int num5 = num4 + num3; int num6 = num4 & num3; switch (num5 - (num6 + num6)) { case 2: num = 638644959; break; case 0: return PlayerStateHelper.GetClassJobExperience(rowOrDefault.Value.ExpArrayIndex); case 3: return 0; case 1: num = ((rowOrDefault.Value.ExpArrayIndex >= 0) ? 638644958 : 638644957); break; } } } public static List GetActions(this EClassJob classJob, IDataManager dataManager) { return (from a in dataManager.GetExcelSheet().Where(delegate(Action a) { int num = ((a.ClassJob.RowId != (uint)classJob) ? 783603201 : 783603202); while (true) { int num2 = num; int num3 = 783603203; int num4 = num2; int num5 = num4 + num3; int num6 = num4 & num3; switch (num5 - (num6 + num6)) { case 2: return false; case 1: return a.ClassJobLevel > 0; case 0: goto IL_0064; } continue; IL_0064: num = 783603202; } }) orderby a.ClassJobLevel select a).ToList(); } }