World of Might and Magic  0.2.0
Open reimplementation of Might and Magic 6 7 8 game engine
Структура ItemGen

#include <Items.h>

+ Граф связей класса ItemGen:

Открытые члены

void ResetEnchantAnimation ()
 
bool ItemEnchanted () const
 
bool AuraEffectRed () const
 
bool AuraEffectBlue () const
 
bool AuraEffectGreen () const
 
bool AuraEffectPurple () const
 
void GetItemBonusSpecialEnchantment (Player *owner, CHARACTER_ATTRIBUTE_TYPE attrToGet, int *additiveBonus, int *halfSkillBonus)
 
void GetItemBonusArtifact (Player *owner, CHARACTER_ATTRIBUTE_TYPE attrToGet, int *bonusSum)
 
bool IsRegularEnchanmentForAttribute (CHARACTER_ATTRIBUTE_TYPE attrToGet)
 
bool IsBroken ()
 
void SetBroken ()
 
bool IsIdentified ()
 
void SetIdentified ()
 
bool IsStolen ()
 
void SetStolen ()
 
bool GenerateArtifact ()
 
unsigned int GetValue ()
 
String GetDisplayName ()
 
String GetIdentifiedName ()
 
void UpdateTempBonus (GameTime time)
 
void Reset ()
 
int _439DF3_get_additional_damage (DAMAGE_TYPE *a2, bool *vampiyr)
 
ITEM_EQUIP_TYPE GetItemEquipType ()
 
unsigned char GetPlayerSkillType ()
 
char * GetIconName ()
 
unsigned __int8 GetDamageDice ()
 
unsigned __int8 GetDamageRoll ()
 
unsigned __int8 GetDamageMod ()
 
bool MerchandiseTest (int _2da_idx)
 

Открытые статические члены

static void AddToMap (std::map< int, std::map< CHARACTER_ATTRIBUTE_TYPE, CEnchantment * > * > &maptoadd, int enchId, CHARACTER_ATTRIBUTE_TYPE attrId, int bonusValue=0, uint16_t Player::*skillPtr=nullptr)
 
static void PopulateSpecialBonusMap ()
 
static void PopulateRegularBonusMap ()
 
static void PopulateArtifactBonusMap ()
 
static void ClearItemBonusMaps ()
 

Открытые атрибуты

int uItemID
 
int uEnchantmentType
 
int m_enchantmentStrength
 
ITEM_ENCHANTMENT special_enchantment
 
int uNumCharges
 
unsigned int uAttributes
 
unsigned __int8 uBodyAnchor
 
char uMaxCharges
 
char uHolderPlayer
 
char field_1B
 
GameTime expirte_time
 

Статические открытые данные

static std::map< int, std::map< CHARACTER_ATTRIBUTE_TYPE, CEnchantment * > * > regularBonusMap
 
static std::map< int, std::map< CHARACTER_ATTRIBUTE_TYPE, CEnchantment * > * > specialBonusMap
 
static std::map< int, std::map< CHARACTER_ATTRIBUTE_TYPE, CEnchantment * > * > artifactBonusMap
 

Подробное описание

См. определение в файле Items.h строка 263

Методы

◆ AddToMap()

void ItemGen::AddToMap ( std::map< int, std::map< CHARACTER_ATTRIBUTE_TYPE, CEnchantment * > * > &  maptoadd,
int  enchId,
CHARACTER_ATTRIBUTE_TYPE  attrId,
int  bonusValue = 0,
uint16_t Player::*  skillPtr = nullptr 
)
static

См. определение в файле Items.cpp строка 1019

1022  {
1023  auto key = maptoadd.find(enchId);
1024  std::map<CHARACTER_ATTRIBUTE_TYPE, CEnchantment*>* currMap;
1025  if (key == maptoadd.end()) {
1026  currMap = new std::map<CHARACTER_ATTRIBUTE_TYPE, CEnchantment*>;
1027  maptoadd[enchId] = currMap;
1028  } else {
1029  currMap = key->second;
1030  }
1031  Assert(currMap->find(attrId) == currMap->end(),
1032  "Attribute %d already present for enchantment %d", attrId, enchId);
1033  (*currMap)[attrId] = new CEnchantment(bonusValue, skillPtr);
1034 }

◆ PopulateSpecialBonusMap()

void ItemGen::PopulateSpecialBonusMap ( )
static

См. определение в файле Items.cpp строка 1036

