Commit aabd2f7bb1481c30c85c4b5d4296e4124b10ef24
1 parent
27780d01
WIP. Missing Quest data, Waypoint data, NPC Introductions, Character stats, Character skills, items
Showing
6 changed files
with
1218 additions
and
22 deletions
d2char.c
1 | #include "d2char.h" | 1 | #include "d2char.h" |
2 | -#include <stdlib.h> | 2 | +#include "d2skills.h" |
3 | +#include "d2mercs.h" | ||
4 | +#include <stdio.h> | ||
3 | 5 | ||
4 | uint32_t calcChecksum(D2CharHeader* c, void* charData) { | 6 | uint32_t calcChecksum(D2CharHeader* c, void* charData) { |
5 | uint32_t origChecksum = c->checksum; | 7 | uint32_t origChecksum = c->checksum; |
@@ -51,7 +53,6 @@ int isFemale(D2CharHeader* c) { | @@ -51,7 +53,6 @@ int isFemale(D2CharHeader* c) { | ||
51 | c->charClass == D2S_CHARCLASS_SORCERESS); | 53 | c->charClass == D2S_CHARCLASS_SORCERESS); |
52 | } | 54 | } |
53 | 55 | ||
54 | -// Returns static string from library memory, no need to free | ||
55 | const char* getCharacterTitle(D2CharHeader* c) { | 56 | const char* getCharacterTitle(D2CharHeader* c) { |
56 | int tier; | 57 | int tier; |
57 | if(isExpansion(c)) { | 58 | if(isExpansion(c)) { |
@@ -126,4 +127,34 @@ const char* getCharacterTitle(D2CharHeader* c) { | @@ -126,4 +127,34 @@ const char* getCharacterTitle(D2CharHeader* c) { | ||
126 | } | 127 | } |
127 | } | 128 | } |
128 | } | 129 | } |
130 | +} | ||
131 | + | ||
132 | +size_t getLastPlayed(D2CharHeader* c, char* buf, size_t bufLen) { | ||
133 | + struct tm* time = localtime(&(c->lastPlayed)); | ||
134 | + size_t ret = strftime(buf, bufLen, "%c", time); | ||
135 | + if(!ret) { | ||
136 | + fprintf(stderr,"libd2char error: Provided buffer for time string was too small\n"); | ||
137 | + } | ||
138 | + return ret; | ||
139 | +} | ||
140 | + | ||
141 | +const char* getSkillName(int skillID) { | ||
142 | + return skills[skillID]; | ||
143 | +} | ||
144 | + | ||
145 | +int getCurrentDifficulty(D2CharHeader* c) { | ||
146 | + for(int i = D2S_DIFFICULTY_NORMAL; i <= D2S_DIFFICULTY_HELL; ++i) { | ||
147 | + if(c->difficulty[i] & D2S_DIFFICULTY_ACTIVE) { | ||
148 | + return i; | ||
149 | + } | ||
150 | + } | ||
151 | + return D2S_DIFFICULTY_UNKNOWN; | ||
152 | +} | ||
153 | + | ||
154 | +const char* getMercName(D2CharHeader* c) { | ||
155 | + return getMercNameTableEntry(c->mercenaryType, c->mercenaryNameID); | ||
156 | +} | ||
157 | + | ||
158 | +const char* getMercType(D2CharHeader* c) { | ||
159 | + return mercTypes[c->mercenaryType]; | ||
129 | } | 160 | } |
130 | \ No newline at end of file | 161 | \ No newline at end of file |
d2char.h
@@ -2,6 +2,7 @@ | @@ -2,6 +2,7 @@ | ||
2 | #define D2CHAR_H | 2 | #define D2CHAR_H |
3 | 3 | ||
4 | #include <stdint.h> | 4 | #include <stdint.h> |
5 | +#include <stdlib.h> | ||
5 | #include "d2strings.h" | 6 | #include "d2strings.h" |
6 | 7 | ||
7 | #define D2S_HEADER_LENGTH 765 | 8 | #define D2S_HEADER_LENGTH 765 |
@@ -21,7 +22,13 @@ | @@ -21,7 +22,13 @@ | ||
21 | #define D2S_CHARSTATUS_EXPANSION 0x20 | 22 | #define D2S_CHARSTATUS_EXPANSION 0x20 |
22 | #define D2S_CHARSTATUS_LADDER 0x40 | 23 | #define D2S_CHARSTATUS_LADDER 0x40 |
23 | 24 | ||
24 | -enum D2Version { | 25 | +#define D2S_DIFFICULTY_ACTIVE 0x80 |
26 | +#define D2S_DIFFICULTY_NORMAL 0 | ||
27 | +#define D2S_DIFFICULTY_NIGHTMARE 1 | ||
28 | +#define D2S_DIFFICULTY_HELL 2 | ||
29 | +#define D2S_DIFFICULTY_UNKNOWN -1 | ||
30 | + | ||
31 | +enum D2S_VERSION { | ||
25 | VER_106 = 71, | 32 | VER_106 = 71, |
26 | VER_107 = 87, | 33 | VER_107 = 87, |
27 | VER_108XP = 87, | 34 | VER_108XP = 87, |
@@ -30,17 +37,17 @@ enum D2Version { | @@ -30,17 +37,17 @@ enum D2Version { | ||
30 | VER_110 = 96 | 37 | VER_110 = 96 |
31 | }; | 38 | }; |
32 | 39 | ||
33 | -enum D2CharClass { | ||
34 | - D2S_CHARCLASS_AMAZON = 0x00, | ||
35 | - D2S_CHARCLASS_SORCERESS = 0x01, | ||
36 | - D2S_CHARCLASS_NECROMANCER = 0x02, | ||
37 | - D2S_CHARCLASS_PALADIN = 0x03, | ||
38 | - D2S_CHARCLASS_BARBARIAN = 0x04, | ||
39 | - D2S_CHARCLASS_DRUID = 0x05, | ||
40 | - D2S_CHARCLASS_ASSASSIN = 0x06 | 40 | +enum D2S_CHARCLASS { |
41 | + D2S_CHARCLASS_AMAZON = 0, | ||
42 | + D2S_CHARCLASS_SORCERESS = 1, | ||
43 | + D2S_CHARCLASS_NECROMANCER = 2, | ||
44 | + D2S_CHARCLASS_PALADIN = 3, | ||
45 | + D2S_CHARCLASS_BARBARIAN = 4, | ||
46 | + D2S_CHARCLASS_DRUID = 5, | ||
47 | + D2S_CHARCLASS_ASSASSIN = 6 | ||
41 | }; | 48 | }; |
42 | 49 | ||
43 | -enum D2Acts { | 50 | +enum D2S_ACT { |
44 | D2S_ACT1 = 0, | 51 | D2S_ACT1 = 0, |
45 | D2S_ACT2 = 1, | 52 | D2S_ACT2 = 1, |
46 | D2S_ACT3 = 2, | 53 | D2S_ACT3 = 2, |
@@ -53,7 +60,7 @@ typedef struct __attribute__((packed)){ | @@ -53,7 +60,7 @@ typedef struct __attribute__((packed)){ | ||
53 | uint32_t versionID; | 60 | uint32_t versionID; |
54 | uint32_t fileSize; | 61 | uint32_t fileSize; |
55 | uint32_t checksum; | 62 | uint32_t checksum; |
56 | - uint32_t activeWeapon; // TODO | 63 | + uint32_t activeWeapon; // Determines which weapon set (I or II in inventory) is currently in use |
57 | char name[D2S_CHARNAME_LENGTH]; | 64 | char name[D2S_CHARNAME_LENGTH]; |
58 | uint8_t charStatus; | 65 | uint8_t charStatus; |
59 | uint8_t charProgress; | 66 | uint8_t charProgress; |
@@ -64,24 +71,24 @@ typedef struct __attribute__((packed)){ | @@ -64,24 +71,24 @@ typedef struct __attribute__((packed)){ | ||
64 | uint32_t unknown3; // TODO | 71 | uint32_t unknown3; // TODO |
65 | uint32_t lastPlayed; | 72 | uint32_t lastPlayed; |
66 | uint32_t unknown4; // TODO | 73 | uint32_t unknown4; // TODO |
67 | - uint8_t hotkeys[D2S_HOTKEYS_LENGTH]; | 74 | + uint8_t hotkeys[D2S_HOTKEYS_LENGTH]; // Not implemented. Too bad! |
68 | uint32_t leftAbility; | 75 | uint32_t leftAbility; |
69 | uint32_t rightAbility; | 76 | uint32_t rightAbility; |
70 | - uint32_t leftAbilityAlt; | ||
71 | - uint32_t rightAbilityAlt; | ||
72 | - uint8_t charAppearance[D2S_CHAR_APPEARANCE_LENGTH]; | 77 | + uint32_t leftAbilityAlt; // Left ability when alternative weapon set (II) is selected |
78 | + uint32_t rightAbilityAlt; // Right ability when alternative weapon set (II) is selected | ||
79 | + uint8_t charAppearance[D2S_CHAR_APPEARANCE_LENGTH]; // Not implemented. Too bad! | ||
73 | uint8_t difficulty[D2S_DIFFICULTY_LENGTH]; | 80 | uint8_t difficulty[D2S_DIFFICULTY_LENGTH]; |
74 | - uint32_t mapID; | ||
75 | - uint16_t unknown5; | ||
76 | - uint16_t mercenaryStatus; | 81 | + uint32_t mapID; // Not implemented. Too bad! |
82 | + uint16_t unknown5; // TODO | ||
83 | + uint16_t mercenaryDead; | ||
77 | uint32_t mercenarySeed; | 84 | uint32_t mercenarySeed; |
78 | uint16_t mercenaryNameID; | 85 | uint16_t mercenaryNameID; |
79 | uint16_t mercenaryType; | 86 | uint16_t mercenaryType; |
80 | uint32_t mercenaryExp; | 87 | uint32_t mercenaryExp; |
81 | - uint8_t unknown6[144]; | 88 | + uint8_t unknown6[144]; // TODO |
82 | uint8_t questData[D2S_QUESTS_LENGTH]; | 89 | uint8_t questData[D2S_QUESTS_LENGTH]; |
83 | uint8_t waypointData[D2S_WAYPOINTS_LENGTH]; | 90 | uint8_t waypointData[D2S_WAYPOINTS_LENGTH]; |
84 | - uint8_t NPCIntroductions[D2S_NPCDATA_LENGTH]; // TODO | 91 | + uint8_t NPCIntroductions[D2S_NPCDATA_LENGTH]; // Not implemented. (Yet) |
85 | } D2CharHeader; | 92 | } D2CharHeader; |
86 | 93 | ||
87 | uint32_t calcChecksum(D2CharHeader* c, void* charData); | 94 | uint32_t calcChecksum(D2CharHeader* c, void* charData); |
@@ -91,4 +98,27 @@ int hasDied(D2CharHeader* c); | @@ -91,4 +98,27 @@ int hasDied(D2CharHeader* c); | ||
91 | int isExpansion(D2CharHeader* c); | 98 | int isExpansion(D2CharHeader* c); |
92 | int isLadder(D2CharHeader* c); | 99 | int isLadder(D2CharHeader* c); |
93 | 100 | ||
101 | +// 0 = Act I, 4 = Act V (Expansion) | ||
102 | +int getCurrentAct(D2CharHeader* c); | ||
103 | + | ||
104 | +int isFemale(D2CharHeader* c); | ||
105 | + | ||
106 | +// Returns static string from library memory, no need to free | ||
107 | +const char* getCharacterTitle(D2CharHeader* c); | ||
108 | + | ||
109 | +// Writes to user-allocated string. Format is default locale's time representation | ||
110 | +size_t getLastPlayed(D2CharHeader* c, char* buf, size_t bufLen); | ||
111 | + | ||
112 | +// Returns static string from library memory, no need to free | ||
113 | +const char* getSkillName(int skillID); | ||
114 | + | ||
115 | +// 0 = Normal, 2 = Hell | ||
116 | +int getCurrentDifficulty(D2CharHeader* c); | ||
117 | + | ||
118 | +// Returns static string from library memory, no need to free | ||
119 | +const char* getMercName(D2CharHeader* c); | ||
120 | + | ||
121 | +// Returns static string from library memory, no need to free | ||
122 | +const char* getMercType(D2CharHeader* c); | ||
123 | + | ||
94 | #endif | 124 | #endif |
95 | \ No newline at end of file | 125 | \ No newline at end of file |
d2mercs.c
0 โ 100644
1 | +#include "d2mercs.h" | ||
2 | + | ||
3 | +int _getMercType(int mercID) { | ||
4 | + if(mercID >= 0 && mercID <= 5) { | ||
5 | + return D2S_MERCTYPE_ROGUE; | ||
6 | + } else if(mercID >= 6 && mercID <= 14) { | ||
7 | + return D2S_MERCTYPE_DESERT; | ||
8 | + } else if(mercID >= 15 && mercID <= 23) { | ||
9 | + return D2S_MERCTYPE_SORCEROR; | ||
10 | + } else if(mercID >= 24 && mercID <= 29) { | ||
11 | + return D2S_MERCTYPE_BARBARIAN; | ||
12 | + } else { | ||
13 | + return D2S_MERCTYPE_UNKNOWN; | ||
14 | + } | ||
15 | +} | ||
16 | + | ||
17 | +const char* _getMercName(int mercID, int mercNameID) { | ||
18 | + int offset = getMercType(mercID); | ||
19 | + return mercNames[mercNameID + offset]; | ||
20 | +} | ||
0 | \ No newline at end of file | 21 | \ No newline at end of file |
d2mercs.h
0 โ 100644
1 | +#ifndef D2MERCS_H | ||
2 | +#define D2MERCS_H | ||
3 | + | ||
4 | +#include "d2strings.h" | ||
5 | + | ||
6 | +// The values here are the offsets of each merc's names in the table. | ||
7 | +// i.e: Merc names from pos 41 to 61 are Desert mercs | ||
8 | +// | ||
9 | +// We use these values as offsets later to get the correct name using the relative ID the game provides | ||
10 | +enum D2S_MERCTYPES { | ||
11 | + D2S_MERCTYPE_UNKNOWN = -1, | ||
12 | + D2S_MERCTYPE_ROGUE = 0, | ||
13 | + D2S_MERCTYPE_DESERT = 41, | ||
14 | + D2S_MERCTYPE_SORCEROR = 62, | ||
15 | + D2S_MERCTYPE_BARBARIAN = 82 | ||
16 | +}; | ||
17 | + | ||
18 | +const char* const mercTypes[] = { | ||
19 | + D2S_MERC_ID_0, | ||
20 | + D2S_MERC_ID_1, | ||
21 | + D2S_MERC_ID_2, | ||
22 | + D2S_MERC_ID_3, | ||
23 | + D2S_MERC_ID_4, | ||
24 | + D2S_MERC_ID_5, | ||
25 | + D2S_MERC_ID_6, | ||
26 | + D2S_MERC_ID_7, | ||
27 | + D2S_MERC_ID_8, | ||
28 | + D2S_MERC_ID_9, | ||
29 | + D2S_MERC_ID_10, | ||
30 | + D2S_MERC_ID_11, | ||
31 | + D2S_MERC_ID_12, | ||
32 | + D2S_MERC_ID_13, | ||
33 | + D2S_MERC_ID_14, | ||
34 | + D2S_MERC_ID_15, | ||
35 | + D2S_MERC_ID_16, | ||
36 | + D2S_MERC_ID_17, | ||
37 | + D2S_MERC_ID_18, | ||
38 | + D2S_MERC_ID_19, | ||
39 | + D2S_MERC_ID_20, | ||
40 | + D2S_MERC_ID_21, | ||
41 | + D2S_MERC_ID_22, | ||
42 | + D2S_MERC_ID_23, | ||
43 | + D2S_MERC_ID_24, | ||
44 | + D2S_MERC_ID_25, | ||
45 | + D2S_MERC_ID_26, | ||
46 | + D2S_MERC_ID_27, | ||
47 | + D2S_MERC_ID_28, | ||
48 | + D2S_MERC_ID_29 | ||
49 | +}; | ||
50 | + | ||
51 | +const char* const mercNames[] = { | ||
52 | + D2S_MERC_NAME_0, | ||
53 | + D2S_MERC_NAME_1, | ||
54 | + D2S_MERC_NAME_2, | ||
55 | + D2S_MERC_NAME_3, | ||
56 | + D2S_MERC_NAME_4, | ||
57 | + D2S_MERC_NAME_5, | ||
58 | + D2S_MERC_NAME_6, | ||
59 | + D2S_MERC_NAME_7, | ||
60 | + D2S_MERC_NAME_8, | ||
61 | + D2S_MERC_NAME_9, | ||
62 | + D2S_MERC_NAME_10, | ||
63 | + D2S_MERC_NAME_11, | ||
64 | + D2S_MERC_NAME_12, | ||
65 | + D2S_MERC_NAME_13, | ||
66 | + D2S_MERC_NAME_14, | ||
67 | + D2S_MERC_NAME_15, | ||
68 | + D2S_MERC_NAME_16, | ||
69 | + D2S_MERC_NAME_17, | ||
70 | + D2S_MERC_NAME_18, | ||
71 | + D2S_MERC_NAME_19, | ||
72 | + D2S_MERC_NAME_20, | ||
73 | + D2S_MERC_NAME_21, | ||
74 | + D2S_MERC_NAME_22, | ||
75 | + D2S_MERC_NAME_23, | ||
76 | + D2S_MERC_NAME_24, | ||
77 | + D2S_MERC_NAME_25, | ||
78 | + D2S_MERC_NAME_26, | ||
79 | + D2S_MERC_NAME_27, | ||
80 | + D2S_MERC_NAME_28, | ||
81 | + D2S_MERC_NAME_29, | ||
82 | + D2S_MERC_NAME_30, | ||
83 | + D2S_MERC_NAME_31, | ||
84 | + D2S_MERC_NAME_32, | ||
85 | + D2S_MERC_NAME_33, | ||
86 | + D2S_MERC_NAME_34, | ||
87 | + D2S_MERC_NAME_35, | ||
88 | + D2S_MERC_NAME_36, | ||
89 | + D2S_MERC_NAME_37, | ||
90 | + D2S_MERC_NAME_38, | ||
91 | + D2S_MERC_NAME_39, | ||
92 | + D2S_MERC_NAME_40, | ||
93 | + D2S_MERC_NAME_41, | ||
94 | + D2S_MERC_NAME_42, | ||
95 | + D2S_MERC_NAME_43, | ||
96 | + D2S_MERC_NAME_44, | ||
97 | + D2S_MERC_NAME_45, | ||
98 | + D2S_MERC_NAME_46, | ||
99 | + D2S_MERC_NAME_47, | ||
100 | + D2S_MERC_NAME_48, | ||
101 | + D2S_MERC_NAME_49, | ||
102 | + D2S_MERC_NAME_50, | ||
103 | + D2S_MERC_NAME_51, | ||
104 | + D2S_MERC_NAME_52, | ||
105 | + D2S_MERC_NAME_53, | ||
106 | + D2S_MERC_NAME_54, | ||
107 | + D2S_MERC_NAME_55, | ||
108 | + D2S_MERC_NAME_56, | ||
109 | + D2S_MERC_NAME_57, | ||
110 | + D2S_MERC_NAME_58, | ||
111 | + D2S_MERC_NAME_59, | ||
112 | + D2S_MERC_NAME_60, | ||
113 | + D2S_MERC_NAME_61, | ||
114 | + D2S_MERC_NAME_62, | ||
115 | + D2S_MERC_NAME_63, | ||
116 | + D2S_MERC_NAME_64, | ||
117 | + D2S_MERC_NAME_65, | ||
118 | + D2S_MERC_NAME_66, | ||
119 | + D2S_MERC_NAME_67, | ||
120 | + D2S_MERC_NAME_68, | ||
121 | + D2S_MERC_NAME_69, | ||
122 | + D2S_MERC_NAME_70, | ||
123 | + D2S_MERC_NAME_71, | ||
124 | + D2S_MERC_NAME_72, | ||
125 | + D2S_MERC_NAME_73, | ||
126 | + D2S_MERC_NAME_74, | ||
127 | + D2S_MERC_NAME_75, | ||
128 | + D2S_MERC_NAME_76, | ||
129 | + D2S_MERC_NAME_77, | ||
130 | + D2S_MERC_NAME_78, | ||
131 | + D2S_MERC_NAME_79, | ||
132 | + D2S_MERC_NAME_80, | ||
133 | + D2S_MERC_NAME_81, | ||
134 | + D2S_MERC_NAME_82, | ||
135 | + D2S_MERC_NAME_83, | ||
136 | + D2S_MERC_NAME_84, | ||
137 | + D2S_MERC_NAME_85, | ||
138 | + D2S_MERC_NAME_86, | ||
139 | + D2S_MERC_NAME_87, | ||
140 | + D2S_MERC_NAME_88, | ||
141 | + D2S_MERC_NAME_89, | ||
142 | + D2S_MERC_NAME_90, | ||
143 | + D2S_MERC_NAME_91, | ||
144 | + D2S_MERC_NAME_92, | ||
145 | + D2S_MERC_NAME_93, | ||
146 | + D2S_MERC_NAME_94, | ||
147 | + D2S_MERC_NAME_95, | ||
148 | + D2S_MERC_NAME_96, | ||
149 | + D2S_MERC_NAME_97, | ||
150 | + D2S_MERC_NAME_98, | ||
151 | + D2S_MERC_NAME_99, | ||
152 | + D2S_MERC_NAME_100, | ||
153 | + D2S_MERC_NAME_101, | ||
154 | + D2S_MERC_NAME_102, | ||
155 | + D2S_MERC_NAME_103, | ||
156 | + D2S_MERC_NAME_104, | ||
157 | + D2S_MERC_NAME_105, | ||
158 | + D2S_MERC_NAME_106, | ||
159 | + D2S_MERC_NAME_107, | ||
160 | + D2S_MERC_NAME_108, | ||
161 | + D2S_MERC_NAME_109, | ||
162 | + D2S_MERC_NAME_110, | ||
163 | + D2S_MERC_NAME_111, | ||
164 | + D2S_MERC_NAME_112, | ||
165 | + D2S_MERC_NAME_113, | ||
166 | + D2S_MERC_NAME_114, | ||
167 | + D2S_MERC_NAME_115, | ||
168 | + D2S_MERC_NAME_116, | ||
169 | + D2S_MERC_NAME_117, | ||
170 | + D2S_MERC_NAME_118, | ||
171 | + D2S_MERC_NAME_119, | ||
172 | + D2S_MERC_NAME_120, | ||
173 | + D2S_MERC_NAME_121, | ||
174 | + D2S_MERC_NAME_122, | ||
175 | + D2S_MERC_NAME_123, | ||
176 | + D2S_MERC_NAME_124, | ||
177 | + D2S_MERC_NAME_125, | ||
178 | + D2S_MERC_NAME_126, | ||
179 | + D2S_MERC_NAME_127, | ||
180 | + D2S_MERC_NAME_128, | ||
181 | + D2S_MERC_NAME_129, | ||
182 | + D2S_MERC_NAME_130, | ||
183 | + D2S_MERC_NAME_131, | ||
184 | + D2S_MERC_NAME_132, | ||
185 | + D2S_MERC_NAME_133, | ||
186 | + D2S_MERC_NAME_134, | ||
187 | + D2S_MERC_NAME_135, | ||
188 | + D2S_MERC_NAME_136, | ||
189 | + D2S_MERC_NAME_137, | ||
190 | + D2S_MERC_NAME_138, | ||
191 | + D2S_MERC_NAME_139, | ||
192 | + D2S_MERC_NAME_140, | ||
193 | + D2S_MERC_NAME_141, | ||
194 | + D2S_MERC_NAME_142, | ||
195 | + D2S_MERC_NAME_143, | ||
196 | + D2S_MERC_NAME_144, | ||
197 | + D2S_MERC_NAME_145, | ||
198 | + D2S_MERC_NAME_146, | ||
199 | + D2S_MERC_NAME_147, | ||
200 | + D2S_MERC_NAME_148 | ||
201 | +}; | ||
202 | + | ||
203 | +int _getMercType(int mercID); | ||
204 | +const char* _getMercName(int mercID, int mercNameID); | ||
205 | + | ||
206 | +#endif | ||
0 | \ No newline at end of file | 207 | \ No newline at end of file |
d2skills.h
0 โ 100644
1 | +#ifndef D2SKILLS_H | ||
2 | +#define D2SKILLS_H | ||
3 | + | ||
4 | +#include <stdint.h> | ||
5 | +#include "d2strings.h" | ||
6 | + | ||
7 | +const char* const skills[] = { | ||
8 | + D2S_SKILL_0, | ||
9 | + D2S_SKILL_1, | ||
10 | + D2S_SKILL_2, | ||
11 | + D2S_SKILL_3, | ||
12 | + D2S_SKILL_4, | ||
13 | + D2S_SKILL_5, | ||
14 | + D2S_SKILL_6, | ||
15 | + D2S_SKILL_7, | ||
16 | + D2S_SKILL_8, | ||
17 | + D2S_SKILL_9, | ||
18 | + D2S_SKILL_10, | ||
19 | + D2S_SKILL_11, | ||
20 | + D2S_SKILL_12, | ||
21 | + D2S_SKILL_13, | ||
22 | + D2S_SKILL_14, | ||
23 | + D2S_SKILL_15, | ||
24 | + D2S_SKILL_16, | ||
25 | + D2S_SKILL_17, | ||
26 | + D2S_SKILL_18, | ||
27 | + D2S_SKILL_19, | ||
28 | + D2S_SKILL_20, | ||
29 | + D2S_SKILL_21, | ||
30 | + D2S_SKILL_22, | ||
31 | + D2S_SKILL_23, | ||
32 | + D2S_SKILL_24, | ||
33 | + D2S_SKILL_25, | ||
34 | + D2S_SKILL_26, | ||
35 | + D2S_SKILL_27, | ||
36 | + D2S_SKILL_28, | ||
37 | + D2S_SKILL_29, | ||
38 | + D2S_SKILL_30, | ||
39 | + D2S_SKILL_31, | ||
40 | + D2S_SKILL_32, | ||
41 | + D2S_SKILL_33, | ||
42 | + D2S_SKILL_34, | ||
43 | + D2S_SKILL_35, | ||
44 | + D2S_SKILL_36, | ||
45 | + D2S_SKILL_37, | ||
46 | + D2S_SKILL_38, | ||
47 | + D2S_SKILL_39, | ||
48 | + D2S_SKILL_40, | ||
49 | + D2S_SKILL_41, | ||
50 | + D2S_SKILL_42, | ||
51 | + D2S_SKILL_43, | ||
52 | + D2S_SKILL_44, | ||
53 | + D2S_SKILL_45, | ||
54 | + D2S_SKILL_46, | ||
55 | + D2S_SKILL_47, | ||
56 | + D2S_SKILL_48, | ||
57 | + D2S_SKILL_49, | ||
58 | + D2S_SKILL_50, | ||
59 | + D2S_SKILL_51, | ||
60 | + D2S_SKILL_52, | ||
61 | + D2S_SKILL_53, | ||
62 | + D2S_SKILL_54, | ||
63 | + D2S_SKILL_55, | ||
64 | + D2S_SKILL_56, | ||
65 | + D2S_SKILL_57, | ||
66 | + D2S_SKILL_58, | ||
67 | + D2S_SKILL_59, | ||
68 | + D2S_SKILL_60, | ||
69 | + D2S_SKILL_61, | ||
70 | + D2S_SKILL_62, | ||
71 | + D2S_SKILL_63, | ||
72 | + D2S_SKILL_64, | ||
73 | + D2S_SKILL_65, | ||
74 | + D2S_SKILL_66, | ||
75 | + D2S_SKILL_67, | ||
76 | + D2S_SKILL_68, | ||
77 | + D2S_SKILL_69, | ||
78 | + D2S_SKILL_70, | ||
79 | + D2S_SKILL_71, | ||
80 | + D2S_SKILL_72, | ||
81 | + D2S_SKILL_73, | ||
82 | + D2S_SKILL_74, | ||
83 | + D2S_SKILL_75, | ||
84 | + D2S_SKILL_76, | ||
85 | + D2S_SKILL_77, | ||
86 | + D2S_SKILL_78, | ||
87 | + D2S_SKILL_79, | ||
88 | + D2S_SKILL_80, | ||
89 | + D2S_SKILL_81, | ||
90 | + D2S_SKILL_82, | ||
91 | + D2S_SKILL_83, | ||
92 | + D2S_SKILL_84, | ||
93 | + D2S_SKILL_85, | ||
94 | + D2S_SKILL_86, | ||
95 | + D2S_SKILL_87, | ||
96 | + D2S_SKILL_88, | ||
97 | + D2S_SKILL_89, | ||
98 | + D2S_SKILL_90, | ||
99 | + D2S_SKILL_91, | ||
100 | + D2S_SKILL_92, | ||
101 | + D2S_SKILL_93, | ||
102 | + D2S_SKILL_94, | ||
103 | + D2S_SKILL_95, | ||
104 | + D2S_SKILL_96, | ||
105 | + D2S_SKILL_97, | ||
106 | + D2S_SKILL_98, | ||
107 | + D2S_SKILL_99, | ||
108 | + D2S_SKILL_100, | ||
109 | + D2S_SKILL_101, | ||
110 | + D2S_SKILL_102, | ||
111 | + D2S_SKILL_103, | ||
112 | + D2S_SKILL_104, | ||
113 | + D2S_SKILL_105, | ||
114 | + D2S_SKILL_106, | ||
115 | + D2S_SKILL_107, | ||
116 | + D2S_SKILL_108, | ||
117 | + D2S_SKILL_109, | ||
118 | + D2S_SKILL_110, | ||
119 | + D2S_SKILL_111, | ||
120 | + D2S_SKILL_112, | ||
121 | + D2S_SKILL_113, | ||
122 | + D2S_SKILL_114, | ||
123 | + D2S_SKILL_115, | ||
124 | + D2S_SKILL_116, | ||
125 | + D2S_SKILL_117, | ||
126 | + D2S_SKILL_118, | ||
127 | + D2S_SKILL_119, | ||
128 | + D2S_SKILL_120, | ||
129 | + D2S_SKILL_121, | ||
130 | + D2S_SKILL_122, | ||
131 | + D2S_SKILL_123, | ||
132 | + D2S_SKILL_124, | ||
133 | + D2S_SKILL_125, | ||
134 | + D2S_SKILL_126, | ||
135 | + D2S_SKILL_127, | ||
136 | + D2S_SKILL_128, | ||
137 | + D2S_SKILL_129, | ||
138 | + D2S_SKILL_130, | ||
139 | + D2S_SKILL_131, | ||
140 | + D2S_SKILL_132, | ||
141 | + D2S_SKILL_133, | ||
142 | + D2S_SKILL_134, | ||
143 | + D2S_SKILL_135, | ||
144 | + D2S_SKILL_136, | ||
145 | + D2S_SKILL_137, | ||
146 | + D2S_SKILL_138, | ||
147 | + D2S_SKILL_139, | ||
148 | + D2S_SKILL_140, | ||
149 | + D2S_SKILL_141, | ||
150 | + D2S_SKILL_142, | ||
151 | + D2S_SKILL_143, | ||
152 | + D2S_SKILL_144, | ||
153 | + D2S_SKILL_145, | ||
154 | + D2S_SKILL_146, | ||
155 | + D2S_SKILL_147, | ||
156 | + D2S_SKILL_148, | ||
157 | + D2S_SKILL_149, | ||
158 | + D2S_SKILL_150, | ||
159 | + D2S_SKILL_151, | ||
160 | + D2S_SKILL_152, | ||
161 | + D2S_SKILL_153, | ||
162 | + D2S_SKILL_154, | ||
163 | + D2S_SKILL_155, | ||
164 | + D2S_SKILL_156, | ||
165 | + D2S_SKILL_157, | ||
166 | + D2S_SKILL_158, | ||
167 | + D2S_SKILL_159, | ||
168 | + D2S_SKILL_160, | ||
169 | + D2S_SKILL_161, | ||
170 | + D2S_SKILL_162, | ||
171 | + D2S_SKILL_163, | ||
172 | + D2S_SKILL_164, | ||
173 | + D2S_SKILL_165, | ||
174 | + D2S_SKILL_166, | ||
175 | + D2S_SKILL_167, | ||
176 | + D2S_SKILL_168, | ||
177 | + D2S_SKILL_169, | ||
178 | + D2S_SKILL_170, | ||
179 | + D2S_SKILL_171, | ||
180 | + D2S_SKILL_172, | ||
181 | + D2S_SKILL_173, | ||
182 | + D2S_SKILL_174, | ||
183 | + D2S_SKILL_175, | ||
184 | + D2S_SKILL_176, | ||
185 | + D2S_SKILL_177, | ||
186 | + D2S_SKILL_178, | ||
187 | + D2S_SKILL_179, | ||
188 | + D2S_SKILL_180, | ||
189 | + D2S_SKILL_181, | ||
190 | + D2S_SKILL_182, | ||
191 | + D2S_SKILL_183, | ||
192 | + D2S_SKILL_184, | ||
193 | + D2S_SKILL_185, | ||
194 | + D2S_SKILL_186, | ||
195 | + D2S_SKILL_187, | ||
196 | + D2S_SKILL_188, | ||
197 | + D2S_SKILL_189, | ||
198 | + D2S_SKILL_190, | ||
199 | + D2S_SKILL_191, | ||
200 | + D2S_SKILL_192, | ||
201 | + D2S_SKILL_193, | ||
202 | + D2S_SKILL_194, | ||
203 | + D2S_SKILL_195, | ||
204 | + D2S_SKILL_196, | ||
205 | + D2S_SKILL_197, | ||
206 | + D2S_SKILL_198, | ||
207 | + D2S_SKILL_199, | ||
208 | + D2S_SKILL_200, | ||
209 | + D2S_SKILL_201, | ||
210 | + D2S_SKILL_202, | ||
211 | + D2S_SKILL_203, | ||
212 | + D2S_SKILL_204, | ||
213 | + D2S_SKILL_205, | ||
214 | + D2S_SKILL_206, | ||
215 | + D2S_SKILL_207, | ||
216 | + D2S_SKILL_208, | ||
217 | + D2S_SKILL_209, | ||
218 | + D2S_SKILL_210, | ||
219 | + D2S_SKILL_211, | ||
220 | + D2S_SKILL_212, | ||
221 | + D2S_SKILL_213, | ||
222 | + D2S_SKILL_214, | ||
223 | + D2S_SKILL_215, | ||
224 | + D2S_SKILL_216, | ||
225 | + D2S_SKILL_217, | ||
226 | + D2S_SKILL_218, | ||
227 | + D2S_SKILL_219, | ||
228 | + D2S_SKILL_220, | ||
229 | + D2S_SKILL_221, | ||
230 | + D2S_SKILL_222, | ||
231 | + D2S_SKILL_223, | ||
232 | + D2S_SKILL_224, | ||
233 | + D2S_SKILL_225, | ||
234 | + D2S_SKILL_226, | ||
235 | + D2S_SKILL_227, | ||
236 | + D2S_SKILL_228, | ||
237 | + D2S_SKILL_229, | ||
238 | + D2S_SKILL_230, | ||
239 | + D2S_SKILL_231, | ||
240 | + D2S_SKILL_232, | ||
241 | + D2S_SKILL_233, | ||
242 | + D2S_SKILL_234, | ||
243 | + D2S_SKILL_235, | ||
244 | + D2S_SKILL_236, | ||
245 | + D2S_SKILL_237, | ||
246 | + D2S_SKILL_238, | ||
247 | + D2S_SKILL_239, | ||
248 | + D2S_SKILL_240, | ||
249 | + D2S_SKILL_241, | ||
250 | + D2S_SKILL_242, | ||
251 | + D2S_SKILL_243, | ||
252 | + D2S_SKILL_244, | ||
253 | + D2S_SKILL_245, | ||
254 | + D2S_SKILL_246, | ||
255 | + D2S_SKILL_247, | ||
256 | + D2S_SKILL_248, | ||
257 | + D2S_SKILL_249, | ||
258 | + D2S_SKILL_250, | ||
259 | + D2S_SKILL_251, | ||
260 | + D2S_SKILL_252, | ||
261 | + D2S_SKILL_253, | ||
262 | + D2S_SKILL_254, | ||
263 | + D2S_SKILL_255, | ||
264 | + D2S_SKILL_256, | ||
265 | + D2S_SKILL_257, | ||
266 | + D2S_SKILL_258, | ||
267 | + D2S_SKILL_259, | ||
268 | + D2S_SKILL_260, | ||
269 | + D2S_SKILL_261, | ||
270 | + D2S_SKILL_262, | ||
271 | + D2S_SKILL_263, | ||
272 | + D2S_SKILL_264, | ||
273 | + D2S_SKILL_265, | ||
274 | + D2S_SKILL_266, | ||
275 | + D2S_SKILL_267, | ||
276 | + D2S_SKILL_268, | ||
277 | + D2S_SKILL_269, | ||
278 | + D2S_SKILL_270, | ||
279 | + D2S_SKILL_271, | ||
280 | + D2S_SKILL_272, | ||
281 | + D2S_SKILL_273, | ||
282 | + D2S_SKILL_274, | ||
283 | + D2S_SKILL_275, | ||
284 | + D2S_SKILL_276, | ||
285 | + D2S_SKILL_277, | ||
286 | + D2S_SKILL_278, | ||
287 | + D2S_SKILL_279, | ||
288 | + D2S_SKILL_280, | ||
289 | + D2S_SKILL_281, | ||
290 | + D2S_SKILL_282, | ||
291 | + D2S_SKILL_283, | ||
292 | + D2S_SKILL_284, | ||
293 | + D2S_SKILL_285, | ||
294 | + D2S_SKILL_286, | ||
295 | + D2S_SKILL_287, | ||
296 | + D2S_SKILL_288, | ||
297 | + D2S_SKILL_289, | ||
298 | + D2S_SKILL_290, | ||
299 | + D2S_SKILL_291, | ||
300 | + D2S_SKILL_292, | ||
301 | + D2S_SKILL_293, | ||
302 | + D2S_SKILL_294, | ||
303 | + D2S_SKILL_295, | ||
304 | + D2S_SKILL_296, | ||
305 | + D2S_SKILL_297, | ||
306 | + D2S_SKILL_298, | ||
307 | + D2S_SKILL_299, | ||
308 | + D2S_SKILL_300, | ||
309 | + D2S_SKILL_301, | ||
310 | + D2S_SKILL_302, | ||
311 | + D2S_SKILL_303, | ||
312 | + D2S_SKILL_304, | ||
313 | + D2S_SKILL_305, | ||
314 | + D2S_SKILL_306, | ||
315 | + D2S_SKILL_307, | ||
316 | + D2S_SKILL_308, | ||
317 | + D2S_SKILL_309, | ||
318 | + D2S_SKILL_310, | ||
319 | + D2S_SKILL_311, | ||
320 | + D2S_SKILL_312, | ||
321 | + D2S_SKILL_313, | ||
322 | + D2S_SKILL_314, | ||
323 | + D2S_SKILL_315, | ||
324 | + D2S_SKILL_316, | ||
325 | + D2S_SKILL_317, | ||
326 | + D2S_SKILL_318, | ||
327 | + D2S_SKILL_319, | ||
328 | + D2S_SKILL_320, | ||
329 | + D2S_SKILL_321, | ||
330 | + D2S_SKILL_322, | ||
331 | + D2S_SKILL_323, | ||
332 | + D2S_SKILL_324, | ||
333 | + D2S_SKILL_325, | ||
334 | + D2S_SKILL_326, | ||
335 | + D2S_SKILL_327, | ||
336 | + D2S_SKILL_328, | ||
337 | + D2S_SKILL_329, | ||
338 | + D2S_SKILL_330, | ||
339 | + D2S_SKILL_331, | ||
340 | + D2S_SKILL_332, | ||
341 | + D2S_SKILL_333, | ||
342 | + D2S_SKILL_334, | ||
343 | + D2S_SKILL_335, | ||
344 | + D2S_SKILL_336, | ||
345 | + D2S_SKILL_337, | ||
346 | + D2S_SKILL_338, | ||
347 | + D2S_SKILL_339, | ||
348 | + D2S_SKILL_340, | ||
349 | + D2S_SKILL_341, | ||
350 | + D2S_SKILL_342, | ||
351 | + D2S_SKILL_343, | ||
352 | + D2S_SKILL_344, | ||
353 | + D2S_SKILL_345, | ||
354 | + D2S_SKILL_346, | ||
355 | + D2S_SKILL_347, | ||
356 | + D2S_SKILL_348, | ||
357 | + D2S_SKILL_349, | ||
358 | + D2S_SKILL_350, | ||
359 | + D2S_SKILL_351, | ||
360 | + D2S_SKILL_352, | ||
361 | + D2S_SKILL_353, | ||
362 | + D2S_SKILL_354, | ||
363 | + D2S_SKILL_355, | ||
364 | + D2S_SKILL_356 | ||
365 | +}; | ||
366 | + | ||
367 | +#endif | ||
0 | \ No newline at end of file | 368 | \ No newline at end of file |
d2strings.h
1 | #ifndef D2STRINGS_H | 1 | #ifndef D2STRINGS_H |
2 | #define D2STRINGS_H | 2 | #define D2STRINGS_H |
3 | 3 | ||
4 | +// Character titles | ||
4 | const char* D2S_CHARPROGRESS_TIER0_NAME = ""; | 5 | const char* D2S_CHARPROGRESS_TIER0_NAME = ""; |
5 | const char* D2S_CHARPROGRESS_CLASSIC_TIER1_NAME_M = "Sir"; | 6 | const char* D2S_CHARPROGRESS_CLASSIC_TIER1_NAME_M = "Sir"; |
6 | const char* D2S_CHARPROGRESS_CLASSIC_TIER2_NAME_M = "Lord"; | 7 | const char* D2S_CHARPROGRESS_CLASSIC_TIER2_NAME_M = "Lord"; |
@@ -23,4 +24,545 @@ const char* D2S_CHARPROGRESS_EXPANSION_TIER1_NAME_HARDCORE = "Destroyer"; | @@ -23,4 +24,545 @@ const char* D2S_CHARPROGRESS_EXPANSION_TIER1_NAME_HARDCORE = "Destroyer"; | ||
23 | const char* D2S_CHARPROGRESS_EXPANSION_TIER2_NAME_HARDCORE = "Conqueror"; | 24 | const char* D2S_CHARPROGRESS_EXPANSION_TIER2_NAME_HARDCORE = "Conqueror"; |
24 | const char* D2S_CHARPROGRESS_EXPANSION_TIER3_NAME_HARDCORE = "Guardian"; | 25 | const char* D2S_CHARPROGRESS_EXPANSION_TIER3_NAME_HARDCORE = "Guardian"; |
25 | 26 | ||
27 | +// Skills | ||
28 | +#define D2S_SKILL_0 "Attack" | ||
29 | +#define D2S_SKILL_1 "Kick" | ||
30 | +#define D2S_SKILL_2 "Throw Item" | ||
31 | +#define D2S_SKILL_3 "Unsummon" | ||
32 | +#define D2S_SKILL_4 "Left Hand Throw" | ||
33 | +#define D2S_SKILL_5 "Left Hand Swing" | ||
34 | +#define D2S_SKILL_6 "Magic Arrow" | ||
35 | +#define D2S_SKILL_7 "Fire Arrow" | ||
36 | +#define D2S_SKILL_8 "Inner Sight" | ||
37 | +#define D2S_SKILL_9 "Critical Strike" | ||
38 | +#define D2S_SKILL_10 "Jab" | ||
39 | +#define D2S_SKILL_11 "Cold Arrow" | ||
40 | +#define D2S_SKILL_12 "Multiple Shot" | ||
41 | +#define D2S_SKILL_13 "Dodge" | ||
42 | +#define D2S_SKILL_14 "Power Strike" | ||
43 | +#define D2S_SKILL_15 "Poison Javelin" | ||
44 | +#define D2S_SKILL_16 "Exploding Arrow" | ||
45 | +#define D2S_SKILL_17 "Slow Missiles" | ||
46 | +#define D2S_SKILL_18 "Avoid" | ||
47 | +#define D2S_SKILL_19 "Impale" | ||
48 | +#define D2S_SKILL_20 "Lightning Bolt" | ||
49 | +#define D2S_SKILL_21 "Ice Arrow" | ||
50 | +#define D2S_SKILL_22 "Guided Arrow" | ||
51 | +#define D2S_SKILL_23 "Penetrate" | ||
52 | +#define D2S_SKILL_24 "Charged Strike" | ||
53 | +#define D2S_SKILL_25 "Plague Javelin" | ||
54 | +#define D2S_SKILL_26 "Strafe" | ||
55 | +#define D2S_SKILL_27 "Immolation Arrow" | ||
56 | +#define D2S_SKILL_28 "Dopplezon" | ||
57 | +#define D2S_SKILL_29 "Evade" | ||
58 | +#define D2S_SKILL_30 "Fend" | ||
59 | +#define D2S_SKILL_31 "Freezing Arrow" | ||
60 | +#define D2S_SKILL_32 "Valkyrie" | ||
61 | +#define D2S_SKILL_33 "Pierce" | ||
62 | +#define D2S_SKILL_34 "Lightning Strike" | ||
63 | +#define D2S_SKILL_35 "Lightning Fury" | ||
64 | +#define D2S_SKILL_36 "Fire Bolt" | ||
65 | +#define D2S_SKILL_37 "Warmth" | ||
66 | +#define D2S_SKILL_38 "Charged Bolt" | ||
67 | +#define D2S_SKILL_39 "Ice Bolt" | ||
68 | +#define D2S_SKILL_40 "Frozen Armor" | ||
69 | +#define D2S_SKILL_41 "Inferno" | ||
70 | +#define D2S_SKILL_42 "Static Field" | ||
71 | +#define D2S_SKILL_43 "Telekinesis" | ||
72 | +#define D2S_SKILL_44 "Frost Nova" | ||
73 | +#define D2S_SKILL_45 "Ice Blast" | ||
74 | +#define D2S_SKILL_46 "Blaze" | ||
75 | +#define D2S_SKILL_47 "Fire Ball" | ||
76 | +#define D2S_SKILL_48 "Nova" | ||
77 | +#define D2S_SKILL_49 "Lightning" | ||
78 | +#define D2S_SKILL_50 "Shiver Armor" | ||
79 | +#define D2S_SKILL_51 "Fire Wall" | ||
80 | +#define D2S_SKILL_52 "Enchant" | ||
81 | +#define D2S_SKILL_53 "Chain Lightning" | ||
82 | +#define D2S_SKILL_54 "Teleport" | ||
83 | +#define D2S_SKILL_55 "Glacial Spike" | ||
84 | +#define D2S_SKILL_56 "Meteor" | ||
85 | +#define D2S_SKILL_57 "Thunder Storm" | ||
86 | +#define D2S_SKILL_58 "Energy Shield" | ||
87 | +#define D2S_SKILL_59 "Blizzard" | ||
88 | +#define D2S_SKILL_60 "Chilling Armor" | ||
89 | +#define D2S_SKILL_61 "Fire Mastery" | ||
90 | +#define D2S_SKILL_62 "Hydra" | ||
91 | +#define D2S_SKILL_63 "Lightning Mastery" | ||
92 | +#define D2S_SKILL_64 "Frozen Orb" | ||
93 | +#define D2S_SKILL_65 "Cold Mastery" | ||
94 | +#define D2S_SKILL_66 "Amplify Damage" | ||
95 | +#define D2S_SKILL_67 "Teeth" | ||
96 | +#define D2S_SKILL_68 "Bone Armor" | ||
97 | +#define D2S_SKILL_69 "Skeleton Mastery" | ||
98 | +#define D2S_SKILL_70 "Raise Skeleton" | ||
99 | +#define D2S_SKILL_71 "Dim Vision" | ||
100 | +#define D2S_SKILL_72 "Weaken" | ||
101 | +#define D2S_SKILL_73 "Poison Dagger" | ||
102 | +#define D2S_SKILL_74 "Corpse Explosion" | ||
103 | +#define D2S_SKILL_75 "Clay Golem" | ||
104 | +#define D2S_SKILL_76 "Iron Maiden" | ||
105 | +#define D2S_SKILL_77 "Terror" | ||
106 | +#define D2S_SKILL_78 "Bone Wall" | ||
107 | +#define D2S_SKILL_79 "Golem Mastery" | ||
108 | +#define D2S_SKILL_80 "Raise Skeletal Mage" | ||
109 | +#define D2S_SKILL_81 "Confuse" | ||
110 | +#define D2S_SKILL_82 "Life Tap" | ||
111 | +#define D2S_SKILL_83 "Poison Explosion" | ||
112 | +#define D2S_SKILL_84 "Bone Spear" | ||
113 | +#define D2S_SKILL_85 "Blood Golem" | ||
114 | +#define D2S_SKILL_86 "Attract" | ||
115 | +#define D2S_SKILL_87 "Decrepify" | ||
116 | +#define D2S_SKILL_88 "Bone Prison" | ||
117 | +#define D2S_SKILL_89 "Summon Resist" | ||
118 | +#define D2S_SKILL_90 "Iron Golem" | ||
119 | +#define D2S_SKILL_91 "Lower Resist" | ||
120 | +#define D2S_SKILL_92 "Poison Nova" | ||
121 | +#define D2S_SKILL_93 "Bone Spirit" | ||
122 | +#define D2S_SKILL_94 "Fire Golem" | ||
123 | +#define D2S_SKILL_95 "Revive" | ||
124 | +#define D2S_SKILL_96 "Sacrifice" | ||
125 | +#define D2S_SKILL_97 "Smite" | ||
126 | +#define D2S_SKILL_98 "Might" | ||
127 | +#define D2S_SKILL_99 "Prayer" | ||
128 | +#define D2S_SKILL_100 "Resist Fire" | ||
129 | +#define D2S_SKILL_101 "Holy Bolt" | ||
130 | +#define D2S_SKILL_102 "Holy Fire" | ||
131 | +#define D2S_SKILL_103 "Thorns" | ||
132 | +#define D2S_SKILL_104 "Defiance" | ||
133 | +#define D2S_SKILL_105 "Resist Cold" | ||
134 | +#define D2S_SKILL_106 "Zeal" | ||
135 | +#define D2S_SKILL_107 "Charge" | ||
136 | +#define D2S_SKILL_108 "Blessed Aim" | ||
137 | +#define D2S_SKILL_109 "Cleansing" | ||
138 | +#define D2S_SKILL_110 "Resist Lightning" | ||
139 | +#define D2S_SKILL_111 "Vengeance" | ||
140 | +#define D2S_SKILL_112 "Blessed Hammer" | ||
141 | +#define D2S_SKILL_113 "Concentration" | ||
142 | +#define D2S_SKILL_114 "Holy Freeze" | ||
143 | +#define D2S_SKILL_115 "Vigor" | ||
144 | +#define D2S_SKILL_116 "Conversion" | ||
145 | +#define D2S_SKILL_117 "Holy Shield" | ||
146 | +#define D2S_SKILL_118 "Holy Shock" | ||
147 | +#define D2S_SKILL_119 "Sanctuary" | ||
148 | +#define D2S_SKILL_120 "Meditation" | ||
149 | +#define D2S_SKILL_121 "Fist Of The Heavens" | ||
150 | +#define D2S_SKILL_122 "Fanaticism" | ||
151 | +#define D2S_SKILL_123 "Conviction" | ||
152 | +#define D2S_SKILL_124 "Redemption" | ||
153 | +#define D2S_SKILL_125 "Salvation" | ||
154 | +#define D2S_SKILL_126 "Bash" | ||
155 | +#define D2S_SKILL_127 "Sword mastery" | ||
156 | +#define D2S_SKILL_128 "Axe mastery" | ||
157 | +#define D2S_SKILL_129 "Mace mastery" | ||
158 | +#define D2S_SKILL_130 "Howl" | ||
159 | +#define D2S_SKILL_131 "Find Potion" | ||
160 | +#define D2S_SKILL_132 "Leap" | ||
161 | +#define D2S_SKILL_133 "Double Swing" | ||
162 | +#define D2S_SKILL_134 "Pole Arm Mastery" | ||
163 | +#define D2S_SKILL_135 "Throwing Mastery" | ||
164 | +#define D2S_SKILL_136 "Spear Mastery" | ||
165 | +#define D2S_SKILL_137 "Taunt" | ||
166 | +#define D2S_SKILL_138 "Shout" | ||
167 | +#define D2S_SKILL_139 "Stun" | ||
168 | +#define D2S_SKILL_140 "Double Throw" | ||
169 | +#define D2S_SKILL_141 "Increased Stamina" | ||
170 | +#define D2S_SKILL_142 "Find Item" | ||
171 | +#define D2S_SKILL_143 "Leap Attack" | ||
172 | +#define D2S_SKILL_144 "Concentrate" | ||
173 | +#define D2S_SKILL_145 "Iron Skin" | ||
174 | +#define D2S_SKILL_146 "Battle Cry" | ||
175 | +#define D2S_SKILL_147 "Frenzy" | ||
176 | +#define D2S_SKILL_148 "Increased Speed" | ||
177 | +#define D2S_SKILL_149 "Battle Orders" | ||
178 | +#define D2S_SKILL_150 "Grim Ward" | ||
179 | +#define D2S_SKILL_151 "Whirlwind" | ||
180 | +#define D2S_SKILL_152 "Berserk" | ||
181 | +#define D2S_SKILL_153 "Natural Resistance" | ||
182 | +#define D2S_SKILL_154 "War Cry" | ||
183 | +#define D2S_SKILL_155 "Battle Command" | ||
184 | +#define D2S_SKILL_156 "Fire Hit" | ||
185 | +#define D2S_SKILL_157 "Unholy Bolt" | ||
186 | +#define D2S_SKILL_158 "Skeleton Raise" | ||
187 | +#define D2S_SKILL_159 "Maggot Egg" | ||
188 | +#define D2S_SKILL_160 "Shaman Fire" | ||
189 | +#define D2S_SKILL_161 "Magottup" | ||
190 | +#define D2S_SKILL_162 "Magottdown" | ||
191 | +#define D2S_SKILL_163 "Magottlay" | ||
192 | +#define D2S_SKILL_164 "Andrial Spray" | ||
193 | +#define D2S_SKILL_165 "Jump" | ||
194 | +#define D2S_SKILL_166 "Swarm_move" | ||
195 | +#define D2S_SKILL_167 "Nest" | ||
196 | +#define D2S_SKILL_168 "Quick Strike" | ||
197 | +#define D2S_SKILL_169 "Vampire Fireball" | ||
198 | +#define D2S_SKILL_170 "Vampire Firewall" | ||
199 | +#define D2S_SKILL_171 "Vampire Meteor" | ||
200 | +#define D2S_SKILL_172 "Gargoyle Trap" | ||
201 | +#define D2S_SKILL_173 "Spider Lay" | ||
202 | +#define D2S_SKILL_174 "Vampire Heal" | ||
203 | +#define D2S_SKILL_175 "Vampire Raise" | ||
204 | +#define D2S_SKILL_176 "Submerge" | ||
205 | +#define D2S_SKILL_177 "Fetish Aura" | ||
206 | +#define D2S_SKILL_178 "Fetish Inferno" | ||
207 | +#define D2S_SKILL_179 "Zakarum Heal" | ||
208 | +#define D2S_SKILL_180 "Emerge" | ||
209 | +#define D2S_SKILL_181 "Resurrect" | ||
210 | +#define D2S_SKILL_182 "Bestow" | ||
211 | +#define D2S_SKILL_183 "Missile Skill1" | ||
212 | +#define D2S_SKILL_184 "Mon Teleport" | ||
213 | +#define D2S_SKILL_185 "Prime Lightning" | ||
214 | +#define D2S_SKILL_186 "Prime Bolt" | ||
215 | +#define D2S_SKILL_187 "Prime Blaze" | ||
216 | +#define D2S_SKILL_188 "Prime Firewall" | ||
217 | +#define D2S_SKILL_189 "Prime Spike" | ||
218 | +#define D2S_SKILL_190 "Prime Ice Nova" | ||
219 | +#define D2S_SKILL_191 "Prime Poison Ball" | ||
220 | +#define D2S_SKILL_192 "Prime Poison Nova" | ||
221 | +#define D2S_SKILL_193 "Diablight" | ||
222 | +#define D2S_SKILL_194 "Diabcold" | ||
223 | +#define D2S_SKILL_195 "Diabfire" | ||
224 | +#define D2S_SKILL_196 "Fingermagespider" | ||
225 | +#define D2S_SKILL_197 "Diabwall" | ||
226 | +#define D2S_SKILL_198 "Diabrun" | ||
227 | +#define D2S_SKILL_199 "Diabprison" | ||
228 | +#define D2S_SKILL_200 "Poison Ball Trap" | ||
229 | +#define D2S_SKILL_201 "Andy Poison Bolt" | ||
230 | +#define D2S_SKILL_202 "Hireable Missile" | ||
231 | +#define D2S_SKILL_203 "Desert Turret" | ||
232 | +#define D2S_SKILL_204 "Arcane Tower" | ||
233 | +#define D2S_SKILL_205 "Monblizzard" | ||
234 | +#define D2S_SKILL_206 "Mosquito" | ||
235 | +#define D2S_SKILL_207 "Cursed Ball Trap Right" | ||
236 | +#define D2S_SKILL_208 "Cursed Ball Trap Left" | ||
237 | +#define D2S_SKILL_209 "Monfrozenarmor" | ||
238 | +#define D2S_SKILL_210 "Monbonearmor" | ||
239 | +#define D2S_SKILL_211 "Monbonespirit" | ||
240 | +#define D2S_SKILL_212 "Moncursecast" | ||
241 | +#define D2S_SKILL_213 "Hellmeteor" | ||
242 | +#define D2S_SKILL_214 "Regurgitatoreat" | ||
243 | +#define D2S_SKILL_215 "Monfrenzy" | ||
244 | +#define D2S_SKILL_216 "Queendeath" | ||
245 | +#define D2S_SKILL_217 "Scroll Of Identify" | ||
246 | +#define D2S_SKILL_218 "Book Of Identify" | ||
247 | +#define D2S_SKILL_219 "Scroll Of Townportal" | ||
248 | +#define D2S_SKILL_220 "Book Of Townportal" | ||
249 | +#define D2S_SKILL_221 "Raven" | ||
250 | +#define D2S_SKILL_222 "Poison Creeper" | ||
251 | +#define D2S_SKILL_223 "Wearwolf" | ||
252 | +#define D2S_SKILL_224 "Shape Shifting" | ||
253 | +#define D2S_SKILL_225 "Firestorm" | ||
254 | +#define D2S_SKILL_226 "Oak Sage" | ||
255 | +#define D2S_SKILL_227 "Summon Spirit Wolf" | ||
256 | +#define D2S_SKILL_228 "Wearbear" | ||
257 | +#define D2S_SKILL_229 "Molten Boulder" | ||
258 | +#define D2S_SKILL_230 "Arctic Blast" | ||
259 | +#define D2S_SKILL_231 "Cycle Of Life" | ||
260 | +#define D2S_SKILL_232 "Feral Rage" | ||
261 | +#define D2S_SKILL_233 "Maul" | ||
262 | +#define D2S_SKILL_234 "Eruption" | ||
263 | +#define D2S_SKILL_235 "Cyclone Armor" | ||
264 | +#define D2S_SKILL_236 "Heart Of Wolverine" | ||
265 | +#define D2S_SKILL_237 "Summon Fenris" | ||
266 | +#define D2S_SKILL_238 "Rabies" | ||
267 | +#define D2S_SKILL_239 "Fire Claws" | ||
268 | +#define D2S_SKILL_240 "Twister" | ||
269 | +#define D2S_SKILL_241 "Vines" | ||
270 | +#define D2S_SKILL_242 "Hunger" | ||
271 | +#define D2S_SKILL_243 "Shock Wave" | ||
272 | +#define D2S_SKILL_244 "Volcano" | ||
273 | +#define D2S_SKILL_245 "Tornado" | ||
274 | +#define D2S_SKILL_246 "Spirit Of Barbs" | ||
275 | +#define D2S_SKILL_247 "Summon Grizzly" | ||
276 | +#define D2S_SKILL_248 "Fury" | ||
277 | +#define D2S_SKILL_249 "Armageddon" | ||
278 | +#define D2S_SKILL_250 "Hurricane" | ||
279 | +#define D2S_SKILL_251 "Fire Blast" | ||
280 | +#define D2S_SKILL_252 "Claw Mastery" | ||
281 | +#define D2S_SKILL_253 "Psychic Hammer" | ||
282 | +#define D2S_SKILL_254 "Tiger Strike" | ||
283 | +#define D2S_SKILL_255 "Dragon Talon" | ||
284 | +#define D2S_SKILL_256 "Shock Field" | ||
285 | +#define D2S_SKILL_257 "Blade Sentinel" | ||
286 | +#define D2S_SKILL_258 "Quickness" | ||
287 | +#define D2S_SKILL_259 "Fists Of Fire" | ||
288 | +#define D2S_SKILL_260 "Dragon Claw" | ||
289 | +#define D2S_SKILL_261 "Charged Bolt Sentry" | ||
290 | +#define D2S_SKILL_262 "Wake Of Fire Sentry" | ||
291 | +#define D2S_SKILL_263 "Weapon Block" | ||
292 | +#define D2S_SKILL_264 "Cloak Of Shadows" | ||
293 | +#define D2S_SKILL_265 "Cobra Strike" | ||
294 | +#define D2S_SKILL_266 "Blade Fury" | ||
295 | +#define D2S_SKILL_267 "Fade" | ||
296 | +#define D2S_SKILL_268 "Shadow Warrior" | ||
297 | +#define D2S_SKILL_269 "Claws Of Thunder" | ||
298 | +#define D2S_SKILL_270 "Dragon Tail" | ||
299 | +#define D2S_SKILL_271 "Lightning Sentry" | ||
300 | +#define D2S_SKILL_272 "Inferno Sentry" | ||
301 | +#define D2S_SKILL_273 "Mind Blast" | ||
302 | +#define D2S_SKILL_274 "Blades Of Ice" | ||
303 | +#define D2S_SKILL_275 "Dragon Flight" | ||
304 | +#define D2S_SKILL_276 "Death Sentry" | ||
305 | +#define D2S_SKILL_277 "Blade Shield" | ||
306 | +#define D2S_SKILL_278 "Venom" | ||
307 | +#define D2S_SKILL_279 "Shadow Master" | ||
308 | +#define D2S_SKILL_280 "Royal Strike" | ||
309 | +#define D2S_SKILL_281 "Wake Of Destruction Sentry" | ||
310 | +#define D2S_SKILL_282 "Imp Inferno" | ||
311 | +#define D2S_SKILL_283 "Imp Fireball" | ||
312 | +#define D2S_SKILL_284 "Baal Taunt" | ||
313 | +#define D2S_SKILL_285 "Baal Corpse Explode" | ||
314 | +#define D2S_SKILL_286 "Baal Monster Spawn" | ||
315 | +#define D2S_SKILL_287 "Catapult Charged Ball" | ||
316 | +#define D2S_SKILL_288 "Catapult Spike Ball" | ||
317 | +#define D2S_SKILL_289 "Suck Blood" | ||
318 | +#define D2S_SKILL_290 "Cry Help" | ||
319 | +#define D2S_SKILL_291 "Healing Vortex" | ||
320 | +#define D2S_SKILL_292 "Teleport 2" | ||
321 | +#define D2S_SKILL_293 "Self Resurrect" | ||
322 | +#define D2S_SKILL_294 "Vine Attack" | ||
323 | +#define D2S_SKILL_295 "Overseer Whip" | ||
324 | +#define D2S_SKILL_296 "Barbs Aura" | ||
325 | +#define D2S_SKILL_297 "Wolverine Aura" | ||
326 | +#define D2S_SKILL_298 "Oak Sage Aura" | ||
327 | +#define D2S_SKILL_299 "Imp Fire Missile" | ||
328 | +#define D2S_SKILL_300 "Impregnate" | ||
329 | +#define D2S_SKILL_301 "Siege Beast Stomp" | ||
330 | +#define D2S_SKILL_302 "Minionspawner" | ||
331 | +#define D2S_SKILL_303 "Catapultblizzard" | ||
332 | +#define D2S_SKILL_304 "Catapultplague" | ||
333 | +#define D2S_SKILL_305 "Catapultmeteor" | ||
334 | +#define D2S_SKILL_306 "Boltsentry" | ||
335 | +#define D2S_SKILL_307 "Corpsecycler" | ||
336 | +#define D2S_SKILL_308 "Deathmaul" | ||
337 | +#define D2S_SKILL_309 "Defense Curse" | ||
338 | +#define D2S_SKILL_310 "Blood Mana" | ||
339 | +#define D2S_SKILL_311 "Mon Inferno Sentry" | ||
340 | +#define D2S_SKILL_312 "Mon Death Sentry" | ||
341 | +#define D2S_SKILL_313 "Sentry Lightning" | ||
342 | +#define D2S_SKILL_314 "Fenris Rage" | ||
343 | +#define D2S_SKILL_315 "Baal Tentacle" | ||
344 | +#define D2S_SKILL_316 "Baal Nova" | ||
345 | +#define D2S_SKILL_317 "Baal Inferno" | ||
346 | +#define D2S_SKILL_318 "Baal Cold Missiles" | ||
347 | +#define D2S_SKILL_319 "Mega Demon Inferno" | ||
348 | +#define D2S_SKILL_320 "Evil Hut Spawner" | ||
349 | +#define D2S_SKILL_321 "Countess Firewall" | ||
350 | +#define D2S_SKILL_322 "Impbolt" | ||
351 | +#define D2S_SKILL_323 "Horror Arctic Blast" | ||
352 | +#define D2S_SKILL_324 "Death Sentry Ltng" | ||
353 | +#define D2S_SKILL_325 "Vinecycler" | ||
354 | +#define D2S_SKILL_326 "Bearsmite" | ||
355 | +#define D2S_SKILL_327 "Resurrect2" | ||
356 | +#define D2S_SKILL_328 "Bloodlord Frenzy" | ||
357 | +#define D2S_SKILL_329 "Baal Teleport" | ||
358 | +#define D2S_SKILL_330 "Imp Teleport" | ||
359 | +#define D2S_SKILL_331 "Baal Clone Teleport" | ||
360 | +#define D2S_SKILL_332 "Zakarum Lightning" | ||
361 | +#define D2S_SKILL_333 "Vampire Missile" | ||
362 | +#define D2S_SKILL_334 "Mephisto Missile" | ||
363 | +#define D2S_SKILL_335 "Doom Knight Missile" | ||
364 | +#define D2S_SKILL_336 "Rogue Missile" | ||
365 | +#define D2S_SKILL_337 "Hydra Missile" | ||
366 | +#define D2S_SKILL_338 "Necro Mage Missile" | ||
367 | +#define D2S_SKILL_339 "Monbow" | ||
368 | +#define D2S_SKILL_340 "Monfirearrow" | ||
369 | +#define D2S_SKILL_341 "Moncoldarrow" | ||
370 | +#define D2S_SKILL_342 "Monexplodingarrow" | ||
371 | +#define D2S_SKILL_343 "Monfreezingarrow" | ||
372 | +#define D2S_SKILL_344 "Monpowerstrike" | ||
373 | +#define D2S_SKILL_345 "Succubusbolt" | ||
374 | +#define D2S_SKILL_346 "Mephfrostnova" | ||
375 | +#define D2S_SKILL_347 "Monicespear" | ||
376 | +#define D2S_SKILL_348 "Shaman Ice" | ||
377 | +#define D2S_SKILL_349 "Diablogeddon" | ||
378 | +#define D2S_SKILL_350 "Delerium Change" | ||
379 | +#define D2S_SKILL_351 "Nihlathak Corpse Explosion" | ||
380 | +#define D2S_SKILL_352 "Serpent Charge" | ||
381 | +#define D2S_SKILL_353 "Trap Nova" | ||
382 | +#define D2S_SKILL_354 "Unholy Boltex" | ||
383 | +#define D2S_SKILL_355 "Shaman Fireex" | ||
384 | +#define D2S_SKILL_356 "Imp Fire Missile Ex" | ||
385 | + | ||
386 | +// Mercenary data | ||
387 | +#define D2S_MERC_NAME_0 "Aliza" | ||
388 | +#define D2S_MERC_NAME_1 "Amplisa" | ||
389 | +#define D2S_MERC_NAME_2 "Annor" | ||
390 | +#define D2S_MERC_NAME_3 "Abhaya" | ||
391 | +#define D2S_MERC_NAME_4 "Elly" | ||
392 | +#define D2S_MERC_NAME_5 "Paige" | ||
393 | +#define D2S_MERC_NAME_6 "Basanti" | ||
394 | +#define D2S_MERC_NAME_7 "Blaise" | ||
395 | +#define D2S_MERC_NAME_8 "Kyoko" | ||
396 | +#define D2S_MERC_NAME_9 "Klaudia" | ||
397 | +#define D2S_MERC_NAME_10 "Kundri" | ||
398 | +#define D2S_MERC_NAME_11 "Kyle" | ||
399 | +#define D2S_MERC_NAME_12 "Visala" | ||
400 | +#define D2S_MERC_NAME_13 "Elexa" | ||
401 | +#define D2S_MERC_NAME_14 "Floria" | ||
402 | +#define D2S_MERC_NAME_15 "Fiona" | ||
403 | +#define D2S_MERC_NAME_16 "Gwinni" | ||
404 | +#define D2S_MERC_NAME_17 "Gaile" | ||
405 | +#define D2S_MERC_NAME_18 "Hannah" | ||
406 | +#define D2S_MERC_NAME_19 "Heather" | ||
407 | +#define D2S_MERC_NAME_20 "Iantha" | ||
408 | +#define D2S_MERC_NAME_21 "Diane" | ||
409 | +#define D2S_MERC_NAME_22 "Isolde" | ||
410 | +#define D2S_MERC_NAME_23 "Divo" | ||
411 | +#define D2S_MERC_NAME_24 "Ithera" | ||
412 | +#define D2S_MERC_NAME_25 "Itonya" | ||
413 | +#define D2S_MERC_NAME_26 "Liene" | ||
414 | +#define D2S_MERC_NAME_27 "Maeko" | ||
415 | +#define D2S_MERC_NAME_28 "Mahala" | ||
416 | +#define D2S_MERC_NAME_29 "Liaza" | ||
417 | +#define D2S_MERC_NAME_30 "Meghan" | ||
418 | +#define D2S_MERC_NAME_31 "Olena" | ||
419 | +#define D2S_MERC_NAME_32 "Oriana" | ||
420 | +#define D2S_MERC_NAME_33 "Ryann" | ||
421 | +#define D2S_MERC_NAME_34 "Rozene" | ||
422 | +#define D2S_MERC_NAME_35 "Raissa" | ||
423 | +#define D2S_MERC_NAME_36 "Sharyn" | ||
424 | +#define D2S_MERC_NAME_37 "Shikha" | ||
425 | +#define D2S_MERC_NAME_38 "Debi" | ||
426 | +#define D2S_MERC_NAME_39 "Tylena" | ||
427 | +#define D2S_MERC_NAME_40 "Wendy" | ||
428 | +#define D2S_MERC_NAME_41 "Hazade" | ||
429 | +#define D2S_MERC_NAME_42 "Alhizeer" | ||
430 | +#define D2S_MERC_NAME_43 "Azrael" | ||
431 | +#define D2S_MERC_NAME_44 "Ahsab" | ||
432 | +#define D2S_MERC_NAME_45 "Chalan" | ||
433 | +#define D2S_MERC_NAME_46 "Haseen" | ||
434 | +#define D2S_MERC_NAME_47 "Razan" | ||
435 | +#define D2S_MERC_NAME_48 "Emilio" | ||
436 | +#define D2S_MERC_NAME_49 "Pratham" | ||
437 | +#define D2S_MERC_NAME_50 "Fazel" | ||
438 | +#define D2S_MERC_NAME_51 "Jemali" | ||
439 | +#define D2S_MERC_NAME_52 "Kasim" | ||
440 | +#define D2S_MERC_NAME_53 "Gulzar" | ||
441 | +#define D2S_MERC_NAME_54 "Mizan" | ||
442 | +#define D2S_MERC_NAME_55 "Leharas" | ||
443 | +#define D2S_MERC_NAME_56 "Durga" | ||
444 | +#define D2S_MERC_NAME_57 "Neeraj" | ||
445 | +#define D2S_MERC_NAME_58 "Ilzan" | ||
446 | +#define D2S_MERC_NAME_59 "Zanarhi" | ||
447 | +#define D2S_MERC_NAME_60 "Waheed" | ||
448 | +#define D2S_MERC_NAME_61 "Vikhyat" | ||
449 | +#define D2S_MERC_NAME_62 "Jelani" | ||
450 | +#define D2S_MERC_NAME_63 "Barani" | ||
451 | +#define D2S_MERC_NAME_64 "Jabari" | ||
452 | +#define D2S_MERC_NAME_65 "Devak" | ||
453 | +#define D2S_MERC_NAME_66 "Raldin" | ||
454 | +#define D2S_MERC_NAME_67 "Telash" | ||
455 | +#define D2S_MERC_NAME_68 "Ajheed" | ||
456 | +#define D2S_MERC_NAME_69 "Narphet" | ||
457 | +#define D2S_MERC_NAME_70 "Khaleel" | ||
458 | +#define D2S_MERC_NAME_71 "Phaet" | ||
459 | +#define D2S_MERC_NAME_72 "Geshef" | ||
460 | +#define D2S_MERC_NAME_73 "Vanji" | ||
461 | +#define D2S_MERC_NAME_74 "Haphet" | ||
462 | +#define D2S_MERC_NAME_75 "Thadar" | ||
463 | +#define D2S_MERC_NAME_76 "Yatiraj" | ||
464 | +#define D2S_MERC_NAME_77 "Rhadge" | ||
465 | +#define D2S_MERC_NAME_78 "Yashied" | ||
466 | +#define D2S_MERC_NAME_79 "Jarulf" | ||
467 | +#define D2S_MERC_NAME_80 "Flux" | ||
468 | +#define D2S_MERC_NAME_81 "Scorch" | ||
469 | +#define D2S_MERC_NAME_82 "Varaya" | ||
470 | +#define D2S_MERC_NAME_83 "Khan" | ||
471 | +#define D2S_MERC_NAME_84 "Klisk" | ||
472 | +#define D2S_MERC_NAME_85 "Bors" | ||
473 | +#define D2S_MERC_NAME_86 "Brom" | ||
474 | +#define D2S_MERC_NAME_87 "Wiglaf" | ||
475 | +#define D2S_MERC_NAME_88 "Hrothgar" | ||
476 | +#define D2S_MERC_NAME_89 "Scyld" | ||
477 | +#define D2S_MERC_NAME_90 "Healfdane" | ||
478 | +#define D2S_MERC_NAME_91 "Heorogar" | ||
479 | +#define D2S_MERC_NAME_92 "Halgaunt" | ||
480 | +#define D2S_MERC_NAME_93 "Hygelac" | ||
481 | +#define D2S_MERC_NAME_94 "Egtheow" | ||
482 | +#define D2S_MERC_NAME_95 "Bohdan" | ||
483 | +#define D2S_MERC_NAME_96 "Wulfgar" | ||
484 | +#define D2S_MERC_NAME_97 "Hild" | ||
485 | +#define D2S_MERC_NAME_98 "Heatholaf" | ||
486 | +#define D2S_MERC_NAME_99 "Weder" | ||
487 | +#define D2S_MERC_NAME_100 "Vikhyat" | ||
488 | +#define D2S_MERC_NAME_101 "Unferth" | ||
489 | +#define D2S_MERC_NAME_102 "Sigemund" | ||
490 | +#define D2S_MERC_NAME_103 "Heremod" | ||
491 | +#define D2S_MERC_NAME_104 "Hengest" | ||
492 | +#define D2S_MERC_NAME_105 "Folcwald" | ||
493 | +#define D2S_MERC_NAME_106 "Frisian" | ||
494 | +#define D2S_MERC_NAME_107 "Hnaef" | ||
495 | +#define D2S_MERC_NAME_108 "Guthlaf" | ||
496 | +#define D2S_MERC_NAME_109 "Oslaf" | ||
497 | +#define D2S_MERC_NAME_110 "Yrmenlaf" | ||
498 | +#define D2S_MERC_NAME_111 "Garmund" | ||
499 | +#define D2S_MERC_NAME_112 "Freawaru" | ||
500 | +#define D2S_MERC_NAME_113 "Eadgils" | ||
501 | +#define D2S_MERC_NAME_114 "Onela" | ||
502 | +#define D2S_MERC_NAME_115 "Damien" | ||
503 | +#define D2S_MERC_NAME_116 "Erfor" | ||
504 | +#define D2S_MERC_NAME_117 "Weohstan" | ||
505 | +#define D2S_MERC_NAME_118 "Wulf" | ||
506 | +#define D2S_MERC_NAME_119 "Bulwye" | ||
507 | +#define D2S_MERC_NAME_120 "Lief" | ||
508 | +#define D2S_MERC_NAME_121 "Magnus" | ||
509 | +#define D2S_MERC_NAME_122 "Klatu" | ||
510 | +#define D2S_MERC_NAME_123 "Drus" | ||
511 | +#define D2S_MERC_NAME_124 "Hoku" | ||
512 | +#define D2S_MERC_NAME_125 "Kord" | ||
513 | +#define D2S_MERC_NAME_126 "Uther" | ||
514 | +#define D2S_MERC_NAME_127 "Ip" | ||
515 | +#define D2S_MERC_NAME_128 "Ulf" | ||
516 | +#define D2S_MERC_NAME_129 "Tharr" | ||
517 | +#define D2S_MERC_NAME_130 "Kaelim" | ||
518 | +#define D2S_MERC_NAME_131 "Ulric" | ||
519 | +#define D2S_MERC_NAME_132 "Alaric" | ||
520 | +#define D2S_MERC_NAME_133 "Ethelred" | ||
521 | +#define D2S_MERC_NAME_134 "Caden" | ||
522 | +#define D2S_MERC_NAME_135 "Elgifu" | ||
523 | +#define D2S_MERC_NAME_136 "Tostig" | ||
524 | +#define D2S_MERC_NAME_137 "Alcuin" | ||
525 | +#define D2S_MERC_NAME_138 "Emund" | ||
526 | +#define D2S_MERC_NAME_139 "Sigurd" | ||
527 | +#define D2S_MERC_NAME_140 "Gorm" | ||
528 | +#define D2S_MERC_NAME_141 "Hollis" | ||
529 | +#define D2S_MERC_NAME_142 "Ragnar" | ||
530 | +#define D2S_MERC_NAME_143 "Torkel" | ||
531 | +#define D2S_MERC_NAME_144 "Wulfstan" | ||
532 | +#define D2S_MERC_NAME_145 "Alban" | ||
533 | +#define D2S_MERC_NAME_146 "Barloc" | ||
534 | +#define D2S_MERC_NAME_147 "Bill" | ||
535 | +#define D2S_MERC_NAME_148 "Theodoric" | ||
536 | + | ||
537 | +#define D2S_MERC_ID_0 "Rogue Scout Fire Arrow [Normal" | ||
538 | +#define D2S_MERC_ID_1 "Rogue Scout Cold Arrow [Normal" | ||
539 | +#define D2S_MERC_ID_2 "Rogue Scout Fire Arrow [Nightmare]" | ||
540 | +#define D2S_MERC_ID_3 "Rogue Scout Cold Arrow [Nightmare]" | ||
541 | +#define D2S_MERC_ID_4 "Rogue Scout Fire Arrow [Hell]" | ||
542 | +#define D2S_MERC_ID_5 "Rogue Scout Cold Arrow [Hell]" | ||
543 | +#define D2S_MERC_ID_6 "Desert Mercenary Combat [Normal]" | ||
544 | +#define D2S_MERC_ID_7 "Desert Mercenary Defensive [Normal]" | ||
545 | +#define D2S_MERC_ID_8 "Desert Mercenary Offensive [Normal]" | ||
546 | +#define D2S_MERC_ID_9 "Desert Mercenary Combat [Nightmare]" | ||
547 | +#define D2S_MERC_ID_10 "Desert Mercenary Defensive [Nightmare]" | ||
548 | +#define D2S_MERC_ID_11 "Desert Mercenary Offensive [Nightmare]" | ||
549 | +#define D2S_MERC_ID_12 "Desert Mercenary Combat [Hell]" | ||
550 | +#define D2S_MERC_ID_13 "Desert Mercenary Defensive [Hell]" | ||
551 | +#define D2S_MERC_ID_14 "Desert Mercenary Offensive [Hell]" | ||
552 | +#define D2S_MERC_ID_15 "Eastern Sorceror Fire Spells [Normal]" | ||
553 | +#define D2S_MERC_ID_16 "Eastern Sorceror Cold Spells [Normal]" | ||
554 | +#define D2S_MERC_ID_17 "Eastern Sorceror Lightning Spells [Normal]" | ||
555 | +#define D2S_MERC_ID_18 "Eastern Sorceror Fire Spells [Nightmare]" | ||
556 | +#define D2S_MERC_ID_19 "Eastern Sorceror Cold Spells [Nightmare]" | ||
557 | +#define D2S_MERC_ID_20 "Eastern Sorceror Lightning Spells [Nightmare]" | ||
558 | +#define D2S_MERC_ID_21 "Eastern Sorceror Fire Spells [Hell]" | ||
559 | +#define D2S_MERC_ID_22 "Eastern Sorceror Cold Spells [Hell]" | ||
560 | +#define D2S_MERC_ID_23 "Eastern Sorceror Lightning Spells [Hell]" | ||
561 | +#define D2S_MERC_ID_24 "Barbarian [Normal]" | ||
562 | +#define D2S_MERC_ID_25 "Barbarian [Normal]" | ||
563 | +#define D2S_MERC_ID_26 "Barbarian [Nightmare]" | ||
564 | +#define D2S_MERC_ID_27 "Barbarian [Nightmare]" | ||
565 | +#define D2S_MERC_ID_28 "Barbarian [Hell]" | ||
566 | +#define D2S_MERC_ID_29 "Barbarian [Hell]" | ||
567 | + | ||
26 | #endif | 568 | #endif |
27 | \ No newline at end of file | 569 | \ No newline at end of file |