adiktuzmiko icon

UNCO Craft Edit

adiktuzmiko | PRO | 01/19/20 07:33:16 AM UTC | 0 ⭐ | 302 👁️ | Never ⏰ | []
JavaScript |

11.41 KB

|

None

|

0 👍

/

0 👎

//=============================================================================
// Crafting System Edit
//   by Unconnected42
//   edit by Adiktuzmiko
// UNCO_Craft_Edit.js
// Last Updated : 2020/01/19
// Make sure this is inserted into your plugin list as the last file or at 
// least below the original
//=============================================================================
 
/*:
 * @plugindesc  Edits to the display of UNCO Crafting.
 * <Unco Craft Edit>
 * @author Edited by Adiktuzmiko
 *
 * @param ProdAmount DX
 * @desc  Adjust this value to set the distance between the product name and the amount text
 * @default 128
 * 
 * @param Column Width
 * @desc  Adjust this value to adjust the width of each column
 * @default 128
 * 
 * @param Ingredient Columns
 * @desc  Adjust this value to adjust how many columns will be used. Make sure the columns will fit the window width
 * @default 2
 * 
 * @param Ingredient Per Column
 * @desc  This is for code calculation purposes, if you're using the same window height as in your screenshot leave it at 3
 * @default 3
 * 
 */
 
Unco_edit.Parameters = $plugins.filter(function(p) {
    return p.description.contains('<Unco Craft Edit>');
})[0].parameters; //Copied from Ellye, who thanks Iavra
Unco_edit.Param = Unco_edit.Param || {};
 
Unco_edit.Param.prodAmountDX = parseInt(String(Unco_edit.Parameters['ProdAmount DX']));
Unco_edit.Param.columns = parseInt(String(Unco_edit.Parameters['Ingredient Columns']));
Unco_edit.Param.columnWidth = parseInt(String(Unco_edit.Parameters['Column Width']));
Unco_edit.Param.ingColumns = parseInt(String(Unco_edit.Parameters['Ingredient Per Column']));
 
//Overwrites of original functions
 