1036  {
1037  int enchId = 1; // of Protection, +10 to all Resistances
1038  NEWBONUSINTOSPECIALLIST(CHARACTER_ATTRIBUTE_RESIST_FIRE, 10);
1039  NEWBONUSINTOSPECIALLIST(CHARACTER_ATTRIBUTE_RESIST_AIR, 10);
1040  NEWBONUSINTOSPECIALLIST(CHARACTER_ATTRIBUTE_RESIST_WATER, 10);
1041  NEWBONUSINTOSPECIALLIST(CHARACTER_ATTRIBUTE_RESIST_EARTH, 10);
1042  NEWBONUSINTOSPECIALLIST(CHARACTER_ATTRIBUTE_RESIST_MIND, 10);
1043  NEWBONUSINTOSPECIALLIST(CHARACTER_ATTRIBUTE_RESIST_BODY, 10);
1044 
1045  enchId = 2; // of The Gods, +10 to all Seven Statistics
1046  NEWBONUSINTOSPECIALLIST(CHARACTER_ATTRIBUTE_STRENGTH, 10);
1047  NEWBONUSINTOSPECIALLIST(CHARACTER_ATTRIBUTE_INTELLIGENCE, 10);
1048  NEWBONUSINTOSPECIALLIST(CHARACTER_ATTRIBUTE_WILLPOWER, 10);
1049  NEWBONUSINTOSPECIALLIST(CHARACTER_ATTRIBUTE_ENDURANCE, 10);
1050  NEWBONUSINTOSPECIALLIST(CHARACTER_ATTRIBUTE_ACCURACY, 10);
1051  NEWBONUSINTOSPECIALLIST(CHARACTER_ATTRIBUTE_SPEED, 10);
1052  NEWBONUSINTOSPECIALLIST(CHARACTER_ATTRIBUTE_LUCK, 10);
1053 
1054  enchId = 26; // of Air Magic
1055  NEWBONUSINTOSPECIALLIST2(CHARACTER_ATTRIBUTE_SKILL_AIR, 0,
1056  &Player::skillAir);
1057 
1058  enchId = 27; // of Body Magic
1059  NEWBONUSINTOSPECIALLIST2(CHARACTER_ATTRIBUTE_SKILL_BODY, 0,
1061 
1062  enchId = 28; // of Dark Magic
1063  NEWBONUSINTOSPECIALLIST2(CHARACTER_ATTRIBUTE_SKILL_DARK, 0,
1065 
1066  enchId = 29; // of Earth Magic
1067  NEWBONUSINTOSPECIALLIST2(CHARACTER_ATTRIBUTE_SKILL_EARTH, 0,
1069 
1070  enchId = 30; // of Fire Magic
1071  NEWBONUSINTOSPECIALLIST2(CHARACTER_ATTRIBUTE_SKILL_FIRE, 0,
1073 
1074  enchId = 31; // of Light Magic
1075  NEWBONUSINTOSPECIALLIST2(CHARACTER_ATTRIBUTE_SKILL_LIGHT, 0,
1077 
1078  enchId = 32; // of Mind Magic
1079  NEWBONUSINTOSPECIALLIST2(CHARACTER_ATTRIBUTE_SKILL_MIND, 0,
1081 
1082  enchId = 33; // of Spirit Magic
1083  NEWBONUSINTOSPECIALLIST2(CHARACTER_ATTRIBUTE_SKILL_SPIRIT, 0,
1085 
1086  enchId = 34; // of Water Magic
1087  NEWBONUSINTOSPECIALLIST2(CHARACTER_ATTRIBUTE_SKILL_WATER, 0,
1089 
1090  enchId = 42; // of Doom
1091  NEWBONUSINTOSPECIALLIST(CHARACTER_ATTRIBUTE_STRENGTH, 1);
1092  NEWBONUSINTOSPECIALLIST(CHARACTER_ATTRIBUTE_INTELLIGENCE, 1);
1093  NEWBONUSINTOSPECIALLIST(CHARACTER_ATTRIBUTE_WILLPOWER, 1);
1094  NEWBONUSINTOSPECIALLIST(CHARACTER_ATTRIBUTE_ENDURANCE, 1);
1095  NEWBONUSINTOSPECIALLIST(CHARACTER_ATTRIBUTE_ACCURACY, 1);
1096  NEWBONUSINTOSPECIALLIST(CHARACTER_ATTRIBUTE_SPEED, 1);
1097  NEWBONUSINTOSPECIALLIST(CHARACTER_ATTRIBUTE_LUCK, 1);
1098  NEWBONUSINTOSPECIALLIST(CHARACTER_ATTRIBUTE_HEALTH, 1);
1099  NEWBONUSINTOSPECIALLIST(CHARACTER_ATTRIBUTE_MANA, 1);
1100  NEWBONUSINTOSPECIALLIST(CHARACTER_ATTRIBUTE_AC_BONUS, 1);
1101  NEWBONUSINTOSPECIALLIST(CHARACTER_ATTRIBUTE_RESIST_FIRE, 1);
1102  NEWBONUSINTOSPECIALLIST(CHARACTER_ATTRIBUTE_RESIST_AIR, 1);
1103  NEWBONUSINTOSPECIALLIST(CHARACTER_ATTRIBUTE_RESIST_WATER, 1);
1104  NEWBONUSINTOSPECIALLIST(CHARACTER_ATTRIBUTE_RESIST_EARTH, 1);
1105  NEWBONUSINTOSPECIALLIST(CHARACTER_ATTRIBUTE_RESIST_MIND, 1);
1106  NEWBONUSINTOSPECIALLIST(CHARACTER_ATTRIBUTE_RESIST_BODY, 1);
1107 
1108  enchId = 43; // of Earth
1109  NEWBONUSINTOSPECIALLIST(CHARACTER_ATTRIBUTE_ENDURANCE, 10);
1110  NEWBONUSINTOSPECIALLIST(CHARACTER_ATTRIBUTE_AC_BONUS, 10);
1111  NEWBONUSINTOSPECIALLIST(CHARACTER_ATTRIBUTE_HEALTH, 10);
1112 
1113  enchId = 44; // of Life
1114  NEWBONUSINTOSPECIALLIST(CHARACTER_ATTRIBUTE_HEALTH, 10);
1115 
1116  enchId = 45; // Rogues
1117  NEWBONUSINTOSPECIALLIST(CHARACTER_ATTRIBUTE_SPEED, 5);
1118  NEWBONUSINTOSPECIALLIST(CHARACTER_ATTRIBUTE_ACCURACY, 5);
1119 
1120  enchId = 46; // of The Dragon
1121  NEWBONUSINTOSPECIALLIST(CHARACTER_ATTRIBUTE_STRENGTH, 25);
1122 
1123  enchId = 47; // of The Eclipse
1124  NEWBONUSINTOSPECIALLIST(CHARACTER_ATTRIBUTE_MANA, 10);
1125 
1126  enchId = 48; // of The Golem
1127  NEWBONUSINTOSPECIALLIST(CHARACTER_ATTRIBUTE_ENDURANCE, 15);
1128  NEWBONUSINTOSPECIALLIST(CHARACTER_ATTRIBUTE_AC_BONUS, 5);
1129 
1130  enchId = 49; // of The Moon
1131  NEWBONUSINTOSPECIALLIST(CHARACTER_ATTRIBUTE_INTELLIGENCE, 10);
1132  NEWBONUSINTOSPECIALLIST(CHARACTER_ATTRIBUTE_LUCK, 10);
1133 
1134  enchId = 50; // of The Phoenix
1135  NEWBONUSINTOSPECIALLIST(CHARACTER_ATTRIBUTE_RESIST_FIRE, 30);
1136 
1137  enchId = 51; // of The Sky
1138  NEWBONUSINTOSPECIALLIST(CHARACTER_ATTRIBUTE_MANA, 10);
1139  NEWBONUSINTOSPECIALLIST(CHARACTER_ATTRIBUTE_SPEED, 10);
1140  NEWBONUSINTOSPECIALLIST(CHARACTER_ATTRIBUTE_INTELLIGENCE, 10);
1141 
1142  enchId = 52; // of The Stars
1143  NEWBONUSINTOSPECIALLIST(CHARACTER_ATTRIBUTE_ENDURANCE, 10);
1144  NEWBONUSINTOSPECIALLIST(CHARACTER_ATTRIBUTE_ACCURACY, 10);
1145 
1146  enchId = 53; // of The Sun
1147  NEWBONUSINTOSPECIALLIST(CHARACTER_ATTRIBUTE_STRENGTH, 10);
1148  NEWBONUSINTOSPECIALLIST(CHARACTER_ATTRIBUTE_WILLPOWER, 10);
1149 
1150  enchId = 54; // of The Troll
1151  NEWBONUSINTOSPECIALLIST(CHARACTER_ATTRIBUTE_ENDURANCE, 15);
1152 
1153  enchId = 55; // of The Unicorn
1154  NEWBONUSINTOSPECIALLIST(CHARACTER_ATTRIBUTE_LUCK, 15);
1155 
1156  enchId = 56; // Warriors
1157  NEWBONUSINTOSPECIALLIST(CHARACTER_ATTRIBUTE_STRENGTH, 5);
1158  NEWBONUSINTOSPECIALLIST(CHARACTER_ATTRIBUTE_ENDURANCE, 5);
1159 
1160  enchId = 57; // Wizards
1161  NEWBONUSINTOSPECIALLIST(CHARACTER_ATTRIBUTE_INTELLIGENCE, 5);
1162  NEWBONUSINTOSPECIALLIST(CHARACTER_ATTRIBUTE_WILLPOWER, 5);
1163 
1164  enchId = 60; // Monks'
1165  NEWBONUSINTOSPECIALLIST2(CHARACTER_ATTRIBUTE_SKILL_DODGE, 3,
1167  NEWBONUSINTOSPECIALLIST2(CHARACTER_ATTRIBUTE_SKILL_UNARMED, 3,
1169 
1170  enchId = 61; // Thieves'
1171  NEWBONUSINTOSPECIALLIST2(CHARACTER_ATTRIBUTE_SKILL_TRAP_DISARM, 3,
1173  NEWBONUSINTOSPECIALLIST2(CHARACTER_ATTRIBUTE_SKILL_STEALING, 3,
1175 
1176  enchId = 62; // of Identifying
1177  NEWBONUSINTOSPECIALLIST2(CHARACTER_ATTRIBUTE_SKILL_ITEM_ID, 3,
1179  NEWBONUSINTOSPECIALLIST2(CHARACTER_ATTRIBUTE_SKILL_MONSTER_ID, 3,
1181 
1182  enchId = 67; // Assassins'
1183  NEWBONUSINTOSPECIALLIST2(CHARACTER_ATTRIBUTE_SKILL_TRAP_DISARM, 2,
1185 
1186  enchId = 68; // Barbarians'
1187  NEWBONUSINTOSPECIALLIST(CHARACTER_ATTRIBUTE_AC_BONUS, 5);
1188 
1189  enchId = 69; // of the Storm
1190  NEWBONUSINTOSPECIALLIST(CHARACTER_ATTRIBUTE_RESIST_AIR, 20);
1191 
1192  enchId = 70; // of the Ocean
1193  NEWBONUSINTOSPECIALLIST(CHARACTER_ATTRIBUTE_RESIST_WATER, 10);
1194  NEWBONUSINTOSPECIALLIST2(CHARACTER_ATTRIBUTE_SKILL_ALCHEMY, 2,
1196 }

Перекрестные ссылки CHARACTER_ATTRIBUTE_AC_BONUS, CHARACTER_ATTRIBUTE_ACCURACY, CHARACTER_ATTRIBUTE_ENDURANCE, CHARACTER_ATTRIBUTE_HEALTH, CHARACTER_ATTRIBUTE_INTELLIGENCE, CHARACTER_ATTRIBUTE_LUCK, CHARACTER_ATTRIBUTE_MANA, CHARACTER_ATTRIBUTE_RESIST_AIR, CHARACTER_ATTRIBUTE_RESIST_BODY, CHARACTER_ATTRIBUTE_RESIST_EARTH, CHARACTER_ATTRIBUTE_RESIST_FIRE, CHARACTER_ATTRIBUTE_RESIST_MIND, CHARACTER_ATTRIBUTE_RESIST_WATER, CHARACTER_ATTRIBUTE_SKILL_AIR, CHARACTER_ATTRIBUTE_SKILL_ALCHEMY, CHARACTER_ATTRIBUTE_SKILL_BODY, CHARACTER_ATTRIBUTE_SKILL_DARK, CHARACTER_ATTRIBUTE_SKILL_DODGE, CHARACTER_ATTRIBUTE_SKILL_EARTH, CHARACTER_ATTRIBUTE_SKILL_FIRE, CHARACTER_ATTRIBUTE_SKILL_ITEM_ID, CHARACTER_ATTRIBUTE_SKILL_LIGHT, CHARACTER_ATTRIBUTE_SKILL_MIND, CHARACTER_ATTRIBUTE_SKILL_MONSTER_ID, CHARACTER_ATTRIBUTE_SKILL_SPIRIT, CHARACTER_ATTRIBUTE_SKILL_STEALING, CHARACTER_ATTRIBUTE_SKILL_TRAP_DISARM, CHARACTER_ATTRIBUTE_SKILL_UNARMED, CHARACTER_ATTRIBUTE_SKILL_WATER, CHARACTER_ATTRIBUTE_SPEED, CHARACTER_ATTRIBUTE_STRENGTH, CHARACTER_ATTRIBUTE_WILLPOWER, Player::skillAir, Player::skillAlchemy, Player::skillBody, Player::skillDark, Player::skillDisarmTrap, Player::skillDodge, Player::skillEarth, Player::skillFire, Player::skillItemId, Player::skillLight, Player::skillMind, Player::skillMonsterId, Player::skillSpirit, Player::skillStealing, Player::skillUnarmed и Player::skillWater.

Используется в ItemsTable::Initialize().

+ Граф вызова функции:

◆ PopulateRegularBonusMap()

void ItemGen::PopulateRegularBonusMap ( )
static

См. определение в файле Items.cpp строка 1198

1198  {
1199  int enchId = 1; // of Might
1200  NEWBONUSINTOREGULARLIST(CHARACTER_ATTRIBUTE_STRENGTH);
1201 
1202  enchId = 2; // of Thought
1203  NEWBONUSINTOREGULARLIST(CHARACTER_ATTRIBUTE_INTELLIGENCE);
1204 
1205  enchId = 3; // of Charm
1206  NEWBONUSINTOREGULARLIST(CHARACTER_ATTRIBUTE_WILLPOWER);
1207 
1208  enchId = 4; // of Vigor
1209  NEWBONUSINTOREGULARLIST(CHARACTER_ATTRIBUTE_ENDURANCE);
1210 
1211  enchId = 5; // of Precision
1212  NEWBONUSINTOREGULARLIST(CHARACTER_ATTRIBUTE_ACCURACY);
1213 
1214  enchId = 6; // of Speed
1215  NEWBONUSINTOREGULARLIST(CHARACTER_ATTRIBUTE_SPEED);
1216 
1217  enchId = 7; // of Luck
1218  NEWBONUSINTOREGULARLIST(CHARACTER_ATTRIBUTE_LUCK);
1219 
1220  enchId = 8; // of Health
1221  NEWBONUSINTOREGULARLIST(CHARACTER_ATTRIBUTE_HEALTH);
1222 
1223  enchId = 9; // of Magic
1224  NEWBONUSINTOREGULARLIST(CHARACTER_ATTRIBUTE_MANA);
1225 
1226  enchId = 10; // of Defense
1227  NEWBONUSINTOREGULARLIST(CHARACTER_ATTRIBUTE_AC_BONUS);
1228 
1229  enchId = 11; // of Fire Resistance
1230  NEWBONUSINTOREGULARLIST(CHARACTER_ATTRIBUTE_RESIST_FIRE);
1231 
1232  enchId = 12; // of Air Resistance
1233  NEWBONUSINTOREGULARLIST(CHARACTER_ATTRIBUTE_RESIST_AIR);
1234 
1235  enchId = 13; // of Water Resistance
1236  NEWBONUSINTOREGULARLIST(CHARACTER_ATTRIBUTE_RESIST_WATER);
1237 
1238  enchId = 14; // of Earth Resistance
1239  NEWBONUSINTOREGULARLIST(CHARACTER_ATTRIBUTE_RESIST_EARTH);
1240 
1241  enchId = 15; // of Mind Resistance
1242  NEWBONUSINTOREGULARLIST(CHARACTER_ATTRIBUTE_RESIST_MIND);
1243 
1244  enchId = 16; // of Body Resistance
1245  NEWBONUSINTOREGULARLIST(CHARACTER_ATTRIBUTE_RESIST_BODY);
1246 
1247  enchId = 17; // of Alchemy
1248  NEWBONUSINTOREGULARLIST(CHARACTER_ATTRIBUTE_SKILL_ALCHEMY);
1249 
1250  enchId = 18; // of Stealing
1251  NEWBONUSINTOREGULARLIST(CHARACTER_ATTRIBUTE_SKILL_STEALING);
1252 
1253  enchId = 19; // of Disarming
1254  NEWBONUSINTOREGULARLIST(CHARACTER_ATTRIBUTE_SKILL_TRAP_DISARM);
1255 
1256  enchId = 20; // of Items
1257  NEWBONUSINTOREGULARLIST(CHARACTER_ATTRIBUTE_SKILL_ITEM_ID);
1258 
1259  enchId = 21; // of Monsters
1260  NEWBONUSINTOREGULARLIST(CHARACTER_ATTRIBUTE_SKILL_MONSTER_ID);
1261 
1262  enchId = 22; // of Arms
1263  NEWBONUSINTOREGULARLIST(CHARACTER_ATTRIBUTE_SKILL_ARMSMASTER);
1264 
1265  enchId = 23; // of Dodging
1266  NEWBONUSINTOREGULARLIST(CHARACTER_ATTRIBUTE_SKILL_DODGE);
1267 
1268  enchId = 24; // of the Fist
1269  NEWBONUSINTOREGULARLIST(CHARACTER_ATTRIBUTE_SKILL_UNARMED);
1270 }

Перекрестные ссылки CHARACTER_ATTRIBUTE_AC_BONUS, CHARACTER_ATTRIBUTE_ACCURACY, CHARACTER_ATTRIBUTE_ENDURANCE, CHARACTER_ATTRIBUTE_HEALTH, CHARACTER_ATTRIBUTE_INTELLIGENCE, CHARACTER_ATTRIBUTE_LUCK, CHARACTER_ATTRIBUTE_MANA, CHARACTER_ATTRIBUTE_RESIST_AIR, CHARACTER_ATTRIBUTE_RESIST_BODY, CHARACTER_ATTRIBUTE_RESIST_EARTH, CHARACTER_ATTRIBUTE_RESIST_FIRE, CHARACTER_ATTRIBUTE_RESIST_MIND, CHARACTER_ATTRIBUTE_RESIST_WATER, CHARACTER_ATTRIBUTE_SKILL_ALCHEMY, CHARACTER_ATTRIBUTE_SKILL_ARMSMASTER, CHARACTER_ATTRIBUTE_SKILL_DODGE, CHARACTER_ATTRIBUTE_SKILL_ITEM_ID, CHARACTER_ATTRIBUTE_SKILL_MONSTER_ID, CHARACTER_ATTRIBUTE_SKILL_STEALING, CHARACTER_ATTRIBUTE_SKILL_TRAP_DISARM, CHARACTER_ATTRIBUTE_SKILL_UNARMED, CHARACTER_ATTRIBUTE_SPEED, CHARACTER_ATTRIBUTE_STRENGTH и CHARACTER_ATTRIBUTE_WILLPOWER.

Используется в ItemsTable::Initialize().

+ Граф вызова функции:

◆ PopulateArtifactBonusMap()

void ItemGen::PopulateArtifactBonusMap ( )
static

См. определение в файле Items.cpp строка 1272

1272  {
1273  int itemId;
1274  itemId = ITEM_ARTIFACT_PUCK;
1275  NEWBONUSINTOARTIFACTLIST(CHARACTER_ATTRIBUTE_STRENGTH, 40);
1276 
1277  itemId = ITEM_ARTIFACT_IRON_FEATHER;
1278  NEWBONUSINTOARTIFACTLIST(CHARACTER_ATTRIBUTE_STRENGTH, 40);
1279 
1280  itemId = ITEM_ARTIFACT_WALLACE;
1281  NEWBONUSINTOARTIFACTLIST(CHARACTER_ATTRIBUTE_WILLPOWER, 40);
1282  NEWBONUSINTOARTIFACTLIST(CHARACTER_ATTRIBUTE_SKILL_ARMSMASTER, 10);
1283 
1284  itemId = ITEM_ARTIFACT_CORSAIR;
1285  NEWBONUSINTOARTIFACTLIST(CHARACTER_ATTRIBUTE_LUCK, 40);
1286  NEWBONUSINTOARTIFACTLIST(CHARACTER_ATTRIBUTE_SKILL_TRAP_DISARM, 5);
1287  NEWBONUSINTOARTIFACTLIST(CHARACTER_ATTRIBUTE_SKILL_STEALING, 5);
1288 
1290  NEWBONUSINTOARTIFACTLIST(CHARACTER_ATTRIBUTE_STRENGTH, 10);
1291  NEWBONUSINTOARTIFACTLIST(CHARACTER_ATTRIBUTE_INTELLIGENCE, 10);
1292  NEWBONUSINTOARTIFACTLIST(CHARACTER_ATTRIBUTE_WILLPOWER, 10);
1293  NEWBONUSINTOARTIFACTLIST(CHARACTER_ATTRIBUTE_ENDURANCE, 10);
1294  NEWBONUSINTOARTIFACTLIST(CHARACTER_ATTRIBUTE_ACCURACY, 10);
1295  NEWBONUSINTOARTIFACTLIST(CHARACTER_ATTRIBUTE_SPEED, 10);
1296  NEWBONUSINTOARTIFACTLIST(CHARACTER_ATTRIBUTE_LUCK, 10);
1297 
1298  itemId = ITEM_ARTIFACT_YORUBA;
1299  NEWBONUSINTOARTIFACTLIST(CHARACTER_ATTRIBUTE_ENDURANCE, 25);
1300 
1301  itemId = ITEM_ARTIFACT_SPLITTER;
1302  NEWBONUSINTOARTIFACTLIST(CHARACTER_ATTRIBUTE_RESIST_FIRE, 50);
1303 
1304  itemId = ITEM_ARTEFACT_ULLYSES,
1305  NEWBONUSINTOARTIFACTLIST(CHARACTER_ATTRIBUTE_ACCURACY, 50);
1306 
1308  NEWBONUSINTOARTIFACTLIST(CHARACTER_ATTRIBUTE_SKILL_DODGE, 10);
1309  NEWBONUSINTOARTIFACTLIST(CHARACTER_ATTRIBUTE_SKILL_UNARMED, 10);
1310 
1311  itemId = ITEM_ARTIFACT_LEAGUE_BOOTS;
1312  NEWBONUSINTOARTIFACTLIST(CHARACTER_ATTRIBUTE_SPEED, 40);
1313  NEWBONUSINTOARTIFACTLIST2(CHARACTER_ATTRIBUTE_SKILL_WATER, 0,
1315 
1316  itemId = ITEM_ARTIFACT_RULERS_RING;
1317  NEWBONUSINTOARTIFACTLIST2(CHARACTER_ATTRIBUTE_SKILL_MIND, 0,
1319  NEWBONUSINTOARTIFACTLIST2(CHARACTER_ATTRIBUTE_SKILL_DARK, 0,
1321 
1322  itemId = ITEM_RELIC_MASH;
1323  NEWBONUSINTOARTIFACTLIST(CHARACTER_ATTRIBUTE_STRENGTH, 150);
1324  NEWBONUSINTOARTIFACTLIST(CHARACTER_ATTRIBUTE_INTELLIGENCE, -40);
1325  NEWBONUSINTOARTIFACTLIST(CHARACTER_ATTRIBUTE_WILLPOWER, -40);
1326  NEWBONUSINTOARTIFACTLIST(CHARACTER_ATTRIBUTE_SPEED, -40);
1327 
1328  itemId = ITEM_RELIC_ETHRICS_STAFF;
1329  NEWBONUSINTOARTIFACTLIST2(CHARACTER_ATTRIBUTE_SKILL_DARK, 0,
1331  NEWBONUSINTOARTIFACTLIST(CHARACTER_ATTRIBUTE_SKILL_MEDITATION, 15);
1332 
1333  itemId = ITEM_RELIC_HARECS_LEATHER;
1334  NEWBONUSINTOARTIFACTLIST(CHARACTER_ATTRIBUTE_SKILL_TRAP_DISARM, 5);
1335  NEWBONUSINTOARTIFACTLIST(CHARACTER_ATTRIBUTE_SKILL_STEALING, 5);
1336  NEWBONUSINTOARTIFACTLIST(CHARACTER_ATTRIBUTE_LUCK, 50);
1337  NEWBONUSINTOARTIFACTLIST(CHARACTER_ATTRIBUTE_RESIST_FIRE, -10);
1338  NEWBONUSINTOARTIFACTLIST(CHARACTER_ATTRIBUTE_RESIST_WATER, -10);
1339  NEWBONUSINTOARTIFACTLIST(CHARACTER_ATTRIBUTE_RESIST_AIR, -10);
1340  NEWBONUSINTOARTIFACTLIST(CHARACTER_ATTRIBUTE_RESIST_EARTH, -10);
1341  NEWBONUSINTOARTIFACTLIST(CHARACTER_ATTRIBUTE_RESIST_MIND, -10);
1342  NEWBONUSINTOARTIFACTLIST(CHARACTER_ATTRIBUTE_RESIST_BODY, -10);
1343 
1344  itemId = ITEM_RELIC_OLD_NICK;
1345  NEWBONUSINTOARTIFACTLIST(CHARACTER_ATTRIBUTE_SKILL_TRAP_DISARM, 5);
1346 
1347  itemId = ITEM_RELIC_AMUCK;
1348  NEWBONUSINTOARTIFACTLIST(CHARACTER_ATTRIBUTE_STRENGTH, 100);
1349  NEWBONUSINTOARTIFACTLIST(CHARACTER_ATTRIBUTE_ENDURANCE, 100);
1350  NEWBONUSINTOARTIFACTLIST(CHARACTER_ATTRIBUTE_AC_BONUS, -15);
1351 
1352  itemId = ITEM_RELIC_GLORY_SHIELD;
1353  NEWBONUSINTOARTIFACTLIST2(CHARACTER_ATTRIBUTE_SKILL_SPIRIT, 0,
1355  NEWBONUSINTOARTIFACTLIST(CHARACTER_ATTRIBUTE_SKILL_SHIELD, 5);
1356  NEWBONUSINTOARTIFACTLIST(CHARACTER_ATTRIBUTE_RESIST_MIND, -10);
1357  NEWBONUSINTOARTIFACTLIST(CHARACTER_ATTRIBUTE_RESIST_BODY, -10);
1358 
1359  itemId = ITEM_RELIC_KELEBRIM;
1360  NEWBONUSINTOARTIFACTLIST(CHARACTER_ATTRIBUTE_ENDURANCE, 50);
1361  NEWBONUSINTOARTIFACTLIST(CHARACTER_ATTRIBUTE_RESIST_EARTH, -30);
1362 
1363  itemId = ITEM_RELIC_TALEDONS_HELM;
1364  NEWBONUSINTOARTIFACTLIST2(CHARACTER_ATTRIBUTE_SKILL_LIGHT, 0,
1366  NEWBONUSINTOARTIFACTLIST(CHARACTER_ATTRIBUTE_WILLPOWER, 15);
1367  NEWBONUSINTOARTIFACTLIST(CHARACTER_ATTRIBUTE_STRENGTH, 15);
1368  NEWBONUSINTOARTIFACTLIST(CHARACTER_ATTRIBUTE_LUCK, -40);
1369 
1370  itemId = ITEM_RELIC_SCHOLARS_CAP;
1371  NEWBONUSINTOARTIFACTLIST(CHARACTER_ATTRIBUTE_SKILL_LEARNING, +15);
1372  NEWBONUSINTOARTIFACTLIST(CHARACTER_ATTRIBUTE_ENDURANCE, -50);
1373 
1374  itemId = ITEM_RELIC_PHYNAXIAN_CROWN;
1375  NEWBONUSINTOARTIFACTLIST2(CHARACTER_ATTRIBUTE_SKILL_FIRE, 0,
1377  NEWBONUSINTOARTIFACTLIST(CHARACTER_ATTRIBUTE_RESIST_WATER, +50);
1378  NEWBONUSINTOARTIFACTLIST(CHARACTER_ATTRIBUTE_WILLPOWER, 30);
1379  NEWBONUSINTOARTIFACTLIST(CHARACTER_ATTRIBUTE_AC_BONUS, -20);
1380 
1381  itemId = ITEM_RILIC_TITANS_BELT;
1382  NEWBONUSINTOARTIFACTLIST(CHARACTER_ATTRIBUTE_STRENGTH, 75);
1383  NEWBONUSINTOARTIFACTLIST(CHARACTER_ATTRIBUTE_SPEED, -40);
1384 
1385  itemId = ITEM_RELIC_TWILIGHT;
1386  NEWBONUSINTOARTIFACTLIST(CHARACTER_ATTRIBUTE_SPEED, 50);
1387  NEWBONUSINTOARTIFACTLIST(CHARACTER_ATTRIBUTE_LUCK, 50);
1388  NEWBONUSINTOARTIFACTLIST(CHARACTER_ATTRIBUTE_RESIST_FIRE, -15);
1389  NEWBONUSINTOARTIFACTLIST(CHARACTER_ATTRIBUTE_RESIST_WATER, -15);
1390  NEWBONUSINTOARTIFACTLIST(CHARACTER_ATTRIBUTE_RESIST_AIR, -15);
1391  NEWBONUSINTOARTIFACTLIST(CHARACTER_ATTRIBUTE_RESIST_EARTH, -15);
1392  NEWBONUSINTOARTIFACTLIST(CHARACTER_ATTRIBUTE_RESIST_MIND, -15);
1393  NEWBONUSINTOARTIFACTLIST(CHARACTER_ATTRIBUTE_RESIST_BODY, -15);
1394 
1395  itemId = ITEM_RELIC_ANIA_SELVING;
1396  NEWBONUSINTOARTIFACTLIST(CHARACTER_ATTRIBUTE_ACCURACY, 150);
1397  NEWBONUSINTOARTIFACTLIST(CHARACTER_ATTRIBUTE_SKILL_BOW, 5);
1398  NEWBONUSINTOARTIFACTLIST(CHARACTER_ATTRIBUTE_AC_BONUS, -25);
1399 
1400  itemId = ITEM_RELIC_JUSTICE;
1401  NEWBONUSINTOARTIFACTLIST2(CHARACTER_ATTRIBUTE_SKILL_MIND, 0,
1403  NEWBONUSINTOARTIFACTLIST2(CHARACTER_ATTRIBUTE_SKILL_BODY, 0,
1405  NEWBONUSINTOARTIFACTLIST(CHARACTER_ATTRIBUTE_SPEED, -40);
1406 
1407  itemId = ITEM_RELIC_MEKORIGS_HAMMER;
1408  NEWBONUSINTOARTIFACTLIST2(CHARACTER_ATTRIBUTE_SKILL_SPIRIT, 0,
1410  NEWBONUSINTOARTIFACTLIST(CHARACTER_ATTRIBUTE_STRENGTH, 75);
1411  NEWBONUSINTOARTIFACTLIST(CHARACTER_ATTRIBUTE_RESIST_AIR, -50);
1412 
1414  NEWBONUSINTOARTIFACTLIST(CHARACTER_ATTRIBUTE_SPEED, 100);
1415  NEWBONUSINTOARTIFACTLIST(CHARACTER_ATTRIBUTE_ACCURACY, 50);
1416  NEWBONUSINTOARTIFACTLIST(CHARACTER_ATTRIBUTE_RESIST_AIR, 50);
1417 
1419  NEWBONUSINTOARTIFACTLIST(CHARACTER_ATTRIBUTE_WILLPOWER, -20);
1420  NEWBONUSINTOARTIFACTLIST(CHARACTER_ATTRIBUTE_INTELLIGENCE, -20);
1421 
1422  itemId = ITEM_ARTIFACT_MINDS_EYE;
1423  NEWBONUSINTOARTIFACTLIST(CHARACTER_ATTRIBUTE_WILLPOWER, 15);
1424  NEWBONUSINTOARTIFACTLIST(CHARACTER_ATTRIBUTE_INTELLIGENCE, 15);
1425 
1426  itemId = ITEM_ELVEN_CHAINMAIL;
1427  NEWBONUSINTOARTIFACTLIST(CHARACTER_ATTRIBUTE_SPEED, 15);
1428  NEWBONUSINTOARTIFACTLIST(CHARACTER_ATTRIBUTE_ACCURACY, 15);
1429 
1430  itemId = ITEM_FORGE_GAUNTLETS;
1431  NEWBONUSINTOARTIFACTLIST(CHARACTER_ATTRIBUTE_STRENGTH, 15);
1432  NEWBONUSINTOARTIFACTLIST(CHARACTER_ATTRIBUTE_ENDURANCE, 15);
1433  NEWBONUSINTOARTIFACTLIST(CHARACTER_ATTRIBUTE_RESIST_FIRE, 30);
1434 
1435  itemId = ITEM_ARTIFACT_HEROS_BELT;
1436  NEWBONUSINTOARTIFACTLIST(CHARACTER_ATTRIBUTE_STRENGTH, 15);
1437  NEWBONUSINTOARTIFACTLIST(CHARACTER_ATTRIBUTE_SKILL_ARMSMASTER, 5);
1438 
1439  itemId = ITEM_ARTIFACT_LADYS_ESCORT;
1440  NEWBONUSINTOARTIFACTLIST(CHARACTER_ATTRIBUTE_RESIST_FIRE, 10);
1441  NEWBONUSINTOARTIFACTLIST(CHARACTER_ATTRIBUTE_RESIST_AIR, 10);
1442  NEWBONUSINTOARTIFACTLIST(CHARACTER_ATTRIBUTE_RESIST_WATER, 10);
1443  NEWBONUSINTOARTIFACTLIST(CHARACTER_ATTRIBUTE_RESIST_EARTH, 10);
1444  NEWBONUSINTOARTIFACTLIST(CHARACTER_ATTRIBUTE_RESIST_MIND, 10);
1445  NEWBONUSINTOARTIFACTLIST(CHARACTER_ATTRIBUTE_RESIST_BODY, 10);
1446 }

Перекрестные ссылки CHARACTER_ATTRIBUTE_AC_BONUS, CHARACTER_ATTRIBUTE_ACCURACY, CHARACTER_ATTRIBUTE_ENDURANCE, CHARACTER_ATTRIBUTE_INTELLIGENCE, CHARACTER_ATTRIBUTE_LUCK, CHARACTER_ATTRIBUTE_RESIST_AIR, CHARACTER_ATTRIBUTE_RESIST_BODY, CHARACTER_ATTRIBUTE_RESIST_EARTH, CHARACTER_ATTRIBUTE_RESIST_FIRE, CHARACTER_ATTRIBUTE_RESIST_MIND, CHARACTER_ATTRIBUTE_RESIST_WATER, CHARACTER_ATTRIBUTE_SKILL_ARMSMASTER, CHARACTER_ATTRIBUTE_SKILL_BODY, CHARACTER_ATTRIBUTE_SKILL_BOW, CHARACTER_ATTRIBUTE_SKILL_DARK, CHARACTER_ATTRIBUTE_SKILL_DODGE, CHARACTER_ATTRIBUTE_SKILL_FIRE, CHARACTER_ATTRIBUTE_SKILL_LEARNING, CHARACTER_ATTRIBUTE_SKILL_LIGHT, CHARACTER_ATTRIBUTE_SKILL_MEDITATION, CHARACTER_ATTRIBUTE_SKILL_MIND, CHARACTER_ATTRIBUTE_SKILL_SHIELD, CHARACTER_ATTRIBUTE_SKILL_SPIRIT, CHARACTER_ATTRIBUTE_SKILL_STEALING, CHARACTER_ATTRIBUTE_SKILL_TRAP_DISARM, CHARACTER_ATTRIBUTE_SKILL_UNARMED, CHARACTER_ATTRIBUTE_SKILL_WATER, CHARACTER_ATTRIBUTE_SPEED, CHARACTER_ATTRIBUTE_STRENGTH, CHARACTER_ATTRIBUTE_WILLPOWER, ITEM_ARTEFACT_HANDS_OF_THE_MASTER, ITEM_ARTEFACT_ULLYSES, ITEM_ARTIFACT_CLOAK_OF_THE_SHEEP, ITEM_ARTIFACT_CORSAIR, ITEM_ARTIFACT_GOVERNORS_ARMOR, ITEM_ARTIFACT_HERMES_SANDALS, ITEM_ARTIFACT_HEROS_BELT, ITEM_ARTIFACT_IRON_FEATHER, ITEM_ARTIFACT_LADYS_ESCORT, ITEM_ARTIFACT_LEAGUE_BOOTS, ITEM_ARTIFACT_MINDS_EYE, ITEM_ARTIFACT_PUCK, ITEM_ARTIFACT_RULERS_RING, ITEM_ARTIFACT_SPLITTER, ITEM_ARTIFACT_WALLACE, ITEM_ARTIFACT_YORUBA, ITEM_ELVEN_CHAINMAIL, ITEM_FORGE_GAUNTLETS, ITEM_RELIC_AMUCK, ITEM_RELIC_ANIA_SELVING, ITEM_RELIC_ETHRICS_STAFF, ITEM_RELIC_GLORY_SHIELD, ITEM_RELIC_HARECS_LEATHER, ITEM_RELIC_JUSTICE, ITEM_RELIC_KELEBRIM, ITEM_RELIC_MASH, ITEM_RELIC_MEKORIGS_HAMMER, ITEM_RELIC_OLD_NICK, ITEM_RELIC_PHYNAXIAN_CROWN, ITEM_RELIC_SCHOLARS_CAP, ITEM_RELIC_TALEDONS_HELM, ITEM_RELIC_TWILIGHT, ITEM_RILIC_TITANS_BELT, Player::skillBody, Player::skillDark, Player::skillFire, Player::skillLight, Player::skillMind, Player::skillSpirit и Player::skillWater.

Используется в ItemsTable::Initialize().

+ Граф вызова функции:

◆ ClearItemBonusMaps()

static void ItemGen::ClearItemBonusMaps ( )
static

◆ ResetEnchantAnimation()

void ItemGen::ResetEnchantAnimation ( )
inline

См. определение в файле Items.h строка 278

278 { uAttributes &= 0xFFFFFF0F; }

Перекрестные ссылки uAttributes.

Используется в CharacterUI_DrawPaperdoll().

+ Граф вызова функции:

◆ ItemEnchanted()

bool ItemGen::ItemEnchanted ( ) const
inline

См. определение в файле Items.h строка 279

279  {
280  return (uAttributes & ITEM_ENCHANT_ANIMATION) != 0;
281  }

Перекрестные ссылки ITEM_ENCHANT_ANIMATION и uAttributes.

Используется в CharacterUI_DrawPaperdoll().

+ Граф вызова функции:

◆ AuraEffectRed()

bool ItemGen::AuraEffectRed ( ) const
inline

См. определение в файле Items.h строка 282

282  {
284  }

Перекрестные ссылки ITEM_AURA_EFFECT_RED, ITEM_ENCHANT_ANIMATION и uAttributes.

Используется в CharacterUI_DrawPaperdoll().

+ Граф вызова функции:

◆ AuraEffectBlue()

bool ItemGen::AuraEffectBlue ( ) const
inline

См. определение в файле Items.h строка 285

285  {
287  }

Перекрестные ссылки ITEM_AURA_EFFECT_BLUE, ITEM_ENCHANT_ANIMATION и uAttributes.

Используется в CharacterUI_DrawPaperdoll().

+ Граф вызова функции:

◆ AuraEffectGreen()

bool ItemGen::AuraEffectGreen ( ) const
inline

См. определение в файле Items.h строка 288

288  {
290  }

Перекрестные ссылки ITEM_AURA_EFFECT_GREEN, ITEM_ENCHANT_ANIMATION и uAttributes.

Используется в CharacterUI_DrawPaperdoll().

+ Граф вызова функции:

◆ AuraEffectPurple()

bool ItemGen::AuraEffectPurple ( ) const
inline

См. определение в файле Items.h строка 291

291  {
292  return (uAttributes & ITEM_ENCHANT_ANIMATION) ==
294  }

Перекрестные ссылки ITEM_AURA_EFFECT_PURPLE, ITEM_ENCHANT_ANIMATION и uAttributes.

Используется в CharacterUI_DrawPaperdoll().

+ Граф вызова функции:

◆ GetItemBonusSpecialEnchantment()

void ItemGen::GetItemBonusSpecialEnchantment ( Player owner,
CHARACTER_ATTRIBUTE_TYPE  attrToGet,
int *  additiveBonus,
int *  halfSkillBonus 
)

См. определение в файле Items.cpp строка 1448

1451  {
1452  auto bonusList = ItemGen::specialBonusMap.find(this->special_enchantment);
1453  if (bonusList == ItemGen::specialBonusMap.end()) {
1454  return;
1455  }
1456  std::map<CHARACTER_ATTRIBUTE_TYPE, CEnchantment*>* currList =
1457  bonusList->second;
1458  if (currList->find(attrToGet) != currList->end()) {
1459  CEnchantment* currBonus = (*currList)[attrToGet];
1460  if (currBonus->statPtr != NULL) {
1461  if (currBonus->statBonus == 0) {
1462  *halfSkillBonus = owner->*currBonus->statPtr / 2;
1463  } else {
1464  if (*additiveBonus < currBonus->statBonus) {
1465  *additiveBonus = currBonus->statBonus;
1466  }
1467  }
1468  } else {
1469  *additiveBonus += currBonus->statBonus;
1470  }
1471  }
1472 }

Перекрестные ссылки special_enchantment, specialBonusMap, CEnchantment::statBonus и CEnchantment::statPtr.

Используется в Player::GetItemsBonus().

+ Граф вызова функции:

◆ GetItemBonusArtifact()

void ItemGen::GetItemBonusArtifact ( Player owner,
CHARACTER_ATTRIBUTE_TYPE  attrToGet,
int *  bonusSum 
)

См. определение в файле Items.cpp строка 1474

1476  {
1477  auto bonusList = ItemGen::artifactBonusMap.find(this->uItemID);
1478  if (bonusList == ItemGen::artifactBonusMap.end()) {
1479  return;
1480  }
1481  std::map<CHARACTER_ATTRIBUTE_TYPE, CEnchantment*>* currList =
1482  bonusList->second;
1483  if (currList->find(attrToGet) != currList->end()) {
1484  CEnchantment* currBonus = (*currList)[attrToGet];
1485  if (currBonus->statPtr != NULL) {
1486  *bonusSum = owner->*currBonus->statPtr / 2;
1487  } else {
1488  *bonusSum += currBonus->statBonus;
1489  }
1490  }
1491 }

Перекрестные ссылки artifactBonusMap, CEnchantment::statBonus, CEnchantment::statPtr и uItemID.

Используется в Player::GetItemsBonus().

+ Граф вызова функции:

◆ IsRegularEnchanmentForAttribute()

bool ItemGen::IsRegularEnchanmentForAttribute ( CHARACTER_ATTRIBUTE_TYPE  attrToGet)

См. определение в файле Items.cpp строка 1493

1494  {
1495  auto bonusList = ItemGen::specialBonusMap.find(this->uEnchantmentType);
1496  if (bonusList == ItemGen::specialBonusMap.end()) {
1497  return false;
1498  }
1499  std::map<CHARACTER_ATTRIBUTE_TYPE, CEnchantment*>* currList =
1500  bonusList->second;
1501  return (currList->find(attrToGet) != currList->end());
1502 }

Перекрестные ссылки specialBonusMap и uEnchantmentType.

◆ IsBroken()

bool ItemGen::IsBroken ( )
inline

См. определение в файле Items.h строка 304

304 { return (uAttributes & ITEM_BROKEN) != 0; }

Перекрестные ссылки ITEM_BROKEN и uAttributes.

Используется в CastSpellInfoHelpers::_427E01_cast_spell(), Player::_42ECB5_PlayerAttacksActor(), Player::CalculateIncommingDamage(), CharacterUI_DrawItem(), DamagePlayerFromMonster(), GameUI_DrawItemInfo(), Player::GetPriceSell(), Player::GetSkillBonus(), Inventory_ItemPopupAndAlchemy(), Mouse::ReadCursorWithItem() и Player::ReceiveSpecialAttackEffect().

+ Граф вызова функции:

◆ SetBroken()

void ItemGen::SetBroken ( )
inline

См. определение в файле Items.h строка 305

305 { uAttributes |= ITEM_BROKEN; }

Перекрестные ссылки ITEM_BROKEN и uAttributes.

Используется в Player::ReceiveDamage() и Player::ReceiveSpecialAttackEffect().

+ Граф вызова функции:

◆ IsIdentified()

bool ItemGen::IsIdentified ( )
inline

См. определение в файле Items.h строка 306

306 { return (uAttributes & ITEM_IDENTIFIED) != 0; }

Перекрестные ссылки ITEM_IDENTIFIED и uAttributes.

Используется в CharacterUI_DrawItem(), GameUI_DrawItemInfo(), GetDisplayName(), Mouse::ReadCursorWithItem() и ShopDialogIdentify().

+ Граф вызова функции:

◆ SetIdentified()

void ItemGen::SetIdentified ( )
inline

См. определение в файле Items.h строка 307

Перекрестные ссылки ITEM_IDENTIFIED и uAttributes.

Используется в Party::AddItemToParty(), Party::CreateDefaultParty(), GameUI_DrawItemInfo(), GenerateItemsInChest(), MapInfo::SpawnRandomTreasure() и UIShop_Buy_Identify_Repair().

+ Граф вызова функции:

◆ IsStolen()

bool ItemGen::IsStolen ( )
inline

См. определение в файле Items.h строка 308

308 { return (uAttributes & ITEM_STOLEN) != 0; }

Перекрестные ссылки ITEM_STOLEN и uAttributes.

Используется в MerchandiseTest() и Player::SelectPhrasesTransaction().

+ Граф вызова функции:

◆ SetStolen()

void ItemGen::SetStolen ( )
inline

См. определение в файле Items.h строка 309

309 { uAttributes |= ITEM_STOLEN; }

Перекрестные ссылки ITEM_STOLEN и uAttributes.

◆ GenerateArtifact()

bool ItemGen::GenerateArtifact ( )

См. определение в файле Items.cpp строка 978

978  {
979  signed int uNumArtifactsNotFound; // esi@1
980  int artifacts_list[32];
981 
982  memset(artifacts_list, 0, sizeof(artifacts_list));
983  uNumArtifactsNotFound = 0;
984 
985  for (int i = 500; i < 529; ++i)
986  if (!pParty->pIsArtifactFound[i - 500])
987  artifacts_list[uNumArtifactsNotFound++] = i;
988 
989  Reset();
990  if (uNumArtifactsNotFound) {
991  uItemID = artifacts_list[rand() % uNumArtifactsNotFound];
993  return true;
994  } else {
995  return false;
996  }
997 }

Перекрестные ссылки Party::pIsArtifactFound, pItemsTable, pParty, Reset(), ItemsTable::SetSpecialBonus() и uItemID.

Используется в GenerateItemsInChest() и MapInfo::SpawnRandomTreasure().

+ Граф вызовов:
+ Граф вызова функции:

◆ GetValue()

unsigned int ItemGen::GetValue ( )

См. определение в файле Items.cpp строка 588

588  {
589  unsigned int uBaseValue; // edi@1
590  unsigned int mod, bonus;
591 
592  uBaseValue = pItemsTable->pItems[this->uItemID].uValue;
593  if (this->uAttributes & ITEM_TEMP_BONUS ||
595  return uBaseValue;
596  if (uEnchantmentType) return uBaseValue + 100 * m_enchantmentStrength;
597 
598  if (special_enchantment) {
601  if (!mod)
602  return uBaseValue + bonus;
603  else
604  return uBaseValue * bonus;
605  }
606  return uBaseValue;
607 }

Перекрестные ссылки ItemsTable::IsMaterialNonCommon(), ITEM_TEMP_BONUS, ItemSpecialEnchantment::iTreasureLevel, ItemSpecialEnchantment::iValue, m_enchantmentStrength, ItemsTable::pItems, pItemsTable, ItemsTable::pSpecialEnchantments, special_enchantment, uAttributes, uEnchantmentType и uItemID.

Используется в CastSpellInfoHelpers::_427E01_cast_spell(), BuildDialogueString(), GameUI_DrawItemInfo(), Player::GetPriceSell(), Player::SelectPhrasesTransaction(), Player::StealFromShop() и UIShop_Buy_Identify_Repair().

+ Граф вызовов:
+ Граф вызова функции:

◆ GetDisplayName()

String ItemGen::GetDisplayName ( )

См. определение в файле Items.cpp строка 610

610  {
611  if (IsIdentified()) {
612  return GetIdentifiedName();
613  } else {
614  return String(pItemsTable->pItems[uItemID].pUnidentifiedName);
615  }
616 }

Перекрестные ссылки GetIdentifiedName(), IsIdentified(), ItemsTable::pItems, pItemsTable и uItemID.

Используется в CastSpellInfoHelpers::_427E01_cast_spell(), BuildDialogueString(), Chest::ChestUI_WritePointedObjectStatusString(), GameUI_DrawItemInfo(), GameUI_WritePointedObjectStatusString() и Player::UseItem_DrinkPotion_etc().

+ Граф вызовов:
+ Граф вызова функции:

◆ GetIdentifiedName()

String ItemGen::GetIdentifiedName ( )

См. определение в файле Items.cpp строка 619

619  {
620  unsigned __int8 equip_type;
621 
622  equip_type = GetItemEquipType();
623  if ((equip_type == EQUIP_REAGENT) || (equip_type == EQUIP_POTION) ||
624  (equip_type == EQUIP_GOLD)) {
625  return String(pItemsTable->pItems[uItemID].pName);
626  }
627 
628  if (uItemID == ITEM_LICH_JAR_FULL) { // Lich Jar
629  if ((uHolderPlayer > 0) && (uHolderPlayer <= 4)) {
630  auto player_name = pPlayers[uHolderPlayer]->pName;
631  if (player_name[strlen(player_name) - 1] == 's')
632  return localization->FormatString(
633  655, pPlayers[uHolderPlayer]->pName); // "%s' Jar"
634  else
635  return localization->FormatString(
636  654, pPlayers[uHolderPlayer]->pName); // "%s's Jar"
637  }
638  }
639 
640  if (!pItemsTable->IsMaterialNonCommon(this)) {
641  if (uEnchantmentType) {
642  return String(pItemsTable->pItems[uItemID].pName) + " " +
644  } else if (!special_enchantment) {
645  return String(pItemsTable->pItems[uItemID].pName);
646  } else {
647  if (special_enchantment == 16 // Drain Hit Points from target.
648  || special_enchantment == 39 // Double damage vs Demons.
649  || special_enchantment == 40 // Double damage vs Dragons
650  || special_enchantment == 45 // +5 Speed and Accuracy
651  || special_enchantment == 56 // +5 Might and Endurance.
652  || special_enchantment == 57 // +5 Intellect and Personality.
653  || special_enchantment == 58 // Increased Value.
654  || special_enchantment == 60 // +3 Unarmed and Dodging skills
655  || special_enchantment == 61 // +3 Stealing and Disarm skills.
656  || special_enchantment == 59 // Increased Weapon speed.
657  || special_enchantment == 63 // Double Damage vs. Elves.
658  || special_enchantment == 64 // Double Damage vs. Undead.
659  || special_enchantment == 67 // Adds 5 points of Body damage and +2 Disarm skill.
660  || special_enchantment == 68 // Adds 6-8 points of Cold damage and +5 Armor Class.
661  ) { // enchantment and name positions inverted!
662  return StringPrintf(
663  "%s %s",
665  .pNameAdd,
666  pItemsTable->pItems[uItemID].pName);
667  } else {
668  return String(pItemsTable->pItems[uItemID].pName) + " " +
671  .pNameAdd;
672  }
673  }
674  }
675 
676  return String(pItemsTable->pItems[uItemID].pName);
677 }

Перекрестные ссылки EQUIP_GOLD, EQUIP_POTION, EQUIP_REAGENT, Localization::FormatString(), GetItemEquipType(), ItemsTable::IsMaterialNonCommon(), ITEM_LICH_JAR_FULL, localization, ItemsTable::pEnchantments, ItemsTable::pItems, pItemsTable, ItemSpecialEnchantment::pNameAdd, ItemEnchantment::pOfName, pPlayers, ItemsTable::pSpecialEnchantments, special_enchantment, StringPrintf(), uEnchantmentType, uHolderPlayer и uItemID.

Используется в GameUI_DrawItemInfo() и GetDisplayName().

+ Граф вызовов:
+ Граф вызова функции:

◆ UpdateTempBonus()

void ItemGen::UpdateTempBonus ( GameTime  time)

См. определение в файле Items.cpp строка 146

146  {
147  if (this->uAttributes & ITEM_TEMP_BONUS) {
148  if (time > this->expirte_time) {
149  this->uEnchantmentType = 0;
151  this->uAttributes &= ~ITEM_TEMP_BONUS;
152  }
153  }
154 }

Перекрестные ссылки expirte_time, ITEM_ENCHANTMENT_NULL, ITEM_TEMP_BONUS, special_enchantment, uAttributes и uEnchantmentType.

Используется в CastSpellInfoHelpers::_427E01_cast_spell(), _439DF3_get_additional_damage(), GameUI_DrawItemInfo() и Inventory_ItemPopupAndAlchemy().

+ Граф вызова функции:

◆ Reset()

void ItemGen::Reset ( )

См. определение в файле Items.cpp строка 133

133  {
134  this->uHolderPlayer = 0;
135  this->uAttributes = 0;
136  this->uNumCharges = 0;
138  this->m_enchantmentStrength = 0;
139  this->uEnchantmentType = 0;
140  this->uItemID = ITEM_NULL;
141  this->uBodyAnchor = 0;
142  this->expirte_time.Reset();
143 }

Перекрестные ссылки expirte_time, ITEM_ENCHANTMENT_NULL, ITEM_NULL, m_enchantmentStrength, GameTime::Reset(), special_enchantment, uAttributes, uBodyAnchor, uEnchantmentType, uHolderPlayer, uItemID и uNumCharges.

Используется в CastSpellInfoHelpers::_427E01_cast_spell(), Player::_42FA66_do_explosive_impact(), _493938_regenerate(), Party::AddItemToParty(), Player::AddVariable(), Actor::AI_RangedAttack(), Actor::AI_SpellAttack(), SpriteObject::Create_Splash_Object(), Party::CreateDefaultParty(), Actor::Die(), Player::EquipBody(), EventCastSpell(), EventProcessor(), Actor::Explode(), GenerateArtifact(), GenerateItemsInChest(), Actor::LootActor(), OnPaperdollLeftClick(), Chest::Open(), PartyCreationUI_LoopInternal(), Mouse::RemoveHoldingItem(), RemoveItemAtChestIndex(), Player::RemoveItemAtInventoryIndex(), Player::SetVariable(), MapInfo::SpawnRandomTreasure(), SpellBookGenerator(), Player::StealFromActor(), SpriteObject::sub_42F7EB_DropItemAt(), UIShop_Buy_Identify_Repair() и GUIWindow_Inventory::Update().

+ Граф вызовов:
+ Граф вызова функции:

◆ _439DF3_get_additional_damage()

int ItemGen::_439DF3_get_additional_damage ( DAMAGE_TYPE a2,
bool *  vampiyr 
)

См. определение в файле Items.cpp строка 42

43  {
44  *draintargetHP = false;
45  *damage_type = DMGT_FIRE;
46  if (uItemID == ITEM_NULL) return 0;
47 
50  *damage_type = DMGT_ELECTR;
51  return rand() % 10 + 6;
52  }
54  *damage_type = DMGT_FIRE;
55  return rand() % 16 + 3;
56  }
58  *damage_type = DMGT_COLD;
59  return rand() % 4 + 9;
60  }
62  *damage_type = DMGT_BODY;
63  return 8;
64  }
65 
66  switch (special_enchantment) {
68  *damage_type = DMGT_COLD;
69  return rand() % 2 + 3;
70  break;
72  *damage_type = DMGT_COLD;
73  return rand() % 3 + 6;
74  break;
76  *damage_type = DMGT_COLD;
77  return rand() % 4 + 9;
78  break;
80  *damage_type = DMGT_ELECTR;
81  return rand() % 4 + 2;
82  break;
84  *damage_type = DMGT_ELECTR;
85  return rand() % 7 + 4;
86  break;
88  *damage_type = DMGT_ELECTR;
89  return rand() % 10 + 6;
90  break;
92  *damage_type = DMGT_FIRE;
93  return GetDiceResult(1, 6);
94  break;
96  *damage_type = DMGT_FIRE;
97  return GetDiceResult(2, 6);
98  break;
100  *damage_type = DMGT_FIRE;
101  return GetDiceResult(3, 6);
102  break;
104  *damage_type = DMGT_BODY;
105  return 5;
106  break;
108  *damage_type = DMGT_BODY;
109  return 8;
110  break;
112  *damage_type = DMGT_BODY;
113  return 12;
114  break;
117  *damage_type = DMGT_DARK;
118  *draintargetHP = true;
119  return 0;
120  break;
121 
123  *damage_type = DMGT_FIRE;
124  return rand() % 11 + 10;
125  break;
126  default:
127  *damage_type = DMGT_FIRE;
128  return 0;
129  }
130 }

Перекрестные ссылки DMGT_BODY, DMGT_COLD, DMGT_DARK, DMGT_ELECTR, DMGT_FIRE, GetDiceResult(), Party::GetPlayingTime(), ITEM_ARTEFACT_ULLYSES, ITEM_ARTIFACT_GHOULSBANE, ITEM_ARTIFACT_IRON_FEATHER, ITEM_ENCHANTMENT_OF_ACID, ITEM_ENCHANTMENT_OF_COLD, ITEM_ENCHANTMENT_OF_DARKNESS, ITEM_ENCHANTMENT_OF_DRAGON, ITEM_ENCHANTMENT_OF_FIRE, ITEM_ENCHANTMENT_OF_FLAME, ITEM_ENCHANTMENT_OF_FROST, ITEM_ENCHANTMENT_OF_ICE, ITEM_ENCHANTMENT_OF_INFERNOS, ITEM_ENCHANTMENT_OF_LIGHTNING, ITEM_ENCHANTMENT_OF_POISON, ITEM_ENCHANTMENT_OF_SPARKS, ITEM_ENCHANTMENT_OF_THUNDERBOLTS, ITEM_ENCHANTMENT_OF_VENOM, ITEM_ENCHANTMENT_VAMPIRIC, ITEM_NULL, ITEM_RELIC_OLD_NICK, pParty, special_enchantment, uItemID и UpdateTempBonus().

Используется в Actor::DamageMonsterFromParty().

+ Граф вызовов:
+ Граф вызова функции:

◆ GetItemEquipType()

ITEM_EQUIP_TYPE ItemGen::GetItemEquipType ( )

◆ GetPlayerSkillType()

unsigned char ItemGen::GetPlayerSkillType ( )

См. определение в файле Items.cpp строка 1512

1512  {
1513  unsigned char skl = pItemsTable->pItems[this->uItemID].uSkillType;
1514  if (skl == PLAYER_SKILL_CLUB) {
1515  // club skill not used but some items load it
1516  skl = PLAYER_SKILL_MACE;
1517  }
1518  return skl;
1519 }

Перекрестные ссылки ItemsTable::pItems, pItemsTable, PLAYER_SKILL_CLUB, PLAYER_SKILL_MACE и uItemID.

Используется в Player::_42ECB5_PlayerAttacksActor(), Player::CalculateIncommingDamage(), CharacterUI_DrawPaperdoll(), Actor::DamageMonsterFromParty(), DamagePlayerFromMonster(), Player::GetAttackRecoveryTime(), Player::GetEquippedItemSkillType(), Player::GetItemsBonus(), Player::GetSkillBonus(), MerchandiseTest() и OnPaperdollLeftClick().

+ Граф вызова функции:

◆ GetIconName()

char * ItemGen::GetIconName ( )

См. определение в файле Items.cpp строка 1521

1521  {
1522  return pItemsTable->pItems[this->uItemID].pIconName;
1523 }

Перекрестные ссылки ItemsTable::pItems, pItemsTable и uItemID.

Используется в CharacterUI_DrawItem(), CharacterUI_DrawPaperdoll(), CharacterUI_InventoryTab_Draw(), GameUI_DrawItemInfo(), Player::OnInventoryLeftClick(), Chest::PutItemInChest(), Mouse::ReadCursorWithItem(), RemoveItemAtChestIndex(), Player::RemoveItemAtInventoryIndex() и Party::sub_421B2C_PlaceInInventory_or_DropPickedItem().

+ Граф вызова функции:

◆ GetDamageDice()

unsigned __int8 ItemGen::GetDamageDice ( )

См. определение в файле Items.cpp строка 1525

1525  {
1526  return pItemsTable->pItems[this->uItemID].uDamageDice;
1527 }

Перекрестные ссылки ItemsTable::pItems, pItemsTable и uItemID.

Используется в GameUI_DrawItemInfo(), Player::GetItemsBonus() и Inventory_ItemPopupAndAlchemy().

+ Граф вызова функции:

◆ GetDamageRoll()

unsigned __int8 ItemGen::GetDamageRoll ( )

См. определение в файле Items.cpp строка 1529

1529  {
1530  return pItemsTable->pItems[this->uItemID].uDamageRoll;
1531 }

Перекрестные ссылки ItemsTable::pItems, pItemsTable и uItemID.

Используется в GameUI_DrawItemInfo() и Player::GetItemsBonus().

+ Граф вызова функции:

◆ GetDamageMod()

unsigned __int8 ItemGen::GetDamageMod ( )

См. определение в файле Items.cpp строка 1533

1533  {
1534  return pItemsTable->pItems[this->uItemID].uDamageMod;
1535 }

Перекрестные ссылки ItemsTable::pItems, pItemsTable и uItemID.

Используется в Player::AddVariable(), GameUI_DrawItemInfo(), ItemsTable::GenerateItem(), Player::GetItemsBonus(), Actor::LootActor() и Player::ReceiveSpecialAttackEffect().

+ Граф вызова функции:

◆ MerchandiseTest()

bool ItemGen::MerchandiseTest ( int  _2da_idx)

См. определение в файле Items.cpp строка 1626

1626  {
1627  bool test;
1628 
1629  if ((p2DEvents[_2da_idx - 1].uType != 4 ||
1630  (signed int)this->uItemID < 740 || (signed int)this->uItemID > 771) &&
1631  ((signed int)this->uItemID >= 600 ||
1632  (signed int)this->uItemID >= 529 &&
1633  (signed int)this->uItemID <= 599) ||
1634  this->IsStolen())
1635  return false;
1636  switch (p2DEvents[_2da_idx - 1].uType) {
1637  case BuildingType_WeaponShop: {
1638  test = this->GetItemEquipType() <= EQUIP_BOW;
1639  break;
1640  }
1641  case BuildingType_ArmorShop: {
1642  test = this->GetItemEquipType() >= EQUIP_ARMOUR &&
1643  this->GetItemEquipType() <= EQUIP_BOOTS;
1644  break;
1645  }
1646  case BuildingType_MagicShop: {
1647  test = this->GetPlayerSkillType() == PLAYER_SKILL_MISC ||
1648  this->GetItemEquipType() == EQIUP_ANY;
1649  break;
1650  }
1652  test = this->GetItemEquipType() == EQUIP_REAGENT ||
1653  this->GetItemEquipType() == EQUIP_POTION ||
1654  (this->GetItemEquipType() > EQUIP_POTION &&
1655  !(this->GetItemEquipType() != EQUIP_MESSAGE_SCROLL ||
1656  (signed int)this->uItemID < 740) &&
1657  this->uItemID != 771);
1658  break;
1659  }
1660  default: {
1661  test = false;
1662  break;
1663  }
1664  }
1665  return test;
1666 }

Перекрестные ссылки BuildingType_AlchemistShop, BuildingType_ArmorShop, BuildingType_MagicShop, BuildingType_WeaponShop, EQIUP_ANY, EQUIP_ARMOUR, EQUIP_BOOTS, EQUIP_BOW, EQUIP_MESSAGE_SCROLL, EQUIP_POTION, EQUIP_REAGENT, GetItemEquipType(), GetPlayerSkillType(), IsStolen(), p2DEvents, PLAYER_SKILL_MISC и uItemID.

Используется в UIShop_Buy_Identify_Repair().

+ Граф вызовов:
+ Граф вызова функции:

Данные класса

◆ regularBonusMap

std::map< int, std::map< CHARACTER_ATTRIBUTE_TYPE, CEnchantment * > * > ItemGen::regularBonusMap
static

См. определение в файле Items.h строка 269

◆ specialBonusMap

std::map< int, std::map< CHARACTER_ATTRIBUTE_TYPE, CEnchantment * > * > ItemGen::specialBonusMap
static

См. определение в файле Items.h строка 270

Используется в GetItemBonusSpecialEnchantment() и IsRegularEnchanmentForAttribute().

◆ artifactBonusMap

std::map< int, std::map< CHARACTER_ATTRIBUTE_TYPE, CEnchantment * > * > ItemGen::artifactBonusMap
static

См. определение в файле Items.h строка 271

Используется в GetItemBonusArtifact().

◆ uItemID

int ItemGen::uItemID

См. определение в файле Items.h строка 326

Используется в CastSpellInfoHelpers::_427E01_cast_spell(), Player::_42ECB5_PlayerAttacksActor(), _439DF3_get_additional_damage(), Engine::_461103_load_level_sub(), Player::AddItem2(), Party::AddItemToParty(), Player::AddVariable(), AlchemyMagicShopWares(), ArmorShopWares(), Player::CalculateMeleeDamageTo(), Player::CalculateMeleeDmgToEnemyWithWeapon(), Player::CalculateRangedDamageTo(), Player::CanIdentify(), Player::CanRepair(), CharacterUI_DrawPaperdoll(), CharacterUI_InventoryTab_Draw(), CharacterUI_LoadPaperdollTextures(), Player::CompareVariable(), Party::CreateDefaultParty(), Player::CreateItemInInventory(), Player::CreateItemInInventory2(), Actor::DamageMonsterFromParty(), DamagePlayerFromMonster(), ItemGen_Image_MM7::Deserialize(), Actor::Die(), Engine::DropHeldItem(), Application::Game::EventLoop(), EventProcessor(), GameUI_DrawItemInfo(), GameUI_OnPlayerPortraitLeftClick(), GameUI_WritePointedObjectStatusString(), GenerateArtifact(), ItemsTable::GenerateItem(), GenerateItemsInChest(), Player::GetAttackRecoveryTime(), GetDamageDice(), GetDamageMod(), GetDamageRoll(), GetDisplayName(), GetIconName(), GetIdentifiedName(), GetItemBonusArtifact(), GetItemEquipType(), Player::GetMeleeDamageString(), GetPlayerSkillType(), Player::GetRangedAttack(), Player::GetRangedDamageString(), GetValue(), Chest::GrabItem(), GuildDialog(), Player::HasItem(), Inventory_ItemPopupAndAlchemy(), ItemsTable::IsMaterialNonCommon(), ItemsTable::IsMaterialSpecial(), ItemInteraction(), Application::Game::Loop(), Actor::LootActor(), MerchandiseTest(), Chest::OnChestLeftClick(), Engine::OnGameViewportClick(), Player::OnInventoryLeftClick(), OnPaperdollLeftClick(), Chest::PutItemInChest(), Mouse::ReadCursorWithItem(), Player::ReceiveSpecialAttackEffect(), Party::Reset(), Reset(), Party::RestAndHeal(), Player::SelectPhrasesTransaction(), ItemGen_Image_MM7::Serialize(), Party::SetHoldingItem(), Actor::SetRandomGoldIfTheresNoItem(), ItemsTable::SetSpecialBonus(), Player::SetVariable(), ShowPopupShopItem(), MapInfo::SpawnRandomTreasure(), Player::StealFromActor(), Party::sub_421B2C_PlaceInInventory_or_DropPickedItem(), SpriteObject::sub_42F7EB_DropItemAt(), sub_450521_ProllyDropItemAt(), Player::SubtractVariable(), UI_OnMouseRightClick(), UIShop_Buy_Identify_Repair(), Player::UseItem_DrinkPotion_etc(), WeaponShopWares() и Player::WearItem().

◆ uEnchantmentType

◆ m_enchantmentStrength

◆ special_enchantment

◆ uNumCharges

◆ uAttributes

◆ uBodyAnchor

unsigned __int8 ItemGen::uBodyAnchor

См. определение в файле Items.h строка 350

Используется в ItemGen_Image_MM7::Deserialize(), Player::EquipBody(), OnPaperdollLeftClick(), Reset(), ItemGen_Image_MM7::Serialize() и Player::WearItem().

◆ uMaxCharges

◆ uHolderPlayer

char ItemGen::uHolderPlayer

См. определение в файле Items.h строка 352

Используется в ItemGen_Image_MM7::Deserialize(), GetIdentifiedName(), OracleDialogue(), Reset(), Party::RestAndHeal() и ItemGen_Image_MM7::Serialize().

◆ field_1B

char ItemGen::field_1B

См. определение в файле Items.h строка 353

Используется в ItemGen_Image_MM7::Deserialize() и ItemGen_Image_MM7::Serialize().

◆ expirte_time


Объявления и описания членов структур находятся в файлах:
ITEM_ARTIFACT_CORSAIR
@ ITEM_ARTIFACT_CORSAIR
Definition: Items.h:156
CHARACTER_ATTRIBUTE_LUCK
@ CHARACTER_ATTRIBUTE_LUCK
Definition: Engine.h:527
ItemsTable::IsMaterialNonCommon
bool IsMaterialNonCommon(ItemGen *pItem)
Definition: Items.cpp:487
CHARACTER_ATTRIBUTE_SKILL_EARTH
@ CHARACTER_ATTRIBUTE_SKILL_EARTH
Definition: Engine.h:562
ItemGen::uHolderPlayer
char uHolderPlayer
Definition: Items.h:352
ITEM_ARTIFACT_LEAGUE_BOOTS
@ ITEM_ARTIFACT_LEAGUE_BOOTS
Definition: Items.h:165
ITEM_AURA_EFFECT_GREEN
@ ITEM_AURA_EFFECT_GREEN
Definition: Items.h:31
CHARACTER_ATTRIBUTE_RESIST_FIRE
@ CHARACTER_ATTRIBUTE_RESIST_FIRE
Definition: Engine.h:532
ITEM_ARTEFACT_ULLYSES
@ ITEM_ARTEFACT_ULLYSES
Definition: Items.h:163
CEnchantment
Definition: Items.h:253
DMGT_DARK
@ DMGT_DARK
Definition: Items.h:21
Party::GetPlayingTime
GameTime & GetPlayingTime()
Definition: Party.h:230
ITEM_ENCHANTMENT_OF_ICE
@ ITEM_ENCHANTMENT_OF_ICE
Definition: Items.h:43
ITEM_RELIC_HARECS_LEATHER
@ ITEM_RELIC_HARECS_LEATHER
Definition: Items.h:169
Party::pIsArtifactFound
std::array< char, 29 > pIsArtifactFound
Definition: Party.h:298
CHARACTER_ATTRIBUTE_MANA
@ CHARACTER_ATTRIBUTE_MANA
Definition: Engine.h:529
Player::skillItemId
unsigned __int16 skillItemId
Definition: Player.h:693
CHARACTER_ATTRIBUTE_SKILL_AIR
@ CHARACTER_ATTRIBUTE_SKILL_AIR
Definition: Engine.h:560
CEnchantment::statBonus
int statBonus
Definition: Items.h:258
end
GLuint GLuint end
Definition: SDL_opengl.h:1571
Player::skillDodge
unsigned __int16 skillDodge
Definition: Player.h:702
ItemsTable::SetSpecialBonus
void SetSpecialBonus(ItemGen *pItem)
Definition: Items.cpp:472
ITEM_ENCHANT_ANIMATION
@ ITEM_ENCHANT_ANIMATION
Definition: Items.h:33
ItemGen::GetItemEquipType
ITEM_EQUIP_TYPE GetItemEquipType()
Definition: Items.cpp:1504
CHARACTER_ATTRIBUTE_SKILL_BOW
@ CHARACTER_ATTRIBUTE_SKILL_BOW
Definition: Engine.h:569
ITEM_ARTIFACT_YORUBA
@ ITEM_ARTIFACT_YORUBA
Definition: Items.h:158
Player::skillStealing
unsigned __int16 skillStealing
Definition: Player.h:706
DMGT_FIRE
@ DMGT_FIRE
Definition: Items.h:11
CHARACTER_ATTRIBUTE_SKILL_ARMSMASTER
@ CHARACTER_ATTRIBUTE_SKILL_ARMSMASTER
Definition: Engine.h:544
CHARACTER_ATTRIBUTE_SKILL_BODY
@ CHARACTER_ATTRIBUTE_SKILL_BODY
Definition: Engine.h:565
BuildingType_ArmorShop
@ BuildingType_ArmorShop
Definition: Events2D.h:6
ITEM_ENCHANTMENT_OF_FLAME
@ ITEM_ENCHANTMENT_OF_FLAME
Definition: Items.h:48
EQUIP_REAGENT
@ EQUIP_REAGENT
Definition: Items.h:240
PLAYER_SKILL_CLUB
@ PLAYER_SKILL_CLUB
Definition: Player.h:208
EQIUP_ANY
@ EQIUP_ANY
Definition: Items.h:244
ITEM_RELIC_PHYNAXIAN_CROWN
@ ITEM_RELIC_PHYNAXIAN_CROWN
Definition: Items.h:176
localization
Localization * localization
Definition: Localization.cpp:11
GetDiceResult
int GetDiceResult(unsigned int uNumDice, unsigned int uDiceSides)
Definition: OurMath.cpp:194
ITEM_RELIC_JUSTICE
@ ITEM_RELIC_JUSTICE
Definition: Items.h:180
CHARACTER_ATTRIBUTE_AC_BONUS
@ CHARACTER_ATTRIBUTE_AC_BONUS
Definition: Engine.h:530
ITEM_ENCHANTMENT_OF_THUNDERBOLTS
@ ITEM_ENCHANTMENT_OF_THUNDERBOLTS
Definition: Items.h:46
ITEM_ENCHANTMENT_OF_POISON
@ ITEM_ENCHANTMENT_OF_POISON
Definition: Items.h:50
Player::skillLight
unsigned __int16 skillLight
Definition: Player.h:691
EQUIP_MESSAGE_SCROLL
@ EQUIP_MESSAGE_SCROLL
Definition: Items.h:245
EQUIP_GOLD
@ EQUIP_GOLD
Definition: Items.h:246
CHARACTER_ATTRIBUTE_SKILL_LEARNING
@ CHARACTER_ATTRIBUTE_SKILL_LEARNING
Definition: Engine.h:571
CHARACTER_ATTRIBUTE_SKILL_SPIRIT
@ CHARACTER_ATTRIBUTE_SKILL_SPIRIT
Definition: Engine.h:563
ITEM_FORGE_GAUNTLETS
@ ITEM_FORGE_GAUNTLETS
Definition: Items.h:187
CHARACTER_ATTRIBUTE_SKILL_WATER
@ CHARACTER_ATTRIBUTE_SKILL_WATER
Definition: Engine.h:561
ITEM_RELIC_AMUCK
@ ITEM_RELIC_AMUCK
Definition: Items.h:171
ItemGen::Reset
void Reset()
Definition: Items.cpp:133
ITEM_ARTIFACT_MINDS_EYE
@ ITEM_ARTIFACT_MINDS_EYE
Definition: Items.h:185
pPlayers
NZIArray< struct Player *, 5 > pPlayers
Definition: Player.cpp:46
CHARACTER_ATTRIBUTE_RESIST_WATER
@ CHARACTER_ATTRIBUTE_RESIST_WATER
Definition: Engine.h:534
ItemGen::uEnchantmentType
int uEnchantmentType
Definition: Items.h:327
CHARACTER_ATTRIBUTE_SKILL_SHIELD
@ CHARACTER_ATTRIBUTE_SKILL_SHIELD
Definition: Engine.h:570
Player::skillDisarmTrap
unsigned __int16 skillDisarmTrap
Definition: Player.h:701
CHARACTER_ATTRIBUTE_SKILL_FIRE
@ CHARACTER_ATTRIBUTE_SKILL_FIRE
Definition: Engine.h:559
ITEM_ARTIFACT_GHOULSBANE
@ ITEM_ARTIFACT_GHOULSBANE
Definition: Items.h:160
p2DEvents
_2devent p2DEvents[525]
Definition: Events.cpp:57
ITEM_RELIC_MASH
@ ITEM_RELIC_MASH
Definition: Items.h:167
Player::skillWater
unsigned __int16 skillWater
Definition: Player.h:686
ITEM_STOLEN
@ ITEM_STOLEN
Definition: Items.h:34
GameTime::Reset
void Reset()
Definition: Time.h:58
pItemsTable
struct ItemsTable * pItemsTable
Definition: Items.cpp:37
CHARACTER_ATTRIBUTE_HEALTH
@ CHARACTER_ATTRIBUTE_HEALTH
Definition: Engine.h:528
Player::skillAlchemy
unsigned __int16 skillAlchemy
Definition: Player.h:707
BuildingType_WeaponShop
@ BuildingType_WeaponShop
Definition: Events2D.h:5
ItemGen::uAttributes
unsigned int uAttributes
Definition: Items.h:349
ItemGen::special_enchantment
ITEM_ENCHANTMENT special_enchantment
Definition: Items.h:330
ITEM_ENCHANTMENT_OF_VENOM
@ ITEM_ENCHANTMENT_OF_VENOM
Definition: Items.h:51
Player::skillMonsterId
unsigned __int16 skillMonsterId
Definition: Player.h:704
ITEM_ENCHANTMENT_OF_ACID
@ ITEM_ENCHANTMENT_OF_ACID
Definition: Items.h:52
PLAYER_SKILL_MISC
@ PLAYER_SKILL_MISC
Definition: Player.h:209
pParty
Party * pParty
Definition: Party.cpp:30
CHARACTER_ATTRIBUTE_SKILL_MONSTER_ID
@ CHARACTER_ATTRIBUTE_SKILL_MONSTER_ID
Definition: Engine.h:543
EQUIP_ARMOUR
@ EQUIP_ARMOUR
Definition: Items.h:230
CHARACTER_ATTRIBUTE_SKILL_ITEM_ID
@ CHARACTER_ATTRIBUTE_SKILL_ITEM_ID
Definition: Engine.h:542
ITEM_ARTIFACT_LADYS_ESCORT
@ ITEM_ARTIFACT_LADYS_ESCORT
Definition: Items.h:189
ITEM_ARTIFACT_HERMES_SANDALS
@ ITEM_ARTIFACT_HERMES_SANDALS
Definition: Items.h:182
ITEM_TEMP_BONUS
@ ITEM_TEMP_BONUS
Definition: Items.h:28
ITEM_RELIC_TWILIGHT
@ ITEM_RELIC_TWILIGHT
Definition: Items.h:178
ITEM_ARTIFACT_IRON_FEATHER
@ ITEM_ARTIFACT_IRON_FEATHER
Definition: Items.h:154
CEnchantment
struct CEnchantment CEnchantment
ITEM_ARTIFACT_HEROS_BELT
@ ITEM_ARTIFACT_HEROS_BELT
Definition: Items.h:188
CHARACTER_ATTRIBUTE_SKILL_MIND
@ CHARACTER_ATTRIBUTE_SKILL_MIND
Definition: Engine.h:564
ItemGen::uItemID
int uItemID
Definition: Items.h:326
DMGT_COLD
@ DMGT_COLD
Definition: Items.h:13
EQUIP_BOW
@ EQUIP_BOW
Definition: Items.h:229
ITEM_RILIC_TITANS_BELT
@ ITEM_RILIC_TITANS_BELT
Definition: Items.h:177
CHARACTER_ATTRIBUTE_RESIST_AIR
@ CHARACTER_ATTRIBUTE_RESIST_AIR
Definition: Engine.h:533
ItemGen::GetPlayerSkillType
unsigned char GetPlayerSkillType()
Definition: Items.cpp:1512
ITEM_RELIC_ANIA_SELVING
@ ITEM_RELIC_ANIA_SELVING
Definition: Items.h:179
CHARACTER_ATTRIBUTE_SKILL_STEALING
@ CHARACTER_ATTRIBUTE_SKILL_STEALING
Definition: Engine.h:540
CHARACTER_ATTRIBUTE_WILLPOWER
@ CHARACTER_ATTRIBUTE_WILLPOWER
Definition: Engine.h:523
ItemGen::uBodyAnchor
unsigned __int8 uBodyAnchor
Definition: Items.h:350
ItemGen::expirte_time
GameTime expirte_time
Definition: Items.h:354
CHARACTER_ATTRIBUTE_SKILL_ALCHEMY
@ CHARACTER_ATTRIBUTE_SKILL_ALCHEMY
Definition: Engine.h:539
BuildingType_MagicShop
@ BuildingType_MagicShop
Definition: Events2D.h:7
PLAYER_SKILL_MACE
@ PLAYER_SKILL_MACE
Definition: Player.h:177
CHARACTER_ATTRIBUTE_RESIST_MIND
@ CHARACTER_ATTRIBUTE_RESIST_MIND
Definition: Engine.h:536
EQUIP_POTION
@ EQUIP_POTION
Definition: Items.h:241
ITEM_AURA_EFFECT_PURPLE
@ ITEM_AURA_EFFECT_PURPLE
Definition: Items.h:32
ITEM_ENCHANTMENT_OF_FIRE
@ ITEM_ENCHANTMENT_OF_FIRE
Definition: Items.h:47
EQUIP_NONE
@ EQUIP_NONE
Definition: Items.h:248
ITEM_ENCHANTMENT_OF_INFERNOS
@ ITEM_ENCHANTMENT_OF_INFERNOS
Definition: Items.h:49
ITEM_ARTIFACT_CLOAK_OF_THE_SHEEP
@ ITEM_ARTIFACT_CLOAK_OF_THE_SHEEP
Definition: Items.h:183
ITEM_ENCHANTMENT_OF_DRAGON
@ ITEM_ENCHANTMENT_OF_DRAGON
Definition: Items.h:61
ItemGen::IsIdentified
bool IsIdentified()
Definition: Items.h:306
ITEM_RELIC_KELEBRIM
@ ITEM_RELIC_KELEBRIM
Definition: Items.h:173
ITEM_AURA_EFFECT_RED
@ ITEM_AURA_EFFECT_RED
Definition: Items.h:29
ITEM_ENCHANTMENT_VAMPIRIC
@ ITEM_ENCHANTMENT_VAMPIRIC
Definition: Items.h:53
ITEM_RELIC_OLD_NICK
@ ITEM_RELIC_OLD_NICK
Definition: Items.h:170
ITEM_ENCHANTMENT_OF_LIGHTNING
@ ITEM_ENCHANTMENT_OF_LIGHTNING
Definition: Items.h:45
DMGT_ELECTR
@ DMGT_ELECTR
Definition: Items.h:12
DMGT_BODY
@ DMGT_BODY
Definition: Items.h:19
ItemGen::GetIdentifiedName
String GetIdentifiedName()
Definition: Items.cpp:619
ItemSpecialEnchantment::iTreasureLevel
int iTreasureLevel
Definition: Items.h:435
CHARACTER_ATTRIBUTE_ENDURANCE
@ CHARACTER_ATTRIBUTE_ENDURANCE
Definition: Engine.h:524
ItemsTable::pSpecialEnchantments
ItemSpecialEnchantment pSpecialEnchantments[72]
Definition: Items.h:462
Player::skillBody
unsigned __int16 skillBody
Definition: Player.h:690
Player::skillMind
unsigned __int16 skillMind
Definition: Player.h:689
ItemGen::uNumCharges
int uNumCharges
Definition: Items.h:348
ItemSpecialEnchantment::pNameAdd
char * pNameAdd
Definition: Items.h:432
Player::skillDark
unsigned __int16 skillDark
Definition: Player.h:692
ITEM_ARTIFACT_WALLACE
@ ITEM_ARTIFACT_WALLACE
Definition: Items.h:155
ITEM_AURA_EFFECT_BLUE
@ ITEM_AURA_EFFECT_BLUE
Definition: Items.h:30
ItemGen::specialBonusMap
static std::map< int, std::map< CHARACTER_ATTRIBUTE_TYPE, CEnchantment * > * > specialBonusMap
Definition: Items.h:270
ITEM_RELIC_MEKORIGS_HAMMER
@ ITEM_RELIC_MEKORIGS_HAMMER
Definition: Items.h:181
CHARACTER_ATTRIBUTE_ACCURACY
@ CHARACTER_ATTRIBUTE_ACCURACY
Definition: Engine.h:525
ITEM_NULL
@ ITEM_NULL
Definition: Items.h:74
ITEM_ELVEN_CHAINMAIL
@ ITEM_ELVEN_CHAINMAIL
Definition: Items.h:186
Player::skillEarth
unsigned __int16 skillEarth
Definition: Player.h:687
ItemGen::IsStolen
bool IsStolen()
Definition: Items.h:308
ITEM_RELIC_SCHOLARS_CAP
@ ITEM_RELIC_SCHOLARS_CAP
Definition: Items.h:175
BuildingType_AlchemistShop
@ BuildingType_AlchemistShop
Definition: Events2D.h:8
ITEM_IDENTIFIED
@ ITEM_IDENTIFIED
Definition: Items.h:26
ITEM_ENCHANTMENT_OF_DARKNESS
@ ITEM_ENCHANTMENT_OF_DARKNESS
Definition: Items.h:59
ITEM_ENCHANTMENT_OF_FROST
@ ITEM_ENCHANTMENT_OF_FROST
Definition: Items.h:42
ITEM_BROKEN
@ ITEM_BROKEN
Definition: Items.h:27
Localization::FormatString
String FormatString(unsigned int index,...) const
Definition: Localization.cpp:17
Player::skillUnarmed
unsigned __int16 skillUnarmed
Definition: Player.h:703
ItemsTable::pEnchantments
ItemEnchantment pEnchantments[24]
Definition: Items.h:461
ITEM_ENCHANTMENT_OF_SPARKS
@ ITEM_ENCHANTMENT_OF_SPARKS
Definition: Items.h:44
ItemEnchantment::pOfName
char * pOfName
Definition: Items.h:406
Player::skillAir
unsigned __int16 skillAir
Definition: Player.h:685
CEnchantment::statPtr
uint16_t Player::* statPtr
Definition: Items.h:257
CHARACTER_ATTRIBUTE_SKILL_LIGHT
@ CHARACTER_ATTRIBUTE_SKILL_LIGHT
Definition: Engine.h:566
ItemSpecialEnchantment::iValue
int iValue
Definition: Items.h:434
ItemGen::UpdateTempBonus
void UpdateTempBonus(GameTime time)
Definition: Items.cpp:146
CHARACTER_ATTRIBUTE_SPEED
@ CHARACTER_ATTRIBUTE_SPEED
Definition: Engine.h:526
ITEM_ARTIFACT_SPLITTER
@ ITEM_ARTIFACT_SPLITTER
Definition: Items.h:159
ITEM_RELIC_GLORY_SHIELD
@ ITEM_RELIC_GLORY_SHIELD
Definition: Items.h:172
ITEM_ARTEFACT_HANDS_OF_THE_MASTER
@ ITEM_ARTEFACT_HANDS_OF_THE_MASTER
Definition: Items.h:164
ITEM_LICH_JAR_FULL
@ ITEM_LICH_JAR_FULL
Definition: Items.h:206
ITEM_ENCHANTMENT_NULL
@ ITEM_ENCHANTMENT_NULL
Definition: Items.h:39
ITEM_RELIC_ETHRICS_STAFF
@ ITEM_RELIC_ETHRICS_STAFF
Definition: Items.h:168
ITEM_ARTIFACT_RULERS_RING
@ ITEM_ARTIFACT_RULERS_RING
Definition: Items.h:166
ItemGen::m_enchantmentStrength
int m_enchantmentStrength
Definition: Items.h:328
ITEM_RELIC_TALEDONS_HELM
@ ITEM_RELIC_TALEDONS_HELM
Definition: Items.h:174
CHARACTER_ATTRIBUTE_SKILL_DODGE
@ CHARACTER_ATTRIBUTE_SKILL_DODGE
Definition: Engine.h:545
Player::skillSpirit
unsigned __int16 skillSpirit
Definition: Player.h:688
StringPrintf
String StringPrintf(const char *fmt,...)
Definition: Strings.cpp:9
ITEM_ENCHANTMENT_OF_COLD
@ ITEM_ENCHANTMENT_OF_COLD
Definition: Items.h:41
EQUIP_BOOTS
@ EQUIP_BOOTS
Definition: Items.h:236
CHARACTER_ATTRIBUTE_SKILL_UNARMED
@ CHARACTER_ATTRIBUTE_SKILL_UNARMED
Definition: Engine.h:546
String
std::string String
Definition: Strings.h:10
CHARACTER_ATTRIBUTE_STRENGTH
@ CHARACTER_ATTRIBUTE_STRENGTH
Definition: Engine.h:521
ITEM_ARTIFACT_GOVERNORS_ARMOR
@ ITEM_ARTIFACT_GOVERNORS_ARMOR
Definition: Items.h:157
CHARACTER_ATTRIBUTE_RESIST_BODY
@ CHARACTER_ATTRIBUTE_RESIST_BODY
Definition: Engine.h:537
CHARACTER_ATTRIBUTE_SKILL_MEDITATION
@ CHARACTER_ATTRIBUTE_SKILL_MEDITATION
Definition: Engine.h:568
ItemGen::artifactBonusMap
static std::map< int, std::map< CHARACTER_ATTRIBUTE_TYPE, CEnchantment * > * > artifactBonusMap
Definition: Items.h:271
CHARACTER_ATTRIBUTE_INTELLIGENCE
@ CHARACTER_ATTRIBUTE_INTELLIGENCE
Definition: Engine.h:522
ItemsTable::pItems
NZIArray< ItemDesc, 800 > pItems
Definition: Items.h:460
CHARACTER_ATTRIBUTE_SKILL_DARK
@ CHARACTER_ATTRIBUTE_SKILL_DARK
Definition: Engine.h:567
Player::skillFire
unsigned __int16 skillFire
Definition: Player.h:684
CHARACTER_ATTRIBUTE_SKILL_TRAP_DISARM
@ CHARACTER_ATTRIBUTE_SKILL_TRAP_DISARM
Definition: Engine.h:541
CHARACTER_ATTRIBUTE_RESIST_EARTH
@ CHARACTER_ATTRIBUTE_RESIST_EARTH
Definition: Engine.h:535
ITEM_ARTIFACT_PUCK
@ ITEM_ARTIFACT_PUCK
Definition: Items.h:153