d2mercs.h 4.51 KB
#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