Commit 709d1963d726beafd70f51a51c8f9798622c03e5
1 parent
24639c04
Fixed stat calculation. Started adding some item identifiers
Showing
5 changed files
with
664 additions
and
16 deletions
d2stat.c
@@ -3,26 +3,23 @@ | @@ -3,26 +3,23 @@ | ||
3 | #include <stdio.h> | 3 | #include <stdio.h> |
4 | #include <string.h> | 4 | #include <string.h> |
5 | 5 | ||
6 | +#define readBits(data, start, size) ((*((uint64_t*) &data[(start) / 8]) >> ((start) & 7)) & ((1 << (size)) - 1)) | ||
7 | + | ||
6 | // Internal function, gives the offset ***IN BITS, NOT BYTES*** of the specified stat | 8 | // Internal function, gives the offset ***IN BITS, NOT BYTES*** of the specified stat |
7 | unsigned long long int _searchStat(D2S_STAT stat, void* charData, size_t dataLen) { | 9 | unsigned long long int _searchStat(D2S_STAT stat, void* charData, size_t dataLen) { |
8 | if(!strncmp(charData, D2S_STAT_HEADER, D2S_STAT_HEADER_LENGTH)) { | 10 | if(!strncmp(charData, D2S_STAT_HEADER, D2S_STAT_HEADER_LENGTH)) { |
9 | fprintf(stderr,"libd2char error: Stat header not present in charData\n"); | 11 | fprintf(stderr,"libd2char error: Stat header not present in charData\n"); |
10 | return 0; | 12 | return 0; |
11 | } | 13 | } |
12 | - unsigned long long int byteOffset = D2S_STAT_HEADER_LENGTH; | ||
13 | - unsigned long long int bitOffset = 0; | ||
14 | - while(byteOffset < dataLen) { | ||
15 | - uint16_t statID = 0; | ||
16 | - memcpy(&statID, charData + byteOffset, sizeof(statID)); | ||
17 | - statID >>= bitOffset; | ||
18 | - statID &= 0x1FF; | 14 | + unsigned long long int offset = D2S_STAT_HEADER_LENGTH * 8; |
15 | + while(offset < (dataLen * 8)) { | ||
16 | + uint64_t statID = readBits(charData, offset, D2S_STAT_IDENTIFIER_BIT_LENGTH); | ||
19 | if(statID == D2S_STAT_FOOTER) { | 17 | if(statID == D2S_STAT_FOOTER) { |
20 | break; | 18 | break; |
21 | } else if(statID == stat) { | 19 | } else if(statID == stat) { |
22 | - return (byteOffset * 8) + bitOffset; | 20 | + return offset + D2S_STAT_IDENTIFIER_BIT_LENGTH; |
23 | } | 21 | } |
24 | - byteOffset += statCost[statID] / 8; | ||
25 | - bitOffset += statCost[statID] % 8; | 22 | + offset += D2S_STAT_IDENTIFIER_BIT_LENGTH + statCost[statID]; |
26 | } | 23 | } |
27 | return 0; | 24 | return 0; |
28 | } | 25 | } |
@@ -33,10 +30,7 @@ int getStat(D2S_STAT stat, unsigned int* value, void* charData, size_t dataLen) | @@ -33,10 +30,7 @@ int getStat(D2S_STAT stat, unsigned int* value, void* charData, size_t dataLen) | ||
33 | fprintf(stderr,"libd2char error: Unable to find attribute: %d\n", stat); | 30 | fprintf(stderr,"libd2char error: Unable to find attribute: %d\n", stat); |
34 | return -1; | 31 | return -1; |
35 | } | 32 | } |
36 | - uint64_t statValue = 0; | ||
37 | - memcpy(&statValue, charData + (statOffset / 8), sizeof(statValue)); | ||
38 | - statValue >>= (statOffset % 8); | ||
39 | - statValue &= statCostMask[stat]; | 33 | + uint64_t statValue = readBits(charData, statOffset, statCost[stat]); |
40 | *value = (unsigned int)statValue; | 34 | *value = (unsigned int)statValue; |
41 | return 0; | 35 | return 0; |
42 | } | 36 | } |
d2stat.h
@@ -7,6 +7,7 @@ | @@ -7,6 +7,7 @@ | ||
7 | #define D2S_STAT_HEADER "gf" | 7 | #define D2S_STAT_HEADER "gf" |
8 | #define D2S_STAT_HEADER_LENGTH 2 | 8 | #define D2S_STAT_HEADER_LENGTH 2 |
9 | #define D2S_STAT_FOOTER 0x1FF | 9 | #define D2S_STAT_FOOTER 0x1FF |
10 | +#define D2S_STAT_IDENTIFIER_BIT_LENGTH 9 | ||
10 | 11 | ||
11 | typedef enum D2S_STAT { | 12 | typedef enum D2S_STAT { |
12 | D2S_STAT_STRENGTH = 0x00, | 13 | D2S_STAT_STRENGTH = 0x00, |
d2strings.h
@@ -1045,4 +1045,646 @@ const char* D2S_CHARPROGRESS_EXPANSION_TIER3_NAME_HARDCORE = "Guardian"; | @@ -1045,4 +1045,646 @@ const char* D2S_CHARPROGRESS_EXPANSION_TIER3_NAME_HARDCORE = "Guardian"; | ||
1045 | #define D2S_WAYPOINT_37 "The Ancient's Way" | 1045 | #define D2S_WAYPOINT_37 "The Ancient's Way" |
1046 | #define D2S_WAYPOINT_38 "Worldstone Keep Level 2" | 1046 | #define D2S_WAYPOINT_38 "Worldstone Keep Level 2" |
1047 | 1047 | ||
1048 | +// Item identifiers | ||
1049 | +#define D2S_ITEMDATA_IDENTIFIER_CAP "cap " | ||
1050 | +#define D2S_ITEMDATA_IDENTIFIER_WAR_HAT "xap " | ||
1051 | +#define D2S_ITEMDATA_IDENTIFIER_SHAKO "uap " | ||
1052 | +#define D2S_ITEMDATA_IDENTIFIER_SKULL_CAP "skp " | ||
1053 | +#define D2S_ITEMDATA_IDENTIFIER_SALLET "xkp " | ||
1054 | +#define D2S_ITEMDATA_IDENTIFIER_HYDRASKULL "ukp " | ||
1055 | +#define D2S_ITEMDATA_IDENTIFIER_HELM "hlm " | ||
1056 | +#define D2S_ITEMDATA_IDENTIFIER_CASQUE "xlm " | ||
1057 | +#define D2S_ITEMDATA_IDENTIFIER_ARMET "ulm " | ||
1058 | +#define D2S_ITEMDATA_IDENTIFIER_FULL_HELM "fhl " | ||
1059 | +#define D2S_ITEMDATA_IDENTIFIER_BASINET "xhl " | ||
1060 | +#define D2S_ITEMDATA_IDENTIFIER_GIANT_CONCH "uhl " | ||
1061 | +#define D2S_ITEMDATA_IDENTIFIER_GREAT_HELM "ghm " | ||
1062 | +#define D2S_ITEMDATA_IDENTIFIER_WINGED_HELM "xhm " | ||
1063 | +#define D2S_ITEMDATA_IDENTIFIER_SPIRED_HELM "uhm " | ||
1064 | +#define D2S_ITEMDATA_IDENTIFIER_CROWN "crn " | ||
1065 | +#define D2S_ITEMDATA_IDENTIFIER_GRAND_CROWN "xrn " | ||
1066 | +#define D2S_ITEMDATA_IDENTIFIER_CORONA "urn " | ||
1067 | +#define D2S_ITEMDATA_IDENTIFIER_MASK "msk " | ||
1068 | +#define D2S_ITEMDATA_IDENTIFIER_DEATH_MASK "xsk " | ||
1069 | +#define D2S_ITEMDATA_IDENTIFIER_DEMONHEAD "usk " | ||
1070 | +#define D2S_ITEMDATA_IDENTIFIER_BONE_HELM "bhm " | ||
1071 | +#define D2S_ITEMDATA_IDENTIFIER_GRIM_HELM "xh9 " | ||
1072 | +#define D2S_ITEMDATA_IDENTIFIER_BONE_VISAGE "uh9 " | ||
1073 | +#define D2S_ITEMDATA_IDENTIFIER_QUILTED_ARMOR "qui " | ||
1074 | +#define D2S_ITEMDATA_IDENTIFIER_GHOST_ARMOR "xui " | ||
1075 | +#define D2S_ITEMDATA_IDENTIFIER_DUSK_SHROUD "uui " | ||
1076 | +#define D2S_ITEMDATA_IDENTIFIER_LEATHER_ARMOR "lea " | ||
1077 | +#define D2S_ITEMDATA_IDENTIFIER_SERPENTSKIN "xea " | ||
1078 | +#define D2S_ITEMDATA_IDENTIFIER_WYRMHIDE "uea " | ||
1079 | +#define D2S_ITEMDATA_IDENTIFIER_HARD_LEATHER "hla " | ||
1080 | +#define D2S_ITEMDATA_IDENTIFIER_DEMONHIDE_ARMOR "xla " | ||
1081 | +#define D2S_ITEMDATA_IDENTIFIER_SCARAB_HUSK "ula " | ||
1082 | +#define D2S_ITEMDATA_IDENTIFIER_STUDDED_LEATHER "stu " | ||
1083 | +#define D2S_ITEMDATA_IDENTIFIER_TRELLISED_ARMOR "xtu " | ||
1084 | +#define D2S_ITEMDATA_IDENTIFIER_WIRE_FLEECE "utu " | ||
1085 | +#define D2S_ITEMDATA_IDENTIFIER_RING_MAIL "rng " | ||
1086 | +#define D2S_ITEMDATA_IDENTIFIER_LINKED_MAIL "xng " | ||
1087 | +#define D2S_ITEMDATA_IDENTIFIER_DIAMOND_MAIL "ung " | ||
1088 | +#define D2S_ITEMDATA_IDENTIFIER_SCALE_MAIL "scl " | ||
1089 | +#define D2S_ITEMDATA_IDENTIFIER_TIGULATED_MAIL "xcl " | ||
1090 | +#define D2S_ITEMDATA_IDENTIFIER_LORICATED_MAIL "ucl " | ||
1091 | +#define D2S_ITEMDATA_IDENTIFIER_CHAIN_MAIL "chn " | ||
1092 | +#define D2S_ITEMDATA_IDENTIFIER_MESH_ARMOR "xhn " | ||
1093 | +#define D2S_ITEMDATA_IDENTIFIER_BONEWEAVE "uhn " | ||
1094 | +#define D2S_ITEMDATA_IDENTIFIER_BREAST_PLATE "brs " | ||
1095 | +#define D2S_ITEMDATA_IDENTIFIER_CUIRASS "xrs " | ||
1096 | +#define D2S_ITEMDATA_IDENTIFIER_GREAT_HAUBERK "urs " | ||
1097 | +#define D2S_ITEMDATA_IDENTIFIER_SPLINT_MAIL "spl " | ||
1098 | +#define D2S_ITEMDATA_IDENTIFIER_RUSSET_ARMOR "xpl " | ||
1099 | +#define D2S_ITEMDATA_IDENTIFIER_BALROG_SKIN "upl " | ||
1100 | +#define D2S_ITEMDATA_IDENTIFIER_PLATE_MAIL "plt " | ||
1101 | +#define D2S_ITEMDATA_IDENTIFIER_TEMPLAR_COAT "xlt " | ||
1102 | +#define D2S_ITEMDATA_IDENTIFIER_HELLFORGE_PLATE "ult " | ||
1103 | +#define D2S_ITEMDATA_IDENTIFIER_FIELD_PLATE "fld " | ||
1104 | +#define D2S_ITEMDATA_IDENTIFIER_SHARKTOOTH "xld " | ||
1105 | +#define D2S_ITEMDATA_IDENTIFIER_KRAKEN_SHELL "uld " | ||
1106 | +#define D2S_ITEMDATA_IDENTIFIER_GOTHIC_PLATE "gth " | ||
1107 | +#define D2S_ITEMDATA_IDENTIFIER_EMBOSSED_PLATE "xth " | ||
1108 | +#define D2S_ITEMDATA_IDENTIFIER_LACQUERED_PLATE "uth " | ||
1109 | +#define D2S_ITEMDATA_IDENTIFIER_FULL_PLATE_MAIL "ful " | ||
1110 | +#define D2S_ITEMDATA_IDENTIFIER_CHAOS_ARMOR "xul " | ||
1111 | +#define D2S_ITEMDATA_IDENTIFIER_SHADOW_PLATE "uul " | ||
1112 | +#define D2S_ITEMDATA_IDENTIFIER_ANCIENT_ARMOR "aar " | ||
1113 | +#define D2S_ITEMDATA_IDENTIFIER_ORNATE_ARMOR "xar " | ||
1114 | +#define D2S_ITEMDATA_IDENTIFIER_SACRED_ARMOR "uar " | ||
1115 | +#define D2S_ITEMDATA_IDENTIFIER_LIGHT_PLATE "ltp " | ||
1116 | +#define D2S_ITEMDATA_IDENTIFIER_MAGE_PLATE "xtp " | ||
1117 | +#define D2S_ITEMDATA_IDENTIFIER_ARCHON_PLATE "utp " | ||
1118 | +#define D2S_ITEMDATA_IDENTIFIER_BUCKLER "buc " | ||
1119 | +#define D2S_ITEMDATA_IDENTIFIER_DEFENDER "xuc " | ||
1120 | +#define D2S_ITEMDATA_IDENTIFIER_HEATER "uuc " | ||
1121 | +#define D2S_ITEMDATA_IDENTIFIER_SMALL_SHIELD "sml " | ||
1122 | +#define D2S_ITEMDATA_IDENTIFIER_ROUND_SHIELD "xml " | ||
1123 | +#define D2S_ITEMDATA_IDENTIFIER_LUNA "uml " | ||
1124 | +#define D2S_ITEMDATA_IDENTIFIER_LARGE_SHIELD "lrg " | ||
1125 | +#define D2S_ITEMDATA_IDENTIFIER_SCUTUM "xrg " | ||
1126 | +#define D2S_ITEMDATA_IDENTIFIER_HYPERION "urg " | ||
1127 | +#define D2S_ITEMDATA_IDENTIFIER_KITE_SHIELD "kit " | ||
1128 | +#define D2S_ITEMDATA_IDENTIFIER_DRAGON_SHIELD "xit " | ||
1129 | +#define D2S_ITEMDATA_IDENTIFIER_MONARCH "uit " | ||
1130 | +#define D2S_ITEMDATA_IDENTIFIER_TOWER_SHIELD "tow " | ||
1131 | +#define D2S_ITEMDATA_IDENTIFIER_PAVISE "xow " | ||
1132 | +#define D2S_ITEMDATA_IDENTIFIER_AEGIS "uow " | ||
1133 | +#define D2S_ITEMDATA_IDENTIFIER_GOTHIC_SHIELD "gts " | ||
1134 | +#define D2S_ITEMDATA_IDENTIFIER_ANCIENT_SHIELD "xts " | ||
1135 | +#define D2S_ITEMDATA_IDENTIFIER_WARD "uts " | ||
1136 | +#define D2S_ITEMDATA_IDENTIFIER_BONE_SHIELD "bsh " | ||
1137 | +#define D2S_ITEMDATA_IDENTIFIER_GRIM_SHIELD "xsh " | ||
1138 | +#define D2S_ITEMDATA_IDENTIFIER_TROLL_NEST "ush " | ||
1139 | +#define D2S_ITEMDATA_IDENTIFIER_SPIKED_SHIELD "spk " | ||
1140 | +#define D2S_ITEMDATA_IDENTIFIER_BARBED_SHIELD "xpk " | ||
1141 | +#define D2S_ITEMDATA_IDENTIFIER_BLADE_BARRIER "upk " | ||
1142 | +#define D2S_ITEMDATA_IDENTIFIER_LEATHER_GLOVES "lgl " | ||
1143 | +#define D2S_ITEMDATA_IDENTIFIER_DEMONHIDE_GLOVE "xlg " | ||
1144 | +#define D2S_ITEMDATA_IDENTIFIER_BRAMBLE_MITTS "ulg " | ||
1145 | +#define D2S_ITEMDATA_IDENTIFIER_HEAVY_GLOVES "vgl " | ||
1146 | +#define D2S_ITEMDATA_IDENTIFIER_SHARKSKIN_GLOVE "xvg " | ||
1147 | +#define D2S_ITEMDATA_IDENTIFIER_VAMPIREBONE_GLOVES "uvg " | ||
1148 | +#define D2S_ITEMDATA_IDENTIFIER_CHAIN_GLOVES "mgl " | ||
1149 | +#define D2S_ITEMDATA_IDENTIFIER_HEAVY_BRACERS "xmg " | ||
1150 | +#define D2S_ITEMDATA_IDENTIFIER_VAMBRACES "umg " | ||
1151 | +#define D2S_ITEMDATA_IDENTIFIER_LIGHT_GAUNTLETS "tgl " | ||
1152 | +#define D2S_ITEMDATA_IDENTIFIER_BATTLE_GAUNTLET "xtg " | ||
1153 | +#define D2S_ITEMDATA_IDENTIFIER_CRUSADER_GAUNTLETS "utg " | ||
1154 | +#define D2S_ITEMDATA_IDENTIFIER_GAUNTLETS "hgl " | ||
1155 | +#define D2S_ITEMDATA_IDENTIFIER_WAR_GAUNTLETS "xhg " | ||
1156 | +#define D2S_ITEMDATA_IDENTIFIER_OGRE_GAUNTLETS "uhg " | ||
1157 | +#define D2S_ITEMDATA_IDENTIFIER_BOOTS "lbt " | ||
1158 | +#define D2S_ITEMDATA_IDENTIFIER_DEMONHIDE_BOOTS "xlb " | ||
1159 | +#define D2S_ITEMDATA_IDENTIFIER_WYRMHIDE_BOOTS "ulb " | ||
1160 | +#define D2S_ITEMDATA_IDENTIFIER_HEAVY_BOOTS "vbt " | ||
1161 | +#define D2S_ITEMDATA_IDENTIFIER_SHARKSKIN_BOOTS "xvb " | ||
1162 | +#define D2S_ITEMDATA_IDENTIFIER_SCARABSHELL_BOOTS "uvb " | ||
1163 | +#define D2S_ITEMDATA_IDENTIFIER_CHAIN_BOOTS "mbt " | ||
1164 | +#define D2S_ITEMDATA_IDENTIFIER_MESH_BOOTS "xmb " | ||
1165 | +#define D2S_ITEMDATA_IDENTIFIER_BONEWEAVE_BOOTS "umb " | ||
1166 | +#define D2S_ITEMDATA_IDENTIFIER_LIGHT_PLATE "tbt " | ||
1167 | +#define D2S_ITEMDATA_IDENTIFIER_BATTLE_BOOTS "xtb " | ||
1168 | +#define D2S_ITEMDATA_IDENTIFIER_MIRRORED_BOOTS "utb " | ||
1169 | +#define D2S_ITEMDATA_IDENTIFIER_GREAVES "hbt " | ||
1170 | +#define D2S_ITEMDATA_IDENTIFIER_WAR_BOOTS "xhb " | ||
1171 | +#define D2S_ITEMDATA_IDENTIFIER_MYRMIDON_GREAVE "uhb " | ||
1172 | +#define D2S_ITEMDATA_IDENTIFIER_SASH "lbl " | ||
1173 | +#define D2S_ITEMDATA_IDENTIFIER_DEMONHIDE_SASH "zlb " | ||
1174 | +#define D2S_ITEMDATA_IDENTIFIER_SPIDERWEB_SASH "ulc " | ||
1175 | +#define D2S_ITEMDATA_IDENTIFIER_LIGHT_BELT "vbl " | ||
1176 | +#define D2S_ITEMDATA_IDENTIFIER_SHARKSKIN_BELT "zvb " | ||
1177 | +#define D2S_ITEMDATA_IDENTIFIER_VAMPIREFANG_BELT "uvc " | ||
1178 | +#define D2S_ITEMDATA_IDENTIFIER_BELT "mbl " | ||
1179 | +#define D2S_ITEMDATA_IDENTIFIER_MESH_BELT "zmb " | ||
1180 | +#define D2S_ITEMDATA_IDENTIFIER_MITHRIL_COIL "umc " | ||
1181 | +#define D2S_ITEMDATA_IDENTIFIER_HEAVY_BELT "tbl " | ||
1182 | +#define D2S_ITEMDATA_IDENTIFIER_BATTLE_BELT "ztb " | ||
1183 | +#define D2S_ITEMDATA_IDENTIFIER_TROLL_BELT "utc " | ||
1184 | +#define D2S_ITEMDATA_IDENTIFIER_PLATED_BELT "hbl " | ||
1185 | +#define D2S_ITEMDATA_IDENTIFIER_WAR_BELT "zhb " | ||
1186 | +#define D2S_ITEMDATA_IDENTIFIER_COLOSSUS_GIRDLE "uhc " | ||
1187 | +#define D2S_ITEMDATA_IDENTIFIER_WOLF_HEAD "dr1 " | ||
1188 | +#define D2S_ITEMDATA_IDENTIFIER_ALPHA_HELM "dr6 " | ||
1189 | +#define D2S_ITEMDATA_IDENTIFIER_BLOOD_SPIRIT "drb " | ||
1190 | +#define D2S_ITEMDATA_IDENTIFIER_HAWK_HELM "dr2 " | ||
1191 | +#define D2S_ITEMDATA_IDENTIFIER_GRIFFON_HEADDRESS "dr7 " | ||
1192 | +#define D2S_ITEMDATA_IDENTIFIER_SUN_SPIRIT "drc " | ||
1193 | +#define D2S_ITEMDATA_IDENTIFIER_ANTLERS "dr3 " | ||
1194 | +#define D2S_ITEMDATA_IDENTIFIER_HUNTERS_GUISE "dr8 " | ||
1195 | +#define D2S_ITEMDATA_IDENTIFIER_EARTH_SPIRIT "drd " | ||
1196 | +#define D2S_ITEMDATA_IDENTIFIER_FALCON_MASK "dr4 " | ||
1197 | +#define D2S_ITEMDATA_IDENTIFIER_SACRED_FEATHERS "dr9 " | ||
1198 | +#define D2S_ITEMDATA_IDENTIFIER_SKY_SPIRIT "dre " | ||
1199 | +#define D2S_ITEMDATA_IDENTIFIER_SPIRIT_MASK "dr5 " | ||
1200 | +#define D2S_ITEMDATA_IDENTIFIER_TOTEMIC_MASK "dra " | ||
1201 | +#define D2S_ITEMDATA_IDENTIFIER_DREAM_SPIRIT "drf " | ||
1202 | +#define D2S_ITEMDATA_IDENTIFIER_JAWBONE_CAP "ba1 " | ||
1203 | +#define D2S_ITEMDATA_IDENTIFIER_JAWBONE_VISOR "ba6 " | ||
1204 | +#define D2S_ITEMDATA_IDENTIFIER_CARNAGE_HELM "bab " | ||
1205 | +#define D2S_ITEMDATA_IDENTIFIER_FANGED_HELM "ba2 " | ||
1206 | +#define D2S_ITEMDATA_IDENTIFIER_LION_HELM "ba7 " | ||
1207 | +#define D2S_ITEMDATA_IDENTIFIER_FURY_VISOR "bac " | ||
1208 | +#define D2S_ITEMDATA_IDENTIFIER_HORNED_HELM "ba3 " | ||
1209 | +#define D2S_ITEMDATA_IDENTIFIER_RAGE_MASK "ba8 " | ||
1210 | +#define D2S_ITEMDATA_IDENTIFIER_DESTROYER_HELM "bad " | ||
1211 | +#define D2S_ITEMDATA_IDENTIFIER_ASSUALT_HELMET "ba4 " | ||
1212 | +#define D2S_ITEMDATA_IDENTIFIER_SAVAGE_HELMET "ba9 " | ||
1213 | +#define D2S_ITEMDATA_IDENTIFIER_CONQUEROR_CROWN "bae " | ||
1214 | +#define D2S_ITEMDATA_IDENTIFIER_AVENGER_GUARD "ba5 " | ||
1215 | +#define D2S_ITEMDATA_IDENTIFIER_SLAYER_GUARD "baa " | ||
1216 | +#define D2S_ITEMDATA_IDENTIFIER_GUARDIAN_CROWN "baf " | ||
1217 | +#define D2S_ITEMDATA_IDENTIFIER_TARGE "pa1 " | ||
1218 | +#define D2S_ITEMDATA_IDENTIFIER_AKARAN_TARGE "pa6 " | ||
1219 | +#define D2S_ITEMDATA_IDENTIFIER_SACRED_TARGE "pab " | ||
1220 | +#define D2S_ITEMDATA_IDENTIFIER_RONDACHE "pa2 " | ||
1221 | +#define D2S_ITEMDATA_IDENTIFIER_AKARAN_RONDACHE "pa7 " | ||
1222 | +#define D2S_ITEMDATA_IDENTIFIER_SACRED_RONDACHE "pac " | ||
1223 | +#define D2S_ITEMDATA_IDENTIFIER_HERALDIC_SHIELD "pa3 " | ||
1224 | +#define D2S_ITEMDATA_IDENTIFIER_PROTECTOR_SHLD "pa8 " | ||
1225 | +#define D2S_ITEMDATA_IDENTIFIER_KURAST_SHIELD "pad " | ||
1226 | +#define D2S_ITEMDATA_IDENTIFIER_AERIN_SHIELD "pa4 " | ||
1227 | +#define D2S_ITEMDATA_IDENTIFIER_GUILDED_SHIELD "pa9 " | ||
1228 | +#define D2S_ITEMDATA_IDENTIFIER_ZAKARUM_SHIELD "pae " | ||
1229 | +#define D2S_ITEMDATA_IDENTIFIER_CROWN_SHIELD "pa5 " | ||
1230 | +#define D2S_ITEMDATA_IDENTIFIER_ROYAL_SHIELD "paa " | ||
1231 | +#define D2S_ITEMDATA_IDENTIFIER_VORTEX_SHIELD "paf " | ||
1232 | +#define D2S_ITEMDATA_IDENTIFIER_PRESERVED_HEAD "ne1 " | ||
1233 | +#define D2S_ITEMDATA_IDENTIFIER_MUMMIFIED_TRPHY "ne6 " | ||
1234 | +#define D2S_ITEMDATA_IDENTIFIER_MINION_SKULL "neb " | ||
1235 | +#define D2S_ITEMDATA_IDENTIFIER_ZOMBIE_HEAD "ne2 " | ||
1236 | +#define D2S_ITEMDATA_IDENTIFIER_FETISH_TROPHY "ne7 " | ||
1237 | +#define D2S_ITEMDATA_IDENTIFIER_HELLSPAWN_SKULL "nec " | ||
1238 | +#define D2S_ITEMDATA_IDENTIFIER_UNRAVELLER_HEAD "ne3 " | ||
1239 | +#define D2S_ITEMDATA_IDENTIFIER_SEXTON_TROPHY "ne8 " | ||
1240 | +#define D2S_ITEMDATA_IDENTIFIER_OVERSEER_SKULL "ned " | ||
1241 | +#define D2S_ITEMDATA_IDENTIFIER_GARGOYLE_HEAD "ne4 " | ||
1242 | +#define D2S_ITEMDATA_IDENTIFIER_CANTOR_TROPHY "ne9 " | ||
1243 | +#define D2S_ITEMDATA_IDENTIFIER_SUCCUBUS_SKULL "nee " | ||
1244 | +#define D2S_ITEMDATA_IDENTIFIER_DEMON_HEAD "ne5 " | ||
1245 | +#define D2S_ITEMDATA_IDENTIFIER_HEIROPHANT_TRPHY "nea " | ||
1246 | +#define D2S_ITEMDATA_IDENTIFIER_BLOODLORD_SKULL "nef " | ||
1247 | +#define D2S_ITEMDATA_IDENTIFIER_HAND_AXE "hax " | ||
1248 | +#define D2S_ITEMDATA_IDENTIFIER_HATCHET "9ha " | ||
1249 | +#define D2S_ITEMDATA_IDENTIFIER_TOMAHAWK "7ha " | ||
1250 | +#define D2S_ITEMDATA_IDENTIFIER_AXE "axe " | ||
1251 | +#define D2S_ITEMDATA_IDENTIFIER_CLEAVER "9ax " | ||
1252 | +#define D2S_ITEMDATA_IDENTIFIER_SMALL_CRESCENT "7ax " | ||
1253 | +#define D2S_ITEMDATA_IDENTIFIER_DOUBLE_AXE "2ax " | ||
1254 | +#define D2S_ITEMDATA_IDENTIFIER_TWIN_AXE "92a " | ||
1255 | +#define D2S_ITEMDATA_IDENTIFIER_ETTIN_AXE "72a " | ||
1256 | +#define D2S_ITEMDATA_IDENTIFIER_MILITARY_PICK "mpi " | ||
1257 | +#define D2S_ITEMDATA_IDENTIFIER_CROWBILL "9mp " | ||
1258 | +#define D2S_ITEMDATA_IDENTIFIER_WAR_SPIKE "7mp " | ||
1259 | +#define D2S_ITEMDATA_IDENTIFIER_WAR_AXE "wax " | ||
1260 | +#define D2S_ITEMDATA_IDENTIFIER_NAGA "9wa " | ||
1261 | +#define D2S_ITEMDATA_IDENTIFIER_BERSERKER_AXE "7wa " | ||
1262 | +#define D2S_ITEMDATA_IDENTIFIER_LARGE_AXE "lax " | ||
1263 | +#define D2S_ITEMDATA_IDENTIFIER_MILITARY_AXE "9la " | ||
1264 | +#define D2S_ITEMDATA_IDENTIFIER_FERAL_AXE "7la " | ||
1265 | +#define D2S_ITEMDATA_IDENTIFIER_BROAD_AXE "bax " | ||
1266 | +#define D2S_ITEMDATA_IDENTIFIER_BEARDED_AXE "9ba " | ||
1267 | +#define D2S_ITEMDATA_IDENTIFIER_SILVER_EDGED_AX "7ba " | ||
1268 | +#define D2S_ITEMDATA_IDENTIFIER_BATTLE_AXE "btx " | ||
1269 | +#define D2S_ITEMDATA_IDENTIFIER_TABAR "9bt " | ||
1270 | +#define D2S_ITEMDATA_IDENTIFIER_DECAPITATOR "7bt " | ||
1271 | +#define D2S_ITEMDATA_IDENTIFIER_GREAT_AXE "gax " | ||
1272 | +#define D2S_ITEMDATA_IDENTIFIER_GOTHIC_AXE "9ga " | ||
1273 | +#define D2S_ITEMDATA_IDENTIFIER_CHAMPION_AXE "7ga " | ||
1274 | +#define D2S_ITEMDATA_IDENTIFIER_GIANT_AXE "gix " | ||
1275 | +#define D2S_ITEMDATA_IDENTIFIER_ANCIENT_AXE "9gi " | ||
1276 | +#define D2S_ITEMDATA_IDENTIFIER_GLORIOUS_AXE "7gi " | ||
1277 | +#define D2S_ITEMDATA_IDENTIFIER_CLUB "clb " | ||
1278 | +#define D2S_ITEMDATA_IDENTIFIER_CUDGEL "9cl " | ||
1279 | +#define D2S_ITEMDATA_IDENTIFIER_TRUNCHEON "7cl " | ||
1280 | +#define D2S_ITEMDATA_IDENTIFIER_SPIKED_CLUB "spc " | ||
1281 | +#define D2S_ITEMDATA_IDENTIFIER_BARBED_CLUB "9sp " | ||
1282 | +#define D2S_ITEMDATA_IDENTIFIER_TYRANT_CLUB "7sp " | ||
1283 | +#define D2S_ITEMDATA_IDENTIFIER_MACE "mac " | ||
1284 | +#define D2S_ITEMDATA_IDENTIFIER_FLANGED_MACE "9ma " | ||
1285 | +#define D2S_ITEMDATA_IDENTIFIER_REINFORCED_MACE "7ma " | ||
1286 | +#define D2S_ITEMDATA_IDENTIFIER_MORNING_STAR "mst " | ||
1287 | +#define D2S_ITEMDATA_IDENTIFIER_JAGGED_STAR "9mt " | ||
1288 | +#define D2S_ITEMDATA_IDENTIFIER_DEVIL_STAR "7mf " | ||
1289 | +#define D2S_ITEMDATA_IDENTIFIER_FLAIL "fla " | ||
1290 | +#define D2S_ITEMDATA_IDENTIFIER_KNOUT "9fl " | ||
1291 | +#define D2S_ITEMDATA_IDENTIFIER_SCOURGE "7fl " | ||
1292 | +#define D2S_ITEMDATA_IDENTIFIER_WAR_HAMMER "whm " | ||
1293 | +#define D2S_ITEMDATA_IDENTIFIER_BATTLE_HAMMER "9wh " | ||
1294 | +#define D2S_ITEMDATA_IDENTIFIER_LEGENDARY_MALLET "7wh " | ||
1295 | +#define D2S_ITEMDATA_IDENTIFIER_MAUL "mau " | ||
1296 | +#define D2S_ITEMDATA_IDENTIFIER_WAR_CLUB "9m9 " | ||
1297 | +#define D2S_ITEMDATA_IDENTIFIER_OGRE_MAUL "7m7 " | ||
1298 | +#define D2S_ITEMDATA_IDENTIFIER_GREAT_MAUL "gma " | ||
1299 | +#define D2S_ITEMDATA_IDENTIFIER_MARTEL_DE_FER "9gm " | ||
1300 | +#define D2S_ITEMDATA_IDENTIFIER_THUNDER_MAUL "7gm " | ||
1301 | +#define D2S_ITEMDATA_IDENTIFIER_SHORT_SWORD "ssd " | ||
1302 | +#define D2S_ITEMDATA_IDENTIFIER_GLADIUS "9ss " | ||
1303 | +#define D2S_ITEMDATA_IDENTIFIER_FALCATA "7ss " | ||
1304 | +#define D2S_ITEMDATA_IDENTIFIER_SCIMITAR "scm " | ||
1305 | +#define D2S_ITEMDATA_IDENTIFIER_CUTLASS "9sm " | ||
1306 | +#define D2S_ITEMDATA_IDENTIFIER_ATAGHAN "7sm " | ||
1307 | +#define D2S_ITEMDATA_IDENTIFIER_SABER "sbr " | ||
1308 | +#define D2S_ITEMDATA_IDENTIFIER_SHAMSHIR "9sb " | ||
1309 | +#define D2S_ITEMDATA_IDENTIFIER_ELEGANT_BLADE "7sb " | ||
1310 | +#define D2S_ITEMDATA_IDENTIFIER_FALCHION "flc " | ||
1311 | +#define D2S_ITEMDATA_IDENTIFIER_TULWAR "9fc " | ||
1312 | +#define D2S_ITEMDATA_IDENTIFIER_HYDRA_EDGE "7fc " | ||
1313 | +#define D2S_ITEMDATA_IDENTIFIER_CRYSTAL_SWORD "crs " | ||
1314 | +#define D2S_ITEMDATA_IDENTIFIER_DIMENSIONAL_BLADE "9cr " | ||
1315 | +#define D2S_ITEMDATA_IDENTIFIER_PHASE_BLADE "7cr " | ||
1316 | +#define D2S_ITEMDATA_IDENTIFIER_BROAD_SWORD "bsd " | ||
1317 | +#define D2S_ITEMDATA_IDENTIFIER_BATTLE_SWORD "9bs " | ||
1318 | +#define D2S_ITEMDATA_IDENTIFIER_CONQUEST_SWORD "7bs " | ||
1319 | +#define D2S_ITEMDATA_IDENTIFIER_LONG_SWORD "lsd " | ||
1320 | +#define D2S_ITEMDATA_IDENTIFIER_RUNE_SWORD "9ls " | ||
1321 | +#define D2S_ITEMDATA_IDENTIFIER_CRYPTIC_SWORD "7ls " | ||
1322 | +#define D2S_ITEMDATA_IDENTIFIER_WAR_SWORD "wsd " | ||
1323 | +#define D2S_ITEMDATA_IDENTIFIER_ANCIENT_SWORD "9wd " | ||
1324 | +#define D2S_ITEMDATA_IDENTIFIER_MYTHICAL_SWORD "7wd " | ||
1325 | +#define D2S_ITEMDATA_IDENTIFIER_TWOHANDED_SWORD "2hs " | ||
1326 | +#define D2S_ITEMDATA_IDENTIFIER_ESPADON "92h " | ||
1327 | +#define D2S_ITEMDATA_IDENTIFIER_LEGEND_SWORD "72h " | ||
1328 | +#define D2S_ITEMDATA_IDENTIFIER_CLAYMORE "clm " | ||
1329 | +#define D2S_ITEMDATA_IDENTIFIER_DACIAN_FALX "9cm " | ||
1330 | +#define D2S_ITEMDATA_IDENTIFIER_HIGHLAND_BLADE "7cm " | ||
1331 | +#define D2S_ITEMDATA_IDENTIFIER_GIANT_SWORD "gis " | ||
1332 | +#define D2S_ITEMDATA_IDENTIFIER_TUSK_SWORD "9gs " | ||
1333 | +#define D2S_ITEMDATA_IDENTIFIER_BALROG_BLADE "7gs " | ||
1334 | +#define D2S_ITEMDATA_IDENTIFIER_BASTARD_SWORD "bsw " | ||
1335 | +#define D2S_ITEMDATA_IDENTIFIER_GOTHIC_SWORD "9b9 " | ||
1336 | +#define D2S_ITEMDATA_IDENTIFIER_CHAMPION_SWORD "7b7 " | ||
1337 | +#define D2S_ITEMDATA_IDENTIFIER_FLAMBERGE "flb " | ||
1338 | +#define D2S_ITEMDATA_IDENTIFIER_ZWEIHANDER "9fb " | ||
1339 | +#define D2S_ITEMDATA_IDENTIFIER_COLOSSAL_SWORD "7fb " | ||
1340 | +#define D2S_ITEMDATA_IDENTIFIER_GREAT_SWORD "gsd " | ||
1341 | +#define D2S_ITEMDATA_IDENTIFIER_EXECUTIONER_SWORD "9gd " | ||
1342 | +#define D2S_ITEMDATA_IDENTIFIER_COLOSSUS_BLADE "7gd " | ||
1343 | +#define D2S_ITEMDATA_IDENTIFIER_DAGGER "dgr " | ||
1344 | +#define D2S_ITEMDATA_IDENTIFIER_POIGNARD "9dg " | ||
1345 | +#define D2S_ITEMDATA_IDENTIFIER_BONE_KNIFE "7dg " | ||
1346 | +#define D2S_ITEMDATA_IDENTIFIER_DIRK "dir " | ||
1347 | +#define D2S_ITEMDATA_IDENTIFIER_RONDEL "9di " | ||
1348 | +#define D2S_ITEMDATA_IDENTIFIER_MITHRAL_POINT "7di " | ||
1349 | +#define D2S_ITEMDATA_IDENTIFIER_KRISS "kri " | ||
1350 | +#define D2S_ITEMDATA_IDENTIFIER_CINQUEDEAS "9kr " | ||
1351 | +#define D2S_ITEMDATA_IDENTIFIER_FANGED_KNIFE "7kr " | ||
1352 | +#define D2S_ITEMDATA_IDENTIFIER_BLADE "bld " | ||
1353 | +#define D2S_ITEMDATA_IDENTIFIER_STILLETO "9bl " | ||
1354 | +#define D2S_ITEMDATA_IDENTIFIER_LEGEND_SPIKE "7bl " | ||
1355 | +#define D2S_ITEMDATA_IDENTIFIER_THROWING_KNIFE "tkf " | ||
1356 | +#define D2S_ITEMDATA_IDENTIFIER_BATTLE_DART "9tk " | ||
1357 | +#define D2S_ITEMDATA_IDENTIFIER_FLYING_KNIFE "7tk " | ||
1358 | +#define D2S_ITEMDATA_IDENTIFIER_THROWING_AXE "tax " | ||
1359 | +#define D2S_ITEMDATA_IDENTIFIER_FRANCISCA "9ta " | ||
1360 | +#define D2S_ITEMDATA_IDENTIFIER_FLYING_AXE "7ta " | ||
1361 | +#define D2S_ITEMDATA_IDENTIFIER_BALANCED_KNIFE "bkf " | ||
1362 | +#define D2S_ITEMDATA_IDENTIFIER_WAR_DART "9bk " | ||
1363 | +#define D2S_ITEMDATA_IDENTIFIER_WINGED_KNIFE "7bk " | ||
1364 | +#define D2S_ITEMDATA_IDENTIFIER_BALANCED_AXE "bal " | ||
1365 | +#define D2S_ITEMDATA_IDENTIFIER_HURLBAT "9b8 " | ||
1366 | +#define D2S_ITEMDATA_IDENTIFIER_WINGED_AXE "7b8 " | ||
1367 | +#define D2S_ITEMDATA_IDENTIFIER_JAVELIN "jav " | ||
1368 | +#define D2S_ITEMDATA_IDENTIFIER_WAR_JAVELIN "9ja " | ||
1369 | +#define D2S_ITEMDATA_IDENTIFIER_HYPERION_JAVELIN "7ja " | ||
1370 | +#define D2S_ITEMDATA_IDENTIFIER_PILUM "pil " | ||
1371 | +#define D2S_ITEMDATA_IDENTIFIER_GREAT_PILUM "9pi " | ||
1372 | +#define D2S_ITEMDATA_IDENTIFIER_STYGIAN_PILUM "7pi " | ||
1373 | +#define D2S_ITEMDATA_IDENTIFIER_SHORT_SPEAR "ssp " | ||
1374 | +#define D2S_ITEMDATA_IDENTIFIER_SIMBILAN "9s9 " | ||
1375 | +#define D2S_ITEMDATA_IDENTIFIER_BALROG_SPEAR "7s7 " | ||
1376 | +#define D2S_ITEMDATA_IDENTIFIER_GLAIVE "glv " | ||
1377 | +#define D2S_ITEMDATA_IDENTIFIER_SPICULUM "9gl " | ||
1378 | +#define D2S_ITEMDATA_IDENTIFIER_GHOST_GLAIVE "7gl " | ||
1379 | +#define D2S_ITEMDATA_IDENTIFIER_THROWING_SPEAR "tsp " | ||
1380 | +#define D2S_ITEMDATA_IDENTIFIER_HARPOON "9ts " | ||
1381 | +#define D2S_ITEMDATA_IDENTIFIER_WINGED_HARPOON "7ts " | ||
1382 | +#define D2S_ITEMDATA_IDENTIFIER_SPEAR "spr " | ||
1383 | +#define D2S_ITEMDATA_IDENTIFIER_WAR_SPEAR "9sr " | ||
1384 | +#define D2S_ITEMDATA_IDENTIFIER_HYPERION_SPEAR "7sr " | ||
1385 | +#define D2S_ITEMDATA_IDENTIFIER_TRIDENT "tri " | ||
1386 | +#define D2S_ITEMDATA_IDENTIFIER_FUSCINA "9tr " | ||
1387 | +#define D2S_ITEMDATA_IDENTIFIER_STYGIAN_PIKE "7tr " | ||
1388 | +#define D2S_ITEMDATA_IDENTIFIER_BRANDISTOCK "brn " | ||
1389 | +#define D2S_ITEMDATA_IDENTIFIER_WAR_FORK "9br " | ||
1390 | +#define D2S_ITEMDATA_IDENTIFIER_MANCATCHER "7br " | ||
1391 | +#define D2S_ITEMDATA_IDENTIFIER_SPETUM "spt " | ||
1392 | +#define D2S_ITEMDATA_IDENTIFIER_YARI "9st " | ||
1393 | +#define D2S_ITEMDATA_IDENTIFIER_GHOST_SPEAR "7st " | ||
1394 | +#define D2S_ITEMDATA_IDENTIFIER_PIKE "pik " | ||
1395 | +#define D2S_ITEMDATA_IDENTIFIER_LANCE "9p9 " | ||
1396 | +#define D2S_ITEMDATA_IDENTIFIER_WAR_PIKE "7p7 " | ||
1397 | +#define D2S_ITEMDATA_IDENTIFIER_BARDICHE "bar " | ||
1398 | +#define D2S_ITEMDATA_IDENTIFIER_LOCHABER_AXE "9b7 " | ||
1399 | +#define D2S_ITEMDATA_IDENTIFIER_OGRE_AXE "7o7 " | ||
1400 | +#define D2S_ITEMDATA_IDENTIFIER_VOULGE "vou " | ||
1401 | +#define D2S_ITEMDATA_IDENTIFIER_BILL "9vo " | ||
1402 | +#define D2S_ITEMDATA_IDENTIFIER_COLOSSUS_VOULGE "7vo " | ||
1403 | +#define D2S_ITEMDATA_IDENTIFIER_SCYTHE "scy " | ||
1404 | +#define D2S_ITEMDATA_IDENTIFIER_BATTLE_SCYTHE "9s8 " | ||
1405 | +#define D2S_ITEMDATA_IDENTIFIER_THRESHER "7s8 " | ||
1406 | +#define D2S_ITEMDATA_IDENTIFIER_POLEAXE "pax " | ||
1407 | +#define D2S_ITEMDATA_IDENTIFIER_PARTIZAN "9pa " | ||
1408 | +#define D2S_ITEMDATA_IDENTIFIER_CRYPTIC_AXE "7pa " | ||
1409 | +#define D2S_ITEMDATA_IDENTIFIER_HALBERD "hal " | ||
1410 | +#define D2S_ITEMDATA_IDENTIFIER_BEC_DE_CORBIN "9h9 " | ||
1411 | +#define D2S_ITEMDATA_IDENTIFIER_GREAT_POLEAXE "7h7 " | ||
1412 | +#define D2S_ITEMDATA_IDENTIFIER_WAR_SCYTHE "wsc " | ||
1413 | +#define D2S_ITEMDATA_IDENTIFIER_GRIM_SCYTHE "9wc " | ||
1414 | +#define D2S_ITEMDATA_IDENTIFIER_GIANT_THRESHER "7wc " | ||
1415 | +#define D2S_ITEMDATA_IDENTIFIER_SHORT_BOW "sbw " | ||
1416 | +#define D2S_ITEMDATA_IDENTIFIER_EDGE_BOW "8sb " | ||
1417 | +#define D2S_ITEMDATA_IDENTIFIER_SPIDER_BOW "6sb " | ||
1418 | +#define D2S_ITEMDATA_IDENTIFIER_HUNTERS_BOW "hbw " | ||
1419 | +#define D2S_ITEMDATA_IDENTIFIER_RAZOR_BOW "8hb " | ||
1420 | +#define D2S_ITEMDATA_IDENTIFIER_BLADE_BOW "6hb " | ||
1421 | +#define D2S_ITEMDATA_IDENTIFIER_LONG_BOW "lbw " | ||
1422 | +#define D2S_ITEMDATA_IDENTIFIER_CEDAR_BOW "8lb " | ||
1423 | +#define D2S_ITEMDATA_IDENTIFIER_SHADOW_BOW "6lb " | ||
1424 | +#define D2S_ITEMDATA_IDENTIFIER_COMPOSITE_BOW "cbw " | ||
1425 | +#define D2S_ITEMDATA_IDENTIFIER_DOUBLE_BOW "8cb " | ||
1426 | +#define D2S_ITEMDATA_IDENTIFIER_GREAT_BOW "6cb " | ||
1427 | +#define D2S_ITEMDATA_IDENTIFIER_SHORT_BATTLE_BOW "sbb " | ||
1428 | +#define D2S_ITEMDATA_IDENTIFIER_SHORT_SIEGE_BOW "8s8 " | ||
1429 | +#define D2S_ITEMDATA_IDENTIFIER_DIAMOND_BOW "6s7 " | ||
1430 | +#define D2S_ITEMDATA_IDENTIFIER_LONG_BATTLE_BOW "lbb " | ||
1431 | +#define D2S_ITEMDATA_IDENTIFIER_LONG_SIEGE_BOW "8l8 " | ||
1432 | +#define D2S_ITEMDATA_IDENTIFIER_CRUSADER_BOW "6l7 " | ||
1433 | +#define D2S_ITEMDATA_IDENTIFIER_SHORT_WAR_BOW "swb " | ||
1434 | +#define D2S_ITEMDATA_IDENTIFIER_RUNE_BOW "8sw " | ||
1435 | +#define D2S_ITEMDATA_IDENTIFIER_WARD_BOW "6sw " | ||
1436 | +#define D2S_ITEMDATA_IDENTIFIER_LONG_WAR_BOW "lwb " | ||
1437 | +#define D2S_ITEMDATA_IDENTIFIER_GOTHIC_BOW "8lw " | ||
1438 | +#define D2S_ITEMDATA_IDENTIFIER_HYDRA_BOW "6lw " | ||
1439 | +#define D2S_ITEMDATA_IDENTIFIER_LIGHT_CROSSBOW "lxb " | ||
1440 | +#define D2S_ITEMDATA_IDENTIFIER_ARBALEST "8lx " | ||
1441 | +#define D2S_ITEMDATA_IDENTIFIER_PELLET_BOW "6lx " | ||
1442 | +#define D2S_ITEMDATA_IDENTIFIER_CROSSBOW "mxb " | ||
1443 | +#define D2S_ITEMDATA_IDENTIFIER_SIEGE_CROSSBOW "8mx " | ||
1444 | +#define D2S_ITEMDATA_IDENTIFIER_GORGON_CROSSBOW "6mx " | ||
1445 | +#define D2S_ITEMDATA_IDENTIFIER_HEAVY_CROSSBOW "hxb " | ||
1446 | +#define D2S_ITEMDATA_IDENTIFIER_BALLISTA "8hx " | ||
1447 | +#define D2S_ITEMDATA_IDENTIFIER_COLOSSUS_CROSSBOW "6hx " | ||
1448 | +#define D2S_ITEMDATA_IDENTIFIER_REPEATING_CROSSBOW "rxb " | ||
1449 | +#define D2S_ITEMDATA_IDENTIFIER_CHU_KO_NU "8rx " | ||
1450 | +#define D2S_ITEMDATA_IDENTIFIER_DEMON_CROSSBOW "6rx " | ||
1451 | +#define D2S_ITEMDATA_IDENTIFIER_SHORT_STAFF "sst " | ||
1452 | +#define D2S_ITEMDATA_IDENTIFIER_JO_STAFF "8ss " | ||
1453 | +#define D2S_ITEMDATA_IDENTIFIER_WALKING_STICK "6ss " | ||
1454 | +#define D2S_ITEMDATA_IDENTIFIER_LONG_STAFF "lst " | ||
1455 | +#define D2S_ITEMDATA_IDENTIFIER_QUARTERSTAFF "8ls " | ||
1456 | +#define D2S_ITEMDATA_IDENTIFIER_STALAGMITE "6ls " | ||
1457 | +#define D2S_ITEMDATA_IDENTIFIER_GNARLED_STAFF "gst " | ||
1458 | +#define D2S_ITEMDATA_IDENTIFIER_CEDAR_STAFF "8cs " | ||
1459 | +#define D2S_ITEMDATA_IDENTIFIER_ELDER_STAFF "6cs " | ||
1460 | +#define D2S_ITEMDATA_IDENTIFIER_BATTLE_STAFF "bst " | ||
1461 | +#define D2S_ITEMDATA_IDENTIFIER_GOTHIC_STAFF "8bs " | ||
1462 | +#define D2S_ITEMDATA_IDENTIFIER_SHILLELAGH "6bs " | ||
1463 | +#define D2S_ITEMDATA_IDENTIFIER_WAR_STAFF "wst " | ||
1464 | +#define D2S_ITEMDATA_IDENTIFIER_RUNE_STAFF "8ws " | ||
1465 | +#define D2S_ITEMDATA_IDENTIFIER_ARCHON_STAFF "6ws " | ||
1466 | +#define D2S_ITEMDATA_IDENTIFIER_WAND "wnd " | ||
1467 | +#define D2S_ITEMDATA_IDENTIFIER_BURNT_WAND "9wn " | ||
1468 | +#define D2S_ITEMDATA_IDENTIFIER_POLISHED_WAND "7wn " | ||
1469 | +#define D2S_ITEMDATA_IDENTIFIER_YEW_WAND "ywn " | ||
1470 | +#define D2S_ITEMDATA_IDENTIFIER_PETRIFIED_WAND "9yw " | ||
1471 | +#define D2S_ITEMDATA_IDENTIFIER_GHOST_WAND "7yw " | ||
1472 | +#define D2S_ITEMDATA_IDENTIFIER_BONE_WAND "bwn " | ||
1473 | +#define D2S_ITEMDATA_IDENTIFIER_TOMB_WAND "9bw " | ||
1474 | +#define D2S_ITEMDATA_IDENTIFIER_LICH_WAND "7bw " | ||
1475 | +#define D2S_ITEMDATA_IDENTIFIER_GRIM_WAND "gwn " | ||
1476 | +#define D2S_ITEMDATA_IDENTIFIER_GRAVE_WAND "9gw " | ||
1477 | +#define D2S_ITEMDATA_IDENTIFIER_UNEARTHED_WAND "7gw " | ||
1478 | +#define D2S_ITEMDATA_IDENTIFIER_SCEPTRE "scp " | ||
1479 | +#define D2S_ITEMDATA_IDENTIFIER_RUNE_SCEPTRE "9sc " | ||
1480 | +#define D2S_ITEMDATA_IDENTIFIER_MIGHTY_SCEPTRE "7sc " | ||
1481 | +#define D2S_ITEMDATA_IDENTIFIER_GRAND_SCEPTRE "gsc " | ||
1482 | +#define D2S_ITEMDATA_IDENTIFIER_HOLY_WATER_SPRINKLER "9qs " | ||
1483 | +#define D2S_ITEMDATA_IDENTIFIER_SERAPH_ROD "7qs " | ||
1484 | +#define D2S_ITEMDATA_IDENTIFIER_WAR_SCEPTRE "wsp " | ||
1485 | +#define D2S_ITEMDATA_IDENTIFIER_DIVINE_SCEPTRE "9ws " | ||
1486 | +#define D2S_ITEMDATA_IDENTIFIER_CADUCEUS "7ws " | ||
1487 | +#define D2S_ITEMDATA_IDENTIFIER_KATAR "ktr " | ||
1488 | +#define D2S_ITEMDATA_IDENTIFIER_QUHAB "9ar " | ||
1489 | +#define D2S_ITEMDATA_IDENTIFIER_SUWAYYAH "7ar " | ||
1490 | +#define D2S_ITEMDATA_IDENTIFIER_WRIST_BLADE "wrb " | ||
1491 | +#define D2S_ITEMDATA_IDENTIFIER_WRIST_SPIKE "9wb " | ||
1492 | +#define D2S_ITEMDATA_IDENTIFIER_WRIST_SWORD "7wb " | ||
1493 | +#define D2S_ITEMDATA_IDENTIFIER_HATCHET_HANDS "axf " | ||
1494 | +#define D2S_ITEMDATA_IDENTIFIER_FASCIA "9xf " | ||
1495 | +#define D2S_ITEMDATA_IDENTIFIER_WAR_FIST "7xf " | ||
1496 | +#define D2S_ITEMDATA_IDENTIFIER_CESTUS "ces " | ||
1497 | +#define D2S_ITEMDATA_IDENTIFIER_HAND_SCYTHE "9cs " | ||
1498 | +#define D2S_ITEMDATA_IDENTIFIER_BATTLE_CESTUS "7cs " | ||
1499 | +#define D2S_ITEMDATA_IDENTIFIER_CLAWS "clw " | ||
1500 | +#define D2S_ITEMDATA_IDENTIFIER_GREATER_CLAWS "9lw " | ||
1501 | +#define D2S_ITEMDATA_IDENTIFIER_FERAL_CLAWS "7lw " | ||
1502 | +#define D2S_ITEMDATA_IDENTIFIER_BLADE_TALONS "btl " | ||
1503 | +#define D2S_ITEMDATA_IDENTIFIER_GREATER_TALONS "9hw " | ||
1504 | +#define D2S_ITEMDATA_IDENTIFIER_RUNIC_TALONS "7hw " | ||
1505 | +#define D2S_ITEMDATA_IDENTIFIER_SCISSORS_KATAR "skr " | ||
1506 | +#define D2S_ITEMDATA_IDENTIFIER_SCISSORS_QUHAB "9qr " | ||
1507 | +#define D2S_ITEMDATA_IDENTIFIER_SCISSORS_SUWAYYAH "7qr " | ||
1508 | +#define D2S_ITEMDATA_IDENTIFIER_EAGLE_ORB "ob1 " | ||
1509 | +#define D2S_ITEMDATA_IDENTIFIER_GLOWING_ORB "ob6 " | ||
1510 | +#define D2S_ITEMDATA_IDENTIFIER_HEAVENLY_STONE "obb " | ||
1511 | +#define D2S_ITEMDATA_IDENTIFIER_SACRED_GLOBE "ob2 " | ||
1512 | +#define D2S_ITEMDATA_IDENTIFIER_CRYSTALLINE_GLB "ob7 " | ||
1513 | +#define D2S_ITEMDATA_IDENTIFIER_ELDRITCH_ORB "obc " | ||
1514 | +#define D2S_ITEMDATA_IDENTIFIER_SMOKED_SPHERE "ob3 " | ||
1515 | +#define D2S_ITEMDATA_IDENTIFIER_CLOUDY_SPHERE "ob8 " | ||
1516 | +#define D2S_ITEMDATA_IDENTIFIER_DEMON_HEART "obd " | ||
1517 | +#define D2S_ITEMDATA_IDENTIFIER_CLASPED_ORB "ob4 " | ||
1518 | +#define D2S_ITEMDATA_IDENTIFIER_SPARKLING_BALL "ob9 " | ||
1519 | +#define D2S_ITEMDATA_IDENTIFIER_VORTEX_ORB "obe " | ||
1520 | +#define D2S_ITEMDATA_IDENTIFIER_DRAGON_STONE "ob5 " | ||
1521 | +#define D2S_ITEMDATA_IDENTIFIER_SWIRLING_CRYSTAL "oba " | ||
1522 | +#define D2S_ITEMDATA_IDENTIFIER_DIMENSIONAL_SHARD "obf " | ||
1523 | +#define D2S_ITEMDATA_IDENTIFIER_STAG_BOW "am1 " | ||
1524 | +#define D2S_ITEMDATA_IDENTIFIER_ASHWOOD_BOW "am6 " | ||
1525 | +#define D2S_ITEMDATA_IDENTIFIER_MATRIARCHAL_BOW "amb " | ||
1526 | +#define D2S_ITEMDATA_IDENTIFIER_REFLEX_BOW "am2 " | ||
1527 | +#define D2S_ITEMDATA_IDENTIFIER_CEREMONIAL_BOW "am7 " | ||
1528 | +#define D2S_ITEMDATA_IDENTIFIER_GRAND_MATRON_BOW "amc " | ||
1529 | +#define D2S_ITEMDATA_IDENTIFIER_MAIDEN_SPEAR "am3 " | ||
1530 | +#define D2S_ITEMDATA_IDENTIFIER_CEREMONIAL_SPEAR "am8 " | ||
1531 | +#define D2S_ITEMDATA_IDENTIFIER_MATRIARCHAL_SPEAR "amd " | ||
1532 | +#define D2S_ITEMDATA_IDENTIFIER_MAIDEN_PIKE "am4 " | ||
1533 | +#define D2S_ITEMDATA_IDENTIFIER_CEREMONIAL_PIKE "am9 " | ||
1534 | +#define D2S_ITEMDATA_IDENTIFIER_MATRIARCHAL_PIKE "ame " | ||
1535 | +#define D2S_ITEMDATA_IDENTIFIER_MAIDEN_JAVELIN "am5 " | ||
1536 | +#define D2S_ITEMDATA_IDENTIFIER_CEREMONIAL_JAVELIN "ama " | ||
1537 | +#define D2S_ITEMDATA_IDENTIFIER_MATRIARCHAL_JAVELIN "amf " | ||
1538 | +#define D2S_ITEMDATA_IDENTIFIER_CIRCLET "ci0 " | ||
1539 | +#define D2S_ITEMDATA_IDENTIFIER_CORONET "ci1 " | ||
1540 | +#define D2S_ITEMDATA_IDENTIFIER_TIARA "ci2 " | ||
1541 | +#define D2S_ITEMDATA_IDENTIFIER_DIADEM "ci3 " | ||
1542 | +#define D2S_ITEMDATA_IDENTIFIER_RANCID_GAS_POTION "gps " | ||
1543 | +#define D2S_ITEMDATA_IDENTIFIER_OIL_POTION "ops " | ||
1544 | +#define D2S_ITEMDATA_IDENTIFIER_CHOKING_GAS_POTION "gpm " | ||
1545 | +#define D2S_ITEMDATA_IDENTIFIER_EXPLODING_POTION "opm " | ||
1546 | +#define D2S_ITEMDATA_IDENTIFIER_STRANGLING_GAS_POTION "gpl " | ||
1547 | +#define D2S_ITEMDATA_IDENTIFIER_FULMINATING_POTION "opl " | ||
1548 | +#define D2S_ITEMDATA_IDENTIFIER_WIRTS_LEG "leg " | ||
1549 | +#define D2S_ITEMDATA_IDENTIFIER_HORADRIC_MALUS "hdm " | ||
1550 | +#define D2S_ITEMDATA_IDENTIFIER_SCROLL_OF_INIFUSS1 "bks " | ||
1551 | +#define D2S_ITEMDATA_IDENTIFIER_SCROLL_OF_INIFUSS2 "bkd " | ||
1552 | +#define D2S_ITEMDATA_IDENTIFIER_BOOK_OF_SKILL "ass " | ||
1553 | +#define D2S_ITEMDATA_IDENTIFIER_HORADRIC_CUBE "box " | ||
1554 | +#define D2S_ITEMDATA_IDENTIFIER_HORADRIC_SCROLL "tr1 " | ||
1555 | +#define D2S_ITEMDATA_IDENTIFIER_STAFF_OF_KINGS "msf " | ||
1556 | +#define D2S_ITEMDATA_IDENTIFIER_VIPER_AMULET "vip " | ||
1557 | +#define D2S_ITEMDATA_IDENTIFIER_HORADRIC_STAFF "hst " | ||
1558 | +#define D2S_ITEMDATA_IDENTIFIER_POTION_OF_LIFE "xyz " | ||
1559 | +#define D2S_ITEMDATA_IDENTIFIER_JADE_FIGURINE "j34 " | ||
1560 | +#define D2S_ITEMDATA_IDENTIFIER_GOLDEN_BIRD "g34 " | ||
1561 | +#define D2S_ITEMDATA_IDENTIFIER_LAM_ESENS_TOME "bbb " | ||
1562 | +#define D2S_ITEMDATA_IDENTIFIER_GIDBINN "g33 " | ||
1563 | +#define D2S_ITEMDATA_IDENTIFIER_KHALIMS_FLAIL "qf1 " | ||
1564 | +#define D2S_ITEMDATA_IDENTIFIER_KHALIMS_WILL "qf2 " | ||
1565 | +#define D2S_ITEMDATA_IDENTIFIER_KHALIMS_EYE "qey " | ||
1566 | +#define D2S_ITEMDATA_IDENTIFIER_KHALIMS_HEART "qhr " | ||
1567 | +#define D2S_ITEMDATA_IDENTIFIER_KHALIMS_BRAIN "qbr " | ||
1568 | +#define D2S_ITEMDATA_IDENTIFIER_MEPHISTOS_SOULSTONE "mss " | ||
1569 | +#define D2S_ITEMDATA_IDENTIFIER_HELLFORGE_HAMMER "hfh " | ||
1570 | +#define D2S_ITEMDATA_IDENTIFIER_MALAH_POTION "ice " | ||
1571 | +#define D2S_ITEMDATA_IDENTIFIER_SCROLL_OF_RESISTANCE "tr2 " | ||
1572 | +#define D2S_ITEMDATA_IDENTIFIER_CHIPPED_AMETHYST "gcv " | ||
1573 | +#define D2S_ITEMDATA_IDENTIFIER_CHIPPED_DIAMOND "gcw " | ||
1574 | +#define D2S_ITEMDATA_IDENTIFIER_CHIPPED_EMERALD "gcg " | ||
1575 | +#define D2S_ITEMDATA_IDENTIFIER_CHIPPED_RUBY "gcr " | ||
1576 | +#define D2S_ITEMDATA_IDENTIFIER_CHIPPED_SAPHIRE "gcb " | ||
1577 | +#define D2S_ITEMDATA_IDENTIFIER_CHIPPED_SKULL "skc " | ||
1578 | +#define D2S_ITEMDATA_IDENTIFIER_CHIPPED_TOPAZ "gcy " | ||
1579 | +#define D2S_ITEMDATA_IDENTIFIER_FLAWED_AMETHYST "gfv " | ||
1580 | +#define D2S_ITEMDATA_IDENTIFIER_FLAWED_DIAMOND "gfw " | ||
1581 | +#define D2S_ITEMDATA_IDENTIFIER_FLAWED_EMERALD "gfg " | ||
1582 | +#define D2S_ITEMDATA_IDENTIFIER_FLAWED_RUBY "gfr " | ||
1583 | +#define D2S_ITEMDATA_IDENTIFIER_FLAWED_SAPHIRE "gfb " | ||
1584 | +#define D2S_ITEMDATA_IDENTIFIER_FLAWED_SKULL "skf " | ||
1585 | +#define D2S_ITEMDATA_IDENTIFIER_FLAWED_TOPAZ "gfy " | ||
1586 | +#define D2S_ITEMDATA_IDENTIFIER_AMETHYST "gsv " | ||
1587 | +#define D2S_ITEMDATA_IDENTIFIER_DIAMOND "gsw " | ||
1588 | +#define D2S_ITEMDATA_IDENTIFIER_EMERALD "gsg " | ||
1589 | +#define D2S_ITEMDATA_IDENTIFIER_RUBY "gsr " | ||
1590 | +#define D2S_ITEMDATA_IDENTIFIER_SAPHIRE "gsb " | ||
1591 | +#define D2S_ITEMDATA_IDENTIFIER_SKULL "sku " | ||
1592 | +#define D2S_ITEMDATA_IDENTIFIER_TOPAZ "gsy " | ||
1593 | +#define D2S_ITEMDATA_IDENTIFIER_FLAWLESS_AMETHYST "gzv " | ||
1594 | +#define D2S_ITEMDATA_IDENTIFIER_FLAWLESS_DIAMOND "glw " | ||
1595 | +#define D2S_ITEMDATA_IDENTIFIER_FLAWLESS_EMERALD "glg " | ||
1596 | +#define D2S_ITEMDATA_IDENTIFIER_FLAWLESS_RUBY "glr " | ||
1597 | +#define D2S_ITEMDATA_IDENTIFIER_FLAWLESS_SAPHIRE "glb " | ||
1598 | +#define D2S_ITEMDATA_IDENTIFIER_FLAWLESS_SKULL "skl " | ||
1599 | +#define D2S_ITEMDATA_IDENTIFIER_FLAWLESS_TOPAZ "gly " | ||
1600 | +#define D2S_ITEMDATA_IDENTIFIER_PERFECT_DIAMOND "gpw " | ||
1601 | +#define D2S_ITEMDATA_IDENTIFIER_PERFECT_AMETHYST "gpv " | ||
1602 | +#define D2S_ITEMDATA_IDENTIFIER_PERFECT_SAPPHIRE "gpb " | ||
1603 | +#define D2S_ITEMDATA_IDENTIFIER_PERFECT_TOPAZ "gpy " | ||
1604 | +#define D2S_ITEMDATA_IDENTIFIER_PERFECT_RUBY "gpr " | ||
1605 | +#define D2S_ITEMDATA_IDENTIFIER_PERFECT_SKULL "skz " | ||
1606 | +#define D2S_ITEMDATA_IDENTIFIER_PERFECT_EMERALD "gpg " | ||
1607 | +#define D2S_ITEMDATA_IDENTIFIER_EL_RUNE "r01 " | ||
1608 | +#define D2S_ITEMDATA_IDENTIFIER_ELD_RUNE "r02 " | ||
1609 | +#define D2S_ITEMDATA_IDENTIFIER_TIR_RUNE "r03 " | ||
1610 | +#define D2S_ITEMDATA_IDENTIFIER_NEF_RUNE "r04 " | ||
1611 | +#define D2S_ITEMDATA_IDENTIFIER_ETH_RUNE "r05 " | ||
1612 | +#define D2S_ITEMDATA_IDENTIFIER_ITH_RUNE "r06 " | ||
1613 | +#define D2S_ITEMDATA_IDENTIFIER_TAL_RUNE "r07 " | ||
1614 | +#define D2S_ITEMDATA_IDENTIFIER_RAL_RUNE "r08 " | ||
1615 | +#define D2S_ITEMDATA_IDENTIFIER_ORT_RUNE "r09 " | ||
1616 | +#define D2S_ITEMDATA_IDENTIFIER_THUL_RUNE "r10 " | ||
1617 | +#define D2S_ITEMDATA_IDENTIFIER_AMN_RUNE "r11 " | ||
1618 | +#define D2S_ITEMDATA_IDENTIFIER_SOL_RUNE "r12 " | ||
1619 | +#define D2S_ITEMDATA_IDENTIFIER_SHAEL_RUNE "r13 " | ||
1620 | +#define D2S_ITEMDATA_IDENTIFIER_DOL_RUNE "r14 " | ||
1621 | +#define D2S_ITEMDATA_IDENTIFIER_HEL_RUNE "r15 " | ||
1622 | +#define D2S_ITEMDATA_IDENTIFIER_IO_RUNE "r16 " | ||
1623 | +#define D2S_ITEMDATA_IDENTIFIER_LUM_RUNE "r17 " | ||
1624 | +#define D2S_ITEMDATA_IDENTIFIER_KO_RUNE "r18 " | ||
1625 | +#define D2S_ITEMDATA_IDENTIFIER_FAL_RUNE "r19 " | ||
1626 | +#define D2S_ITEMDATA_IDENTIFIER_LEM_RUNE "r20 " | ||
1627 | +#define D2S_ITEMDATA_IDENTIFIER_PUL_RUNE "r21 " | ||
1628 | +#define D2S_ITEMDATA_IDENTIFIER_UM_RUNE "r22 " | ||
1629 | +#define D2S_ITEMDATA_IDENTIFIER_MAL_RUNE "r23 " | ||
1630 | +#define D2S_ITEMDATA_IDENTIFIER_IST_RUNE "r24 " | ||
1631 | +#define D2S_ITEMDATA_IDENTIFIER_GUL_RUNE "r25 " | ||
1632 | +#define D2S_ITEMDATA_IDENTIFIER_VEX_RUNE "r26 " | ||
1633 | +#define D2S_ITEMDATA_IDENTIFIER_OHM_RUNE "r27 " | ||
1634 | +#define D2S_ITEMDATA_IDENTIFIER_LO_RUNE "r28 " | ||
1635 | +#define D2S_ITEMDATA_IDENTIFIER_SUR_RUNE "r29 " | ||
1636 | +#define D2S_ITEMDATA_IDENTIFIER_BER_RUNE "r30 " | ||
1637 | +#define D2S_ITEMDATA_IDENTIFIER_JAH_RUNE "r31 " | ||
1638 | +#define D2S_ITEMDATA_IDENTIFIER_CHAM_RUNE "r32 " | ||
1639 | +#define D2S_ITEMDATA_IDENTIFIER_ZOD_RUNE "r33 " | ||
1640 | +#define D2S_ITEMDATA_IDENTIFIER_ANTIDOTE_POTION "yps " | ||
1641 | +#define D2S_ITEMDATA_IDENTIFIER_STAMINA_POTION "vps " | ||
1642 | +#define D2S_ITEMDATA_IDENTIFIER_THAWING_POTION "wms " | ||
1643 | +#define D2S_ITEMDATA_IDENTIFIER_MINOR_HEALING_POTION "hp1 " | ||
1644 | +#define D2S_ITEMDATA_IDENTIFIER_MINOR_MANA_POTION "mp1 " | ||
1645 | +#define D2S_ITEMDATA_IDENTIFIER_LIGHT_HEALING_POTION "hp2 " | ||
1646 | +#define D2S_ITEMDATA_IDENTIFIER_LIGHT_MANA_POTION "mp2 " | ||
1647 | +#define D2S_ITEMDATA_IDENTIFIER_HEALING_POTION "hp3 " | ||
1648 | +#define D2S_ITEMDATA_IDENTIFIER_MANA_POTION "mp3 " | ||
1649 | +#define D2S_ITEMDATA_IDENTIFIER_GREATER_HEALING_POTION "hp4 " | ||
1650 | +#define D2S_ITEMDATA_IDENTIFIER_GREATER_MANA_POTION "mp4 " | ||
1651 | +#define D2S_ITEMDATA_IDENTIFIER_SUPER_HEALING_POTION "hp5 " | ||
1652 | +#define D2S_ITEMDATA_IDENTIFIER_SUPER_MANA_POTION "mp5 " | ||
1653 | +#define D2S_ITEMDATA_IDENTIFIER_REJUVENATION_POTION "rvs " | ||
1654 | +#define D2S_ITEMDATA_IDENTIFIER_FULL_REJUVENATION_POTION "rvl " | ||
1655 | +#define D2S_ITEMDATA_IDENTIFIER_CHARM_SMALL "cm1 " | ||
1656 | +#define D2S_ITEMDATA_IDENTIFIER_CHARM_LARGE "cm2 " | ||
1657 | +#define D2S_ITEMDATA_IDENTIFIER_CHARM_GRAND "cm3 " | ||
1658 | +#define D2S_ITEMDATA_IDENTIFIER_IDENTIFY_SCROLL "isc " | ||
1659 | +#define D2S_ITEMDATA_IDENTIFIER_TOWN_PORTAL_SCROLL "tsc " | ||
1660 | +#define D2S_ITEMDATA_IDENTIFIER_TOME_OF_TOWN_PORTAL "tbk " | ||
1661 | +#define D2S_ITEMDATA_IDENTIFIER_TOME_OF_IDENTIFY "ibk " | ||
1662 | +#define D2S_ITEMDATA_IDENTIFIER_ARROWS "aqv " | ||
1663 | +#define D2S_ITEMDATA_IDENTIFIER_BOLTS "cqv " | ||
1664 | +#define D2S_ITEMDATA_IDENTIFIER_JEWEL "jew " | ||
1665 | +#define D2S_ITEMDATA_IDENTIFIER_KEY "key " | ||
1666 | +#define D2S_ITEMDATA_IDENTIFIER_AMULET "amu " | ||
1667 | +#define D2S_ITEMDATA_IDENTIFIER_GOLD "gld " | ||
1668 | +#define D2S_ITEMDATA_IDENTIFIER_RING "rin " | ||
1669 | +#define D2S_ITEMDATA_IDENTIFIER_EAR "ear " | ||
1670 | + | ||
1671 | +// Unused | ||
1672 | +#define D2S_ITEMDATA_IDENTIFIER_TORCH "tch " | ||
1673 | +#define D2S_ITEMDATA_IDENTIFIER_HEART "hrt " | ||
1674 | +#define D2S_ITEMDATA_IDENTIFIER_BRAIN "brz " | ||
1675 | +#define D2S_ITEMDATA_IDENTIFIER_JAWBONE "jaw " | ||
1676 | +#define D2S_ITEMDATA_IDENTIFIER_EYE "eyz " | ||
1677 | +#define D2S_ITEMDATA_IDENTIFIER_HORN "hrn " | ||
1678 | +#define D2S_ITEMDATA_IDENTIFIER_HERB "hrb " | ||
1679 | +#define D2S_ITEMDATA_IDENTIFIER_TAIL "tal " | ||
1680 | +#define D2S_ITEMDATA_IDENTIFIER_FLAG "flg " | ||
1681 | +#define D2S_ITEMDATA_IDENTIFIER_FANG "fng " | ||
1682 | +#define D2S_ITEMDATA_IDENTIFIER_QUILL "qll " | ||
1683 | +#define D2S_ITEMDATA_IDENTIFIER_SOUL "sol " | ||
1684 | +#define D2S_ITEMDATA_IDENTIFIER_SCALP "scz " | ||
1685 | +#define D2S_ITEMDATA_IDENTIFIER_SPLEEN "spe " | ||
1686 | +#define D2S_ITEMDATA_IDENTIFIER_BLACK_TOWER_KEY "luv " | ||
1687 | +#define D2S_ITEMDATA_IDENTIFIER_ELIXIR "elx " | ||
1688 | +#define D2S_ITEMDATA_IDENTIFIER_SCROLL_OF_KNOWLEDGE "0sc " | ||
1689 | + | ||
1048 | #endif | 1690 | #endif |
1049 | \ No newline at end of file | 1691 | \ No newline at end of file |
docs/d2s_save_item_format_1.13d.txt
@@ -191,7 +191,7 @@ the future. All sizes are in bits unless otherwise specified. | @@ -191,7 +191,7 @@ the future. All sizes are in bits unless otherwise specified. | ||
191 | │ │ │old data from the last time the item was stored. I.e., it │ | 191 | │ │ │old data from the last time the item was stored. I.e., it │ |
192 | │ │ │may be non-zero, but the value is unused. │ | 192 | │ │ │may be non-zero, but the value is unused. │ |
193 | ├────────┼───────┼────────────────────────────────────────────────────────────┤ | 193 | ├────────┼───────┼────────────────────────────────────────────────────────────┤ |
194 | -│72 │1 │unknown │ | 194 | +│72 │1 │Set Name Has Suffix (?) │ |
195 | ├────────┼───────┼────────────────────────────────────────────────────────────┤ | 195 | ├────────┼───────┼────────────────────────────────────────────────────────────┤ |
196 | │ │ │Actually, bit 74 seems to always be 0, but since bits 73 and│ | 196 | │ │ │Actually, bit 74 seems to always be 0, but since bits 73 and│ |
197 | │ │ │75 are related I just lump them all together. If the item is│ | 197 | │ │ │75 are related I just lump them all together. If the item is│ |
@@ -670,7 +670,7 @@ personalized. | @@ -670,7 +670,7 @@ personalized. | ||
670 | │7 │0 (this indicates the end of the name) │ | 670 | │7 │0 (this indicates the end of the name) │ |
671 | └───────────────┴─────────────────────────────────────────────────────────────┘ | 671 | └───────────────┴─────────────────────────────────────────────────────────────┘ |
672 | 672 | ||
673 | -Unknown Field | 673 | +Unknown Field MAYBE WROOOOONG |
674 | 674 | ||
675 | All items have this field between the personalization (if it exists) and the | 675 | All items have this field between the personalization (if it exists) and the |
676 | item-specific data: | 676 | item-specific data: |
docs/design
@@ -27,6 +27,17 @@ User should be able to: | @@ -27,6 +27,17 @@ User should be able to: | ||
27 | - get waypoint active | 27 | - get waypoint active |
28 | - set waypoint active | 28 | - set waypoint active |
29 | 29 | ||
30 | + items | ||
31 | + --------- | ||
32 | + - add/remove sockets | ||
33 | + - add/remove personalisation | ||
34 | + - add/remove ethereal | ||
35 | + - add/remove indestructible | ||
36 | + - change durability | ||
37 | + - change item level | ||
38 | + - spawn unique # get normal and unique and compare | ||
39 | + - spawn set # get normal and set and compare | ||
40 | + - import/export | ||
30 | 41 | ||
31 | 42 | ||
32 | 43 |