Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //=============================================================================
- // ICF-Soft Plugins - Patch to show params in Yanfly plugins
- // ICFSoft_YEPShowParams.js
- //=============================================================================
- var Imported = Imported || {};
- Imported.ICFSoft_YEPShowParams = true;
- var ICF = ICF || {};
- ICF.YEPShowParams = ICF.YEPShowParams || {};
- ICF.NotetagsProcessor = ICF.NotetagsProcessor || {};
- ICF.YEPShowParams.Version = 100; // 1.00
- //=============================================================================
- /*:
- * @plugindesc v1.00 This plugin allows you to use ICFSoft Params Core
- * with some Yanfly plugins.
- * @author ICF-Soft [http://icfsoft.blogspot.com.es/]
- *
- * @param Equip Column1
- * @desc Param names that will be shown in equip scene.
- * @default mhp mmp atk def mat mdf agi luk
- *
- * @param Equip Column Font Size
- * @desc Font size for params that will be shown in equip scene.
- * @default 28
- *
- * @param Item Columns
- * @desc Param names that will be shown in item scene.
- * @default mhp mmp atk def mat mdf agi luk
- *
- * @param Shop Item Columns
- * @desc Param names that will be shown in shop scene.
- * @default mhp mmp atk def mat mdf agi luk
- *
- * @help
- * ============================================================================
- * Introduction
- * ============================================================================
- *
- * This plugin allows you to show parameters created with ICFSoft Params Core
- * in some Yanfly plugins.
- *
- * Actually it works with Yanfly Equip core, Item core, Shop menu core and
- * attach augments. Must be below all of them.
- *
- * ============================================================================
- * Incompatibilities
- * ============================================================================
- *
- * There's no known incompatible plugins yet.
- *
- * ============================================================================
- * Known isues
- * ============================================================================
- *
- * Not yet.
- *
- * ============================================================================
- *
- * For commercial and non-commercial games.
- * Credit to ICF-Soft.
- * This entire header must be included with plugin.
- *
- * ============================================================================
- */
- //=============================================================================
- /*:es
- * @plugindesc v1.00 Este complemento permite usar los parámetros creados con
- * ICFSoft Params Core en algunos plugins de Yanfly.
- * @author ICF-Soft [http://icfsoft.blogspot.com.es/]
- *
- * @param Equip Column1
- * @desc Parámetros a mostrar en el menú de equipo.
- * @default mhp mmp atk def mat mdf agi luk
- *
- * @param Equip Column Font Size
- * @desc Tamaño de la fuente para los parámetros en el menú de equipo.
- * @default 28
- *
- * @param Item Columns
- * @desc Parámetros a mostrar en el menú de objetos.
- * @default mhp mmp atk def mat mdf agi luk
- *
- * @param Shop Item Columns
- * @desc Parámetros a mostrar en la escena de tienda.
- * @default mhp mmp atk def mat mdf agi luk
- *
- * @help
- * ============================================================================
- * Introducción
- * ============================================================================
- *
- * Este complemento permite mostrar los parámetros creados con ICFSoft Params
- * Core en algunos plugins de Yanfly.
- *
- * Actualmente funciona con Equip core, Item core, Shop menu core y Attach
- * augments. Debe estar después de todos ellos.
- *
- * ============================================================================
- * Incompatibilidades
- * ============================================================================
- *
- * No se conocen complementos que sean incompatibles hasta la fecha.
- *
- * ============================================================================
- * Problemas conocidos
- * ============================================================================
- *
- * De momento ninguno.
- *
- * ============================================================================
- *
- * Para juegos comerciales y no comerciales.
- * Se debe incluir a ICF-Soft en los créditos.
- * Esta cabecera debe incluirse íntegramente con el plugin.
- *
- * ============================================================================
- */
- //=============================================================================
- //=============================================================================
- // Parameter Variables
- //=============================================================================
- ICF.Parameters = PluginManager.parameters('ICFSoft_YEPShowParams');
- ICF.Param = ICF.Param || {};
- ICF.YEPShowParams.eqStatusMenuCol1 = ICF.Parameters['Equip Column1'].toLowerCase().trim().split(/\s+/);
- //ICF.YEPShowParams.eqStatusMenuCol2 = ICF.Parameters['Equip Column2'].toLowerCase().trim().split(/\s+/);
- ICF.YEPShowParams.eqStatusMenuFont = Number(ICF.Parameters['Equip Column Font Size']);
- ICF.YEPShowParams.itemMenuCol1 = ICF.Parameters['Item Columns'].toLowerCase().trim().split(/\s+/);
- ICF.YEPShowParams.shopMenuCol1 = ICF.Parameters['Shop Item Columns'].toLowerCase().trim().split(/\s+/);
- if (ICF.YEPShowParams.eqStatusMenuCol1[0] == "") ICF.YEPShowParams.eqStatusMenuCol1.shift();
- if (ICF.YEPShowParams.itemMenuCol1[0] == "") ICF.YEPShowParams.itemMenuCol1.shift();
- if (ICF.YEPShowParams.shopMenuCol1[0] == "") ICF.YEPShowParams.shopMenuCol1.shift();
- //=============================================================================
- // TextManager
- //=============================================================================
- ICF.YEPShowParams.TextManager_param = TextManager.param;
- TextManager.param = function (paramId) {
- if (ICF.Param.NParams.indexOf(paramId) > -1) {
- var parId = ICF.Param.NParams.indexOf(paramId);
- return ICF.Param.NParamsFullName[parId];
- } else if (ICF.Param.PParams.indexOf(paramId) > -1) {
- var parId = ICF.Param.PParams.indexOf(paramId);
- return ICF.Param.PParamsFullName[parId];
- } else if (ICF.Param.BParams.indexOf(paramId) > -1) {
- var parId = ICF.Param.BParams.indexOf(paramId);
- return ICF.YEPShowParams.TextManager_param.call(this, parId);
- } else if (ICF.Param.XParams.indexOf(paramId) > -1) {
- var parId = ICF.Param.XParams.indexOf(paramId);
- return ICF.Param.XParamsFullName[parId];
- } else if (ICF.Param.SParams.indexOf(paramId) > -1) {
- var parId = ICF.Param.SParams.indexOf(paramId);
- return ICF.Param.SParamsFullName[parId];
- } else {
- return ICF.YEPShowParams.TextManager_param.call(this, paramId);
- }
- };
- if (Imported.YEP_EquipCore) {
- //=============================================================================
- // Window_StatCompare
- //=============================================================================
- Window_StatCompare.prototype.lineHeight = function () {
- return ICF.YEPShowParams.eqStatusMenuFont + 8;
- };
- Window_StatCompare.prototype.refresh = function() {
- this.contents.fontSize = ICF.YEPShowParams.eqStatusMenuFont;
- this.contents.clear();
- if (!this._actor) return;
- for (var i = 0; i < ICF.YEPShowParams.eqStatusMenuCol1.length; ++i) {
- this.drawItem(0, this.lineHeight() * i, ICF.YEPShowParams.eqStatusMenuCol1[i]);
- }
- };
- Window_StatCompare.prototype.drawItem = function(x, y, paramId) {
- this.drawDarkRect(x, y, this.contents.width, this.lineHeight());
- this.drawParamName(y, paramId);
- this.drawCurrentParam(y, paramId);
- this.drawRightArrow(y);
- if (!this._tempActor) return;
- this.drawNewParam(y, paramId);
- this.drawParamDifference(y, paramId);
- };
- Window_StatCompare.prototype.drawParamName = function(y, paramId) {
- var x = this.textPadding();
- this.changeTextColor(this.systemColor());
- this.drawText(TextManager.param(paramId), x, y, this._paramNameWidth);
- };
- Window_StatCompare.prototype.drawCurrentParam = function(y, paramId) {
- var x = this.contents.width - this.textPadding();
- x -= this._paramValueWidth * 2 + this._arrowWidth + this._bonusValueWidth;
- this.resetTextColor();
- var actorparam = 0;
- if (ICF.Param.NParams.indexOf(paramId) > -1) {
- var parId = ICF.Param.NParams.indexOf(paramId);
- actorparam = this._actor.NParam(parId);
- } else if (ICF.Param.PParams.indexOf(paramId) > -1) {
- var parId = ICF.Param.PParams.indexOf(paramId);
- actorparam = this._actor.PParam(parId);
- } else {
- actorparam = this._actor[paramId];
- }
- this.drawText(actorparam, x, y, this._paramValueWidth, 'right');
- };
- Window_StatCompare.prototype.drawNewParam = function(y, paramId) {
- var x = this.contents.width - this.textPadding();
- x -= this._paramValueWidth + this._bonusValueWidth;
- var newValue = 0;
- var diffvalue = 0;
- if (ICF.Param.NParams.indexOf(paramId) > -1) {
- var parId = ICF.Param.NParams.indexOf(paramId);
- newValue = this._tempActor.NParam(parId);
- diffvalue = newValue - this._actor.NParam(parId);
- } else if (ICF.Param.PParams.indexOf(paramId) > -1) {
- var parId = ICF.Param.PParams.indexOf(paramId);
- newValue = this._tempActor.PParam(parId);
- diffvalue = newValue - this._actor.PParam(parId);
- } else {
- newValue = this._tempActor[paramId];
- diffvalue = newValue - this._actor[paramId];
- }
- var actorparam = newValue;
- this.changeTextColor(this.paramchangeTextColor(diffvalue));
- this.drawText(actorparam, x, y, this._paramValueWidth, 'right');
- };
- Window_StatCompare.prototype.drawParamDifference = function(y, paramId) {
- var x = this.contents.width - this.textPadding();
- x -= this._bonusValueWidth;
- var newValue = 0;
- var diffvalue = 0;
- if (ICF.Param.NParams.indexOf(paramId) > -1) {
- var parId = ICF.Param.NParams.indexOf(paramId);
- newValue = this._tempActor.NParam(parId);
- diffvalue = newValue - this._actor.NParam(parId);
- } else if (ICF.Param.PParams.indexOf(paramId) > -1) {
- var parId = ICF.Param.PParams.indexOf(paramId);
- newValue = this._tempActor.PParam(parId);
- diffvalue = newValue - this._actor.PParam(parId);
- } else {
- newValue = this._tempActor[paramId];
- diffvalue = newValue - this._actor[paramId];
- }
- if (diffvalue === 0) return;
- var actorparam = newValue;
- this.changeTextColor(this.paramchangeTextColor(diffvalue));
- var text = diffvalue;
- if (diffvalue > 0) {
- text = ' (+' + text + ')';
- } else {
- text = ' (' + text + ')';
- }
- this.drawText(text, x, y, this._bonusValueWidth, 'left');
- };
- };
- if (Imported.YEP_ItemCore) {
- //=============================================================================
- // Window_ShopInfo
- //=============================================================================
- Window_ItemStatus.prototype.drawEquipInfo = function(item) {
- var rect = new Rectangle();
- if (eval(Yanfly.Param.ItemShowIcon)) {
- rect.width = (this.contents.width - Window_Base._faceWidth) / 2;
- } else {
- rect.width = this.contents.width / 2;
- }
- for (var i = 0; i < ICF.YEPShowParams.itemMenuCol1.length; ++i) {
- rect = this.getRectPosition(rect, i);
- var dx = rect.x + this.textPadding();
- var dw = rect.width - this.textPadding() * 2;
- this.changeTextColor(this.systemColor());
- this.drawText(TextManager.param(ICF.YEPShowParams.itemMenuCol1[i]), dx, rect.y, dw);
- var param = 0;
- if (ICF.Param.NParams.indexOf(ICF.YEPShowParams.itemMenuCol1[i]) > -1) {
- var parId = ICF.Param.NParams.indexOf(ICF.YEPShowParams.itemMenuCol1[i]);
- param = item.NParams[parId];
- if (isNaN(param)) param = 0;
- param += item.traits.reduce(function(r, trait) {
- if (trait.code == 24 && trait.dataId == parId) return r + trait.value;
- return r;
- }, 0);
- } else if (ICF.Param.PParams.indexOf(ICF.YEPShowParams.shopMenuCol1[i]) > -1) {
- var parId = ICF.Param.PParams.indexOf(ICF.YEPShowParams.shopMenuCol1[i]);
- param = item.PParams[parId];
- if (isNaN(param)) param = 0;
- param += item.traits.reduce(function(r, trait) {
- if (trait.code == 25 && trait.dataId == parId) return r + trait.value;
- return r;
- }, 0);
- } else if (ICF.Param.BParams.indexOf(ICF.YEPShowParams.itemMenuCol1[i]) > -1) {
- var parId = ICF.Param.BParams.indexOf(ICF.YEPShowParams.itemMenuCol1[i]);
- param = item.params[parId];
- }
- if (isNaN(param)) param = 0;
- this.changeTextColor(this.paramchangeTextColor(param));
- var text = param;
- if (param >= 0) text = '+' + text;
- if (text === '+0') this.changePaintOpacity(false);
- this.drawText(text, dx, rect.y, dw, 'right');
- this.changePaintOpacity(true);
- }
- };
- };
- if (Imported.YEP_ShopMenuCore) {
- //=============================================================================
- // Window_ShopInfo
- //=============================================================================
- Window_ShopInfo.prototype.drawEquipInfo = function(item) {
- var rect = new Rectangle();
- if (eval(Yanfly.Param.ItemShowIcon)) {
- rect.width = (this.contents.width - Window_Base._faceWidth) / 2;
- } else {
- rect.width = this.contents.width / 2;
- }
- for (var i = 0; i < ICF.YEPShowParams.shopMenuCol1.length; ++i) {
- rect = this.getRectPosition(rect, i);
- var dx = rect.x + this.textPadding();
- var dw = rect.width - this.textPadding() * 2;
- this.changeTextColor(this.systemColor());
- this.drawText(TextManager.param(ICF.YEPShowParams.shopMenuCol1[i]), dx, rect.y, dw);
- var param = 0;
- if (ICF.Param.NParams.indexOf(ICF.YEPShowParams.shopMenuCol1[i]) > -1) {
- var parId = ICF.Param.NParams.indexOf(ICF.YEPShowParams.shopMenuCol1[i]);
- param = item.NParams[parId];
- if (isNaN(param)) param = 0;
- param += item.traits.reduce(function(r, trait) {
- if (trait.code == 24 && trait.dataId == parId) return r + trait.value;
- return r;
- }, 0);
- } else if (ICF.Param.PParams.indexOf(ICF.YEPShowParams.shopMenuCol1[i]) > -1) {
- var parId = ICF.Param.PParams.indexOf(ICF.YEPShowParams.shopMenuCol1[i]);
- param = item.PParams[parId];
- if (isNaN(param)) param = 0;
- param += item.traits.reduce(function(r, trait) {
- if (trait.code == 25 && trait.dataId == parId) return r + trait.value;
- return r;
- }, 0);
- } else if (ICF.Param.BParams.indexOf(ICF.YEPShowParams.shopMenuCol1[i]) > -1) {
- var parId = ICF.Param.BParams.indexOf(ICF.YEPShowParams.shopMenuCol1[i]);
- param = item.params[parId];
- }
- if (isNaN(param)) param = 0;
- this.changeTextColor(this.paramchangeTextColor(param));
- var text = param;
- if (param >= 0) text = '+' + text;
- if (text === '+0') this.changePaintOpacity(false);
- this.drawText(text, dx, rect.y, dw, 'right');
- this.changePaintOpacity(true);
- }
- };
- //=============================================================================
- // Window_ShopStatus
- //=============================================================================
- Window_ShopStatus.prototype.drawDarkRectEntries = function() {
- for (var i = 0; i < 8; ++i) {
- var rect = this.getRectPosition(i);
- this.drawDarkRect(rect.x, rect.y, rect.width, rect.height);
- }
- };
- Window_ShopStatus.prototype.drawActorStatInfo = function(actor) {
- this.contents.fontSize = Yanfly.Param.ShopStatFontSize;
- var item1 = this.currentEquippedItem(actor, this._item.etypeId);
- var canEquip = actor.canEquip(this._item);
- for (var i = 0; i < ICF.YEPShowParams.shopMenuCol1.length; ++i) {
- this.changePaintOpacity(true);
- var rect = this.getRectPosition(i);
- rect.x += this.textPadding();
- rect.width -= this.textPadding() * 2;
- this.changeTextColor(this.systemColor());
- var text = TextManager.param(ICF.YEPShowParams.shopMenuCol1[i]);
- this.drawText(text, rect.x, rect.y, rect.width);
- if (!canEquip) this.drawActorCantEquip(actor, rect);
- if (canEquip) this.drawActorChange(actor, rect, item1, i);
- }
- this.changePaintOpacity(true);
- };
- Window_ShopStatus.prototype.drawActorChange = function(actor, rect, item1, i) {
- var change = 0;
- var param1 = 0;
- var param2 = 0;
- if (ICF.Param.NParams.indexOf(ICF.YEPShowParams.shopMenuCol1[i]) > -1) {
- var parId = ICF.Param.NParams.indexOf(ICF.YEPShowParams.shopMenuCol1[i]);
- if (item1) param1 = (item1.NParams[parId] || 0) + item1.traits.reduce(function(r, trait) {
- if (trait.code == 24 && trait.dataId == parId) return r + trait.value;
- return r;
- }, 0);
- param2 = (this._item.NParams[parId] || 0) + this._item.traits.reduce(function(r, trait) {
- if (trait.code == 24 && trait.dataId == parId) return r + trait.value;
- return r;
- }, 0);
- } else if (ICF.Param.PParams.indexOf(ICF.YEPShowParams.shopMenuCol1[i]) > -1) {
- var parId = ICF.Param.PParams.indexOf(ICF.YEPShowParams.shopMenuCol1[i]);
- if (item1) param1 = (item1.PParams[parId] || 0) + item1.traits.reduce(function(r, trait) {
- if (trait.code == 25 && trait.dataId == parId) return r + trait.value;
- return r;
- }, 0);
- param2 = (this._item.PParams[parId] || 0) + this._item.traits.reduce(function(r, trait) {
- if (trait.code == 25 && trait.dataId == parId) return r + trait.value;
- return r;
- }, 0);
- } else if (ICF.Param.BParams.indexOf(ICF.YEPShowParams.shopMenuCol1[i]) > -1) {
- var parId = ICF.Param.BParams.indexOf(ICF.YEPShowParams.shopMenuCol1[i]);
- if (item1) param1 = item1.params[parId];
- param2 = this._item.params[parId];
- }
- if (isNaN(param1)) param1 = 0;
- if (isNaN(param2)) param2 = 0;
- change = param2 - param1;
- this.changePaintOpacity(change !== 0);
- this.changeTextColor(this.paramchangeTextColor(change));
- var text = (change > 0 ? '+' : '') + Yanfly.Util.toGroup(change);
- this.drawText(text, rect.x, rect.y, rect.width, 'right');
- };
- };
- if (Imported.YEP_ItemCore && Imported.YEP_X_AttachAugments) {
- //=============================================================================
- // ItemManager
- //=============================================================================
- ItemManager.applyAugmentDebuff = function(mainItem, element, add) {
- if (text.match(/(.*),[ ](\d+)([%%])/i)) {
- var param = String(RegExp.$1);
- var rate = parseFloat(RegExp.$2) * 0.01;
- if (!id) return;
- } else if (text.match(/(.*),[ ]([\+\-]\d+)([%%])/i)) {
- var add = $gameTemp._augmentSetting === 'attach';
- var name = String(RegExp.$1);
- var rate = parseFloat(RegExp.$2) * 0.01;
- rate += 1;
- } else {
- return;
- }
- if (ICF.Param.NParams.indexOf(param) > -1) {
- var paramId = ICF.Param.NParams.indexOf(param) + 10;
- } else if (['MAXHP', 'MHP', 'MAX HP', 'HP'].contains(param)) {
- var paramId = 0;
- } else if (['MAXMP', 'MMP', 'MAX MP', 'MP'].contains(param)) {
- var paramId = 1;
- } else if (['ATK', 'STR'].contains(param)) {
- var paramId = 2;
- } else if (['DEF'].contains(param)) {
- var paramId = 3;
- } else if (['MAT', 'INT', 'SPI'].contains(param)) {
- var paramId = 4;
- } else if (['MDF', 'RES'].contains(param)) {
- var paramId = 5;
- } else if (['AGI', 'SPD'].contains(param)) {
- var paramId = 6;
- } else if (['LUK'].contains(param)) {
- var paramId = 7;
- } else {
- return;
- }
- var code = Game_BattlerBase.TRAIT_DEBUFF_RATE;
- this.adjustItemTrait(mainItem, code, paramId, rate, add);
- };
- ICF.YEPShowParams.applyAugmentParamRate = ItemManager.applyAugmentParamRate;
- ItemManager.applyAugmentParamRate = function(mainItem, param, value) {
- var add = $gameTemp._augmentSetting === 'attach';
- value = parseFloat(value * 0.01);
- var rate = value + 1;
- if (ICF.Param.NParams.indexOf(param) > -1) {
- var code = Game_BattlerBase.TRAIT_NPARAM;
- var id = ICF.Param.NParams.indexOf(param) + 100;
- this.adjustItemTrait(mainItem, code, id, rate, add);
- } else if (ICF.Param.PParams.indexOf(param) > -1) {
- var code = Game_BattlerBase.TRAIT_PPARAM;
- var id = ICF.Param.PParams.indexOf(param) + 100;
- this.adjustItemTrait(mainItem, code, id, rate, add);
- } else {
- ICF.YEPShowParams.applyAugmentParamRate.call(this, mainItem, param, value);
- }
- };
- ICF.YEPShowParams.applyAugmentParamPlus = ItemManager.applyAugmentParamPlus;
- ItemManager.applyAugmentParamPlus = function(mainItem, param, value) {
- if (ICF.Param.NParams.indexOf(param) > -1) {
- var parId = ICF.Param.NParams.indexOf(param);
- if (!mainItem.NParams[parId]) mainItem.NParams[parId] = 0;
- mainItem.NParams[parId] += value;
- } else if (ICF.Param.PParams.indexOf(param) > -1) {
- var parId = ICF.Param.PParams.indexOf(param);
- if (!mainItem.PParams[parId]) mainItem.PParams[parId] = 0;
- mainItem.PParams[parId] += value;
- } else {
- ICF.YEPShowParams.applyAugmentParamPlus.call(this, mainItem, param, value);
- }
- };
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement