设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 3227|回复: 8
打印 上一主题 下一主题

[搬运汉化] YEP.37 Status Menu Core (感谢andrewx!)

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
44 小时
注册时间
2015-12-27
帖子
47
跳转到指定楼层
1
发表于 2016-1-15 18:49:36 | 只看该作者 |只看大图 回帖奖励 |正序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
本帖最后由 梦幻学习机器 于 2016-1-17 23:46 编辑



Yanfly Engine Plugins is a plugin library made for RPG Maker MV, a wonderful piece of software to help you make that role playing game of your dreams. You can find out more about RPG Maker MV here.
You can grab the plugin here:
English Dropbox
English Mirror
(下载地址
https://www.dropbox.com/s/f6th4a ... tusMenuCore.js?dl=0

Introduction

This plugin replaces the Status menu with a whole new layout. Including the function to display more information regarding the actor. You can change the order commands appear in game with the Command Order parameter.
(本插件会取代原状态栏的全部布局,包括更多关于角色信息展示功能。你通过改变参数改变游戏中的显示)
To add more commands, insert extension plugins under this plugin in the Plugin Manager. Then, it will appear automatically in the Command Order where you placed the ‘Custom’ string or elsewhere if you’ve placed the extension plugin’s keyword elsewhere.
(在本插件之下,插入更多扩展插件,可以有更多命令。然后将会自动展示你设置的自定义字符串,或出现在别处如果你设置了关键词)
Instructions

You can add and remove commands from the Command Window by changing the ‘Command Order’ parameter. Here is a list of commands you may use:
(通过参数,可以添加和移除命令。下面是一个命令表,你会用到)
General
– Displays the current current stats and EXP for the actor.
(总体:展示角色当前状态和经验)
Parameters
– Displays a parameter gauge of the actor relative to other stats.
(参数:展示一个人物能力的数值图表)
Elements
– Displays the listed elements and their elemental rates.
(元素:展示元素倍率)
States
– Displays the listed states and their status infliction rates.
(状态:状态成功率)
Attributes
– Displays the listed attributes and their rates.
(特性:展示属性和比率)
Custom
– If you have any custom status window items to display, they will appear here.
(自定义:你也可以自定义任何状态窗口来展示)
Cancel
– Adds a cancel command for leaving the Status Menu.
(取消:添加一个取消命令来离开状态栏)


Adding Icons to Elements and Attributes
(给元素和特性添加icon)
You can use icons for elements and attributes by using text codes.
(你可以给元素和特性添加icon图表,通过代码)
In the RPG Maker MV editor’s database, types tab, for the elements, name them as such:
(在mv编辑器的数据库->类型设置->为这些元素命名,格式如下)
\i[64]Fire

This will enable you to give the element an icon. You can also change the text color and such using any of the available text codes.
(将让你能给一个元素icon,你也可以改变字体颜色和使用任何可用的代码)
The same is applied for Attributes except you modify it within this plugin’s parameters. If you wish to display ‘HP Regen Rate’ with an icon, name it:
(同样可以应用到属性里,除非你在插件参数里修饰了它。如果你想展示hp重生率的一个icon,命名:)
\i[72]HP Regen Rate

The icons will be drawn for the said attributes in addition to any other text code modifications used.
(icon图标将被画出为了说属性,除非任何企图代码修饰被使用)
Happy RPG Making!
(高兴就好!)


简单来说就是把任务的所有属性全部都能展示出来

扩展插件:
Status Menu Core >> Actor Variables,可以添加角色变量,如:饥饿,娱乐,社交,感情等;这个比较有意思,可以模拟人生了
Status Menu Core >> Battle Statistics,战斗统计,杀了多少怪什么的
Status Menu Core >> Profile Status Page,角色介绍,显示角色图文信息




JAVASCRIPT 代码复制
  1. //=============================================================================
  2. // Yanfly Engine Plugins - Status Menu Core
  3. // YEP_StatusMenuCore.js
  4. //=============================================================================
  5.  
  6. var Imported = Imported || {};
  7. Imported.YEP_StatusMenuCore = true;
  8.  
  9. var Yanfly = Yanfly || {};
  10. Yanfly.Status = Yanfly.Status || {};
  11.  
  12. //=============================================================================
  13. /*:
  14.  * @plugindesc v1.01a Changes the Status menu for your characters into
  15.  * a hub that displays more character information.
  16.  * @author Yanfly Engine Plugins
  17.  *
  18.  * @param ---Settings---
  19.  * @default
  20.  *
  21.  * @param Command Order
  22.  * @desc This is the order in which the command menu will appear. Use
  23.  * a space to separate the individual commands.
  24.  * @default General Parameters Elements States Attributes Custom Cancel
  25.  *
  26.  * @param Command Window Width
  27.  * @desc This is the window width for the Command Window.
  28.  * @default 240
  29.  *
  30.  * @param Command Window Rows
  31.  * @desc This is the number of rows for the Command Window.
  32.  * @default 4
  33.  *
  34.  * @param Command Alignment
  35.  * @desc This is the text alignment for the Command Window.
  36.  * left     center     right
  37.  * @default center
  38.  *
  39.  * @param ---General---
  40.  * @default
  41.  *
  42.  * @param General Command
  43.  * @desc This is how the command for 'General' will appear.
  44.  * @default General
  45.  *
  46.  * @param Parameters Text
  47.  * @desc This is how the word 'Parameters' will appear.
  48.  * @default Parameters
  49.  *
  50.  * @param Experience Text
  51.  * @desc This is how the word 'Experience' will appear.
  52.  * @default Experience
  53.  *
  54.  * @param Total Format
  55.  * @desc This is the word total experience.
  56.  * @default Total %1 for Next %2
  57.  *
  58.  * @param EXP Gauge Color 1
  59.  * @desc The skin color used in EXP Gauge Color 1 shown in the
  60.  * status window.
  61.  * @default 30
  62.  *
  63.  * @param EXP Gauge Color 2
  64.  * @desc The skin color used in EXP Gauge Color 2 shown in the
  65.  * status window.
  66.  * @default 31
  67.  *
  68.  * @param ---Parameters---
  69.  * @default
  70.  *
  71.  * @param Parameters Command
  72.  * @desc This is how the command for 'Parameters' will appear.
  73.  * @default Parameters
  74.  *
  75.  * @param Graph Text
  76.  * @desc This is how the words for 'Parameter Graph' appear.
  77.  * @default Parameter Graph
  78.  *
  79.  * @param ATK Color
  80.  * @desc This is the gauge color for ATK.
  81.  * #Color1 #Color2
  82.  * @default #ed1c24 #f26c4f
  83.  *
  84.  * @param DEF Color
  85.  * @desc This is the gauge color for DEF.
  86.  * #Color1 #Color2
  87.  * @default #f7941d #fdc689
  88.  *
  89.  * @param MAT Color
  90.  * @desc This is the gauge color for MAT.
  91.  * #Color1 #Color2
  92.  * @default #605ca8 #bd8cbf
  93.  *
  94.  * @param MDF Color
  95.  * @desc This is the gauge color for MDF.
  96.  * #Color1 #Color2
  97.  * @default #448ccb #a6caf4
  98.  *
  99.  * @param AGI Color
  100.  * @desc This is the gauge color for AGI.
  101.  * #Color1 #Color2
  102.  * @default #39b54a #82ca9c
  103.  *
  104.  * @param LUK Color
  105.  * @desc This is the gauge color for LUK.
  106.  * #Color1 #Color2
  107.  * @default #fff568 #fffac3
  108.  *
  109.  * @param ---Resist Colors---
  110.  * @default
  111.  *
  112.  * @param Above 300%
  113.  * @desc This is the text color for rates over 300%.
  114.  * @default 10
  115.  *
  116.  * @param 200% to 300%
  117.  * @desc This is the text color for rates over 200%.
  118.  * @default 20
  119.  *
  120.  * @param 150% to 200%
  121.  * @desc This is the text color for rates over 150%.
  122.  * @default 14
  123.  *
  124.  * @param 120% to 150%
  125.  * @desc This is the text color for rates over 120%.
  126.  * @default 6
  127.  *
  128.  * @param 100% to 120%
  129.  * @desc This is the text color for rates over 100%.
  130.  * @default 0
  131.  *
  132.  * @param 80% to 100%
  133.  * @desc This is the text color for rates over 80%.
  134.  * @default 24
  135.  *
  136.  * @param 50% to 80%
  137.  * @desc This is the text color for rates over 50%.
  138.  * @default 29
  139.  *
  140.  * @param 1% to 50%
  141.  * @desc This is the text color for rates over 1%.
  142.  * @default 23
  143.  *
  144.  * @param Exactly 0%
  145.  * @desc This is the text color for rates exactly 0%.
  146.  * @default 31
  147.  *
  148.  * @param Below 0%
  149.  * @desc This is the text color for rates below 0%.
  150.  * @default 27
  151.  *
  152.  * @param ---Elements---
  153.  * @default
  154.  *
  155.  * @param Elements Command
  156.  * @desc This is how the command for 'Elements' will appear.
  157.  * @default Elements
  158.  *
  159.  * @param Elements Decimal
  160.  * @desc How many decimal places to display for rates.
  161.  * @default 2
  162.  *
  163.  * @param Element Column 1
  164.  * @desc These are the element ID's drawn in column 1.
  165.  * Separate these element ID's with a space.
  166.  * @default 1
  167.  *
  168.  * @param Element Column 2
  169.  * @desc These are the element ID's drawn in column 2.
  170.  * Separate these element ID's with a space.
  171.  * @default 2 3 4 5 6 7 8 9
  172.  *
  173.  * @param Element Column 3
  174.  * @desc These are the element ID's drawn in column 3.
  175.  * Separate these element ID's with a space.
  176.  * @default
  177.  *
  178.  * @param Element Column 4
  179.  * @desc These are the element ID's drawn in column 4.
  180.  * Separate these element ID's with a space.
  181.  * @default
  182.  *
  183.  * @param ---State---
  184.  * @default
  185.  *
  186.  * @param States Command
  187.  * @desc This is how the command for 'States' will appear.
  188.  * @default States
  189.  *
  190.  * @param States Decimal
  191.  * @desc How many decimal places to display for rates.
  192.  * @default 2
  193.  *
  194.  * @param States Column 1
  195.  * @desc These are the state ID's drawn in column 1.
  196.  * Separate these state ID's with a space.
  197.  * @default 1 4 5 6
  198.  *
  199.  * @param States Column 2
  200.  * @desc These are the state ID's drawn in column 2.
  201.  * Separate these state ID's with a space.
  202.  * @default 7 8 9 10
  203.  *
  204.  * @param States Column 3
  205.  * @desc These are the state ID's drawn in column 3.
  206.  * Separate these state ID's with a space.
  207.  * @default
  208.  *
  209.  * @param States Column 4
  210.  * @desc These are the state ID's drawn in column 4.
  211.  * Separate these state ID's with a space.
  212.  * @default
  213.  *
  214.  * @param ---Attributes---
  215.  * @default
  216.  *
  217.  * @param Attributes Command
  218.  * @desc This is how the command for 'Attributes' will appear.
  219.  * @default Attributes
  220.  *
  221.  * @param Attribute Font Size
  222.  * @desc The font size used to display attributes.
  223.  * Default: 28
  224.  * @default 20
  225.  *
  226.  * @param Attribute Decimal
  227.  * @desc How many decimal places to display for rates.
  228.  * @default 0
  229.  *
  230.  * @param Attributes Column 1
  231.  * @desc These are the attributes drawn in column 1.
  232.  * Separate these attributes with a space.
  233.  * @default exr hit eva cri cev mev mrf cnt
  234.  *
  235.  * @param Attributes Column 2
  236.  * @desc These are the attributes drawn in column 2.
  237.  * Separate these attributes with a space.
  238.  * @default mcr tcr pdr mdr fdr grd rec pha
  239.  *
  240.  * @param Attributes Column 3
  241.  * @desc These are the attributes drawn in column 3.
  242.  * Separate these attributes with a space.
  243.  * @default hrg mrg trg tgr
  244.  *
  245.  * @param Attributes Column 4
  246.  * @desc These are the attributes drawn in column 4.
  247.  * Separate these attributes with a space.
  248.  * @default
  249.  *
  250.  * @param hit Name
  251.  * @desc The text name used for this attribute.
  252.  * @default Hit Rate
  253.  *
  254.  * @param eva Name
  255.  * @desc The text name used for this attribute.
  256.  * @default Evasion Rate
  257.  *
  258.  * @param cri Name
  259.  * @desc The text name used for this attribute.
  260.  * @default Critical Hit Rate
  261.  *
  262.  * @param cev Name
  263.  * @desc The text name used for this attribute.
  264.  * @default Critical Evasion Rate
  265.  *
  266.  * @param mev Name
  267.  * @desc The text name used for this attribute.
  268.  * @default Magic Evasion Rate
  269.  *
  270.  * @param mrf Name
  271.  * @desc The text name used for this attribute.
  272.  * @default Magic Reflect Rate
  273.  *
  274.  * @param cnt Name
  275.  * @desc The text name used for this attribute.
  276.  * @default Counter Rate
  277.  *
  278.  * @param hrg Name
  279.  * @desc The text name used for this attribute.
  280.  * @default HP Regen Rate
  281.  *
  282.  * @param mrg Name
  283.  * @desc The text name used for this attribute.
  284.  * @default MP Regen Rate
  285.  *
  286.  * @param trg Name
  287.  * @desc The text name used for this attribute.
  288.  * @default TP Regen Rate
  289.  *
  290.  * @param tgr Name
  291.  * @desc The text name used for this attribute.
  292.  * @default Aggro Rate
  293.  *
  294.  * @param grd Name
  295.  * @desc The text name used for this attribute.
  296.  * @default Guard Effect
  297.  *
  298.  * @param rec Name
  299.  * @desc The text name used for this attribute.
  300.  * @default Recovery Effect
  301.  *
  302.  * @param pha Name
  303.  * @desc The text name used for this attribute.
  304.  * @default Pharmacology Effect
  305.  *
  306.  * @param mcr Name
  307.  * @desc The text name used for this attribute.
  308.  * @default MP Cost Rate
  309.  *
  310.  * @param tcr Name
  311.  * @desc The text name used for this attribute.
  312.  * @default TP Charge Rate
  313.  *
  314.  * @param pdr Name
  315.  * @desc The text name used for this attribute.
  316.  * @default Physical Damage Rate
  317.  *
  318.  * @param mdr Name
  319.  * @desc The text name used for this attribute.
  320.  * @default Magical Damage Rate
  321.  *
  322.  * @param fdr Name
  323.  * @desc The text name used for this attribute.
  324.  * @default Floor Damage Rate
  325.  *
  326.  * @param exr Name
  327.  * @desc The text name used for this attribute.
  328.  * @default Experience Rate
  329.  *
  330.  * @help
  331.  * ============================================================================
  332.  * Introduction
  333.  * ============================================================================
  334.  *
  335.  * This plugin replaces the Status menu with a whole new layout. Including the
  336.  * function to display more information regarding the actor. You can change the
  337.  * order commands appear in game with the Command Order parameter.
  338.  *
  339.  * To add more commands, insert extension plugins under this plugin in the
  340.  * Plugin Manager. Then, it will appear automatically in the Command Order
  341.  * where you placed the 'Custom' string or elsewhere if you've placed the
  342.  * extension plugin's keyword elsewhere.
  343.  *
  344.  * ============================================================================
  345.  * Instructions
  346.  * ============================================================================
  347.  *
  348.  * You can add and remove commands from the Command Window by changing the
  349.  * 'Command Order' parameter. Here is a list of commands you may use:
  350.  *
  351.  *    General
  352.  *    - Displays the current current stats and EXP for the actor.
  353.  *
  354.  *    Parameters
  355.  *    - Displays a parameter gauge of the actor relative to other stats.
  356.  *
  357.  *    Elements
  358.  *    - Displays the listed elements and their elemental rates.
  359.  *
  360.  *    States
  361.  *    - Displays the listed states and their status infliction rates.
  362.  *
  363.  *    Attributes
  364.  *    - Displays the listed attributes and their rates.
  365.  *
  366.  *    Custom
  367.  *    - If you have any custom status window items to display, they will
  368.  *    appear here.
  369.  *
  370.  *    Cancel
  371.  *    - Adds a cancel command for leaving the Status Menu.
  372.  *
  373.  * ============================================================================
  374.  * Adding Icons to Elements and Attributes
  375.  * ============================================================================
  376.  *
  377.  * You can use icons for elements and attributes by using text codes.
  378.  *
  379.  * In the RPG Maker MV editor's database, types tab, for the elements, name
  380.  * them as such:
  381.  *
  382.  * \i[64]Fire
  383.  *
  384.  * This will enable you to give the element an icon. You can also change the
  385.  * text color and such using any of the available text codes.
  386.  *
  387.  * The same is applied for Attributes except you modify it within this plugin's
  388.  * parameters. If you wish to display 'HP Regen Rate' with an icon, name it:
  389.  *
  390.  * \i[72]HP Regen Rate
  391.  *
  392.  * The icons will be drawn for the said attributes in addition to any other
  393.  * text code modifications used.
  394.  *
  395.  * ============================================================================
  396.  * Changelog
  397.  * ============================================================================
  398.  *
  399.  * Version 1.01a:
  400.  * - Converted Window_StatusInfo to Window_Selectable for those who would like
  401.  * to use it as such.
  402.  *
  403.  * Version 1.00:
  404.  * - Finished Plugin!
  405.  */
  406. //=============================================================================
  407.  
  408. //=============================================================================
  409. // Parameter Variables
  410. //=============================================================================
  411.  
  412. Yanfly.Parameters = PluginManager.parameters('YEP_StatusMenuCore');
  413. Yanfly.Param = Yanfly.Param || {};
  414.  
  415. Yanfly.Param.StatusCmdOrder = String(Yanfly.Parameters['Command Order']);
  416. Yanfly.Param.StatusCmdWidth = Number(Yanfly.Parameters['Command Window Width']);
  417. Yanfly.Param.StatusCmdRows = Number(Yanfly.Parameters['Command Window Rows']);
  418. Yanfly.Param.StatusCmdAlign = String(Yanfly.Parameters['Command Alignment']);
  419.  
  420. Yanfly.Param.StatusGeneral = String(Yanfly.Parameters['General Command']);
  421. Yanfly.Param.StatusParamText = String(Yanfly.Parameters['Parameters Text']);
  422. Yanfly.Param.StatusExpText = String(Yanfly.Parameters['Experience Text']);
  423. Yanfly.Param.StatusTotalFmt = String(Yanfly.Parameters['Total Format']);
  424. Yanfly.Param.ColorExp1 = Number(Yanfly.Parameters['EXP Gauge Color 1']);
  425. Yanfly.Param.ColorExp2 = Number(Yanfly.Parameters['EXP Gauge Color 2']);
  426.  
  427. Yanfly.Param.StatusParameters = String(Yanfly.Parameters['Parameters Command']);
  428. Yanfly.Param.StatusGraphText = String(Yanfly.Parameters['Graph Text']);
  429. Yanfly.Param.ColorParam2Gauge = String(Yanfly.Parameters['ATK Color']);
  430. Yanfly.Param.ColorParam3Gauge = String(Yanfly.Parameters['DEF Color']);
  431. Yanfly.Param.ColorParam4Gauge = String(Yanfly.Parameters['MAT Color']);
  432. Yanfly.Param.ColorParam5Gauge = String(Yanfly.Parameters['MDF Color']);
  433. Yanfly.Param.ColorParam6Gauge = String(Yanfly.Parameters['AGI Color']);
  434. Yanfly.Param.ColorParam7Gauge = String(Yanfly.Parameters['LUK Color']);
  435.  
  436. Yanfly.Param.ColorResistS = Number(Yanfly.Parameters['Above 300%']);
  437. Yanfly.Param.ColorResistA = Number(Yanfly.Parameters['200% to 300%']);
  438. Yanfly.Param.ColorResistB = Number(Yanfly.Parameters['150% to 200%']);
  439. Yanfly.Param.ColorResistC1 = Number(Yanfly.Parameters['120% to 150%']);
  440. Yanfly.Param.ColorResistC2 = Number(Yanfly.Parameters['100% to 120%']);
  441. Yanfly.Param.ColorResistC3 = Number(Yanfly.Parameters['80% to 100%']);
  442. Yanfly.Param.ColorResistD = Number(Yanfly.Parameters['50% to 80%']);
  443. Yanfly.Param.ColorResistE = Number(Yanfly.Parameters['1% to 50%']);
  444. Yanfly.Param.ColorResistF = Number(Yanfly.Parameters['Exactly 0%']);
  445. Yanfly.Param.ColorResistG = Number(Yanfly.Parameters['Below 0%']);
  446.  
  447. Yanfly.Param.StatusElements = String(Yanfly.Parameters['Elements Command']);
  448. Yanfly.Param.StatusEleDec = Number(Yanfly.Parameters['Elements Decimal']);
  449. Yanfly.Param.StatusEleCol1 = String(Yanfly.Parameters['Element Column 1']);
  450. Yanfly.Param.StatusEleCol1 = Yanfly.Param.StatusEleCol1.split(' ');
  451. Yanfly.Param.StatusEleCol2 = String(Yanfly.Parameters['Element Column 2']);
  452. Yanfly.Param.StatusEleCol2 = Yanfly.Param.StatusEleCol2.split(' ');
  453. Yanfly.Param.StatusEleCol3 = String(Yanfly.Parameters['Element Column 3']);
  454. Yanfly.Param.StatusEleCol3 = Yanfly.Param.StatusEleCol3.split(' ');
  455. Yanfly.Param.StatusEleCol4 = String(Yanfly.Parameters['Element Column 4']);
  456. Yanfly.Param.StatusEleCol4 = Yanfly.Param.StatusEleCol4.split(' ');
  457.  
  458. Yanfly.Param.StatusStates = String(Yanfly.Parameters['States Command']);
  459. Yanfly.Param.StatusStatesDec = Number(Yanfly.Parameters['States Decimal']);
  460. Yanfly.Param.StatusStateCol1 = String(Yanfly.Parameters['States Column 1']);
  461. Yanfly.Param.StatusStateCol1 = Yanfly.Param.StatusStateCol1.split(' ');
  462. Yanfly.Param.StatusStateCol2 = String(Yanfly.Parameters['States Column 2']);
  463. Yanfly.Param.StatusStateCol2 = Yanfly.Param.StatusStateCol2.split(' ');
  464. Yanfly.Param.StatusStateCol3 = String(Yanfly.Parameters['States Column 3']);
  465. Yanfly.Param.StatusStateCol3 = Yanfly.Param.StatusStateCol3.split(' ');
  466. Yanfly.Param.StatusStateCol4 = String(Yanfly.Parameters['States Column 4']);
  467. Yanfly.Param.StatusStateCol4 = Yanfly.Param.StatusStateCol4.split(' ');
  468.  
  469. Yanfly.Param.StatusAttributes = String(Yanfly.Parameters['Attributes Command']);
  470. Yanfly.Param.StatusAttriCol1 = String(Yanfly.Parameters['Attributes Column 1']);
  471. Yanfly.Param.StatusAttriCol1 = Yanfly.Param.StatusAttriCol1.split(' ');
  472. Yanfly.Param.StatusAttriCol2 = String(Yanfly.Parameters['Attributes Column 2']);
  473. Yanfly.Param.StatusAttriCol2 = Yanfly.Param.StatusAttriCol2.split(' ');
  474. Yanfly.Param.StatusAttriCol3 = String(Yanfly.Parameters['Attributes Column 3']);
  475. Yanfly.Param.StatusAttriCol3 = Yanfly.Param.StatusAttriCol3.split(' ');
  476. Yanfly.Param.StatusAttriCol4 = String(Yanfly.Parameters['Attributes Column 4']);
  477. Yanfly.Param.StatusAttriCol4 = Yanfly.Param.StatusAttriCol4.split(' ');
  478. Yanfly.Param.StatusAttrSize = Number(Yanfly.Parameters['Attribute Font Size']);
  479. Yanfly.Param.StatusAttrDec = Number(Yanfly.Parameters['Attribute Decimal']);
  480. Yanfly.Param.StatusAttr_hit = String(Yanfly.Parameters['hit Name']);
  481. Yanfly.Param.StatusAttr_eva = String(Yanfly.Parameters['eva Name']);
  482. Yanfly.Param.StatusAttr_cri = String(Yanfly.Parameters['cri Name']);
  483. Yanfly.Param.StatusAttr_cev = String(Yanfly.Parameters['cev Name']);
  484. Yanfly.Param.StatusAttr_mev = String(Yanfly.Parameters['mev Name']);
  485. Yanfly.Param.StatusAttr_mrf = String(Yanfly.Parameters['mrf Name']);
  486. Yanfly.Param.StatusAttr_cnt = String(Yanfly.Parameters['cnt Name']);
  487. Yanfly.Param.StatusAttr_hrg = String(Yanfly.Parameters['hrg Name']);
  488. Yanfly.Param.StatusAttr_mrg = String(Yanfly.Parameters['mrg Name']);
  489. Yanfly.Param.StatusAttr_trg = String(Yanfly.Parameters['trg Name']);
  490. Yanfly.Param.StatusAttr_tgr = String(Yanfly.Parameters['tgr Name']);
  491. Yanfly.Param.StatusAttr_grd = String(Yanfly.Parameters['grd Name']);
  492. Yanfly.Param.StatusAttr_rec = String(Yanfly.Parameters['rec Name']);
  493. Yanfly.Param.StatusAttr_pha = String(Yanfly.Parameters['pha Name']);
  494. Yanfly.Param.StatusAttr_mcr = String(Yanfly.Parameters['mcr Name']);
  495. Yanfly.Param.StatusAttr_tcr = String(Yanfly.Parameters['tcr Name']);
  496. Yanfly.Param.StatusAttr_pdr = String(Yanfly.Parameters['pdr Name']);
  497. Yanfly.Param.StatusAttr_mdr = String(Yanfly.Parameters['mdr Name']);
  498. Yanfly.Param.StatusAttr_fdr = String(Yanfly.Parameters['fdr Name']);
  499. Yanfly.Param.StatusAttr_exr = String(Yanfly.Parameters['exr Name']);
  500.  
  501. //=============================================================================
  502. // Window_StatusCommand
  503. //=============================================================================
  504.  
  505. function Window_StatusCommand() {
  506.     this.initialize.apply(this, arguments);
  507. }
  508.  
  509. Window_StatusCommand.prototype = Object.create(Window_Command.prototype);
  510. Window_StatusCommand.prototype.constructor = Window_StatusCommand;
  511.  
  512. Window_StatusCommand.prototype.initialize = function() {
  513.     Window_Command.prototype.initialize.call(this, 0, 0);
  514.     this._actor = null;
  515. };
  516.  
  517. Window_StatusCommand.prototype.windowWidth = function() {
  518.     return Yanfly.Param.StatusCmdWidth;
  519. };
  520.  
  521. Window_StatusCommand.prototype.setActor = function(actor) {
  522.     if (this._actor === actor) return;
  523.     this._actor = actor;
  524.     this.refresh();
  525.         this.select(0);
  526. };
  527.  
  528. Window_StatusCommand.prototype.numVisibleRows = function() {
  529.     return Yanfly.Param.StatusCmdRows;
  530. };
  531.  
  532. Window_StatusCommand.prototype.makeCommandList = function() {
  533.         this._commandOrder = Yanfly.Param.StatusCmdOrder.split(' ');
  534.         for (var i = 0; i < this._commandOrder.length; ++i) {
  535.             var command = this._commandOrder[i];
  536.             this.createCommand(command);
  537.         }
  538. };
  539.  
  540. Window_StatusCommand.prototype.createCommand = function(command) {
  541.     command = command.toUpperCase();
  542.     if (['GENERAL', 'MAIN'].contains(command)) {
  543.             var text = Yanfly.Param.StatusGeneral;
  544.             this.addCommand(text, 'general', true);
  545.         } else if (['CANCEL', 'FINISH'].contains(command)) {
  546.             this.addCommand(TextManager.cancel, 'cancel', true);
  547.         } else if (['CUSTOM', 'ORIGINAL'].contains(command)) {
  548.             this.addCustomCommands();
  549.         } else if (['PARAMETER', 'PARAMETERS'].contains(command)) {
  550.       var text = Yanfly.Param.StatusParameters;
  551.       this.addCommand(text, 'parameters', true);
  552.     } else if (['ELEMENT', 'ELEMENTS'].contains(command)) {
  553.       var text = Yanfly.Param.StatusElements;
  554.       this.addCommand(text, 'elements', true);
  555.     } else if (['STATE', 'STATES'].contains(command)) {
  556.       var text = Yanfly.Param.StatusStates;
  557.       this.addCommand(text, 'states', true);
  558.     } else if (['ATTRIBUTE', 'ATTRIBUTES'].contains(command)) {
  559.       var text = Yanfly.Param.StatusAttributes;
  560.       this.addCommand(text, 'attributes', true);
  561.     }
  562. };
  563.  
  564. Window_StatusCommand.prototype.addCustomCommands = function() {
  565. };
  566.  
  567. Window_StatusCommand.prototype.setInfoWindow = function(infoWindow) {
  568.         this._infoWindow = infoWindow;
  569. };
  570.  
  571. Window_StatusCommand.prototype.update = function() {
  572.     Window_Command.prototype.update.call(this);
  573.         if (this._infoWindow) this._infoWindow.setSymbol(this.currentSymbol());
  574. };
  575.  
  576. Window_StatusCommand.prototype.itemTextAlign = function() {
  577.     return Yanfly.Param.StatusCmdAlign;
  578. };
  579.  
  580. Window_StatusCommand.prototype.playOkSound = function() {
  581.     if (this.isPlayOkSound()) SoundManager.playOk();
  582. };
  583.  
  584. Window_StatusCommand.prototype.isPlayOkSound = function() {
  585.     if (this.currentSymbol() === 'cancel') return true;
  586.     return false;
  587. };
  588.  
  589. //=============================================================================
  590. // Window_StatusInfo
  591. //=============================================================================
  592.  
  593. function Window_StatusInfo() {
  594.     this.initialize.apply(this, arguments);
  595. }
  596.  
  597. Window_StatusInfo.prototype = Object.create(Window_Selectable.prototype);
  598. Window_StatusInfo.prototype.constructor = Window_StatusInfo;
  599.  
  600. Window_StatusInfo.prototype.initialize = function(y, commandWindow) {
  601.     var width = Graphics.boxWidth;
  602.         var height = Graphics.boxHeight - y;
  603.         this._commandWindow = commandWindow;
  604.         Window_Selectable.prototype.initialize.call(this, 0, y, width, height);
  605.         this.findParamLimits();
  606. };
  607.  
  608. Window_StatusInfo.prototype.findParamLimits = function() {
  609.         this._largestParam = 1;
  610.         this._smallestParam = $gameActors.actor(1).paramMax(2);
  611.         for (var i = 0; i < $gameParty.members().length; ++i) {
  612.             var actor = $gameParty.members()[i];
  613.             if (!actor) continue;
  614.             for (var j = 2; j < 8; ++j) {
  615.                 this._largestParam = Math.max(this._largestParam, actor.param(j));
  616.                 this._smallestParam = Math.min(this._smallestParam, actor.param(j));
  617.             }
  618.         }
  619. };
  620.  
  621. Window_StatusInfo.prototype.setActor = function(actor) {
  622.     if (this._actor === actor) return;
  623.     this._actor = actor;
  624.     this.refresh();
  625. };
  626.  
  627. Window_StatusInfo.prototype.setSymbol = function(symbol) {
  628.     var needRefresh = this._symbol !== symbol;
  629.         this._symbol = symbol;
  630.         if (needRefresh) this.refresh();
  631. };
  632.  
  633. Window_StatusInfo.prototype.resetFontSettings = function() {
  634.     if (this._bypassResetText) return;
  635.     Window_Base.prototype.resetFontSettings.call(this);
  636. };
  637.  
  638. Window_StatusInfo.prototype.resetTextColor = function() {
  639.     if (this._bypassResetTextColor) return;
  640.     Window_Base.prototype.resetTextColor.call(this);
  641. };
  642.  
  643. Window_StatusInfo.prototype.refresh = function() {
  644.     this.contents.clear();
  645.         this.drawInfoContents(this._symbol);
  646. };
  647.  
  648. Window_StatusInfo.prototype.drawInfoContents = function(symbol) {
  649.     this.resetFontSettings();
  650.     if (!symbol) return;
  651.     switch (symbol.toLowerCase()) {
  652.     case 'parameters':
  653.       this.drawParameters();
  654.       break;
  655.     case 'elements':
  656.       this.drawElements();
  657.       break;
  658.     case 'states':
  659.       this.drawStates();
  660.       break;
  661.     case 'attributes':
  662.       this.drawAttributes();
  663.       break;
  664.     default:
  665.       this.drawGeneral();
  666.       break;
  667.     }
  668. };
  669.  
  670. Window_StatusInfo.prototype.drawDarkRect = function(dx, dy, dw, dh) {
  671.     var color = this.gaugeBackColor();
  672.     this.changePaintOpacity(false);
  673.     this.contents.fillRect(dx + 1, dy + 1, dw - 2, dh - 2, color);
  674.     this.changePaintOpacity(true);
  675. };
  676.  
  677. Window_StatusInfo.prototype.drawGeneral = function() {
  678.         var dx = this.standardPadding() / 2;
  679.         var dy = this.lineHeight() / 2;
  680.         var dw = (this.contents.width - this.standardPadding()) / 2;
  681.         var dh = this.lineHeight();
  682.         var text;
  683.         this.changeTextColor(this.systemColor());
  684.         this.drawText(Yanfly.Param.StatusParamText, dx, dy, dw, 'center');
  685.         dx += this.contents.width / 2;
  686.         this.drawText(Yanfly.Param.StatusExpText, dx, dy, dw, 'center');
  687.         this.drawGeneralParam(dx, dy, dw, dh);
  688.         this.drawGeneralExp(dx, dy, dw, dh);
  689. };
  690.  
  691. Window_StatusInfo.prototype.drawGeneralParam = function() {
  692.     var rect = new Rectangle();
  693.     rect.width = (this.contents.width - this.standardPadding()) / 2;
  694.     rect.y = this.lineHeight() * 2;
  695.     rect.height = this.lineHeight();
  696.     var dx = rect.x + this.textPadding();
  697.     var dw = rect.width - this.textPadding() * 2;
  698.     this.drawDarkRect(rect.x, rect.y, rect.width, rect.height);
  699.     this.changeTextColor(this.systemColor());
  700.         this.drawText(TextManager.level, dx, rect.y, dw, 'left');
  701.         this.changeTextColor(this.normalColor());
  702.         text = Yanfly.Util.toGroup(this._actor.level);
  703.         this.drawText(text, dx, rect.y, dw, 'right');
  704.     for (var i = 0; i < 8; ++i) {
  705.       if (i < 2) {
  706.         rect.y += this.lineHeight();
  707.       } else if (i === 2) {
  708.         rect.y += this.lineHeight();
  709.         rect.width /= 2;
  710.         dw = rect.width - this.textPadding() * 2;
  711.       } else if (i % 2 === 0) {
  712.         rect.x = 0;
  713.         dx = rect.x + this.textPadding();
  714.         rect.y += this.lineHeight();
  715.       } else {
  716.         rect.x += rect.width;
  717.         dx += rect.width;
  718.       }
  719.       this.drawDarkRect(rect.x, rect.y, rect.width, rect.height);
  720.       this.changeTextColor(this.systemColor());
  721.         this.drawText(TextManager.param(i), dx, rect.y, dw, 'left');
  722.         this.changeTextColor(this.normalColor());
  723.         text = Yanfly.Util.toGroup(this._actor.param(i));
  724.         this.drawText(text, dx, rect.y, dw, 'right');
  725.     }
  726. };
  727.  
  728. Window_StatusInfo.prototype.actorCurrentExpRate = function(actor) {
  729.     var actorLv = actor.level;
  730.     if (actorLv === actor.maxLevel()) return 1.0;
  731.     var nowExp = actor.currentExp() - actor.expForLevel(actorLv);
  732.     var nextExp = actor.expForLevel(actorLv + 1) - actor.expForLevel(actorLv);
  733.     return (1.0 * nowExp / nextExp).clamp(0.0, 1.0);
  734. };
  735.  
  736. Window_StatusInfo.prototype.actorExpRate = function(actor) {
  737.     var actorLv = actor.level;
  738.     if (actorLv === actor.maxLevel()) return 1.0;
  739.     var nowExp = actor.currentExp();
  740.     var nextExp = actor.expForLevel(actorLv + 1);
  741.     return (1.0 * nowExp / nextExp).clamp(0.0, 1.0);
  742. };
  743.  
  744. Window_StatusInfo.prototype.drawExpGauge = function(actor, rate, rect) {
  745.     var color1 = this.textColor(Yanfly.Param.ColorExp1);
  746.     var color2 = this.textColor(Yanfly.Param.ColorExp2);
  747.     var wy = rect.y;
  748.     this.drawGauge(rect.x, wy, rect.width, rate, color1, color2);
  749. };
  750.  
  751. Window_StatusInfo.prototype.drawGeneralExp = function(dx, dy, dw, dh) {
  752.     dy = this.lineHeight() * 2;
  753.     dw = (this.contents.width - this.textPadding()) / 2;
  754.     dx = this.textPadding() + dw;
  755.     // Current Exp
  756.     this.changeTextColor(this.systemColor());
  757.     text = TextManager.expTotal.format(TextManager.exp);
  758.     this.drawText(text, dx, dy, dw, 'left');
  759.     dy += this.lineHeight();
  760.     this.changeTextColor(this.normalColor());
  761.     text = Yanfly.Util.toGroup(this._actor.currentExp());
  762.     this.drawText(text, dx, dy, dw, 'right');
  763.     // To Next Level
  764.     dy += this.lineHeight();
  765.     this.changeTextColor(this.systemColor());
  766.     text = TextManager.expNext.format(TextManager.level);
  767.     this.drawText(text, dx, dy, dw, 'left');
  768.     dy += this.lineHeight();
  769.     var rect = new Rectangle();
  770.     rect.x = dx; rect.y = dy; rect.width = dw;
  771.     var rate = this.actorCurrentExpRate(this._actor);
  772.     this.drawExpGauge(this._actor, rate, rect);
  773.     this.changeTextColor(this.normalColor());
  774.     text = Yanfly.Util.toGroup(this._actor.nextRequiredExp());
  775.     if (this._actor.isMaxLevel()) text = '-------';
  776.     this.drawText(text, dx, dy, dw, 'right');
  777.     // Total EXP for Next Level
  778.     dy += this.lineHeight();
  779.     this.changeTextColor(this.systemColor());
  780.     text = Yanfly.Param.StatusTotalFmt.format(TextManager.exp,
  781.         TextManager.level);
  782.     this.drawText(text, dx, dy, dw, 'left');
  783.     dy += this.lineHeight();
  784.     var rect = new Rectangle();
  785.     rect.x = dx; rect.y = dy; rect.width = dw;
  786.     var rate = this.actorExpRate(this._actor);
  787.     this.drawExpGauge(this._actor, rate, rect);
  788.     this.changeTextColor(this.normalColor());
  789.     text = Yanfly.Util.toGroup(this._actor.nextLevelExp());
  790.     if (this._actor.isMaxLevel()) text = '-------';
  791.     this.drawText(text, dx, dy, dw, 'right');
  792. };
  793.  
  794. Window_StatusInfo.prototype.drawParameters = function() {
  795.         var dx = 0;
  796.         var dy = this.lineHeight() / 2;
  797.         var dw = this.contents.width;
  798.         var dh = this.lineHeight();
  799.         var dw2;
  800.         var text;
  801.         this.changeTextColor(this.systemColor());
  802.         this.drawText(Yanfly.Param.StatusGraphText, dx, dy, dw, 'center');
  803.         dy = this.lineHeight();
  804.         dx = this.standardPadding();
  805.         dw -= this.standardPadding() * 2;
  806.         for (var i = 2; i < 8; ++i) {
  807.             dy += this.lineHeight();
  808.             var rate = this.drawParamGauge(dx, dy, dw, i);
  809.             this.changeTextColor(this.systemColor());
  810.             this.drawText(TextManager.param(i), dx + 4, dy, dw - 4);
  811.             text = Yanfly.Util.toGroup(this._actor.param(i))
  812.             this.changeTextColor(this.normalColor());
  813.             dw2 = dw * rate;
  814.             this.drawText(text, dx, dy, dw2 - 4, 'right');
  815.         }
  816. };
  817.  
  818. Window_StatusInfo.prototype.drawParamGauge = function(dx, dy, dw, paramId) {
  819.         var rate = this.calcParamRate(paramId);
  820.         var array = eval('Yanfly.Param.ColorParam' + paramId + 'Gauge').split(' ');
  821.         this.drawGauge(dx, dy, dw, rate, array[0], array[1]);
  822.         return rate;
  823. };
  824.  
  825. Window_StatusInfo.prototype.calcParamRate = function(paramId) {
  826.         if (this._largestParam === this._smallestParam) return 1.0;
  827.         var rate = parseFloat(this._actor.param(paramId) - this._smallestParam) /
  828.                              parseFloat(this._largestParam - this._smallestParam);
  829.         rate *= 0.7;
  830.         rate += 0.3;
  831.         return rate;
  832. };
  833.  
  834. Window_StatusInfo.prototype.getMaxArrayCols = function(array) {
  835.     var maxCols = 0;
  836.     for (var i = 0; i < array.length; ++i) {
  837.       var arr = array[i];
  838.       if (arr[0] !== '') ++maxCols;
  839.     }
  840.     return maxCols;
  841. };
  842.  
  843. Window_StatusInfo.prototype.getMaxArrayRows = function(array) {
  844.     var maxRows = 0;
  845.     for (var i = 0; i < array.length; ++i) {
  846.       var arr = array[i];
  847.       maxRows = Math.max(maxRows, arr.length);
  848.     }
  849.     return maxRows;
  850. };
  851.  
  852. Window_StatusInfo.prototype.getArrayX = function() {
  853.     return this.standardPadding() * 1.5;
  854. };
  855.  
  856. Window_StatusInfo.prototype.getArrayY = function() {
  857.     return 0;
  858. };
  859.  
  860. Window_StatusInfo.prototype.getArrayDW = function(maxCols) {
  861.     var dw = this.contents.width - this.standardPadding() * 3;
  862.     dw /= maxCols;
  863.     dw += this.standardPadding() / maxCols;
  864.     dw -= this.standardPadding();
  865.     return dw;
  866. };
  867.  
  868. Window_StatusInfo.prototype.setRateColor = function(rate) {
  869.     var colorId = 0;
  870.     if (rate >= 3.0) {
  871.       colorId = Yanfly.Param.ColorResistS;
  872.     } else if (rate >= 2.0) {
  873.       colorId = Yanfly.Param.ColorResistA;
  874.     } else if (rate >= 1.5) {
  875.       colorId = Yanfly.Param.ColorResistB;
  876.     } else if (rate >= 1.2) {
  877.       colorId = Yanfly.Param.ColorResistC1;
  878.     } else if (rate >= 1.0) {
  879.       colorId = Yanfly.Param.ColorResistC2;
  880.     } else if (rate >= 0.8) {
  881.       colorId = Yanfly.Param.ColorResistC3;
  882.     } else if (rate >= 0.5) {
  883.       colorId = Yanfly.Param.ColorResistD;
  884.     } else if (rate > 0) {
  885.       colorId = Yanfly.Param.ColorResistE;
  886.     } else if (rate === 0) {
  887.       colorId = Yanfly.Param.ColorResistF;
  888.     } else {
  889.       colorId = Yanfly.Param.ColorResistG;
  890.     }
  891.     this.changeTextColor(this.textColor(colorId));
  892. };
  893.  
  894. Window_StatusInfo.prototype.drawElements = function() {
  895.     this.drawElementColumnRects();
  896.     this.drawElementInfo();
  897. };
  898.  
  899. Window_StatusInfo.prototype.elementArray = function() {
  900.     var array = [
  901.       Yanfly.Param.StatusEleCol1,
  902.       Yanfly.Param.StatusEleCol2,
  903.       Yanfly.Param.StatusEleCol3,
  904.       Yanfly.Param.StatusEleCol4
  905.     ];
  906.     return array;
  907. };
  908.  
  909. Window_StatusInfo.prototype.drawElementColumnRects = function() {
  910.     var maxCols = this.getMaxArrayCols(this.elementArray());
  911.     var maxRows = this.getMaxArrayRows(this.elementArray());
  912.     if (maxCols <= 0) return;
  913.     var dx = this.getArrayX();
  914.     var dy = this.getArrayY();
  915.     var dw = this.getArrayDW(maxCols);
  916.     for (var i = 0; i < maxCols; ++i) {
  917.       for (var j = 0; j < maxRows; ++j) {
  918.         this.drawDarkRect(dx, dy, dw, this.lineHeight());
  919.         dy += this.lineHeight();
  920.       }
  921.       dx += dw;
  922.       dx += (maxCols > 1) ? this.standardPadding() : 0;
  923.       dy = 0;
  924.     }
  925. };
  926.  
  927. Window_StatusInfo.prototype.drawElementInfo = function() {
  928.     var maxCols = this.getMaxArrayCols(this.elementArray());
  929.     var maxRows = this.getMaxArrayRows(this.elementArray());
  930.     if (maxCols <= 0) return;
  931.     var infoArray = this.elementArray();
  932.     var dx = this.getArrayX();
  933.     var dy = this.getArrayY();
  934.     var dw = this.getArrayDW(maxCols);
  935.     for (var i = 0; i < maxCols; ++i) {
  936.       for (var j = 0; j < infoArray[i].length; ++j) {
  937.         var eleId = infoArray[i][j];
  938.         this.drawElementData(eleId, dx, dy, dw)
  939.         dy += this.lineHeight();
  940.       }
  941.       dx += dw;
  942.       dx += (maxCols > 1) ? this.standardPadding() : 0;
  943.       dy = 0;
  944.     }
  945. };
  946.  
  947. Window_StatusInfo.prototype.drawElementData = function(eleId, dx, dy, dw) {
  948.     eleId = parseInt(eleId);
  949.     var eleName = $dataSystem.elements[eleId];
  950.     var eleRate = this._actor.elementRate(eleId);
  951.     dx += this.textPadding();
  952.     dw -= this.textPadding() * 2;
  953.     this._bypassResetTextColor = true;
  954.     this.changeTextColor(this.systemColor());
  955.     this.drawTextEx(eleName, dx, dy);
  956.     this._bypassResetTextColor = false;
  957.     this.setRateColor(eleRate);
  958.     var text = (eleRate * 100).toFixed(Yanfly.Param.StatusEleDec) + '%';
  959.     this.drawText(text, dx, dy, dw, 'right');
  960. };
  961.  
  962. Window_StatusInfo.prototype.drawStates = function() {
  963.     this.drawStatesColumnRects();
  964.     this.drawStatesInfo();
  965. };
  966.  
  967. Window_StatusInfo.prototype.stateArray = function() {
  968.     var array = [
  969.       Yanfly.Param.StatusStateCol1,
  970.       Yanfly.Param.StatusStateCol2,
  971.       Yanfly.Param.StatusStateCol3,
  972.       Yanfly.Param.StatusStateCol4
  973.     ];
  974.     return array;
  975. };
  976.  
  977. Window_StatusInfo.prototype.drawStatesColumnRects = function() {
  978.     var maxCols = this.getMaxArrayCols(this.stateArray());
  979.     var maxRows = this.getMaxArrayRows(this.stateArray());
  980.     if (maxCols <= 0) return;
  981.     var dx = this.getArrayX();
  982.     var dy = this.getArrayY();
  983.     var dw = this.getArrayDW(maxCols);
  984.     for (var i = 0; i < maxCols; ++i) {
  985.       for (var j = 0; j < maxRows; ++j) {
  986.         this.drawDarkRect(dx, dy, dw, this.lineHeight());
  987.         dy += this.lineHeight();
  988.       }
  989.       dx += dw;
  990.       dx += (maxCols > 1) ? this.standardPadding() : 0;
  991.       dy = 0;
  992.     }
  993. };
  994.  
  995. Window_StatusInfo.prototype.drawStatesInfo = function() {
  996.     var maxCols = this.getMaxArrayCols(this.stateArray());
  997.     var maxRows = this.getMaxArrayRows(this.stateArray());
  998.     if (maxCols <= 0) return;
  999.     var infoArray = this.stateArray();
  1000.     var dx = this.getArrayX();
  1001.     var dy = this.getArrayY();
  1002.     var dw = this.getArrayDW(maxCols);
  1003.     for (var i = 0; i < maxCols; ++i) {
  1004.       for (var j = 0; j < infoArray[i].length; ++j) {
  1005.         var stateId = infoArray[i][j];
  1006.         this.drawStatesData(stateId, dx, dy, dw)
  1007.         dy += this.lineHeight();
  1008.       }
  1009.       dx += dw;
  1010.       dx += (maxCols > 1) ? this.standardPadding() : 0;
  1011.       dy = 0;
  1012.     }
  1013. };
  1014.  
  1015. Window_StatusInfo.prototype.drawStatesData = function(stateId, dx, dy, dw) {
  1016.     stateId = parseInt(stateId);
  1017.     var stateRate = this._actor.stateRate(stateId);
  1018.     if (this._actor.isStateResist(stateId)) stateRate = 0;
  1019.     dx += this.textPadding();
  1020.     dw -= this.textPadding() * 2;
  1021.     this._bypassResetTextColor = true;
  1022.     this.changeTextColor(this.systemColor());
  1023.     this.drawItemName($dataStates[stateId], dx, dy, dw);
  1024.     this._bypassResetTextColor = false;
  1025.     this.setRateColor(stateRate);
  1026.     var text = (stateRate * 100).toFixed(Yanfly.Param.StatusStatesDec) + '%';
  1027.     this.drawText(text, dx, dy, dw, 'right');
  1028. };
  1029.  
  1030.  
  1031.  
  1032. Window_StatusInfo.prototype.drawAttributes = function() {
  1033.     this.drawAttributesColumnRects();
  1034.     this.drawAttributesInfo();
  1035. };
  1036.  
  1037. Window_StatusInfo.prototype.attributesArray = function() {
  1038.     var array = [
  1039.       Yanfly.Param.StatusAttriCol1,
  1040.       Yanfly.Param.StatusAttriCol2,
  1041.       Yanfly.Param.StatusAttriCol3,
  1042.       Yanfly.Param.StatusAttriCol4
  1043.     ];
  1044.     return array;
  1045. };
  1046.  
  1047. Window_StatusInfo.prototype.drawAttributesColumnRects = function() {
  1048.     var maxCols = this.getMaxArrayCols(this.attributesArray());
  1049.     var maxRows = this.getMaxArrayRows(this.attributesArray());
  1050.     if (maxCols <= 0) return;
  1051.     var dx = this.getArrayX();
  1052.     var dy = this.getArrayY();
  1053.     var dw = this.getArrayDW(maxCols);
  1054.     for (var i = 0; i < maxCols; ++i) {
  1055.       for (var j = 0; j < maxRows; ++j) {
  1056.         this.drawDarkRect(dx, dy, dw, this.lineHeight());
  1057.         dy += this.lineHeight();
  1058.       }
  1059.       dx += dw;
  1060.       dx += (maxCols > 1) ? this.standardPadding() : 0;
  1061.       dy = 0;
  1062.     }
  1063. };
  1064.  
  1065. Window_StatusInfo.prototype.drawAttributesInfo = function() {
  1066.     var maxCols = this.getMaxArrayCols(this.attributesArray());
  1067.     var maxRows = this.getMaxArrayRows(this.attributesArray());
  1068.     if (maxCols <= 0) return;
  1069.     var infoArray = this.attributesArray();
  1070.     var dx = this.getArrayX();
  1071.     var dy = this.getArrayY();
  1072.     var dw = this.getArrayDW(maxCols);
  1073.     for (var i = 0; i < maxCols; ++i) {
  1074.       for (var j = 0; j < infoArray[i].length; ++j) {
  1075.         var attribute = infoArray[i][j].toLowerCase();
  1076.         this.drawAttributeData(attribute, dx, dy, dw)
  1077.         dy += this.lineHeight();
  1078.       }
  1079.       dx += dw;
  1080.       dx += (maxCols > 1) ? this.standardPadding() : 0;
  1081.       dy = 0;
  1082.     }
  1083. };
  1084.  
  1085. Window_StatusInfo.prototype.drawAttributeData = function(attr, dx, dy, dw) {
  1086.     var actor = this._actor;
  1087.     this.contents.fontSize = Yanfly.Param.StatusAttrSize;
  1088.     switch (attr) {
  1089.     case 'hit':
  1090.       this.drawAttributeName(Yanfly.Param.StatusAttr_hit, dx, dy, dw);
  1091.       this.drawAttributeRate(actor.hit, dx, dy, dw);
  1092.       break;
  1093.     case 'eva':
  1094.       this.drawAttributeName(Yanfly.Param.StatusAttr_eva, dx, dy, dw);
  1095.       this.drawAttributeRate(actor.eva, dx, dy, dw);
  1096.       break;
  1097.     case 'cri':
  1098.       this.drawAttributeName(Yanfly.Param.StatusAttr_cri, dx, dy, dw);
  1099.       this.drawAttributeRate(actor.cri, dx, dy, dw);
  1100.       break;
  1101.     case 'cev':
  1102.       this.drawAttributeName(Yanfly.Param.StatusAttr_cev, dx, dy, dw);
  1103.       this.drawAttributeRate(actor.cev, dx, dy, dw);
  1104.       break;
  1105.     case 'mev':
  1106.       this.drawAttributeName(Yanfly.Param.StatusAttr_mev, dx, dy, dw);
  1107.       this.drawAttributeRate(actor.mev, dx, dy, dw);
  1108.       break;
  1109.     case 'mrf':
  1110.       this.drawAttributeName(Yanfly.Param.StatusAttr_mrf, dx, dy, dw);
  1111.       this.drawAttributeRate(actor.mrf, dx, dy, dw);
  1112.       break;
  1113.     case 'cnt':
  1114.       this.drawAttributeName(Yanfly.Param.StatusAttr_cnt, dx, dy, dw);
  1115.       this.drawAttributeRate(actor.cnt, dx, dy, dw);
  1116.       break;
  1117.     case 'hrg':
  1118.       this.drawAttributeName(Yanfly.Param.StatusAttr_hrg, dx, dy, dw);
  1119.       this.drawAttributeRate(actor.hrg, dx, dy, dw);
  1120.       break;
  1121.     case 'mrg':
  1122.       this.drawAttributeName(Yanfly.Param.StatusAttr_mrg, dx, dy, dw);
  1123.       this.drawAttributeRate(actor.mrg, dx, dy, dw);
  1124.       break;
  1125.     case 'trg':
  1126.       this.drawAttributeName(Yanfly.Param.StatusAttr_trg, dx, dy, dw);
  1127.       this.drawAttributeRate(actor.trg, dx, dy, dw);
  1128.       break;
  1129.     case 'tgr':
  1130.       this.drawAttributeName(Yanfly.Param.StatusAttr_tgr, dx, dy, dw);
  1131.       this.drawAttributeRate(actor.tgr, dx, dy, dw);
  1132.       break;
  1133.     case 'grd':
  1134.       this.drawAttributeName(Yanfly.Param.StatusAttr_grd, dx, dy, dw);
  1135.       this.drawAttributeRate(actor.grd, dx, dy, dw);
  1136.       break;
  1137.     case 'rec':
  1138.       this.drawAttributeName(Yanfly.Param.StatusAttr_rec, dx, dy, dw);
  1139.       this.drawAttributeRate(actor.rec, dx, dy, dw);
  1140.       break;
  1141.     case 'pha':
  1142.       this.drawAttributeName(Yanfly.Param.StatusAttr_pha, dx, dy, dw);
  1143.       this.drawAttributeRate(actor.pha, dx, dy, dw);
  1144.       break;
  1145.     case 'mcr':
  1146.       this.drawAttributeName(Yanfly.Param.StatusAttr_mcr, dx, dy, dw);
  1147.       this.drawAttributeRate(actor.mcr, dx, dy, dw);
  1148.       break;
  1149.     case 'tcr':
  1150.       this.drawAttributeName(Yanfly.Param.StatusAttr_tcr, dx, dy, dw);
  1151.       this.drawAttributeRate(actor.tcr, dx, dy, dw);
  1152.       break;
  1153.     case 'pdr':
  1154.       this.drawAttributeName(Yanfly.Param.StatusAttr_pdr, dx, dy, dw);
  1155.       this.drawAttributeRate(actor.pdr, dx, dy, dw);
  1156.       break;
  1157.     case 'mdr':
  1158.       this.drawAttributeName(Yanfly.Param.StatusAttr_mdr, dx, dy, dw);
  1159.       this.drawAttributeRate(actor.mdr, dx, dy, dw);
  1160.       break;
  1161.     case 'fdr':
  1162.       this.drawAttributeName(Yanfly.Param.StatusAttr_fdr, dx, dy, dw);
  1163.       this.drawAttributeRate(actor.fdr, dx, dy, dw);
  1164.       break;
  1165.     case 'exr':
  1166.       this.drawAttributeName(Yanfly.Param.StatusAttr_exr, dx, dy, dw);
  1167.       this.drawAttributeRate(actor.exr, dx, dy, dw);
  1168.       break;
  1169.     default:
  1170.       break;
  1171.     }
  1172. };
  1173.  
  1174. Window_StatusInfo.prototype.drawAttributeName = function(name, dx, dy, dw) {
  1175.     this.changeTextColor(this.systemColor());
  1176.     dx += this.textPadding();
  1177.     dw -= this.textPadding() * 2;
  1178.     dy += Math.floor((this.standardFontSize() - this.contents.fontSize) / 2);
  1179.     this._bypassResetText = true;
  1180.     this.changeTextColor(this.systemColor());
  1181.     this.drawTextEx(name, dx, dy, dw);
  1182.     this._bypassResetText = false;
  1183. };
  1184.  
  1185. Window_StatusInfo.prototype.drawAttributeRate = function(rate, dx, dy, dw) {
  1186.     var value = (rate * 100).toFixed(Yanfly.Param.StatusAttrDec) + '%';
  1187.     this.setRateColor(rate);
  1188.     this.drawAttributeValue(value, dx, dy, dw);
  1189. };
  1190.  
  1191. Window_StatusInfo.prototype.drawAttributeValue = function(value, dx, dy, dw) {
  1192.     dx += this.textPadding();
  1193.     dw -= this.textPadding() * 2;
  1194.     this.drawText(value, dx, dy, dw, 'right');
  1195. };
  1196.  
  1197. Window_StatusInfo.prototype.maxPageItems = function() {
  1198.     return this.maxItems();
  1199. };
  1200.  
  1201. Window_Selectable.prototype.maxItems = function() {
  1202.     return 1;
  1203. };
  1204.  
  1205. Window_StatusInfo.prototype.drawItem = function(index) {
  1206.     this.clearItem(index);
  1207. };
  1208.  
  1209. Window_StatusInfo.prototype.drawAllItems = function() {
  1210.     var topIndex = this.topIndex();
  1211.     for (var i = 0; i < this.maxPageItems(); i++) {
  1212.         var index = topIndex + i;
  1213.         if (index < this.maxItems()) {
  1214.             this.drawItem(index);
  1215.         }
  1216.     }
  1217. };
  1218.  
  1219. //=============================================================================
  1220. // Scene_Status
  1221. //=============================================================================
  1222.  
  1223. Scene_Status.prototype.create = function() {
  1224.     Scene_MenuBase.prototype.create.call(this);
  1225.     this.createHelpWindow();
  1226.         this.createCommandWindow();
  1227.         this.createStatusWindow();
  1228.         this.createInfoWindow();
  1229.     this.refreshActor();
  1230. };
  1231.  
  1232. Scene_Status.prototype.refreshActor = function() {
  1233.         var actor = this.actor();
  1234.         this._statusWindow.setActor(actor);
  1235.         this._helpWindow.setText(actor.profile());
  1236.         this._infoWindow.setActor(actor);
  1237. };
  1238.  
  1239. Scene_Status.prototype.onActorChange = function() {
  1240.     this.refreshActor();
  1241.     this._commandWindow.activate();
  1242. };
  1243.  
  1244. Scene_Status.prototype.createCommandWindow = function() {
  1245.         this._commandWindow = new Window_StatusCommand();
  1246.         this._commandWindow.x = 0;
  1247.         this._commandWindow.y = this._helpWindow.height;
  1248.         this.setCommandWindowHandlers();
  1249.         this.addWindow(this._commandWindow);
  1250. };
  1251.  
  1252. Scene_Status.prototype.setCommandWindowHandlers = function() {
  1253.         this._commandWindow.setHandler('cancel', this.popScene.bind(this));
  1254.         this._commandWindow.setHandler('pagedown', this.nextActor.bind(this));
  1255.     this._commandWindow.setHandler('pageup',   this.previousActor.bind(this));
  1256. };
  1257.  
  1258. Scene_Status.prototype.createStatusWindow = function() {
  1259.     var wx = this._commandWindow.width;
  1260.     var wy = this._helpWindow.height;
  1261.     var ww = Graphics.boxWidth - wx;
  1262.     var wh = this._commandWindow.height;
  1263.     this._statusWindow = new Window_SkillStatus(wx, wy, ww, wh);
  1264.     this.addWindow(this._statusWindow);
  1265. };
  1266.  
  1267. Scene_Status.prototype.createInfoWindow = function() {
  1268.         var wy = this._helpWindow.height + this._commandWindow.height;
  1269.         this._infoWindow = new Window_StatusInfo(wy, this._commandWindow);
  1270.         this._commandWindow.setInfoWindow(this._infoWindow);
  1271.         this.addWindow(this._infoWindow);
  1272.     this._infoWindow.setHandler('cancel', this.onInfoCancel.bind(this));
  1273. };
  1274.  
  1275. Scene_Status.prototype.onInfoCancel = function() {
  1276.     this._commandWindow.activate();
  1277.     this._infoWindow.deselect();
  1278. };
  1279.  
  1280. //=============================================================================
  1281. // Utilities
  1282. //=============================================================================
  1283.  
  1284. Yanfly.Util = Yanfly.Util || {};
  1285.  
  1286. if (!Yanfly.Util.toGroup) {
  1287.         Yanfly.Util.toGroup = function(inVal) {
  1288.                 return inVal;
  1289.         }
  1290. };
  1291.  
  1292. //=============================================================================
  1293. // End of File
  1294. //============================================================================



评分

参与人数 1梦石 +1 收起 理由
余烬之中 + 1 0.0

查看全部评分

Lv2.观梦者

梦石
0
星屑
326
在线时间
38 小时
注册时间
2009-8-14
帖子
6
9
发表于 2016-4-9 21:58:17 | 只看该作者
自定义在那里,找不到阿??
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
44 小时
注册时间
2015-12-27
帖子
47
8
 楼主| 发表于 2016-1-17 23:51:02 | 只看该作者

搞定了,太开心了

这种数据的效果是我梦寐以求的!帅!
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
55
在线时间
388 小时
注册时间
2009-8-4
帖子
219
7
发表于 2016-1-17 22:44:46 | 只看该作者
目测楼主的插件文件名不是YEP_StatusMenuCore.js,插件名必须与插件内定义的一致,请检查后再试

点评

原来是这个原因! 搞定了,多谢层主!!!  发表于 2016-1-17 23:46
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
258 小时
注册时间
2011-12-23
帖子
72
6
发表于 2016-1-17 21:45:03 | 只看该作者
不用其他插件啊啊  单独使用这个插件就有4楼这些效果了
[
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
65
在线时间
145 小时
注册时间
2008-2-20
帖子
16
5
发表于 2016-1-17 18:25:16 | 只看该作者
YEP需要个核心插件啊。就是最主要的那个玩意。。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
65
在线时间
145 小时
注册时间
2008-2-20
帖子
16
4
发表于 2016-1-17 15:40:29 | 只看该作者
没问题。。。。。。。。。。。。。。。。。。。。。

QQ截图20160117153556.png (720.51 KB, 下载次数: 24)

QQ截图20160117153556.png

QQ截图20160117153615.png (630.79 KB, 下载次数: 23)

QQ截图20160117153615.png

QQ截图20160117153622.png (663.54 KB, 下载次数: 20)

QQ截图20160117153622.png

QQ截图20160117153627.png (699.53 KB, 下载次数: 23)

QQ截图20160117153627.png

QQ截图20160117153635.png (719.77 KB, 下载次数: 24)

QQ截图20160117153635.png

点评

我的为什么就那个样子? 是版本的问题(我的是MV1.01)?还是需要YEP其他插件辅助?  发表于 2016-1-17 17:18
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
342
在线时间
101 小时
注册时间
2013-9-10
帖子
46
3
发表于 2016-1-17 12:38:00 | 只看该作者
我用起来没问题,就是atb战斗模式的行动条显示的不美丽

点评

是我看错啦。。。。  发表于 2016-1-18 08:33
这个是菜单里状态的,和战斗没关系啊  发表于 2016-1-17 13:53
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
44 小时
注册时间
2015-12-27
帖子
47
2
 楼主| 发表于 2016-1-16 12:39:30 | 只看该作者


回家测试,这个插件用不了,求用过此插件的帮忙看看
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-11 04:28

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表