aboutsummaryrefslogtreecommitdiff
path: root/engines/xeen/character.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/xeen/character.cpp')
-rw-r--r--engines/xeen/character.cpp199
1 files changed, 98 insertions, 101 deletions
diff --git a/engines/xeen/character.cpp b/engines/xeen/character.cpp
index f47b6e28fb..4d791b9c7b 100644
--- a/engines/xeen/character.cpp
+++ b/engines/xeen/character.cpp
@@ -46,7 +46,7 @@ void XeenItem::synchronize(Common::Serializer &s) {
ElementalCategory XeenItem::getElementalCategory() const {
int idx;
- for (idx = 0; ELEMENTAL_CATEGORIES[idx] < _material; ++idx)
+ for (idx = 0; Res.ELEMENTAL_CATEGORIES[idx] < _material; ++idx)
;
return (ElementalCategory)idx;
@@ -55,7 +55,7 @@ ElementalCategory XeenItem::getElementalCategory() const {
AttributeCategory XeenItem::getAttributeCategory() const {
int m = _material - 59;
int idx;
- for (idx = 0; ATTRIBUTE_CATEGORIES[idx] < m; ++idx)
+ for (idx = 0; Res.ATTRIBUTE_CATEGORIES[idx] < m; ++idx)
;
return (AttributeCategory)idx;
@@ -67,10 +67,7 @@ InventoryItems::InventoryItems(Character *character, ItemCategory category):
_character(character), _category(category) {
resize(INV_ITEMS_TOTAL);
- static const char *const *NAMES[4] = {
- WEAPON_NAMES, ARMOR_NAMES, ACCESSORY_NAMES, MISC_NAMES
- };
- _names = NAMES[category];
+ _names = Res.ITEM_NAMES[category];
}
void InventoryItems::clear() {
@@ -94,7 +91,7 @@ bool InventoryItems::passRestrictions(int itemId, bool showError) const {
case CLASS_BARBARIAN:
case CLASS_DRUID:
case CLASS_RANGER: {
- if (!(ITEM_RESTRICTIONS[itemId + RESTRICTION_OFFSETS[_category]] &
+ if (!(Res.ITEM_RESTRICTIONS[itemId + Res.RESTRICTION_OFFSETS[_category]] &
(1 << (charClass - CLASS_ARCHER))))
return true;
break;
@@ -106,8 +103,8 @@ bool InventoryItems::passRestrictions(int itemId, bool showError) const {
Common::String name = _names[itemId];
if (showError) {
- Common::String msg = Common::String::format(NOT_PROFICIENT,
- CLASS_NAMES[charClass], name.c_str());
+ Common::String msg = Common::String::format(Res.NOT_PROFICIENT,
+ Res.CLASS_NAMES[charClass], name.c_str());
ErrorScroll::show(Party::_vm, msg, WT_FREEZE_WAIT);
}
@@ -125,14 +122,14 @@ Common::String InventoryItems::getIdentifiedDetails(int itemIndex) {
Common::String classes;
for (int charClass = CLASS_KNIGHT; charClass <= CLASS_RANGER; ++charClass) {
if (passRestrictions(charClass, true)) {
- const char *const name = CLASS_NAMES[charClass];
+ const char *const name = Res.CLASS_NAMES[charClass];
classes += name[0];
classes += name[1];
classes += " ";
}
}
if (classes.size() == 30)
- classes = ALL;
+ classes = Res.ALL;
return getAttributes(item, classes);
}
@@ -142,10 +139,10 @@ bool InventoryItems::discardItem(int itemIndex) {
XeenEngine *vm = Party::_vm;
if (item._bonusFlags & ITEMFLAG_CURSED) {
- ErrorScroll::show(vm, CANNOT_DISCARD_CURSED_ITEM);
+ ErrorScroll::show(vm, Res.CANNOT_DISCARD_CURSED_ITEM);
} else {
Common::String itemDesc = getFullDescription(itemIndex, 4);
- Common::String msg = Common::String::format(PERMANENTLY_DISCARD, itemDesc.c_str());
+ Common::String msg = Common::String::format(Res.PERMANENTLY_DISCARD, itemDesc.c_str());
if (Confirm::show(vm, msg)) {
operator[](itemIndex).clear();
@@ -182,7 +179,7 @@ void InventoryItems::removeItem(int itemIndex) {
XeenEngine *vm = Party::_vm;
if (item._bonusFlags & ITEMFLAG_CURSED)
- ErrorScroll::show(vm, CANNOT_REMOVE_CURSED_ITEM);
+ ErrorScroll::show(vm, Res.CANNOT_REMOVE_CURSED_ITEM);
else
item._frame = 0;
}
@@ -199,18 +196,18 @@ void InventoryItems::equipError(int itemIndex1, ItemCategory category1, int item
Common::String itemName1 = _character->_items[category1].getName(itemIndex1);
Common::String itemName2 = _character->_items[category2].getName(itemIndex2);
- ErrorDialog::show(vm, Common::String::format(REMOVE_X_TO_EQUIP_Y,
+ ErrorDialog::show(vm, Common::String::format(Res.REMOVE_X_TO_EQUIP_Y,
itemName1.c_str(), itemName2.c_str()));
} else {
- ErrorDialog::show(vm, Common::String::format(EQUIPPED_ALL_YOU_CAN,
- (itemIndex1 == -1) ? RING : MEDAL));
+ ErrorDialog::show(vm, Common::String::format(Res.EQUIPPED_ALL_YOU_CAN,
+ (itemIndex1 == -1) ? Res.RING : Res.MEDAL));
}
}
void InventoryItems::enchantItem(int itemIndex, int amount) {
XeenEngine *vm = Party::_vm;
vm->_sound->playFX(21);
- ErrorScroll::show(vm, Common::String::format(NOT_ENCHANTABLE, SPELL_FAILED));
+ ErrorScroll::show(vm, Common::String::format(Res.NOT_ENCHANTABLE, Res.SPELL_FAILED));
}
bool InventoryItems::isFull() const {
@@ -275,11 +272,11 @@ Common::String WeaponItems::getFullDescription(int itemIndex, int displayNum) {
return Common::String::format("\f%02u%s%s%s\f%02u%s%s%s", displayNum,
!i._bonusFlags ? res._maeNames[i._material].c_str() : "",
- (i._bonusFlags & ITEMFLAG_BROKEN) ? ITEM_BROKEN : "",
- (i._bonusFlags & ITEMFLAG_CURSED) ? ITEM_CURSED : "",
+ (i._bonusFlags & ITEMFLAG_BROKEN) ? Res.ITEM_BROKEN : "",
+ (i._bonusFlags & ITEMFLAG_CURSED) ? Res.ITEM_CURSED : "",
displayNum,
- WEAPON_NAMES[i._id],
- !i._bonusFlags ? "" : BONUS_NAMES[i._bonusFlags & ITEMFLAG_BONUS_MASK],
+ Res.WEAPON_NAMES[i._id],
+ !i._bonusFlags ? "" : Res.BONUS_NAMES[i._bonusFlags & ITEMFLAG_BONUS_MASK],
(i._bonusFlags & (ITEMFLAG_BROKEN | ITEMFLAG_CURSED)) ||
!i._bonusFlags ? "\b " : ""
);
@@ -307,45 +304,45 @@ void WeaponItems::enchantItem(int itemIndex, int amount) {
*/
Common::String WeaponItems::getAttributes(XeenItem &item, const Common::String &classes) {
Common::String attrBonus, elemDamage, physDamage, toHit, specialPower;
- attrBonus = elemDamage = physDamage = toHit = specialPower = FIELD_NONE;
+ attrBonus = elemDamage = physDamage = toHit = specialPower = Res.FIELD_NONE;
// First calculate physical damage
- int minVal = WEAPON_DAMAGE_BASE[item._id];
- int maxVal = minVal * WEAPON_DAMAGE_MULTIPLIER[item._id];
+ int minVal = Res.WEAPON_DAMAGE_BASE[item._id];
+ int maxVal = minVal * Res.WEAPON_DAMAGE_MULTIPLIER[item._id];
if (item._material >= 37 && item._material <= 58) {
- minVal += METAL_DAMAGE[item._material - 37];
- maxVal += METAL_DAMAGE[item._material - 37];
- toHit = Common::String::format("%+d", METAL_DAMAGE_PERCENT[item._material - 37]);
+ minVal += Res.METAL_DAMAGE[item._material - 37];
+ maxVal += Res.METAL_DAMAGE[item._material - 37];
+ toHit = Common::String::format("%+d", Res.METAL_DAMAGE_PERCENT[item._material - 37]);
}
- physDamage = Common::String::format(DAMAGE_X_TO_Y, minVal, maxVal);
+ physDamage = Common::String::format(Res.DAMAGE_X_TO_Y, minVal, maxVal);
// Next handle elemental/attribute damage
if (item._material < 37) {
- int damage = ELEMENTAL_DAMAGE[item._material];
+ int damage = Res.ELEMENTAL_DAMAGE[item._material];
if (damage > 0) {
ElementalCategory elemCategory = item.getElementalCategory();
- elemDamage = Common::String::format(ELEMENTAL_XY_DAMAGE,
- damage, ELEMENTAL_NAMES[elemCategory]);
+ elemDamage = Common::String::format(Res.ELEMENTAL_XY_DAMAGE,
+ damage, Res.ELEMENTAL_NAMES[elemCategory]);
}
} else if (item._material >= 59) {
- int bonus = ATTRIBUTE_BONUSES[item._material - 59];
+ int bonus = Res.ATTRIBUTE_BONUSES[item._material - 59];
AttributeCategory attrCategory = item.getAttributeCategory();
- attrBonus = Common::String::format(ATTR_XY_BONUS, bonus,
- ATTRIBUTE_NAMES[attrCategory]);
+ attrBonus = Common::String::format(Res.ATTR_XY_BONUS, bonus,
+ Res.ATTRIBUTE_NAMES[attrCategory]);
}
// Handle weapon effective against
int effective = item._bonusFlags & ITEMFLAG_BONUS_MASK;
if (effective) {
- specialPower = Common::String::format(EFFECTIVE_AGAINST,
- EFFECTIVENESS_NAMES[effective]);
+ specialPower = Common::String::format(Res.EFFECTIVE_AGAINST,
+ Res.EFFECTIVENESS_NAMES[effective]);
}
- return Common::String::format(ITEM_DETAILS, classes.c_str(),
+ return Common::String::format(Res.ITEM_DETAILS, classes.c_str(),
toHit.c_str(), physDamage.c_str(), elemDamage.c_str(),
- FIELD_NONE, FIELD_NONE, attrBonus.c_str(), specialPower.c_str()
+ Res.FIELD_NONE, Res.FIELD_NONE, attrBonus.c_str(), specialPower.c_str()
);
}
@@ -435,10 +432,10 @@ Common::String ArmorItems::getFullDescription(int itemIndex, int displayNum) {
return Common::String::format("\f%02u%s%s%s\f%02u%s%s", displayNum,
!i._bonusFlags ? "" : res._maeNames[i._material].c_str(),
- (i._bonusFlags & ITEMFLAG_BROKEN) ? ITEM_BROKEN : "",
- (i._bonusFlags & ITEMFLAG_CURSED) ? ITEM_CURSED : "",
+ (i._bonusFlags & ITEMFLAG_BROKEN) ? Res.ITEM_BROKEN : "",
+ (i._bonusFlags & ITEMFLAG_CURSED) ? Res.ITEM_CURSED : "",
displayNum,
- ARMOR_NAMES[i._id],
+ Res.ARMOR_NAMES[i._id],
(i._bonusFlags & (ITEMFLAG_BROKEN | ITEMFLAG_CURSED)) ||
!i._bonusFlags ? "\b " : ""
);
@@ -466,34 +463,34 @@ void ArmorItems::enchantItem(int itemIndex, int amount) {
*/
Common::String ArmorItems::getAttributes(XeenItem &item, const Common::String &classes) {
Common::String elemResist, attrBonus, acBonus;
- elemResist = attrBonus = acBonus = FIELD_NONE;
+ elemResist = attrBonus = acBonus = Res.FIELD_NONE;
if (item._material < 36) {
- int resistence = ELEMENTAL_RESISTENCES[item._material];
+ int resistence = Res.ELEMENTAL_RESISTENCES[item._material];
if (resistence > 0) {
int eCategory = ELEM_FIRE;
- while (eCategory < ELEM_MAGIC && ELEMENTAL_CATEGORIES[eCategory] < item._material)
+ while (eCategory < ELEM_MAGIC && Res.ELEMENTAL_CATEGORIES[eCategory] < item._material)
++eCategory;
- elemResist = Common::String::format(ATTR_XY_BONUS, resistence,
- ELEMENTAL_NAMES[eCategory]);
+ elemResist = Common::String::format(Res.ATTR_XY_BONUS, resistence,
+ Res.ELEMENTAL_NAMES[eCategory]);
}
} else if (item._material >= 59) {
- int bonus = ATTRIBUTE_BONUSES[item._material - 59];
+ int bonus = Res.ATTRIBUTE_BONUSES[item._material - 59];
AttributeCategory aCategory = item.getAttributeCategory();
- attrBonus = Common::String::format(ATTR_XY_BONUS, bonus,
- ATTRIBUTE_NAMES[aCategory]);
+ attrBonus = Common::String::format(Res.ATTR_XY_BONUS, bonus,
+ Res.ATTRIBUTE_NAMES[aCategory]);
}
- int strength = ARMOR_STRENGTHS[item._id];
+ int strength = Res.ARMOR_STRENGTHS[item._id];
if (item._material >= 37 && item._material <= 58) {
- strength += METAL_LAC[item._material - 37];
+ strength += Res.METAL_LAC[item._material - 37];
}
acBonus = Common::String::format("%+d", strength);
- return Common::String::format(ITEM_DETAILS, classes.c_str(),
- FIELD_NONE, FIELD_NONE, FIELD_NONE,
- elemResist.c_str(), acBonus.c_str(), attrBonus.c_str(), FIELD_NONE);
+ return Common::String::format(Res.ITEM_DETAILS, classes.c_str(),
+ Res.FIELD_NONE, Res.FIELD_NONE, Res.FIELD_NONE,
+ elemResist.c_str(), acBonus.c_str(), attrBonus.c_str(), Res.FIELD_NONE);
}
/*------------------------------------------------------------------------*/
@@ -552,10 +549,10 @@ Common::String AccessoryItems::getFullDescription(int itemIndex, int displayNum)
return Common::String::format("\f%02u%s%s%s\f%02u%s%s", displayNum,
!i._bonusFlags ? "" : res._maeNames[i._material].c_str(),
- (i._bonusFlags & ITEMFLAG_BROKEN) ? ITEM_BROKEN : "",
- (i._bonusFlags & ITEMFLAG_CURSED) ? ITEM_CURSED : "",
+ (i._bonusFlags & ITEMFLAG_BROKEN) ? Res.ITEM_BROKEN : "",
+ (i._bonusFlags & ITEMFLAG_CURSED) ? Res.ITEM_CURSED : "",
displayNum,
- ARMOR_NAMES[i._id],
+ Res.ARMOR_NAMES[i._id],
(i._bonusFlags & (ITEMFLAG_BROKEN | ITEMFLAG_CURSED)) ||
!i._bonusFlags ? "\b " : ""
);
@@ -566,28 +563,28 @@ Common::String AccessoryItems::getFullDescription(int itemIndex, int displayNum)
*/
Common::String AccessoryItems::getAttributes(XeenItem &item, const Common::String &classes) {
Common::String elemResist, attrBonus;
- elemResist = attrBonus = FIELD_NONE;
+ elemResist = attrBonus = Res.FIELD_NONE;
if (item._material < 36) {
- int resistence = ELEMENTAL_RESISTENCES[item._material];
+ int resistence = Res.ELEMENTAL_RESISTENCES[item._material];
if (resistence > 0) {
int eCategory = ELEM_FIRE;
- while (eCategory < ELEM_MAGIC && ELEMENTAL_CATEGORIES[eCategory] < item._material)
+ while (eCategory < ELEM_MAGIC && Res.ELEMENTAL_CATEGORIES[eCategory] < item._material)
++eCategory;
- elemResist = Common::String::format(ATTR_XY_BONUS, resistence,
- ELEMENTAL_NAMES[eCategory]);
+ elemResist = Common::String::format(Res.ATTR_XY_BONUS, resistence,
+ Res.ELEMENTAL_NAMES[eCategory]);
}
} else if (item._material >= 59) {
- int bonus = ATTRIBUTE_BONUSES[item._material - 59];
+ int bonus = Res.ATTRIBUTE_BONUSES[item._material - 59];
AttributeCategory aCategory = item.getAttributeCategory();
- attrBonus = Common::String::format(ATTR_XY_BONUS, bonus,
- ATTRIBUTE_NAMES[aCategory]);
+ attrBonus = Common::String::format(Res.ATTR_XY_BONUS, bonus,
+ Res.ATTRIBUTE_NAMES[aCategory]);
}
- return Common::String::format(ITEM_DETAILS, classes.c_str(),
- FIELD_NONE, FIELD_NONE, FIELD_NONE,
- elemResist.c_str(), FIELD_NONE, attrBonus.c_str(), FIELD_NONE);
+ return Common::String::format(Res.ITEM_DETAILS, classes.c_str(),
+ Res.FIELD_NONE, Res.FIELD_NONE, Res.FIELD_NONE,
+ elemResist.c_str(), Res.FIELD_NONE, attrBonus.c_str(), Res.FIELD_NONE);
}
/*------------------------------------------------------------------------*/
@@ -598,10 +595,10 @@ Common::String MiscItems::getFullDescription(int itemIndex, int displayNum) {
return Common::String::format("\f%02u%s%s%s\f%02u%s%s", displayNum,
!i._bonusFlags ? "" : res._maeNames[i._material].c_str(),
- (i._bonusFlags & ITEMFLAG_BROKEN) ? ITEM_BROKEN : "",
- (i._bonusFlags & ITEMFLAG_CURSED) ? ITEM_CURSED : "",
+ (i._bonusFlags & ITEMFLAG_BROKEN) ? Res.ITEM_BROKEN : "",
+ (i._bonusFlags & ITEMFLAG_CURSED) ? Res.ITEM_CURSED : "",
displayNum,
- ARMOR_NAMES[i._id],
+ Res.ARMOR_NAMES[i._id],
(i._bonusFlags & (ITEMFLAG_BROKEN | ITEMFLAG_CURSED)) ||
!i._id ? "\b " : ""
);
@@ -612,16 +609,16 @@ Common::String MiscItems::getFullDescription(int itemIndex, int displayNum) {
* Returns a text string listing all the stats/attributes of a given item
*/
Common::String MiscItems::getAttributes(XeenItem &item, const Common::String &classes) {
- Common::String specialPower = FIELD_NONE;
+ Common::String specialPower = Res.FIELD_NONE;
Spells &spells = *getVm()->_spells;
if (item._id) {
- specialPower = spells._spellNames[MISC_SPELL_INDEX[item._id]];
+ specialPower = spells._spellNames[Res.MISC_SPELL_INDEX[item._id]];
}
- return Common::String::format(ITEM_DETAILS, classes.c_str(),
- FIELD_NONE, FIELD_NONE, FIELD_NONE, FIELD_NONE, FIELD_NONE,
- FIELD_NONE, specialPower.c_str());
+ return Common::String::format(Res.ITEM_DETAILS, classes.c_str(),
+ Res.FIELD_NONE, Res.FIELD_NONE, Res.FIELD_NONE, Res.FIELD_NONE, Res.FIELD_NONE,
+ Res.FIELD_NONE, specialPower.c_str());
}
/*------------------------------------------------------------------------*/
@@ -836,9 +833,9 @@ int Character::getAge(bool ignoreTemp) const {
}
int Character::getMaxHP() const {
- int hp = BASE_HP_BY_CLASS[_class];
+ int hp = Res.BASE_HP_BY_CLASS[_class];
hp += statBonus(getStat(ENDURANCE));
- hp += RACE_HP_BONUSES[_race];
+ hp += Res.RACE_HP_BONUSES[_race];
if (_skills[BODYBUILDER])
++hp;
if (hp < 1)
@@ -873,7 +870,7 @@ int Character::getMaxSP() const {
for (;;) {
// Get the base number of spell points
result = statBonus(getStat(attrib)) + 3;
- result += RACE_SP_BONUSES[_race][attrib - 1];
+ result += Res.RACE_SP_BONUSES[_race][attrib - 1];
if (_skills[skill])
result += 2;
@@ -942,10 +939,10 @@ uint Character::getStat(Attribute attrib, bool baseOnly) const {
if (mode < 2) {
int age = getAge(false);
int ageIndex = 0;
- while (AGE_RANGES[ageIndex] <= age)
+ while (Res.AGE_RANGES[ageIndex] <= age)
++ageIndex;
- attr._permanent += AGE_RANGES_ADJUST[mode][ageIndex];
+ attr._permanent += Res.AGE_RANGES_ADJUST[mode][ageIndex];
}
@@ -974,10 +971,10 @@ int Character::statColor(int amount, int threshold) {
int Character::statBonus(uint statValue) const {
int idx;
- for (idx = 0; STAT_VALUES[idx] <= statValue; ++idx)
+ for (idx = 0; Res.STAT_VALUES[idx] <= statValue; ++idx)
;
- return STAT_BONUSES[idx];
+ return Res.STAT_BONUSES[idx];
}
bool Character::charSavingThrow(DamageType attackType) const {
@@ -1027,7 +1024,7 @@ bool Character::noActions() {
case INSANE:
case IN_LOVE:
case DRUNK: {
- Common::String msg = Common::String::format(IN_NO_CONDITION, _name.c_str());
+ Common::String msg = Common::String::format(Res.IN_NO_CONDITION, _name.c_str());
ErrorScroll::show(Party::_vm, msg,
Party::_vm->_mode == 17 ? WT_2 : WT_NONFREEZED_WAIT);
return true;
@@ -1119,7 +1116,7 @@ int Character::itemScan(int itemId) const {
++mIndex;
if (mIndex == itemId)
- result += ATTRIBUTE_BONUSES[item._material - 59];
+ result += Res.ATTRIBUTE_BONUSES[item._material - 59];
}
}
break;
@@ -1135,22 +1132,22 @@ int Character::itemScan(int itemId) const {
++mIndex;
if (mIndex == itemId)
- result += ATTRIBUTE_BONUSES[item._material - 59];
+ result += Res.ATTRIBUTE_BONUSES[item._material - 59];
}
if (itemId > 10 && item._material < 37) {
int mIndex = item.getElementalCategory() + 11;
if (mIndex == itemId) {
- result += ELEMENTAL_RESISTENCES[item._material];
+ result += Res.ELEMENTAL_RESISTENCES[item._material];
}
}
if (itemId == 9) {
- result += ARMOR_STRENGTHS[item._id];
+ result += Res.ARMOR_STRENGTHS[item._id];
if (item._material >= 37 && item._material <= 58)
- result += METAL_LAC[item._material - 37];
+ result += Res.METAL_LAC[item._material - 37];
}
}
}
@@ -1167,7 +1164,7 @@ int Character::itemScan(int itemId) const {
++mIndex;
if (mIndex == itemId) {
- result += ATTRIBUTE_BONUSES[item._material - 59];
+ result += Res.ATTRIBUTE_BONUSES[item._material - 59];
}
}
@@ -1175,7 +1172,7 @@ int Character::itemScan(int itemId) const {
int mIndex = item.getElementalCategory() + 11;
if (mIndex == itemId)
- result += ELEMENTAL_RESISTENCES[item._material];
+ result += Res.ELEMENTAL_RESISTENCES[item._material];
}
}
}
@@ -1469,7 +1466,7 @@ uint Character::nextExperienceLevel() const {
shift = _level._permanent - 1;
}
- return (base * 1024000) + (CLASS_EXP_LEVELS[_class] << shift);
+ return (base * 1024000) + (Res.CLASS_EXP_LEVELS[_class] << shift);
}
uint Character::getCurrentExperience() const {
@@ -1487,7 +1484,7 @@ uint Character::getCurrentExperience() const {
shift = lev - 1;
}
- return (base * 1024000) + (CLASS_EXP_LEVELS[_class] << shift) +
+ return (base * 1024000) + (Res.CLASS_EXP_LEVELS[_class] << shift) +
_experience;
}
@@ -1679,8 +1676,8 @@ int Character::makeItem(int p1, int itemIndex, int p3) {
mult = 5;
}
- v12 = MAKE_ITEM_ARR1[vm->getRandomNumber(MAKE_ITEM_ARR2[mult][p1][0],
- MAKE_ITEM_ARR2[mult][p1][1])];
+ v12 = Res.MAKE_ITEM_ARR1[vm->getRandomNumber(Res.MAKE_ITEM_ARR2[mult][p1][0],
+ Res.MAKE_ITEM_ARR2[mult][p1][1])];
break;
case 2:
@@ -1707,18 +1704,18 @@ int Character::makeItem(int p1, int itemIndex, int p3) {
mult = 9;
}
- v12 = MAKE_ITEM_ARR1[vm->getRandomNumber(MAKE_ITEM_ARR3[mult][p1][0],
- MAKE_ITEM_ARR3[mult][p1][1])];
+ v12 = Res.MAKE_ITEM_ARR1[vm->getRandomNumber(Res.MAKE_ITEM_ARR3[mult][p1][0],
+ Res.MAKE_ITEM_ARR3[mult][p1][1])];
break;
case 3:
mult = p1 == 7 || vm->getRandomNumber(1, 100) > 70 ? 1 : 0;
- v16 = vm->getRandomNumber(MAKE_ITEM_ARR4[mult][p1][0],
- MAKE_ITEM_ARR4[mult][p1][1]);
+ v16 = vm->getRandomNumber(Res.MAKE_ITEM_ARR4[mult][p1][0],
+ Res.MAKE_ITEM_ARR4[mult][p1][1]);
break;
case 4:
- miscBonus = vm->getRandomNumber(MAKE_ITEM_ARR5[p1][0], MAKE_ITEM_ARR5[p1][1]);
+ miscBonus = vm->getRandomNumber(Res.MAKE_ITEM_ARR5[p1][0], Res.MAKE_ITEM_ARR5[p1][1]);
break;
default: