diff --git a/Source/Client/Session.cpp b/Source/Client/Session.cpp index ea772df4..3576a6d2 100644 --- a/Source/Client/Session.cpp +++ b/Source/Client/Session.cpp @@ -2503,3 +2503,179 @@ void CSession::ClearAchievements() { this->unknown_615C = 0; this->unknown_6178.clear(); } + +// OFFSET: 0x00DDC9D0 + +// OFFSET: 0x00DE3410 + +// OFFSET: 0x00DF8670 + +// OFFSET: 0x00DF8C40 +// FUNCTION: fn_23513 +void CSession::InitJobKeyNames() { + std::vector& names = reinterpret_cast&>(this->unknown_0FC4[0x14]); + names.resize(JT_2004_JOB_LAST, "NOVICE"); + names[JT_NOVICE] = "NOVICE"; + names[JT_SUPERNOVICE] = "SUPERNOVICE"; + names[JT_PORING_NOVICE] = "PORING_NOVICE"; + names[JT_PORING_SNOVICE] = "PORING_SNOVICE"; + names[JT_GUNSLINGER] = "GUNSLINGER"; + names[JT_REBELLION] = "REBELLION"; + names[JT_NINJA] = "NINJA"; + names[JT_KAGEROU] = "KAGEROU"; + names[JT_OBORO] = "OBORO"; + names[JT_TAEKWON] = "TAEKWON"; + names[JT_STAR] = "STAR"; + names[JT_STAR_EMPEROR] = "STAR_EMPEROR"; + names[JT_LINKER] = "LINKER"; + names[JT_SOUL_REAPER] = "SOUL_REAPER"; + names[JT_STAR2] = "STAR2"; + names[JT_STAR2_EMPEROR] = "STAR2_EMPEROR"; + names[JT_PECO_GUNNER] = "PECO_GUNNER"; + names[JT_PECO_REBELLION] = "PECO_REBELLION"; + names[JT_FROG_NINJA] = "FROG_NINJA"; + names[JT_FROG_KAGEROU] = "FROG_KAGEROU"; + names[JT_FROG_OBORO] = "FROG_OBORO"; + names[JT_PORING_TAEKWON] = "PORING_TAEKWON"; + names[JT_PORING_STAR] = "PORING_STAR"; + names[JT_HAETAE_STAR_EMPEROR] = "HAETAE_STAR_EMPEROR"; + names[JT_FROG_LINKER] = "FROG_LINKER"; + names[JT_HAETAE_SOUL_REAPER] = "HAETAE_SOUL_REAPER"; + names[JT_SWORDMAN] = "SWORDMAN"; + names[JT_KNIGHT] = "KNIGHT"; + names[JT_KNIGHT_H] = "KNIGHT_H"; + names[JT_RUNE_KNIGHT] = "RUNE_KNIGHT"; + names[JT_CRUSADER] = "CRUSADER"; + names[JT_CRUSADER_H] = "CRUSADER_H"; + names[JT_ROYAL_GUARD] = "ROYAL_GUARD"; + names[JT_CHICKEN] = "CHICKEN"; + names[JT_CHICKEN_H] = "CHICKEN_H"; + names[JT_RUNE_CHICKEN] = "RUNE_CHICKEN"; + names[JT_CHICKEN2] = "CHICKEN2"; + names[JT_CHICKEN2_H] = "CHICKEN2_H"; + names[JT_ROYAL_CHICKEN] = "ROYAL_CHICKEN"; + names[JT_PECO_SWORD] = "PECO_SWORD"; + names[JT_LION_KNIGHT] = "LION_KNIGHT"; + names[JT_LION_KNIGHT_H] = "LION_KNIGHT_H"; + names[JT_LION_RUNE_KNIGHT] = "LION_RUNE_KNIGHT"; + names[JT_LION_CRUSADER] = "LION_CRUSADER"; + names[JT_LION_CRUSADER_H] = "LION_CRUSADER_H"; + names[JT_LION_ROYAL_GUARD] = "LION_ROYAL_GUARD"; + names[JT_RUNE_CHICKEN2] = "RUNE_CHICKEN2"; + names[JT_RUNE_CHICKEN3] = "RUNE_CHICKEN3"; + names[JT_RUNE_CHICKEN4] = "RUNE_CHICKEN4"; + names[JT_RUNE_CHICKEN5] = "RUNE_CHICKEN5"; + names[JT_MAGICIAN] = "MAGICIAN"; + names[JT_WIZARD] = "WIZARD"; + names[JT_WIZARD_H] = "WIZARD_H"; + names[JT_WARLOCK] = "WARLOCK"; + names[JT_SAGE] = "SAGE"; + names[JT_SAGE_H] = "SAGE_H"; + names[JT_SORCERER] = "SORCERER"; + names[JT_FOX_MAGICIAN] = "FOX_MAGICIAN"; + names[JT_FOX_WIZ] = "FOX_WIZ"; + names[JT_FOX_HWIZ] = "FOX_HWIZ"; + names[JT_FOX_WARLOCK] = "FOX_WARLOCK"; + names[JT_FOX_SAGE] = "FOX_SAGE"; + names[JT_FOX_PROF] = "FOX_PROF"; + names[JT_FOX_SORCERER] = "FOX_SORCERER"; + names[JT_ACOLYTE] = "ACOLYTE"; + names[JT_PRIEST] = "PRIEST"; + names[JT_PRIEST_H] = "PRIEST_H"; + names[JT_ARCHBISHOP] = "ARCHBISHOP"; + names[JT_MONK] = "MONK"; + names[JT_MONK_H] = "MONK_H"; + names[JT_SURA] = "SURA"; + names[JT_SHEEP_ACO] = "SHEEP_ACO"; + names[JT_SHEEP_PRIEST] = "SHEEP_PRIEST"; + names[JT_SHEEP_HPRIEST] = "SHEEP_HPRIEST"; + names[JT_SHEEP_ARCB] = "SHEEP_ARCB"; + names[JT_SHEEP_MONK] = "SHEEP_MONK"; + names[JT_SHEEP_CHAMP] = "SHEEP_CHAMP"; + names[JT_SHEEP_SURA] = "SHEEP_SURA"; + names[JT_MERCHANT] = "MERCHANT"; + names[JT_BLACKSMITH] = "BLACKSMITH"; + names[JT_BLACKSMITH_H] = "BLACKSMITH_H"; + names[JT_MECHANIC] = "MECHANIC"; + names[JT_ALCHEMIST] = "ALCHEMIST"; + names[JT_ALCHEMIST_H] = "ALCHEMIST_H"; + names[JT_GENETIC] = "GENETIC"; + names[JT_MADOGEAR] = "MADOGEAR"; + names[JT_PIG_MERCHANT] = "PIG_MERCHANT"; + names[JT_PIG_BLACKSMITH] = "PIG_BLACKSMITH"; + names[JT_PIG_WHITESMITH] = "PIG_WHITESMITH"; + names[JT_PIG_MECHANIC] = "PIG_MECHANIC"; + names[JT_PIG_ALCHE] = "PIG_ALCHE"; + names[JT_PIG_CREATOR] = "PIG_CREATOR"; + names[JT_PIG_GENETIC] = "PIG_GENETIC"; + names[JT_THIEF] = "THIEF"; + names[JT_ASSASSIN] = "ASSASSIN"; + names[JT_ASSASSIN_H] = "ASSASSIN_H"; + names[JT_GUILLOTINE_CROSS] = "GUILLOTINE_CROSS"; + names[JT_ROGUE] = "ROGUE"; + names[JT_ROGUE_H] = "ROGUE_H"; + names[JT_SHADOW_CHASER] = "SHADOW_CHASER"; + names[JT_DOG_THIEF] = "DOG_THIEF"; + names[JT_DOG_ASSASSIN] = "DOG_ASSASSIN"; + names[JT_DOG_ASSA_X] = "DOG_ASSA_X"; + names[JT_DOG_G_CROSS] = "DOG_G_CROSS"; + names[JT_DOG_ROGUE] = "DOG_ROGUE"; + names[JT_DOG_STALKER] = "DOG_STALKER"; + names[JT_DOG_CHASER] = "DOG_CHASER"; + names[JT_ARCHER] = "ARCHER"; + names[JT_HUNTER] = "HUNTER"; + names[JT_HUNTER_H] = "HUNTER_H"; + names[JT_RANGER] = "RANGER"; + names[JT_BARD] = "BARD"; + names[JT_BARD_H] = "BARD_H"; + names[JT_MINSTREL] = "MINSTREL"; + names[JT_DANCER] = "DANCER"; + names[JT_DANCER_H] = "DANCER_H"; + names[JT_WANDERER] = "WANDERER"; + names[JT_WOLF_RANGER] = "WOLF_RANGER"; + names[JT_OSTRICH_ARCHER] = "OSTRICH_ARCHER"; + names[JT_OSTRICH_HUNTER] = "OSTRICH_HUNTER"; + names[JT_OSTRICH_SNIPER] = "OSTRICH_SNIPER"; + names[JT_OSTRICH_RANGER] = "OSTRICH_RANGER"; + names[JT_OSTRICH_BARD] = "OSTRICH_BARD"; + names[JT_OSTRICH_CROWN] = "OSTRICH_CROWN"; + names[JT_OSTRICH_MINSTREL] = "OSTRICH_MINSTREL"; + names[JT_OSTRICH_DANCER] = "OSTRICH_DANCER"; + names[JT_OSTRICH_ZIPSI] = "OSTRICH_ZIPSI"; + names[JT_OSTRICH_WANDER] = "OSTRICH_WANDER"; + names[JT_DO_SUMMONER] = "DO_SUMMONER"; + names[JT_DO_CART_SUMMONER] = "DO_CART_SUMMONER"; + names[JT_MARRIED] = "MARRIED"; + names[JT_SANTA] = "SANTA"; + names[JT_SUMMER] = "SUMMER"; + names[JT_HANBOK] = "HANBOK"; + names[JT_OKTOBERFEST] = "OKTOBERFEST"; + names[JT_SUMMER2] = "SUMMER2"; + names[JT_CHICKEN2_B] = "CHICKEN2_B"; + names[309] = "BIOLO"; + names[322] = "BIOLO_RIDING"; + names[303] = "MEISTER"; + names[316] = "MEISTER_RIDING"; + names[329] = "MEISTER_MADOGEAR1"; + names[302] = "DRAGON_KNIGHT"; + names[315] = "DRAGON_KNIGHT_RIDING"; + names[330] = "DRAGON_KNIGHT_CHICKEN"; + names[308] = "IMPERIAL_GUARD"; + names[321] = "IMPERIAL_GUARD_RIDING"; + names[331] = "IMPERIAL_GUARD_CHICKEN"; + names[352] = "SKY_EMPEROR"; + names[366] = "SKY_EMPEROR2"; + names[359] = "SKY_EMPEROR_RIDING"; + names[353] = "SOUL_ASCETIC"; + names[360] = "SOUL_ASCETIC_RIDING"; + names[354] = "SHINKIRO"; + names[361] = "SHINKIRO_RIDING"; + names[355] = "SHIRANUI"; + names[362] = "SHIRANUI_RIDING"; + names[356] = "NIGHT_WATCH"; + names[363] = "NIGHT_WATCH_RIDING"; + names[357] = "HYPER_NOVICE"; + names[364] = "HYPER_NOVICE_RIDING"; + names[358] = "SPIRIT_HANDLER"; + names[365] = "SPIRIT_HANDLER_RIDING"; +} diff --git a/Source/Client/Session.h b/Source/Client/Session.h index ac752880..42cb4709 100644 --- a/Source/Client/Session.h +++ b/Source/Client/Session.h @@ -780,6 +780,9 @@ public: const char* GetHitWaveName(int job); const char* GetWeaponHitWaveName(int weapon); void InitJobHitWaveNames(); + void InitWeaponHitWaveNames(); + const std::vector* GetMapViewParameters(const char* rswName, int* found); + void InitJobKeyNames(); const char* GetEFSTImgFileName(int efstId, int type); int IsTreeGroupTwo(int job) const; bool IsTreeGroupThree(int job) const;