на основе способности предмета способ ущербен, потому что если взять два предмета, например два клинка - каждый из них наденет свою модель на ту часть тела, которая задана параметром. А если используется триггерный инвентарь (через доп. героев например)?
Ну и плюс ко всему, у специальных рпг моделей есть наборы анимаций для разного типа оружия и без триггерного вмешательства не получиться заставить сменить анимационный тэг модели. Вот теперь веселый вопрос - у вас персонаж подбирает лук - лук одевается в руку. Персонаж начинает мочить противников луком как рукопашным оружием - круто? Что бы этого избежать надо достаточно много усилий, во первых - создание базы предметов и моделей (можно через хэш, можно через глобалки), добавление в базу предметов информации о том - чем является предмет (шлем \ оружие \ щит \ бронь? ) - проще всего делается через целочисленные переменные.
Далее следует написать триггер который будет удалять старую модель и одевать новую при подъеме нового предмета. В триггере обязательно должно быть учтено то, что есть возможность одеть два оружия (некоторые виды оружия) и что нет возможности одеть щит когда надето двуручное оружие.
Так же следует предусмотреть выброс на землю старой экипировки, при одевании новой. А то не хорошо получится что у персонажа 2 клинка, один отображается - второй - нет, но оба дают бонусы.
В противном случае игра не стоит свеч - будут глюки и недоработки.