//To in-line the amount for the product
Window_CraftInfo.prototype.drawProducts = function(dy) {
    var skill = this._item;
    var indent = 24;
    var stockIndent = indent*3;
    var dx = this.textPadding();
    var dw = this.contents.width - this.textPadding() * 2;
    this.resetFontSettings();
    var text = ( (typeof skill.craftProdText !== 'undefined') ? skill.craftProdText : Unco.Param.craftDefProdText);
    this.drawDarkRect(dx-indent, dy, dw+indent, this.lineHeight());
    this.drawText(text, dx, dy, dw, 'left');
    dy += this.lineHeight();
    dx += indent;
    this.contents.fontSize = Unco.Param.craftFontSize;
    this.changeTextColor(this.textColor(Unco.Param.craftFontColorNorm));
    for (var makeId in skill.makeItem) {
       makeId = parseInt(makeId);
       if (!isNaN(makeId) && (makeId > 0)) {
          var makeAmount = parseInt(skill.makeItem[makeId]);
          if (!isNaN(makeAmount) &&  (makeAmount > 0)) {
             this.drawIcon($dataItems[makeId].iconIndex, dx, dy);
             if (Unco.Param.craftDispNames === 'true') {
                this.drawText($dataItems[makeId].name, dx + Window_Base._iconWidth + 2, dy, dw, 'left');
                //dy += this.lineHeight();
             }
             text = 'x' + String(makeAmount);
             this.drawText(text, dx + Unco_edit.Param.prodAmountDX + 2, dy, dw, 'left');
             text = '(' + $gameParty.getItemAmount($dataItems[makeId]) + ' ' + Unco.Param.craftDefStocText + ')';
             this.drawText(text, dx + Unco_edit.Param.prodAmountDX + stockIndent, dy, dw, 'left');
             dy += this.lineHeight();
          }
       }
    }
    for (var makeId in skill.makeArmor) {
       makeId = parseInt(makeId);
       if (!isNaN(makeId) && (makeId > 0)) {
          var makeAmount = parseInt(skill.makeArmor[makeId]);
          if (!isNaN(makeAmount) &&  (makeAmount > 0)) {
             this.drawIcon($dataArmors[makeId].iconIndex, dx, dy);
             if (Unco.Param.craftDispNames === 'true') {
                this.drawText($dataArmors[makeId].name, dx + Window_Base._iconWidth + 2, dy, dw, 'left');
                //dy += this.lineHeight();
             }
             text = 'x' + String(makeAmount);
             this.drawText(text, dx + Unco_edit.Param.prodAmountDX + 2, dy, dw, 'left');
             text = '(' + $gameParty.getItemAmount($dataArmors[makeId]) + ' ' + Unco.Param.craftDefStocText + ')';
             this.drawText(text, dx + Unco_edit.Param.prodAmountDX + stockIndent, dy, dw, 'left');
             dy += this.lineHeight();
          }
       }
    }
    for (var makeId in skill.makeWeapon) {
       makeId = parseInt(makeId);
       if (!isNaN(makeId) && (makeId > 0)) {
          var makeAmount = parseInt(skill.makeWeapon[makeId]);
          if (!isNaN(makeAmount) &&  (makeAmount > 0)) {
             this.drawIcon($dataWeapons[makeId].iconIndex, dx, dy);
             if (Unco.Param.craftDispNames === 'true') {
                this.drawText($dataWeapons[makeId].name, dx + Window_Base._iconWidth + 2, dy, dw, 'left');
                //dy += this.lineHeight();
             }
             text = 'x' + String(makeAmount);
             this.drawText(text, dx + Unco_edit.Param.prodAmountDX + 2, dy, dw, 'left');
             text = '(' + $gameParty.getItemAmount($dataWeapons[makeId]) + ' ' + Unco.Param.craftDefStocText + ')';
             this.drawText(text, dx + Unco_edit.Param.prodAmountDX + stockIndent, dy, dw, 'left');
             dy += this.lineHeight();
          }
       }
    }
    this.resetFontSettings();
    return dy;
 };
 
 //Draw Components
 
 
 Window_CraftInfo.prototype.drawComponents = function(dy) {  
    var skill = this._item;
    var indent = 24;
    var stockIndent = indent*3;
    var dx = this.textPadding();
    var dw = this.contents.width - this.textPadding() * 2;
    var count = 0;
    var dyOrig = 0;
    this.resetFontSettings();
    this.drawDarkRect(dx-indent, dy, dw+indent, this.lineHeight());
    var text = ( (typeof skill.craftCompText !== 'undefined') ? skill.craftCompText : Unco.Param.craftDefCompText);
    this.drawText(text, dx, dy, dw, 'left');
    dy += this.lineHeight(); 
    dx += indent;
    dyOrig = dy;
    this.contents.fontSize = Unco.Param.craftFontSize;
    var craftLineHeight = Math.max(Unco.Param.craftFontSize,Window_Base._iconHeight)+1;   
     if (typeof skill.goldCost === 'number') {
       this.drawIcon(Unco.Param.goldAmmoIconId, dx, dy);
       if (Unco.Param.craftDispNames === 'true') {
          this.drawText(TextManager.currencyUnit, dx + Window_Base._iconWidth + 2, dy, dw, 'left');
          dy += craftLineHeight;
       }
       var text = 'x' + String(skill.goldCost);
       this.drawText(text, dx + Window_Base._iconWidth + 2, dy, dw, 'left');
       if (skill.goldCost > $gameParty.gold()) this.changeTextColor(this.textColor(Unco.Param.craftFontColorCris));
       text = '(' + $gameParty.gold() + ' ' + Unco.Param.craftDefStocText + ')';
       this.drawText(text, dx + Window_Base._iconWidth + stockIndent, dy, dw, 'left');
       dy += craftLineHeight;
       this.changeTextColor(this.textColor(Unco.Param.craftFontColorNorm));
       this.resetFontSettings();
       count += 1;
       if (count === Unco_edit.Param.ingColumns) {
           count = 0;
           dy = dyOrig;
           dx += Unco_edit.Param.columnWidth;
       }
     }
    for (var ammoId in skill.itemAmmoCost) {
       ammoId = parseInt(ammoId);
       if (!isNaN(ammoId) && (ammoId > 0)) {
          var ammoAmount = parseInt(skill.itemAmmoCost[ammoId]);
          if (!isNaN(ammoAmount) &&  (ammoAmount > 0)) {
             this.drawIcon($dataItems[ammoId].iconIndex, dx, dy);
             if (Unco.Param.craftDispNames === 'true') {
                this.drawText($dataItems[ammoId].name, dx + Window_Base._iconWidth + 2, dy, dw, 'left');
                dy += craftLineHeight;
             }
             this.changeTextColor(this.textColor(Unco.Param.craftFontColorNorm));
             text = 'x' + String(ammoAmount);
             this.drawText(text, dx + Window_Base._iconWidth + 2, dy, dw, 'left');
             if (ammoAmount > $gameParty.getItemAmount($dataItems[ammoId])) this.changeTextColor(this.textColor(Unco.Param.craftFontColorCris));
             text = '(' + $gameParty.getItemAmount($dataItems[ammoId]) + ' ' + Unco.Param.craftDefStocText + ')';
             this.drawText(text, dx + Window_Base._iconWidth + stockIndent, dy, dw, 'left');
             dy += craftLineHeight;
             this.changeTextColor(this.textColor(Unco.Param.craftFontColorNorm));
             count += 1;
             if (count === Unco_edit.Param.ingColumns) {
                count = 0;
                dy = dyOrig;
                dx += Unco_edit.Param.columnWidth;
             }   
          }
       }
    }
    for (var ammoId in skill.equipAmmoCost) {
       ammoId = parseInt(ammoId);
       if (!isNaN(ammoId) && (ammoId > 0)) {
          ammoAmount = parseInt(skill.equipAmmoCost[ammoId]);
          if (!isNaN(ammoAmount) && (ammoAmount > 0)) {
             this.drawIcon($dataArmors[ammoId].iconIndex, dx, dy);
             if (Unco.Param.craftDispNames === 'true') {
                this.drawText($dataArmors[ammoId].name, dx + Window_Base._iconWidth + 2, dy, dw, 'left');
                dy += craftLineHeight;
             }
             this.changeTextColor(this.textColor(Unco.Param.craftFontColorNorm));
             text = 'x' + String(ammoAmount);
             this.drawText(text, dx + Window_Base._iconWidth + 2, dy, dw, 'left');
             text = '(' + $gameParty.getItemAmount($dataArmors[ammoId]) + ' ' + Unco.Param.craftDefStocText + ')';
             if (ammoAmount > $gameParty.getItemAmount($dataArmors[ammoId])) this.changeTextColor(this.textColor(Unco.Param.craftFontColorCris));
             this.drawText(text, dx + Window_Base._iconWidth + stockIndent, dy, dw, 'left');
             dy += craftLineHeight;
             this.changeTextColor(this.textColor(Unco.Param.craftFontColorNorm));
             count += 1;
             if (count === Unco_edit.Param.ingColumns) {
                count = 0;
                dy = dyOrig;
                dx += Unco_edit.Param.columnWidth;
             }  
          }
       }
    }
    for (var ammoId in skill.weaponAmmoCost) {
       ammoId = parseInt(ammoId);
       if (!isNaN(ammoId) && (ammoId > 0)) {
          ammoAmount = parseInt(skill.weaponAmmoCost[ammoId]);
          if (!isNaN(ammoAmount) && (ammoAmount > 0)) {
             this.drawIcon($dataWeapons[ammoId].iconIndex, dx, dy);
             if (Unco.Param.craftDispNames === 'true') {
                this.drawText($dataWeapons[ammoId].name, dx + Window_Base._iconWidth + 2, dy, dw, 'left');
                dy += craftLineHeight;
             }
             this.changeTextColor(this.textColor(Unco.Param.craftFontColorNorm));
             text = 'x' + String(ammoAmount);
             this.drawText(text, dx + Window_Base._iconWidth + 2, dy, dw, 'left');
             text = '(' + $gameParty.getItemAmount($dataWeapons[ammoId]) + ' ' + Unco.Param.craftDefStocText + ')';
             if (ammoAmount > $gameParty.getItemAmount($dataWeapons[ammoId])) this.changeTextColor(this.textColor(Unco.Param.craftFontColorCris));
             this.drawText(text, dx + Window_Base._iconWidth + stockIndent, dy, dw, 'left');
             dy += craftLineHeight;
             this.changeTextColor(this.textColor(Unco.Param.craftFontColorNorm));
             count += 1;
             if (count === Unco_edit.Param.ingColumns) {
                count = 0;
                dy = dyOrig;
                dx += Unco_edit.Param.columnWidth;
             }  
          }
       }
    }
    this.resetFontSettings();
    return dy;
 };

Comments