#ifndef D2MERCS_H #define D2MERCS_H #include "d2strings.h" // TODO: return compound data (type, subtype, difficulty, not just a string) // The values here are the offsets of each merc's names in the table. // i.e: Merc names from pos 41 to 61 are Desert mercs // // We use these values as offsets later to get the correct name using the relative ID the game provides enum D2S_MERCTYPES { D2S_MERCTYPE_UNKNOWN = -1, D2S_MERCTYPE_ROGUE = 0, D2S_MERCTYPE_DESERT = 41, D2S_MERCTYPE_SORCEROR = 62, D2S_MERCTYPE_BARBARIAN = 82 }; const char* const mercTypes[] = { D2S_MERC_ID_0, D2S_MERC_ID_1, D2S_MERC_ID_2, D2S_MERC_ID_3, D2S_MERC_ID_4, D2S_MERC_ID_5, D2S_MERC_ID_6, D2S_MERC_ID_7, D2S_MERC_ID_8, D2S_MERC_ID_9, D2S_MERC_ID_10, D2S_MERC_ID_11, D2S_MERC_ID_12, D2S_MERC_ID_13, D2S_MERC_ID_14, D2S_MERC_ID_15, D2S_MERC_ID_16, D2S_MERC_ID_17, D2S_MERC_ID_18, D2S_MERC_ID_19, D2S_MERC_ID_20, D2S_MERC_ID_21, D2S_MERC_ID_22, D2S_MERC_ID_23, D2S_MERC_ID_24, D2S_MERC_ID_25, D2S_MERC_ID_26, D2S_MERC_ID_27, D2S_MERC_ID_28, D2S_MERC_ID_29 }; const char* const mercNames[] = { D2S_MERC_NAME_0, D2S_MERC_NAME_1, D2S_MERC_NAME_2, D2S_MERC_NAME_3, D2S_MERC_NAME_4, D2S_MERC_NAME_5, D2S_MERC_NAME_6, D2S_MERC_NAME_7, D2S_MERC_NAME_8, D2S_MERC_NAME_9, D2S_MERC_NAME_10, D2S_MERC_NAME_11, D2S_MERC_NAME_12, D2S_MERC_NAME_13, D2S_MERC_NAME_14, D2S_MERC_NAME_15, D2S_MERC_NAME_16, D2S_MERC_NAME_17, D2S_MERC_NAME_18, D2S_MERC_NAME_19, D2S_MERC_NAME_20, D2S_MERC_NAME_21, D2S_MERC_NAME_22, D2S_MERC_NAME_23, D2S_MERC_NAME_24, D2S_MERC_NAME_25, D2S_MERC_NAME_26, D2S_MERC_NAME_27, D2S_MERC_NAME_28, D2S_MERC_NAME_29, D2S_MERC_NAME_30, D2S_MERC_NAME_31, D2S_MERC_NAME_32, D2S_MERC_NAME_33, D2S_MERC_NAME_34, D2S_MERC_NAME_35, D2S_MERC_NAME_36, D2S_MERC_NAME_37, D2S_MERC_NAME_38, D2S_MERC_NAME_39, D2S_MERC_NAME_40, D2S_MERC_NAME_41, D2S_MERC_NAME_42, D2S_MERC_NAME_43, D2S_MERC_NAME_44, D2S_MERC_NAME_45, D2S_MERC_NAME_46, D2S_MERC_NAME_47, D2S_MERC_NAME_48, D2S_MERC_NAME_49, D2S_MERC_NAME_50, D2S_MERC_NAME_51, D2S_MERC_NAME_52, D2S_MERC_NAME_53, D2S_MERC_NAME_54, D2S_MERC_NAME_55, D2S_MERC_NAME_56, D2S_MERC_NAME_57, D2S_MERC_NAME_58, D2S_MERC_NAME_59, D2S_MERC_NAME_60, D2S_MERC_NAME_61, D2S_MERC_NAME_62, D2S_MERC_NAME_63, D2S_MERC_NAME_64, D2S_MERC_NAME_65, D2S_MERC_NAME_66, D2S_MERC_NAME_67, D2S_MERC_NAME_68, D2S_MERC_NAME_69, D2S_MERC_NAME_70, D2S_MERC_NAME_71, D2S_MERC_NAME_72, D2S_MERC_NAME_73, D2S_MERC_NAME_74, D2S_MERC_NAME_75, D2S_MERC_NAME_76, D2S_MERC_NAME_77, D2S_MERC_NAME_78, D2S_MERC_NAME_79, D2S_MERC_NAME_80, D2S_MERC_NAME_81, D2S_MERC_NAME_82, D2S_MERC_NAME_83, D2S_MERC_NAME_84, D2S_MERC_NAME_85, D2S_MERC_NAME_86, D2S_MERC_NAME_87, D2S_MERC_NAME_88, D2S_MERC_NAME_89, D2S_MERC_NAME_90, D2S_MERC_NAME_91, D2S_MERC_NAME_92, D2S_MERC_NAME_93, D2S_MERC_NAME_94, D2S_MERC_NAME_95, D2S_MERC_NAME_96, D2S_MERC_NAME_97, D2S_MERC_NAME_98, D2S_MERC_NAME_99, D2S_MERC_NAME_100, D2S_MERC_NAME_101, D2S_MERC_NAME_102, D2S_MERC_NAME_103, D2S_MERC_NAME_104, D2S_MERC_NAME_105, D2S_MERC_NAME_106, D2S_MERC_NAME_107, D2S_MERC_NAME_108, D2S_MERC_NAME_109, D2S_MERC_NAME_110, D2S_MERC_NAME_111, D2S_MERC_NAME_112, D2S_MERC_NAME_113, D2S_MERC_NAME_114, D2S_MERC_NAME_115, D2S_MERC_NAME_116, D2S_MERC_NAME_117, D2S_MERC_NAME_118, D2S_MERC_NAME_119, D2S_MERC_NAME_120, D2S_MERC_NAME_121, D2S_MERC_NAME_122, D2S_MERC_NAME_123, D2S_MERC_NAME_124, D2S_MERC_NAME_125, D2S_MERC_NAME_126, D2S_MERC_NAME_127, D2S_MERC_NAME_128, D2S_MERC_NAME_129, D2S_MERC_NAME_130, D2S_MERC_NAME_131, D2S_MERC_NAME_132, D2S_MERC_NAME_133, D2S_MERC_NAME_134, D2S_MERC_NAME_135, D2S_MERC_NAME_136, D2S_MERC_NAME_137, D2S_MERC_NAME_138, D2S_MERC_NAME_139, D2S_MERC_NAME_140, D2S_MERC_NAME_141, D2S_MERC_NAME_142, D2S_MERC_NAME_143, D2S_MERC_NAME_144, D2S_MERC_NAME_145, D2S_MERC_NAME_146, D2S_MERC_NAME_147, D2S_MERC_NAME_148 }; int _getMercType(int mercID); const char* _getMercName(int mercID, int mercNameID); #endif