diff options
author | Paul Gilbert | 2015-02-04 20:41:17 -0500 |
---|---|---|
committer | Paul Gilbert | 2015-02-04 20:41:17 -0500 |
commit | 7ea32f3333cb2123675f6dbdfae3ed232347d1a5 (patch) | |
tree | 458a07b5dfc0a964542b8187904f762cebe0d224 /engines/xeen/dialogs_items.cpp | |
parent | 8eb9ad50f8ddf23147b999fa40c6231a1a623d41 (diff) | |
download | scummvm-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.cpp | 55 |
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; |