Advertisement
Maliki79

Mal_ItemCoreEx_KeyItems

Feb 16th, 2020
466
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. var malPICNT = DataManager.processItemCoreNotetags;
  2. DataManager.processItemCoreNotetags = function(group) {
  3.     malPICNT.call(this, group);
  4.     for (var n = 1; n < group.length; n++) {
  5.     var obj = group[n];
  6.     if(obj.note.contains('<keyItem>')) {
  7.         obj.keyItem = true;
  8.     } else {
  9.         obj.keyItem = false;
  10.     };
  11. };
  12. };
  13.  
  14. //OVERWRITE Window_ShopBuy.prototype.isEnabled
  15. Window_ShopBuy.prototype.isEnabled = function(item) {
  16.     if (DataManager.isIndependent(item)) {
  17.       var typeMax = $gameParty.getIndependentItemTypeMax(item);
  18.       var typeCur = $gameParty.getIndependentItemTypeCur(item);
  19.       var typeCurKey = $gameParty.getIndependentItemTypeCurKey(item);
  20.       typeCur -= typeCurKey;
  21.       if (typeCur >= typeMax && item.keyItem == false) return false;
  22.     }
  23.     return (item && this.price(item) <= this._money &&
  24.             !$gameParty.hasMaxItems(item));
  25. };
  26.  
  27. Game_Party.prototype.getIndependentItemTypeCurKey = function(item) {
  28.     if (!item) return 0;
  29.     if (DataManager.isItem(item)) {
  30.     var count = 0;
  31.     var items = this.items();
  32.         for (var i = 0; i < items.length; i++) {
  33.             if (items[i].keyItem) count++;
  34.         };
  35.     return count;
  36.     };
  37.     if (DataManager.isWeapon(item)) {
  38.     var count = 0;
  39.     var items = this.weapons();
  40.         for (var i = 0; i < items.length; i++) {
  41.             if (items[i].keyItem) count++;
  42.         };
  43.     return count;
  44.     };
  45.     if (DataManager.isArmor(item)) {
  46.     var count = 0;
  47.     var items = this.armors();
  48.         for (var i = 0; i < items.length; i++) {
  49.             if (items[i].keyItem) count++;
  50.         };
  51.     return count;
  52.     };
  53.     return 0;
  54. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement