diff --git a/Source/Contents/Jobs/JobNames.cpp b/Source/Contents/Jobs/JobNames.cpp index 79df8fe..e89fd49 100644 --- a/Source/Contents/Jobs/JobNames.cpp +++ b/Source/Contents/Jobs/JobNames.cpp @@ -1,313 +1,314 @@ #include "Contents/Jobs/JobNames.h" +#include "Contents/Jobs/JobId.h" // OFFSET: 0x00E2FE80 // FUNCTION: fn_24165 unsigned JobNames::BaseJob(unsigned job) { switch (job) { - case 13: - case 4199: - return 7; - case 21: - case 4203: - return 14; - case 4014: - case 4200: - return 4008; - case 4022: - case 4204: - return 4015; - case 4036: - case 4207: - return 4030; - case 4044: - case 4210: - return 4037; - case 4080: - case 4088: - case 4090: - case 4092: - case 4094: - case 4202: - return 4054; - case 4081: - case 4089: - case 4091: - case 4093: - case 4095: - return 4060; - case 4082: - case 4201: - return 4066; - case 4083: - return 4073; - case 4084: - case 4198: - return 4056; - case 4085: - return 4062; - case 4086: - case 4197: - return 4058; - case 4087: - return 4064; - case 4109: - case 4209: - return 4096; - case 4110: - case 4208: - return 4102; - case 4111: - case 4206: - return 4098; - case 4112: - case 4205: - return 4100; - case 4114: - return 25; - case 4115: - return 24; - case 4116: - return 1; - case 4117: - return 4049; - case 4118: - return 4011; - case 4119: - return 5; - case 4120: - return 4071; - case 4121: - return 4019; - case 4122: - return 3; - case 4123: - return 4047; - case 4124: - return 0; - case 4125: - return 15; - case 4126: - return 4; - case 4127: - return 4070; - case 4128: - return 23; - case 4129: - return 4057; - case 4130: - return 2; - case 4131: - return 16; - case 4132: - return 4067; - case 4133: - return 4055; - case 4134: - return 9; - case 4135: - return 4017; - case 4136: - return 4010; - case 4137: - return 18; - case 4138: - return 10; - case 4139: - return 4016; - case 4140: - return 4059; - case 4141: - return 6; - case 4142: - return 17; - case 4143: - return 4072; - case 4144: - return 4018; - case 4145: - return 12; - case 4146: - return 4013; - case 4147: - return 20; - case 4148: - return 4068; - case 4149: - return 19; - case 4150: - return 4012; - case 4151: - return 4069; - case 4152: - return 4021; - case 4153: - return 4020; - case 4154: - return 11; - case 4155: - return 4046; - case 4156: - return 8; - case 4157: - return 4009; - case 4158: - return 4023; - case 4159: - return 4024; - case 4160: - return 4025; - case 4161: - return 4026; - case 4162: - return 4027; - case 4163: - return 4028; - case 4164: - return 4034; - case 4165: - return 4035; - case 4166: - return 4038; - case 4167: - return 4039; - case 4168: - return 4040; - case 4169: - return 4041; - case 4170: - return 4042; - case 4171: - return 4043; - case 4172: - return 4045; - case 4173: - return 4097; - case 4174: - return 4099; - case 4175: - return 4101; - case 4176: - return 4103; - case 4177: - return 4104; - case 4178: - return 4105; - case 4179: - return 4106; - case 4180: - return 4107; - case 4181: - return 4029; - case 4182: - return 4108; - case 4183: - return 4001; - case 4184: - return 4002; - case 4185: - return 4003; - case 4186: - return 4004; - case 4187: - return 4005; - case 4188: - return 4006; - case 4189: - return 4007; - case 4192: - return 4190; - case 4193: - return 4191; - case 4194: - return 4031; - case 4195: - return 4032; - case 4196: - return 4033; - case 4213: - return 4211; - case 4214: - return 4212; - case 4216: - return 4215; - case 4219: - return 4218; - case 4221: - return 4220; - case 4230: - return 4222; - case 4231: - return 4223; - case 4232: - return 4224; - case 4233: - return 4225; - case 4234: - return 4226; - case 4235: - return 4227; - case 4236: - return 4228; - case 4237: - return 4229; - case 4245: - return 4239; - case 4246: - return 4240; - case 4247: - return 4241; - case 4248: - return 4242; - case 4265: - case 4280: - return 4252; - case 4266: - case 4279: - return 4253; - case 4267: - return 4254; - case 4268: - return 4255; - case 4269: - return 4256; - case 4270: - case 4278: - return 4257; - case 4271: - case 4281: - return 4258; - case 4272: - return 4259; - case 4273: - return 4260; - case 4274: - return 4261; - case 4275: - return 4262; - case 4276: - return 4263; - case 4277: - return 4264; - case 4309: - return 4302; - case 4310: - return 4303; - case 4311: - return 4304; - case 4312: - return 4305; - case 4313: - return 4306; - case 4314: - return 4307; - case 4315: - return 4308; - case 4358: - return 4351; - case 4359: - return 4353; - case 4360: - return 4355; + case JT_CHICKEN: + case JT_LION_KNIGHT: + return JT_KNIGHT; + case JT_CHICKEN2: + case JT_LION_CRUSADER: + return JT_CRUSADER; + case JT_CHICKEN_H: + case JT_LION_KNIGHT_H: + return JT_KNIGHT_H; + case JT_CHICKEN2_H: + case JT_LION_CRUSADER_H: + return JT_CRUSADER_H; + case JT_CHICKEN_B: + case JT_LION_KNIGHT_B: + return JT_KNIGHT_B; + case JT_CHICKEN2_B: + case JT_LION_CRUSADER_B: + return JT_CRUSADER_B; + case JT_RUNE_CHICKEN: + case JT_RUNE_CHICKEN2: + case JT_RUNE_CHICKEN3: + case JT_RUNE_CHICKEN4: + case JT_RUNE_CHICKEN5: + case JT_LION_RUNE_KNIGHT: + return JT_RUNE_KNIGHT; + case JT_RUNE_CHICKEN_H: + case JT_RUNE_CHICKEN2_H: + case JT_RUNE_CHICKEN3_H: + case JT_RUNE_CHICKEN4_H: + case JT_RUNE_CHICKEN5_H: + return JT_RUNE_KNIGHT_H; + case JT_ROYAL_CHICKEN: + case JT_LION_ROYAL_GUARD: + return JT_ROYAL_GUARD; + case JT_ROYAL_CHICKEN_H: + return JT_ROYAL_GUARD_H; + case JT_WOLF_RANGER: + case JT_OSTRICH_RANGER: + return JT_RANGER; + case JT_WOLF_RANGER_H: + return JT_RANGER_H; + case JT_MADOGEAR: + case JT_PIG_MECHANIC: + return JT_MECHANIC; + case JT_MADOGEAR_H: + return JT_MECHANIC_H; + case JT_RUNE_CHICKEN_B: + case JT_LION_RUNE_KNIGHT_B: + return JT_RUNE_KNIGHT_B; + case JT_ROYAL_CHICKEN_B: + case JT_LION_ROYAL_GUARD_B: + return JT_ROYAL_GUARD_B; + case JT_WOLF_RANGER_B: + case JT_OSTRICH_RANGER_B: + return JT_RANGER_B; + case JT_MADOGEAR_B: + case JT_PIG_MECHANIC_B: + return JT_MECHANIC_B; + case JT_FROG_NINJA: + return JT_NINJA; + case JT_PECO_GUNNER: + return JT_GUNSLINGER; + case JT_PECO_SWORD: + return JT_SWORDMAN; + case JT_FROG_LINKER: + return JT_LINKER; + case JT_PIG_WHITESMITH: + return JT_BLACKSMITH_H; + case JT_PIG_MERCHANT: + return JT_MERCHANT; + case JT_PIG_GENETIC: + return JT_GENETIC; + case JT_PIG_CREATOR: + return JT_ALCHEMIST_H; + case JT_OSTRICH_ARCHER: + return JT_ARCHER; + case JT_PORING_STAR: + return JT_STAR; + case JT_PORING_NOVICE: + return JT_NOVICE; + case JT_SHEEP_MONK: + return JT_MONK; + case JT_SHEEP_ACO: + return JT_ACOLYTE; + case JT_SHEEP_SURA: + return JT_SURA; + case JT_PORING_SNOVICE: + return JT_SUPERNOVICE; + case JT_SHEEP_ARCB: + return JT_ARCHBISHOP; + case JT_FOX_MAGICIAN: + return JT_MAGICIAN; + case JT_FOX_SAGE: + return JT_SAGE; + case JT_FOX_SORCERER: + return JT_SORCERER; + case JT_FOX_WARLOCK: + return JT_WARLOCK; + case JT_FOX_WIZ: + return JT_WIZARD; + case JT_FOX_PROF: + return JT_SAGE_H; + case JT_FOX_HWIZ: + return JT_WIZARD_H; + case JT_PIG_ALCHE: + return JT_ALCHEMIST; + case JT_PIG_BLACKSMITH: + return JT_BLACKSMITH; + case JT_SHEEP_CHAMP: + return JT_MONK_H; + case JT_DOG_G_CROSS: + return JT_GUILLOTINE_CROSS; + case JT_DOG_THIEF: + return JT_THIEF; + case JT_DOG_ROGUE: + return JT_ROGUE; + case JT_DOG_CHASER: + return JT_SHADOW_CHASER; + case JT_DOG_STALKER: + return JT_ROGUE_H; + case JT_DOG_ASSASSIN: + return JT_ASSASSIN; + case JT_DOG_ASSA_X: + return JT_ASSASSIN_H; + case JT_OSTRICH_DANCER: + return JT_DANCER; + case JT_OSTRICH_MINSTREL: + return JT_MINSTREL; + case JT_OSTRICH_BARD: + return JT_BARD; + case JT_OSTRICH_SNIPER: + return JT_HUNTER_H; + case JT_OSTRICH_WANDER: + return JT_WANDERER; + case JT_OSTRICH_ZIPSI: + return JT_DANCER_H; + case JT_OSTRICH_CROWN: + return JT_BARD_H; + case JT_OSTRICH_HUNTER: + return JT_HUNTER; + case JT_PORING_TAEKWON: + return JT_TAEKWON; + case JT_SHEEP_PRIEST: + return JT_PRIEST; + case JT_SHEEP_HPRIEST: + return JT_PRIEST_H; + case JT_PORING_NOVICE_B: + return JT_NOVICE_B; + case JT_PECO_SWORD_B: + return JT_SWORDMAN_B; + case JT_FOX_MAGICIAN_B: + return JT_MAGICIAN_B; + case JT_OSTRICH_ARCHER_B: + return JT_ARCHER_B; + case JT_SHEEP_ACO_B: + return JT_ACOLYTE_B; + case JT_PIG_MERCHANT_B: + return JT_MERCHANT_B; + case JT_OSTRICH_HUNTER_B: + return JT_HUNTER_B; + case JT_DOG_ASSASSIN_B: + return JT_ASSASSIN_B; + case JT_SHEEP_MONK_B: + return JT_MONK_B; + case JT_FOX_SAGE_B: + return JT_SAGE_B; + case JT_DOG_ROGUE_B: + return JT_ROGUE_B; + case JT_PIG_ALCHE_B: + return JT_ALCHEMIST_B; + case JT_OSTRICH_BARD_B: + return JT_BARD_B; + case JT_OSTRICH_DANCER_B: + return JT_DANCER_B; + case JT_PORING_SNOVICE_B: + return JT_SUPERNOVICE_B; + case JT_FOX_WARLOCK_B: + return JT_WARLOCK_B; + case JT_SHEEP_ARCB_B: + return JT_ARCHBISHOP_B; + case JT_DOG_G_CROSS_B: + return JT_GUILLOTINE_CROSS_B; + case JT_FOX_SORCERER_B: + return JT_SORCERER_B; + case JT_OSTRICH_MINSTREL_B: + return JT_MINSTREL_B; + case JT_OSTRICH_WANDER_B: + return JT_WANDERER_B; + case JT_SHEEP_SURA_B: + return JT_SURA_B; + case JT_PIG_GENETIC_B: + return JT_GENETIC_B; + case JT_DOG_THIEF_B: + return JT_THIEF_B; + case JT_DOG_CHASER_B: + return JT_SHADOW_CHASER_B; + case JT_PORING_NOVICE_H: + return JT_NOVICE_H; + case JT_PECO_SWORD_H: + return JT_SWORDMAN_H; + case JT_FOX_MAGICIAN_H: + return JT_MAGICIAN_H; + case JT_OSTRICH_ARCHER_H: + return JT_ARCHER_H; + case JT_SHEEP_ACO_H: + return JT_ACOLYTE_H; + case JT_PIG_MERCHANT_H: + return JT_MERCHANT_H; + case JT_DOG_THIEF_H: + return JT_THIEF_H; + case JT_PORING_SNOVICE2: + return JT_SUPERNOVICE2; + case JT_PORING_SNOVICE2_B: + return JT_SUPERNOVICE2_B; + case JT_SHEEP_PRIEST_B: + return JT_PRIEST_B; + case JT_FOX_WIZ_B: + return JT_WIZARD_B; + case JT_PIG_BLACKSMITH_B: + return JT_BLACKSMITH_B; + case JT_FROG_KAGEROU: + return JT_KAGEROU; + case JT_FROG_OBORO: + return JT_OBORO; + case JT_PECO_REBELLION: + return JT_REBELLION; + case JT_DO_CART_SUMMONER: + return JT_DO_SUMMONER; + case JT_DO_CART_SUMMONER_B: + return JT_DO_SUMMONER_B; + case JT_FROG_NINJA_B: + return JT_NINJA_B; + case JT_FROG_KAGEROU_B: + return JT_KAGEROU_B; + case JT_FROG_OBORO_B: + return JT_OBORO_B; + case JT_PORING_TAEKWON_B: + return JT_TAEKWON_B; + case JT_PORING_STAR_B: + return JT_STAR_B; + case JT_FROG_LINKER_B: + return JT_LINKER_B; + case JT_PECO_GUNNER_B: + return JT_GUNSLINGER_B; + case JT_PECO_REBELLION_B: + return JT_REBELLION_B; + case JT_HAETAE_STAR_EMPEROR: + return JT_STAR_EMPEROR; + case JT_HAETAE_SOUL_REAPER: + return JT_SOUL_REAPER; + case JT_HAETAE_STAR_EMPEROR_B: + return JT_STAR_EMPEROR_B; + case JT_HAETAE_SOUL_REAPER_B: + return JT_SOUL_REAPER_B; + case JT_DRAGON_KNIGHT_RIDING: + case JT_DRAGON_KNIGHT_CHICKEN: + return JT_DRAGON_KNIGHT; + case JT_MEISTER_RIDING: + case JT_MEISTER_MADOGEAR: + return JT_MEISTER; + case JT_SHADOW_CROSS_RIDING: + return JT_SHADOW_CROSS; + case JT_ARCH_MAGE_RIDING: + return JT_ARCH_MAGE; + case JT_CARDINAL_RIDING: + return JT_CARDINAL; + case JT_WINDHAWK_RIDING: + case JT_WOLF_WINDHAWK: + return JT_WINDHAWK; + case JT_IMPERIAL_GUARD_RIDING: + case JT_IMPERIAL_GUARD_CHICKEN: + return JT_IMPERIAL_GUARD; + case JT_BIOLO_RIDING: + return JT_BIOLO; + case JT_ABYSS_CHASER_RIDING: + return JT_ABYSS_CHASER; + case JT_ELEMENTAL_MASTER_RIDING: + return JT_ELEMENTAL_MASTER; + case JT_INQUISITOR_RIDING: + return JT_INQUISITOR; + case JT_TROUBADOUR_RIDING: + return JT_TROUBADOUR; + case JT_TROUVERE_RIDING: + return JT_TROUVERE; + case JT_SKY_EMPEROR_RIDING: + return JT_SKY_EMPEROR; + case JT_SOUL_ASCETIC_RIDING: + return JT_SOUL_ASCETIC; + case JT_SHINKIRO_RIDING: + return JT_SHINKIRO; + case JT_SHIRANUI_RIDING: + return JT_SHIRANUI; + case JT_NIGHT_WATCH_RIDING: + return JT_NIGHT_WATCH; + case JT_HYPER_NOVICE_RIDING: + return JT_HYPER_NOVICE; + case JT_SPIRIT_HANDLER_RIDING: + return JT_SPIRIT_HANDLER; + case JT_DRUID_RIDING: + return JT_DRUID; + case JT_KARNOS_RIDING: + return JT_KARNOS; + case JT_ALITEA_RIDING: + return JT_ALITEA; default: return job; } @@ -320,7 +321,7 @@ const char* JobNames::Lookup(unsigned job, int sex) { return ""; } - if (job - 4001u > 0x7CEu && job > 30u) { + if (job - JT_NOVICE_H > unsigned(JT_MER_BEGIN - 1 - JT_NOVICE_H) && job > unsigned(JT_SUMMER2)) { return this->names[job]; }