「表に出ているユニットスキル」(クラススキルや隠しスキルは考慮しない)が5つまでっていう制限をつけたいならこうかなあ、いずれにせよスクリプト書かないと無理
(function(){
var GET_SKILL_ITEM_LIMIT = 5;
var tempFunctions = {
SkillChangeItemAvailability: {
isItemAllowed: SkillChangeItemAvailability.isItemAllowed
},
ItemMessenger: {
isUsable: ItemMessenger.isUsable
}
};
SkillChangeItemAvailability.isItemAllowed = function(unit, targetUnit, item) {
var skillList, skillCount;
var result = tempFunctions.SkillChangeItemAvailability.isItemAllowed.call(this, unit, targetUnit, item);
if (result === true && item.getSkillChangeInfo().getSkillControlType() === IncreaseType.INCREASE) {
skillList = targetUnit.getSkillReferenceList();
skillCount = skillList.getTypeCount() - skillList.getHiddenCount();
return skillCount <= GET_SKILL_ITEM_LIMIT;
} else {
return result;
}
};
ItemMessenger.isUsable = function(unit, item) {
var skillList;
var result = tempFunctions.ItemMessenger.isUsable.call(this, unit, item);
if (result === true && item.getItemType() === ItemType.SKILLGET && item.getSkillChangeInfo().getSkillControlType() === IncreaseType.INCREASE) {
skillList = unit.getSkillReferenceList();
return skillList.getTypeCount() - skillList.getHiddenCount() <= GET_SKILL_ITEM_LIMIT;
}
return result;
};
})();