aboutsummaryrefslogtreecommitdiff
path: root/engines/xeen/dialogs_items.cpp
diff options
context:
space:
mode:
authorPaul Gilbert2015-02-04 20:41:17 -0500
committerPaul Gilbert2015-02-04 20:41:17 -0500
commit7ea32f3333cb2123675f6dbdfae3ed232347d1a5 (patch)
tree458a07b5dfc0a964542b8187904f762cebe0d224 /engines/xeen/dialogs_items.cpp
parent8eb9ad50f8ddf23147b999fa40c6231a1a623d41 (diff)
downloadscummvm-rg350-7ea32f3333cb2123675f6dbdfae3ed232347d1a5.tar.gz
scummvm-rg350-7ea32f3333cb2123675f6dbdfae3ed232347d1a5.tar.bz2
scummvm-rg350-7ea32f3333cb2123675f6dbdfae3ed232347d1a5.zip
XEEN: Moved passRestrictions to the InventoryItems class
Diffstat (limited to 'engines/xeen/dialogs_items.cpp')
-rw-r--r--engines/xeen/dialogs_items.cpp55
1 files changed, 1 insertions, 54 deletions
diff --git a/engines/xeen/dialogs_items.cpp b/engines/xeen/dialogs_items.cpp
index 634fb2de39..c28085c15e 100644
--- a/engines/xeen/dialogs_items.cpp
+++ b/engines/xeen/dialogs_items.cpp
@@ -154,7 +154,7 @@ Character *ItemsDialog::execute(Character *c, ItemsMode mode) {
DrawStruct &ds = _itemsDrawList[idx];
ds._sprites = &_equipSprites;
- if (passRestrictions(c->_class, i._id, true, CATEGORY_WEAPON))
+ if (c->_weapons.passRestrictions(i._id, true))
ds._frame = i._frame;
else
ds._frame = 14;
@@ -537,59 +537,6 @@ int ItemsDialog::calcItemCost(Character *c, int itemIndex, ItemsMode mode,
return (mode == ITEMMODE_CHAR_INFO) ? 0 : result;
}
-/**
- * Return whether a given item passes class-based usage restrictions
- */
-bool ItemsDialog::passRestrictions(CharacterClass charClass, int itemId,
- bool showError, ItemCategory category) const {
- switch (charClass) {
- case CLASS_KNIGHT:
- case CLASS_PALADIN:
- return true;
-
- case CLASS_ARCHER:
- case CLASS_CLERIC:
- case CLASS_SORCERER:
- case CLASS_ROBBER:
- case CLASS_NINJA:
- case CLASS_BARBARIAN:
- case CLASS_DRUID:
- case CLASS_RANGER: {
- if (!(ITEM_RESTRICTIONS[itemId + RESTRICTION_OFFSETS[category]] &
- (1 << (charClass - CLASS_ARCHER))))
- return true;
- break;
- }
-
- default:
- break;
- }
-
- Common::String name;
- switch (category) {
- case CATEGORY_WEAPON:
- name = WEAPON_NAMES[itemId];
- break;
- case CATEGORY_ARMOR:
- name = ARMOR_NAMES[itemId];
- break;
- case CATEGORY_ACCESSORY:
- name = ACCESSORY_NAMES[itemId];
- break;
- case CATEGORY_MISC:
- name = MISC_NAMES[itemId];
- break;
- }
-
- if (showError) {
- Common::String msg = Common::String::format(NOT_PROFICIENT,
- CLASS_NAMES[charClass], name.c_str());
- ErrorScroll::show(_vm, msg, WT_FREEZE_WAIT);
- }
-
- return false;
-}
-
bool ItemsDialog::doItemOptions(Character &c, int actionIndex, int itemIndex, ItemCategory category,
ItemsMode mode) {
Combat &combat = *_vm->_combat;