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

Project1

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

[有事请教] MZ可以兼容的战斗胜利结算窗口的插件有不?

[复制链接]

Lv1.梦旅人

梦石
0
星屑
168
在线时间
25 小时
注册时间
2020-9-10
帖子
13
跳转到指定楼层
1
发表于 2025-2-8 16:42:42 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
10星屑
MZ可以兼容的战斗胜利结算窗口的插件有不?

点评

太久没回帖,忘记怎么发压缩包了,自己复制一下吧  发表于 2025-2-8 20:56

Lv4.逐梦者

梦石
0
星屑
5520
在线时间
1285 小时
注册时间
2018-1-16
帖子
375
2
发表于 2025-2-8 20:52:30 | 只看该作者
  1. /*:-----------------------------------------------------------------------------------
  2. * NUUN_Result.js
  3. *
  4. * Copyright (C) 2021 NUUN
  5. * This software is released under the MIT License.
  6. * http://opensource.org/licenses/mit-license.php
  7. * -------------------------------------------------------------------------------------
  8. *
  9. */
  10. /*:
  11. * @target MZ
  12. * @plugindesc  リザルト
  13. * @author NUUN
  14. * @base NUUN_Base
  15. * @orderAfter NUUN_Base
  16. * @version 1.10.1
  17. *
  18. * @help
  19. * 戦闘終了時にリザルト画面を表示します。
  20. * デフォルトのリザルトはメッセージウィンドウで表示されますが、入手EXP、獲得金額、ドロップアイテムを1画面にし、レベルアップしたアクターがいない場合は決定キー(ボタン)を
  21. * 1回押しただけでリザルトが終了します。
  22. *
  23. * 入手画面では顔グラ又はキャラチップ、レベルアップ後のレベル、獲得金額、入手EXP、ドロップアイテムが表示されます。
  24. * レベルアップ画面ではレベル差分、ステータス差分、習得スキルが表示されます。
  25. * レベルアップ画面はレベルアップしたアクターのみ表示されます。
  26. *
  27. * 戦闘勝利後に任意のBGMを再生できます。MEが指定してある場合はME再生終了後に再生されます。
  28. *
  29. * 戦闘終了後に表示されるリザルト画面を遅らせて表示させることが出来ます。
  30. * BattleManager.processVictory内の処理を分割しているため一部のプラグインで競合を起こす場合があります。
  31. * 「勝利後リザルト画面遅延フレーム数」の設定値0で機能無効(コアスクリプトと同じ処理)になります。
  32. *
  33. * 仕様
  34. * ウィンドウ画面のX座標は画面の中央になるよう設定されていますが、Y座標は上よりに表示されるようになっています。Y座標を変更するには「ウィンドウY座標」で設定してください。
  35. * 入手アイテム、習得アイテムは表示範囲が自動で計算されます。
  36. * レベルアップ表示位置で「アクターの上」を指定の場合、「顔グラ、キャラチップの表示横幅」の表示サイズの中央からの座標となります。また「顔グラ、キャラチップの表示横幅」の
  37. * サイズにより調整されます。
  38. * レベルアップ表示位置で「獲得経験値の右」を指定の場合、獲得経験値の右側からの座標となります。獲得経験値の表示を非表示にしている場合はレベルアップの実表示されます。文字の表示幅の調整
  39. * はされません。
  40. * レベルアップ表示位置で「座標指定」を指定の場合は、各アクター表示位置左上カラの座標となります。文字の表示幅の調整は行われません。
  41. *
  42. * 背景画像を設定して「背景サイズをウィンドウサイズに合わせる」をfalseに設定した時の仕様について
  43. * レベルアップ画面のアクター画像はUIサイズ、リザルト画面ウィンドウのサイズではなく、ゲーム画面サイズに合わせて表示されます。
  44. * このモードのみボタンの表示位置を変更可能です。ボタン設定での座標指定はゲーム画面左上からの絶対座標となっています。-1を指定することでリザルトウィンドウサイズに合わせます。
  45. *
  46. * 背景画像はいずれもプラグインパラメータのリストの1番目のみ反映されます。
  47. * アクターの立ち絵はプラグインパラメータのリストに複数設定可能です。(初期設定では1番目の立ち絵が表示されます)
  48. * 立ち絵はプラグインコマンドで変更できます。
  49. *
  50. * 背景画像、アクター画像(立ち絵)を表示するにはNUUN_Baseが必要です。
  51. *
  52. * アクターの参照変数(レベルアップ画面の独自パラメータ)
  53. * actor アクターのデータベースデータ メタデータを取得する場合はこちらから
  54. * this._actor アクターのゲームデータ
  55. *
  56. * アイテム、スキルのメモ欄
  57. * <ResultItemColor:[カラーインデックス]> 取得したアイテム、習得したスキルの文字色に色を付けることが出来ます。
  58. * <ResultItemColor:2> 文字色がカラーインデックス2番の色に変更されます。
  59. * ※この機能を有効にするには新規獲得アイテムの色を変更するには「アイテム、スキル欄文字色個別変」プラグイン Ver.1.0.2以降が必要となります。
  60. * 「アイテム、スキル欄文字色個別変」のタグで設定した色変更でも反映されますが、アイテム、スキル欄に表示する色とリザルトでは別の色を設定したい場合などに使用してください。
  61. *
  62. * 獲得金額に金額アイコンを表示させる場合は「所持金拡張プラグイン」のアイコンの表示クラスに"Window_Result"を記入してください。(必ず'及び"で囲む)
  63. *
  64. * プラグインコマンド
  65. * 「レベルアップ画面表示許可」
  66. * レベルアップ画面の表示の許可を設定できます。(注:このプラグインコマンドを実行後レベルアップ画面表示の設定が無効化されます)
  67. * 「勝利BGMの再生許可」
  68. * 勝利BGMの再生の許可を設定できます。
  69. * 「勝利BGMの変更」
  70. * 勝利BGMを変更することが出来ます。BGMに何も指定しないことでプラグインコマンドで指定したBGMは再生されなくなります。
  71. * 「レベルアップSEの変更」
  72. * レベルアップSEを変更することが出来ます。BGMに何も指定しないことでプラグインコマンドで指定したBGMは再生されなくなります。
  73. * 「レベルアップ画面アクター画像変更」
  74. * 立ち絵の画像を変更します。
  75. *
  76. * 操作
  77. * エンター 切り替え、画面を閉じる 右クリック
  78. * ←→ ドロップアイテム、習得スキルページ切り替え
  79. *
  80. * 利用規約
  81. * このプラグインはMITライセンスで配布しています。
  82. *
  83. * 更新履歴
  84. * 2021/6/13 Ver.1.10.1
  85. * 入手アイテムの文字が枠内からはみ出てしまう問題を修正。
  86. * 2021/6/13 Ver.1.10.0
  87. * アクターの獲得経験値表示を表示しない機能を追加。
  88. * メンバーによってアクターの獲得経験値表示の縦幅を調整する機能を追加。
  89. * 2021/6/6 Ver.1.9.2
  90. * 顔グラ以外でアクター画像の表示横幅が反映されていなかった問題を修正。
  91. * 2021/6/6 Ver.1.9.1
  92. * アクター画像に合わせてアクター名、獲得経験値の座標を調整するように修正。
  93. * キャラ画像が表示されない問題を修正。
  94. * 2021/6/5 Ver.1.9.0
  95. * サイドビューアクターを表示できる機能を追加。
  96. * 戦闘終了後からリザルト表示までコマンドなどのウィンドウを閉じるように修正。
  97. * 2021/5/18 Ver.1.8.1
  98. * 戦闘中にメンバーチェンジをした際、交代前メンバーのEXPゲージが残ってしまう問題を修正。
  99. * 2021/5/15 Ver.1.8.0
  100. * リザルトの表示を遅延させる機能を追加。
  101. * 各ウィンドウ毎にスキンを設定できる機能を追加。
  102. * 2021/5/4 Ver.1.7.5
  103. * 旧バージョンからアップデートした後にリザルト画面が表示されるとエラーが出る問題を修正。
  104. * 2021/5/4 Ver.1.7.4
  105. * レベルアップ画面で顔グラを非表示にした際に、線を非表示にする機能を追加。
  106. * 2021/5/3 Ver.1.7.3
  107. * 背景画像を指定して立ち絵を設定していないアクターがレベルアップしたときにエラーが出る問題を修正。
  108. * 背景画像を指定してレベルアップするとアクター立ち絵がキャラ切り替えのたびにサイズがおかしくなってしてしまう問題を修正。
  109. * 2021/4/24 Ver.1.7.2
  110. * Ver.1.7.1以前のバージョンから立ち絵を設定した状態でアップデートすると戦闘終了時にエラーが出る問題を修正。
  111. * 2021/4/23 Ver.1.7.1
  112. * プラグインコマンドでアクター立ち絵を変更できる機能を追加。
  113. * 背景画像、アクター画像のフォルダーを指定できるように変更。
  114. * レベルアップ画面のアクター画像を設定してリザルト表示後すぐにレベルアップ画面に移行するとエラーが出る問題を修正。
  115. * 2021/4/11 Ver.1.7.0
  116. * レベルアップ画面のステータスを任意に表示できるように変更。
  117. * レベルアップ画面のステータスとオリジナルパラメータの表示を統合。
  118. * 2021/3/25 Ver.1.6.8
  119. * ウィンドウのX座標をマイナスに設定できるように変更。
  120. * レベルアップ画面の背景画像が参照されないエラーを修正。
  121. * 2021/3/24 Ver.1.6.7
  122. * 「共通処理」(NUUN_Base)を導入していないとエラーが出る問題を修正。
  123. * 2021/3/19 Ver.1.6.6
  124. * リザルト表示時のアクターステータスウィンドウを閉じる選択項目を追加。
  125. * 2021/3/17 Ver.1.6.5
  126. * アクター画像の参照先が変更されていなかった問題を修正。
  127. * 2021/3/14 Ver.1.6.4
  128. * 背景画像設定時の立ち絵の表示方法を変更。
  129. * リザルト画面のX座標を調整できる機能を追加。
  130. * ウィンドウのY座標を変更したときにボタンの表示位置も移動しない問題を修正。
  131. * フォルダーの参照先を変更。
  132. * 2021/3/13 Ver.1.6.3
  133. * 表示アクター設定を未入力の状態でゲームを開始するとエラーが出る問題を修正。
  134. * 2021/3/13 Ver.1.6.2
  135. * 立ち絵を変更した後にセーブしたデータをロードをロードすると変更した画像が反映されない問題を修正。
  136. * 2021/3/12 Ver.1.6.1
  137. * 立ち絵を新規に設定した後にセーブしたデータをロードすると画像が表示されない問題を修正。
  138. * 2021/3/12 Ver.1.6.0
  139. * レベルアップ画面に立ち絵を表示する機能を追加。
  140. * 2021/3/11 Ver.1.5.1
  141. * 獲得経験値を非表示にできる機能を追加。
  142. * レベルアップの位置を指定、調整できる機能を追加。(座標指定チェックのみ)
  143. * プラグインコマンドでレベルアップSEを変更できる機能を追加。
  144. * 拡大率による高さ調整が顔グラモードではなくキャラチップモードで反映されていた問題を修正。
  145. * 入手画面のアクター表示(アクター画像、アクター名、レベル、EXP)のY座標を調整できる機能を追加。
  146. * 2021/3/9 Ver.1.5.0
  147. * 獲得金額、独自パラメータの設定方法を変更。
  148. * 戦闘結果の文字の表示位置を左、中央、右から選択し表示できる機能を追加。
  149. * 2021/3/8 Ver.1.4.7
  150. * リザルトウィンドウのY座標を変更したとき、ウィンドウがサイズ変更してしまう問題を修正。
  151. * アクター名・レベル・経験値のフォントサイズで負の数値を入力できなかった問題を修正。
  152. * ゲージ現在値のフォントサイズの計算が間違っていたので修正。
  153. * 2021/3/7 Ver.1.4.6
  154. * ドロップアイテム、習得スキルに色を付ける機能を追加。
  155. * 入手画面のアクター名、レベル、獲得経験値のフォントサイスを変更できるように変更。
  156. * 入手画面の獲得経験値、EXPゲージのY位置を指定できる機能を追加。
  157. * プラグインパラメータ「勝利BGM」に勝利MEを再生させない機能を追加。
  158. * 入手画面の経験値バーの現在値にフォントサイズを指定できるように変更。
  159. * タッチUIがOFFの時にウィンドウの表示範囲を上に詰める機能を追加。
  160. * リザルトウィンドウY座標を調整できる機能を追加。
  161. * 線の色を変えられる機能を追加。
  162. * 2021/3/6 Ver.1.4.5
  163. * 獲得経験率に変化があった時、EXPゲージ、数値の更新フレームが正常に動作していない問題を修正。
  164. * 拡大率を顔グラモード以外適用しないように修正。
  165. * レベルアップ画面のステータス差分で差がなかった数値の色がシステムカラーになっていた問題を修正。
  166. * 2021/3/5 Ver.1.4.4
  167. * レベルアップ、レベルアップした時のレベル、レベルアップ後のレベル、ステータスの色を指定できる機能を追加。
  168. * 獲得経験率により通常の獲得経験値よりも多い又は少ない時に、数値に色付け出来る機能を追加。
  169. * 戦闘不能アクターの名前を赤く表示するように変更。
  170. * リザルト画面を開いた後、次のページを切り替えるまでの待機フレームを設定する機能を追加。
  171. * 背景画像がボタンの前面に表示されてしまう問題を修正。
  172. * 2021/3/4 Ver.1.4.3
  173. * 獲得経験値が0の時にレベルが表示されない問題を修正。
  174. * 獲得金額が0の時に金額が表示されない問題を修正。
  175. * 2021/3/4 Ver.1.4.2
  176. * 獲得経験値が0の時に獲得経験値が表示されない問題を修正。
  177. * 獲得経験値が0の時に現在経験値の数値にNaNが表示される問題を修正。
  178. * 次のレベルまでの必要経験値のY座標計算に問題が生じたためユーザー側がY座標を調整できるように変更。
  179. * 2021/3/3 Ver.1.4.1
  180. * 決定キーを押しっぱなしで戦闘を終了するとリザルトウィンドウがすぐに閉じてしまう問題を修正。
  181. * ドロップアイテム、習得スキルのページ切り替えを押しっぱなしで切り替えられるように修正。
  182. * 2021/3/2 Ver.1.4.0
  183. * 背景画像を表示できる機能を追加。
  184. * ウィンドウ幅を0以外にしたときにドロップアイテム、習得スキルの表示位置がずれる問題を修正。
  185. * ウィンドウ幅を0以外にしたときにボタンが右端に来るよう修正。
  186. * 2021/3/1 Ver.1.3.1
  187. * 戦闘勝利後のBGMを設定できるプラグインコマンドを追加。
  188. * 2021/3/1 Ver.1.3.0
  189. * 勝利ME後に任意のBGMを再生する機能を追加。
  190. * プラグインコマンドでレベルアップ画面を表示を許可する機能を追加。(注:このプラグインコマンドを実行後レベルアップ画面表示の設定が無効化されます)
  191. * 2021/3/1 Ver.1.2.1
  192. * EXPゲージの数値を百分率表記にする機能を追加。
  193. * 最大レベルの時にゲージがMAXになるよう修正。
  194. * 2021/3/1 Ver.1.2.0
  195. * EXPゲージに数値を表示する機能を追加。
  196. * 2021/2/28 Ver.1.1.1
  197. * フォントサイズを変更したとき、経験値名称と獲得経験値の文字が被る問題を修正。
  198. * 入手画面のアクター名、レベル、経験値のフォントサイズが22未満の時反映されるように変更。
  199. * 2021/2/28 Ver.1.1.0
  200. * 獲得金額の下に独自パラメータを表示する機能を追加。
  201. * レベルアップ画面に独自パラメータを表示する機能を追加。
  202. * レベルアップした時に表示するレベルアップ画面をカットする機能を追加。
  203. * レベルアップ画面のレベルのレベルアップ後の数値を色付け。
  204. * ドロップアイテムリストの表示が若干早く表示されていた問題を修正。
  205. * レベルアップ表示で表示横幅のアクター表示拡大率を考慮されていなかった問題を修正。
  206. * 2021/2/28 Ver.1.0.2
  207. * アクター画像の設置方法を変更。
  208. * レベルアップ画面のアクター名がシステムカラーになっていたので修正。
  209. * ゲージの更新フレーム時間を設定できる機能を追加。
  210. * 2021/2/27 Ver.1.0.1
  211. * レベルの表示幅を修正。
  212. * レベルアップステータスのレベルアップ後のステータスに色付け。
  213. * 右クリックでページ送りを出来るように変更。
  214. * 2021/2/27 Ver.1.0.0
  215. * 初版。
  216. *
  217. *
  218. * @param CommonSetting
  219. * @text 共通設定
  220. * @default ------------------------------
  221. *
  222. * @param LineColor
  223. * @desc ライン(線)の色。
  224. * @text ライン(線)の色
  225. * @type number
  226. * @default 0
  227. * @parent CommonSetting
  228. *
  229. * @param Decimal
  230. * @text 小数点桁数
  231. * @desc 表示出来る小数点桁数。
  232. * @type number
  233. * @default 0
  234. * @min 0
  235. * @parent CommonSetting
  236. *
  237. * @param DecimalMode
  238. * @text 端数処理四捨五入
  239. * @desc 表示外小数点を四捨五入で丸める。(falseで切り捨て)
  240. * @type boolean
  241. * @default true
  242. * @parent CommonSetting
  243. *
  244. * @param ResultVisibleFrame
  245. * @desc 勝利後リザルト画面が表示されるまでのフレーム数
  246. * @text 勝利後リザルト画面遅延フレーム数
  247. * @type number
  248. * @default 0
  249. * @min 0
  250. * @parent CommonSetting
  251. *
  252. * @param WindowSetting
  253. * @text ウィンドウ設定
  254. * @default ------------------------------
  255. *
  256. * @param ResultWindowCenter
  257. * @type boolean
  258. * @default true
  259. * @text ウィンドウを中央表示
  260. * @desc ウィンドウを中央に表示します。ウィンドウのX座標はウィンドウ表示位置からの相対座標になります。
  261. * @parent WindowSetting
  262. *
  263. * @param CloseActorStatusWindow
  264. * @type boolean
  265. * @default false
  266. * @text 表示時アクターウィンドウ非表示
  267. * @desc リザルト画面表示時にアクターステータスウィンドウを非表示にします。
  268. * @parent WindowSetting
  269. *
  270. * @param NoTouchUIWindow
  271. * @type boolean
  272. * @default false
  273. * @text タッチUI OFF時ウィンドウ上詰め
  274. * @desc タッチUIがOFFの時ウィンドウを上に詰めます。
  275. * @parent WindowSetting
  276. *
  277. * @param BackUiWidth
  278. * @text 背景サイズをウィンドウサイズに合わせる
  279. * @desc 背景サイズをウィンドウサイズに合わせる。
  280. * @type boolean
  281. * @default true
  282. * @parent WindowSetting
  283. *
  284. * @param GetWindowSetting
  285. * @text 入手ウィンドウ設定
  286. * @default ------------------------------
  287. * @parent WindowSetting
  288. *
  289. * @param ResultWidth
  290. * @desc ウィンドウの横幅。(0でUI横幅)
  291. * @text ウィンドウ横幅
  292. * @type number
  293. * @default 0
  294. * @min 0
  295. * @parent GetWindowSetting
  296. *
  297. * @param ResultHeight
  298. * @desc ウィンドウの縦幅。(0でUI縦幅)デフォルト:616
  299. * @text ウィンドウ縦幅
  300. * @type number
  301. * @default 616
  302. * @min 0
  303. * @parent GetWindowSetting
  304. *
  305. * @param ResultWindow_X
  306. * @desc ウィンドウのX座標。
  307. * @text ウィンドウX座標
  308. * @type number
  309. * @default 0
  310. * @min -9999
  311. * @parent GetWindowSetting
  312. *
  313. * @param ResultWindow_Y
  314. * @desc ウィンドウのY座標。
  315. * @text ウィンドウY座標
  316. * @type number
  317. * @default 0
  318. * @min -999999
  319. * @parent GetWindowSetting
  320. *
  321. * @param LevelUpWindowSetting
  322. * @text レベルアップウィンドウ設定
  323. * @default ------------------------------
  324. * @parent WindowSetting
  325. *
  326. *
  327. * @param HelpWindowSetting
  328. * @text 戦闘結果ウィンドウ設定
  329. * @default ------------------------------
  330. * @parent WindowSetting
  331. *
  332. * @param ResultTextPosition
  333. * @desc 戦闘結果の文字の表示位置を指定します。
  334. * @text 戦闘結果文字の位置
  335. * @type select
  336. * @option 左
  337. * @value "left"
  338. * @option 中央
  339. * @value "center"
  340. * @option 右
  341. * @value "right"
  342. * @default center
  343. * @parent HelpWindowSetting
  344. *
  345. * @param SkinSetting
  346. * @text ウィンドウスキン設定
  347. * @default ------------------------------
  348. * @parent WindowSetting
  349. *
  350. * @param ResultWindowsSkin
  351. * @desc リザルト結果ウィンドウ(上部)のウィンドウスキンを指定します。
  352. * @text リザルト結果ウィンドウのスキン
  353. * @type file
  354. * @dir img/system
  355. * @default
  356. * @parent SkinSetting
  357. *
  358. * @param ResultMainWindowsSkin
  359. * @desc リザルトメインのウィンドウのウィンドウスキンを指定します。
  360. * @text リザルトウィンドウのスキン
  361. * @type file
  362. * @dir img/system
  363. * @default
  364. * @parent SkinSetting
  365. *
  366. * @param ButtonSetting
  367. * @text ボタン設定
  368. * @desc この設定は「背景サイズをウィンドウサイズに合わせる」をfalseに設定した時のみ有効になります。
  369. * @default ------------------------------
  370. * @parent CommonSetting
  371. *
  372. * @param ResultButton_X
  373. * @desc ボタンのX座標。(背景サイズをウィンドウサイズに合わせるをfalseに設定した時のみ、-1でリザルト画面に合わせます)
  374. * @text ボタンX座標
  375. * @type number
  376. * @default -1
  377. * @min -1
  378. * @parent ButtonSetting
  379. *
  380. * @param GetPage
  381. * @text 入手画面設定
  382. * @default ------------------------------
  383. *
  384. * @param ActorShow
  385. * @desc アクターの画像を表示します。
  386. * @text アクター表示形式
  387. * @type select
  388. * @option 表示なし
  389. * @value 0
  390. * @option 顔グラを表示
  391. * @value 1
  392. * @option キャラチップを表示
  393. * @value 2
  394. * @option サイドビューアクターを表示
  395. * @value 3
  396. * @default 1
  397. * @parent GetPage
  398. *
  399. * @param FaceWidth
  400. * @desc アクター画像の表示の横幅。(0で自動調整します)
  401. * @text アクター画像の表示横幅
  402. * @type number
  403. * @default 144
  404. * @parent GetPage
  405. *
  406. * @param FaceHeight
  407. * @desc 1キャラ当たりの縦幅。(0で自動調整)
  408. * @text 1キャラ当たりの縦幅
  409. * @type number
  410. * @default 120
  411. * @parent GetPage
  412. *
  413. * @param ActorResult_Y
  414. * @desc アクター表示のY座標。
  415. * @text アクター表示Y座標
  416. * @type number
  417. * @default 0
  418. * @parent GetPage
  419. *
  420. * @param FaceScale
  421. * @desc 顔グラの拡大率。(顔グラのみ)
  422. * @text 拡大率
  423. * @type number
  424. * @default 100
  425. * @parent GetPage
  426. *
  427. * @param FaceScaleHeight
  428. * @type boolean
  429. * @default true
  430. * @text 高さ調整拡大率考慮
  431. * @desc 1キャラ当たりの縦幅を、顔グラの拡大率に合わせて高さ調整します。
  432. * @parent GetPage
  433. *
  434. * @param ResultActorWidth
  435. * @desc 経験値獲得時アクター表示の表示横幅。(-1で自動)
  436. * @text 経験値獲得時アクター表示横幅
  437. * @type number
  438. * @default -1
  439. * @min -1
  440. * @parent GetPage
  441. *
  442. * @param ResultActorVisible
  443. * @type boolean
  444. * @default true
  445. * @text 経験値獲得時アクター表示
  446. * @desc 経験値獲得時のアクターを表示します。
  447. * @parent GetPage
  448. *
  449. * @param ResultActorDefaultAutoSize
  450. * @type boolean
  451. * @default false
  452. * @text アクター数縦幅自動調整
  453. * @desc デフォルト表示数と同じ時にアクター表示縦幅を自動調整します。OFFの場合は「1キャラ当たりの縦幅」が適用されます。
  454. * @parent GetPage
  455. *
  456. * @param ResultActorLessThanSize
  457. * @type boolean
  458. * @default false
  459. * @text アクター数縦幅自動調整(未満)
  460. * @desc デフォルト表示数未満時にアクター表示縦幅を自動調整します。
  461. * @parent GetPage
  462. *
  463. * @param ResultActorAutoSize
  464. * @type boolean
  465. * @default false
  466. * @text アクター数縦幅自動調整(より大きい)
  467. * @desc デフォルト表示数より大きいの時にアクター表示縦幅を自動調整します。
  468. * @parent GetPage
  469. *
  470. * @param DefaultActorVisible
  471. * @desc 経験値獲得時アクターのデフォルト表示数
  472. * @text デフォルトアクター表示数
  473. * @type number
  474. * @default 4
  475. * @min 0
  476. * @parent GetPage
  477. *
  478. * @param LavelUpPosition
  479. * @desc レベルアップの位置を指定します。
  480. * @text レベルアップ表示位置
  481. * @type select
  482. * @option アクター画像の上
  483. * @value 1
  484. * @option 獲得経験値の右
  485. * @value 2
  486. * @option 座標指定
  487. * @value 10
  488. * @default 1
  489. * @parent GetPage
  490. *
  491. * @param LevelUp_X
  492. * @desc レベルアップのX座標
  493. * @text レベルアップX座標
  494. * @type number
  495. * @default 0
  496. * @parent GetPage
  497. *
  498. * @param LevelUp_Y
  499. * @desc レベルアップのY座標
  500. * @text レベルアップY座標
  501. * @type number
  502. * @default 0
  503. * @parent GetPage
  504. *
  505. * @param FontColor
  506. * @text 文字色設定
  507. * @default ------------------------------
  508. * @parent GetPage
  509. *
  510. * @param LevelUpNameColor
  511. * @desc レベルアップの文字色
  512. * @text レベルアップ文字色
  513. * @type number
  514. * @default 17
  515. * @parent FontColor
  516. *
  517. * @param LevelUpValueColor
  518. * @desc レベルアップした時のレベルの数値の色
  519. * @text レベルアップ時の数値色
  520. * @type number
  521. * @default 17
  522. * @parent FontColor
  523. *
  524. * @param EXPBoostValueColor
  525. * @desc 獲得経験値が通常より多い時の数値の色
  526. * @text 獲得経験値ブースト時数値色
  527. * @type number
  528. * @default 0
  529. * @parent FontColor
  530. *
  531. * @param EXPResistValueColor
  532. * @desc 獲得経験値が通常よりも少ない時の数値の色
  533. * @text 獲得経験値レジスト時数値色
  534. * @type number
  535. * @default 0
  536. * @parent FontColor
  537. *
  538. * @param FontSize
  539. * @text フォントサイズ設定
  540. * @default ------------------------------
  541. * @parent GetPage
  542. *
  543. * @param ActorNameFontSize
  544. * @desc アクター名のフォントサイズ(メインフォントサイズからの差)
  545. * @text アクター名フォントサイズ
  546. * @type number
  547. * @default 0
  548. * @parent FontSize
  549. * @min -99
  550. *
  551. * @param LevelFontSize
  552. * @desc レベルのフォントサイズ(メインフォントサイズからの差)
  553. * @text レベルフォントサイズ
  554. * @type number
  555. * @default 0
  556. * @parent FontSize
  557. * @min -99
  558. *
  559. * @param EXPFontSize
  560. * @desc 獲得経験値のフォントサイズ(メインフォントサイズからの差)
  561. * @text 獲得経験値フォントサイズ
  562. * @type number
  563. * @default -4
  564. * @parent FontSize
  565. * @min -99
  566. *
  567. * @param LevelUpFontSize
  568. * @desc レベルアップのフォントサイズ(メインフォントサイズからの差)
  569. * @text レベルアップフォントサイズ
  570. * @type number
  571. * @default 0
  572. * @parent FontSize
  573. * @min -99
  574. *
  575. * @param ExpSetting
  576. * @text ゲージ設定
  577. * @default ------------------------------
  578. * @parent GetPage
  579. *
  580. * @param GaugeValueShow
  581. * @desc EXPゲージの数値を表示する。
  582. * @text EXPゲージ数値表示
  583. * @type select
  584. * @option 表示なし
  585. * @value 0
  586. * @option 現在の経験値を表示
  587. * @value 1
  588. * @option 最大値と現在値を表示
  589. * @value 2
  590. * @option 百分率で表示
  591. * @value 3
  592. * @default 1
  593. * @parent ExpSetting
  594. *
  595. * @param GainEXPVisible
  596. * @type boolean
  597. * @default true
  598. * @text 獲得経験値を表示する
  599. * @desc 獲得経験値を表示します。
  600. * @parent ExpSetting
  601. *
  602. * @param EXP_Y
  603. * @desc 獲得経験値のY座標(デフォルト:30)
  604. * @text 獲得経験値Y座標
  605. * @type number
  606. * @default 30
  607. * @min -999
  608. * @parent ExpSetting
  609. *
  610. * @param Gauge_Margin
  611. * @desc EXPゲージの余白範囲
  612. * @text EXPゲージ余白範囲
  613. * @type number
  614. * @default 40
  615. * @parent ExpSetting
  616. *
  617. * @param GaugeRefreshFrame
  618. * @desc EXPゲージの更新フレーム
  619. * @text EXPゲージ更新フレーム
  620. * @type number
  621. * @default 100
  622. * @min 0
  623. * @parent ExpSetting
  624. *
  625. * @param GaugeValueFontSize
  626. * @desc ゲージ現在値数値のフォントサイズ。(メインフォントサイズからの差)
  627. * @text ゲージ現在値数値のフォントサイズ
  628. * @type number
  629. * @default -6
  630. * @min -100
  631. * @parent ExpSetting
  632. *
  633. * @param GaugeMaxValueFontSize
  634. * @desc ゲージ最大値数値のフォントサイズ。(メインフォントサイズからの差)
  635. * @text ゲージ最大値数値のフォントサイズ
  636. * @type number
  637. * @default -6
  638. * @min -100
  639. * @parent ExpSetting
  640. *
  641. * @param GaugeMaxValueY
  642. * @type number
  643. * @default 0
  644. * @text ゲージ最大値Y座標調整
  645. * @desc ゲージ最大値のY座標を調整します。(表示位置からの相対座標)
  646. * @parent ExpSetting
  647. *
  648. * @param GainParam
  649. * @text 入手項目の設定
  650. * @desc 入手項目の設定。
  651. * @default ["{\"GainParamName\":\"獲得金額\",\"GainParamDate\":\"1\",\"GainParamEval\":\"\"}","{\"GainParamName\":\"\",\"GainParamDate\":\"20\",\"GainParamEval\":\"\"}"]
  652. * @type struct<GainParamList>[]
  653. * @parent GetPage
  654. *
  655. * @param DropItem_Y
  656. * @desc 入手アイテムのY座標調整。(表示位置からの相対座標)
  657. * @text 入手アイテムのY座標調整
  658. * @type number
  659. * @default 0
  660. * @min -999
  661. * @parent GetPage
  662. *
  663. * @param PartyPageRefreshFrame
  664. * @desc ページ切り替えまでの待機フレーム
  665. * @text 待機フレーム
  666. * @type number
  667. * @default 0
  668. * @parent GetPage
  669. *
  670. * @param PartyBackGroundImg
  671. * @desc 背景画像ファイル名を指定します。
  672. * @text 背景画像
  673. * @type file[]
  674. * @dir img/
  675. * @default []
  676. * @parent GetPage
  677. *
  678. * @param LevelUpPage
  679. * @text レベルアップ画面設定
  680. * @default ------------------------------
  681. *
  682. * @param ActorPageRefreshFrame
  683. * @desc ページ切り替えまでの待機フレーム
  684. * @text 待機フレーム
  685. * @type number
  686. * @default 0
  687. * @parent LevelUpPage
  688. *
  689. * @param ActorBackGroundImg
  690. * @desc 背景画像ファイル名を指定します。
  691. * @text 背景画像
  692. * @type file[]
  693. * @dir img/
  694. * @default []
  695. * @parent LevelUpPage
  696. *
  697. * @param ActorImg
  698. * @text アクター画像設定
  699. * @default ------------------------------
  700. * @parent LevelUpPage
  701. *
  702. * @param FaceVisible
  703. * @type boolean
  704. * @default true
  705. * @text 顔グラ表示
  706. * @desc 顔グラを表示します。
  707. * @parent ActorImg
  708. *
  709. * @param LineVisible
  710. * @type boolean
  711. * @default true
  712. * @text 顔グラ非表示線表示
  713. * @desc 顔グラ非表示の時アクター名、レベルとステータス、習得スキルの間にある線を表示します。
  714. * @parent ActorImg
  715. *
  716. * @param ButlerActors
  717. * @text 表示アクター設定
  718. * @desc 画像を表示するアクターを指定します。
  719. * @type struct<ActorButlerList>[]
  720. * @default []
  721. * @parent ActorImg
  722. *
  723. * @param ActorPosition
  724. * @text 立ち絵表示位置
  725. * @desc 立ち絵の表示位置を指定します
  726. * @type select
  727. * @option 左
  728. * @value 0
  729. * @option 中央
  730. * @value 1
  731. * @option 右
  732. * @value 2
  733. * @default 2
  734. * @parent ActorImg
  735. *
  736. * @param LavelUpWindowShow
  737. * @type boolean
  738. * @default true
  739. * @text レベルアップ画面表示
  740. * @desc レベルアップ画面表示します。falseでレベルアップ後のステータス差分、習得スキル演出をカットします。
  741. * @parent LevelUpPage
  742. *
  743. * @param DifferenceStatusColor
  744. * @desc レベルアップ後のステータスの数値の色
  745. * @text レベルアップ後ステータス数値色
  746. * @type number
  747. * @default 24
  748. * @parent LevelUpPage
  749. *
  750. * @param VisibleStatus
  751. * @text ステータスの設定
  752. * @desc ステータスの設定。
  753. * @default ["{\"StatusParamDate\":\"0\",\"DifferenceVisible\":\"true\",\"OriginalParamName\":\"\",\"OriginalParamEval\":\"\"}","{\"StatusParamDate\":\"1\",\"DifferenceVisible\":\"true\",\"OriginalParamName\":\"\",\"OriginalParamEval\":\"\"}","{\"StatusParamDate\":\"2\",\"DifferenceVisible\":\"true\",\"OriginalParamName\":\"\",\"OriginalParamEval\":\"\"}","{\"StatusParamDate\":\"3\",\"DifferenceVisible\":\"true\",\"OriginalParamName\":\"\",\"OriginalParamEval\":\"\"}","{\"StatusParamDate\":\"4\",\"DifferenceVisible\":\"true\",\"OriginalParamName\":\"\",\"OriginalParamEval\":\"\"}","{\"StatusParamDate\":\"5\",\"DifferenceVisible\":\"true\",\"OriginalParamName\":\"\",\"OriginalParamEval\":\"\"}","{\"StatusParamDate\":\"6\",\"DifferenceVisible\":\"true\",\"OriginalParamName\":\"\",\"OriginalParamEval\":\"\"}","{\"StatusParamDate\":\"7\",\"DifferenceVisible\":\"true\",\"OriginalParamName\":\"\",\"OriginalParamEval\":\"\"}"]
  754. * @type struct<VisibleStatusList>[]
  755. * @parent LevelUpPage
  756. *
  757. * @param StatusFontSize
  758. * @desc レベルアップステータスのフォントサイズ。(メインフォントサイズからの差)
  759. * @text レベルアップステータスフォントサイズ
  760. * @type number
  761. * @default 0
  762. * @min -100
  763. * @parent LevelUpPage
  764. *
  765. * @param NameSetting
  766. * @text 名称設定
  767. * @default ------------------------------
  768. *
  769. * @param ResultName
  770. * @text 戦闘結果の名称
  771. * @desc 戦闘結果の名称を設定します。
  772. * @type string
  773. * @default 戦闘結果
  774. * @parent NameSetting
  775. *
  776. * @param GetEXPName
  777. * @text 獲得経験値の名称
  778. * @desc 獲得経験値の名称を設定します。
  779. * @type string
  780. * @default 経験値
  781. * @parent NameSetting
  782. *
  783. * @param GetItemName
  784. * @text 入手アイテムの名称
  785. * @desc 入手アイテムの名称を設定します。
  786. * @type string
  787. * @default 入手アイテム
  788. * @parent NameSetting
  789. *
  790. * @param LevelUpName
  791. * @text レベルアップの名称
  792. * @desc レベルアップの名称を設定します。
  793. * @type string
  794. * @default LEVEL UP
  795. * @parent NameSetting
  796. *
  797. * @param learnSkillName
  798. * @text 習得スキル名称
  799. * @desc 習得スキルの名称を設定します。
  800. * @type string
  801. * @default 習得スキル
  802. * @parent NameSetting
  803. *
  804. * @param SESetting
  805. * @text レベルアップSE設定
  806. * @default ------------------------------
  807. *
  808. * @param LevelUpSe
  809. * @text レベルアップ時のSE
  810. * @desc レベルアップ時のSEを指定します。
  811. * @type file
  812. * @dir audio/se
  813. * @parent SESetting
  814. *
  815. * @param volume
  816. * @text SEの音量
  817. * @desc SEを音量を設定します。
  818. * @default 90
  819. * @parent SESetting
  820. * @min 0
  821. *
  822. * @param pitch
  823. * @text SEのピッチ
  824. * @desc SEをピッチを設定します。
  825. * @default 100
  826. * @parent SESetting
  827. *
  828. * @param pan
  829. * @text SEの位相
  830. * @desc SEを位相を設定します。
  831. * @default 0
  832. * @parent SESetting
  833. *
  834. * @param BGMSetting
  835. * @text 戦闘勝利BGM設定
  836. * @default ------------------------------
  837. *
  838. * @param VictoryBGM
  839. * @text 戦闘勝利のBGM
  840. * @desc 戦闘勝利のBGMを指定します。
  841. * @type file
  842. * @dir audio/bgm
  843. * @parent BGMSetting
  844. *
  845. * @param VictoryVolume
  846. * @text BGMの音量
  847. * @desc BGMを音量を設定します。
  848. * @default 90
  849. * @parent BGMSetting
  850. * @min 0
  851. *
  852. * @param VictoryPitch
  853. * @text BGMのピッチ
  854. * @desc BGMをピッチを設定します。
  855. * @default 100
  856. * @parent BGMSetting
  857. *
  858. * @param VictoryPan
  859. * @text BGMの位相
  860. * @desc BGMを位相を設定します。
  861. * @default 0
  862. * @parent BGMSetting
  863. *
  864. *
  865. * @command LevelUP_SESelect
  866. * @desc レベルアップ時のSEを変更します。
  867. * @text レベルアップSEの変更
  868. *
  869. * @arg LevelUP_SE
  870. * @text レベルアップSE
  871. * @desc レベルアップSEを指定します。何も指定しないことでMEが初期化されます。
  872. * @type file
  873. * @dir audio/se
  874. *
  875. * @arg Volume
  876. * @text SEの音量
  877. * @desc SEを音量を設定します。
  878. * @default 90
  879. *
  880. * @arg Pitch
  881. * @text SEのピッチ
  882. * @desc SEをピッチを設定します。
  883. * @default 100
  884. *
  885. * @arg Pan
  886. * @text SEの位相
  887. * @desc SEを位相を設定します。
  888. * @default 0
  889. *
  890. * @command VictoryBGM
  891. * @desc 勝利BGMの再生の許可を変更します。
  892. * @text 勝利BGM再生許可
  893. *
  894. * @arg VictoryBGMEnable
  895. * @type boolean
  896. * @default true
  897. * @desc 勝利BGMの再生の許可します。
  898. * @text 勝利BGMの再生の許可
  899. *
  900. *
  901. * @command VictoryBGMSelect
  902. * @desc 勝利BGMを変更します。
  903. * @text 勝利BGMの変更
  904. *
  905. * @arg _BGM
  906. * @text 勝利BGM
  907. * @desc 勝利BGMを変更します。何も指定しないことでBGMが初期化されます。
  908. * @type file
  909. * @dir audio/bgm
  910. *
  911. * @arg Volume
  912. * @text BGMの音量
  913. * @desc BGMを音量を設定します。
  914. * @default 90
  915. *
  916. * @arg Pitch
  917. * @text BGMのピッチ
  918. * @desc BGMをピッチを設定します。
  919. * @default 100
  920. *
  921. * @arg Pan
  922. * @text BGMの位相
  923. * @desc BGMを位相を設定します。
  924. * @default 0
  925. *
  926. * @arg NoVictoryME
  927. * @type boolean
  928. * @default false
  929. * @text 勝利ME再生なし
  930. * @desc 勝利MEを再生しません。
  931. *
  932. * @command LevelUpPage
  933. * @desc レベルアップ画面の表示を許可を変更します。
  934. * @text レベルアップ画面表示許可
  935. *
  936. * @arg LevelUpPageEnable
  937. * @type boolean
  938. * @default true
  939. * @desc レベルアップ画面の表示を許可します。(このプラグインコマンドを実行後レベルアップ画面表示の設定が無効化されます)
  940. * @text レベルアップ画面表示許可
  941. *
  942. * @command ChangeActorImg
  943. * @desc レベルアップ画面のアクター画像を変更します。
  944. * @text レベルアップ画面アクター画像変更
  945. *
  946. * @arg actorId
  947. * @type actor
  948. * @default 0
  949. * @desc アクターを指定します。
  950. * @text アクターID
  951. *
  952. * @arg ChangeActorImgId
  953. * @type number
  954. * @default 1
  955. * @min 1
  956. * @desc 変更する立ち絵のIDを指定します。
  957. * @text 立ち絵ID
  958. */
  959. /*~struct~GainParamList:

  960. * @param GainParamName
  961. * @text 名称
  962. * @desc 表示名称を設定します。
  963. * @default
  964. * @type string
  965. *
  966. * @param GainParamDate
  967. * @text 表示項目
  968. * @desc 表示項目を指定します。
  969. * @type select
  970. * @option 表示なし
  971. * @value 0
  972. * @option 獲得金額
  973. * @value 1
  974. * @option 獲得経験値
  975. * @value 2
  976. * @option 評価式
  977. * @value 10
  978. * @option 線
  979. * @value 20
  980. * @default 0
  981. *
  982. * @param GainParamEval
  983. * @text 評価式
  984. * @desc 評価式を記入します。
  985. * @default
  986. * @type string
  987. *
  988. */
  989. /*~struct~ActorButlerList:
  990. *
  991. * @param actorId
  992. * @text アクター
  993. * @desc アクターを指定します。
  994. * @type actor
  995. *
  996. * @param ActorImg
  997. * @text アクター画像
  998. * @desc アクターの画像を表示します。
  999. * @type file[]
  1000. * @dir img/
  1001. * @default ["{\"actorId\":\"0\",\"ActorImg\":\"[\\\"pictures\\\"]\",\"Actor_X\":\"0\",\"Actor_Y\":\"0\",\"Actor_Scale\":\"100\"}"]
  1002. *
  1003. * @param Actor_X
  1004. * @desc 画像の表示位置X座標。
  1005. * @text 画像表示位置X座標
  1006. * @type number
  1007. * @default 0
  1008. * @min -9999
  1009. * @max 9999
  1010. *
  1011. * @param Actor_Y
  1012. * @desc 画像の表示位置Y座標。
  1013. * @text 画像表示位置Y座標
  1014. * @type number
  1015. * @default 0
  1016. * @min -9999
  1017. * @max 9999
  1018. *
  1019. * @param Actor_Scale
  1020. * @desc 画像の拡大率。
  1021. * @text 画像拡大率
  1022. * @type number
  1023. * @default 100
  1024. * @min 0
  1025. * @max 999
  1026. *  
  1027. */
  1028. /*~struct~VisibleStatusList:
  1029. *
  1030. * @param StatusParamDate
  1031. * @text 表示項目
  1032. * @desc 表示項目を指定します。
  1033. * @type select
  1034. * @option HP
  1035. * @value 0
  1036. * @option MP
  1037. * @value 1
  1038. * @option 攻撃力
  1039. * @value 2
  1040. * @option 防御力
  1041. * @value 3
  1042. * @option 魔法力
  1043. * @value 4
  1044. * @option 魔法防御
  1045. * @value 5
  1046. * @option 敏捷性
  1047. * @value 6
  1048. * @option 運
  1049. * @value 7
  1050. * @option オリジナルパラメータ
  1051. * @value 20
  1052. * @default 0
  1053. *
  1054. * @param DifferenceVisible
  1055. * @type boolean
  1056. * @default true
  1057. * @text 差分表示
  1058. * @desc 差分を表示します。オリジナルパラメータは表示しません。
  1059. *
  1060. * @param OriginalParamName
  1061. * @text オリジナルパラメータ名称
  1062. * @desc オリジナルパラメータの名称を設定します。
  1063. * @default
  1064. * @type string
  1065. *
  1066. * @param OriginalParamEval
  1067. * @text オリジナルパラメータ評価式
  1068. * @desc オリジナルパラメータの評価式を記入します。
  1069. * @default
  1070. * @type string
  1071. *  
  1072. */

  1073. var Imported = Imported || {};
  1074. Imported.NUUN_Result = true;

  1075. (() => {
  1076.   const parameters = PluginManager.parameters('NUUN_Result');
  1077.   const param = JSON.parse(JSON.stringify(parameters, function(key, value) {
  1078.     try {
  1079.       return JSON.parse(value);
  1080.     } catch (e) {
  1081.       try {
  1082.         return eval(value);
  1083.       } catch (e) {
  1084.         return value;
  1085.       }
  1086.     }
  1087.   }));

  1088. param.GainParam = param.GainParam || [];
  1089. param.ButlerActors = param.ButlerActors || [];
  1090. param.ActorBackGroundImg = param.ActorBackGroundImg && param.ActorBackGroundImg.length > 0 ? param.ActorBackGroundImg[0] : null;
  1091. param.PartyBackGroundImg = param.PartyBackGroundImg && param.PartyBackGroundImg.length > 0 ? param.PartyBackGroundImg[0] : null;
  1092. let gaugeWidth = 300;

  1093. const pluginName = "NUUN_Result";

  1094. PluginManager.registerCommand(pluginName, 'LevelUP_SESelect', args => {
  1095.   BattleManager.levelUpSeSelect(args);
  1096. });

  1097. PluginManager.registerCommand(pluginName, 'VictoryBGM', args => {
  1098.   BattleManager.victoryBGMEnable(eval(args.VictoryBGMEnable));
  1099. });

  1100. PluginManager.registerCommand(pluginName, 'VictoryBGMSelect', args => {
  1101.   BattleManager.victoryBGMSelect(args);
  1102. });

  1103. PluginManager.registerCommand(pluginName, 'LevelUpPage', args => {
  1104.   BattleManager.levelUpPageEnable(eval(args.LevelUpPageEnable));
  1105. });

  1106. PluginManager.registerCommand(pluginName, 'ChangeActorImg', args => {
  1107.   if ($gameActors._data[args.actorId]) {
  1108.     $gameActors._data[args.actorId].setResultActorImgId(args.ChangeActorImgId);
  1109.   }
  1110. });


  1111. const _Game_Actor_initMembers = Game_Actor.prototype.initMembers;
  1112. Game_Actor.prototype.initMembers = function() {
  1113.   _Game_Actor_initMembers.call(this);
  1114.   this.resultActorImg = [];
  1115.   this.resultActorBitmap = null;
  1116. };

  1117. const _Game_Actor_setup = Game_Actor.prototype.setup;
  1118. Game_Actor.prototype.setup = function(actorId) {
  1119.   _Game_Actor_setup.call(this, actorId);
  1120.   this.initResultActorImg(actorId);
  1121. };

  1122. Game_Actor.prototype.initResultActorImg = function(id) {
  1123.   const list = param.ButlerActors.find(actors => actors.actorId === id);
  1124.   this.resultActorImg = list || [];
  1125.   this.resultActorImg.ActorImg = this.resultActorImg.ActorImg || [];
  1126.   this.resultImgId = this.resultImgId === undefined ? 0 : this.resultImgId;
  1127. };

  1128. Game_Actor.prototype.setResultActorImgId = function(changeActorImgId) {
  1129.   this.resultImgId = Number(changeActorImgId) - 1;
  1130.   this.resultActorBitmap = this.resultActorImg.ActorImg[this.resultImgId];
  1131. };

  1132. const _Scene_Battle_createAllWindows = Scene_Battle.prototype.createAllWindows;
  1133. Scene_Battle.prototype.createAllWindows = function() {
  1134.   _Scene_Battle_createAllWindows.call(this);
  1135.   this.createResultBaseSprite();
  1136.   this.createResultHelpWindow();
  1137.   this.createResultWindow();
  1138.   this.createResultDropItemWindow();
  1139.   this.createResultButtons();
  1140. };

  1141. Scene_Battle.prototype.createResultBaseSprite = function() {
  1142.   this._resultBaseSprite = null;
  1143.   if (Imported.NUUN_Base && (param.PartyBackGroundImg || param.ActorBackGroundImg)) {
  1144.     const sprite = new Sprite();
  1145.     this._resultBaseSprite = sprite;
  1146.     this.addChild(sprite);
  1147.     this.createResultBackGround();
  1148.     this.createResultActorImg();
  1149.   }
  1150. };

  1151. Scene_Battle.prototype.createResultBackGround = function() {
  1152.   if (this._resultBaseSprite) {
  1153.     if (param.PartyBackGroundImg) {
  1154.       const partySprite = new Sprite();
  1155.       this._resultBaseSprite.addChild(partySprite);
  1156.       partySprite.bitmap = ImageManager.nuun_LoadPictures(param.PartyBackGroundImg);
  1157.       this._backGroundPartySprite = partySprite;
  1158.       partySprite.hide();
  1159.       if (partySprite.bitmap && !partySprite.bitmap.isReady()) {
  1160.         partySprite.bitmap.addLoadListener(this.resultBackGround.bind(this, partySprite));
  1161.       } else {
  1162.         this.resultBackGround(partySprite);
  1163.       }
  1164.     }
  1165.     if (param.ActorBackGroundImg) {
  1166.       const actorSprite = new Sprite();
  1167.       this._resultBaseSprite.addChild(actorSprite);
  1168.       actorSprite.bitmap = ImageManager.nuun_LoadPictures(param.ActorBackGroundImg);
  1169.       this._backGroundActorSprite = actorSprite;
  1170.       actorSprite.hide();
  1171.       if (actorSprite.bitmap && !actorSprite.bitmap.isReady()) {
  1172.         actorSprite.bitmap.addLoadListener(this.resultBackGround.bind(this, actorSprite));
  1173.       } else {
  1174.         this.resultBackGround(actorSprite);
  1175.       }
  1176.     }
  1177.   }
  1178. };

  1179. Scene_Battle.prototype.resultBackGround = function(sprite) {
  1180.   if(param.BackUiWidth) {
  1181.     sprite.x = (param.ResultWindowCenter ? (Graphics.width - (Graphics.boxWidth + 8)) / 2 + (param.ResultWidth > 0 ? (Graphics.boxWidth - param.ResultWidth) / 2 : 0) :
  1182.                 0) + param.ResultWindow_X;
  1183.     sprite.y = (Graphics.height - (Graphics.boxHeight + 8)) / 2 + param.ResultWindow_Y;
  1184.     const width = (param.ResultWidth > 0 ? param.ResultWidth : Graphics.boxWidth) + 8;
  1185.     const height = (param.ResultHeight > 0 ? param.ResultHeight : Graphics.boxHeight) + 8;
  1186.     sprite.scale.x = (width !== sprite.bitmap.width ? width / sprite.bitmap.width : 1);
  1187.     sprite.scale.y = (height !== sprite.bitmap.height ? height / sprite.bitmap.height : 1);
  1188.   } else {
  1189.     sprite.scale.x = (Graphics.width !== sprite.bitmap.width ? Graphics.width / sprite.bitmap.width : 1);
  1190.     sprite.scale.y = (Graphics.height !== sprite.bitmap.height ? Graphics.height / sprite.bitmap.height : 1);
  1191.   }
  1192. };

  1193. Scene_Battle.prototype.createResultActorImg = function() {
  1194.   const rect = this.resultActorImgWindowRect();
  1195.   this._resultActorImgWindow = new Window_ResultActorImg(rect);
  1196.   this._resultActorImgWindow.hide();
  1197.   this._resultBaseSprite.addChild(this._resultActorImgWindow);
  1198. };

  1199. Scene_Battle.prototype.resultActorImgWindowRect = function() {
  1200.   const wx = param.BackUiWidth ? (param.ResultWindowCenter ? (Graphics.width - (Graphics.boxWidth + 8)) / 2 + (param.ResultWidth > 0 ? (Graphics.boxWidth - param.ResultWidth) / 2 : 0) : 0) + param.ResultWindow_X : 0;
  1201.   const wy = param.BackUiWidth ? (Graphics.height - (Graphics.boxHeight + 8)) / 2 + param.ResultWindow_Y : 0;
  1202.   const ww = param.BackUiWidth ? (param.ResultWidth > 0 ? param.ResultWidth : Graphics.boxWidth) + 8 : Graphics.width;
  1203.   const wh = param.BackUiWidth ? (param.ResultHeight > 0 ? param.ResultHeight : Graphics.boxHeight + param.ResultWindow_Y) + 8 : Graphics.height;
  1204.   return new Rectangle(wx, wy, ww, wh);
  1205. };

  1206. Scene_Battle.prototype.createResultHelpWindow = function() {
  1207.   const rect = this.resultHelpWindowRect();
  1208.   this._resultHelpWindow = new Window_ResultHelp(rect);
  1209.   this._resultHelpWindow.hide();
  1210.   if (this._resultBaseSprite) {
  1211.     this._resultBaseSprite.addChild(this._resultHelpWindow);
  1212.     this._resultHelpWindow.x += (Graphics.width - Graphics.boxWidth) / 2;
  1213.     this._resultHelpWindow.y += (Graphics.height - Graphics.boxHeight) / 2;
  1214.   } else {
  1215.     this.addWindow(this._resultHelpWindow);
  1216.   }
  1217. };

  1218. Scene_Battle.prototype.resultHelpWindowRect = function() {
  1219.   const wx = (param.ResultWindowCenter ? (param.ResultWidth > 0 ? (Graphics.boxWidth - param.ResultWidth) / 2 : 0) : (Graphics.boxWidth - Graphics.width) / 2) + param.ResultWindow_X;
  1220.   const wy = this.resultHelpAreaTop();
  1221.   const ww = param.ResultWidth > 0 ? param.ResultWidth : Graphics.boxWidth;
  1222.   const wh = this.resultHelpAreaHeight();
  1223.   return new Rectangle(wx, wy, ww, wh);
  1224. };

  1225. Scene_Battle.prototype.createResultWindow = function() {
  1226.   const rect = this.resultWindowRect();
  1227.   this._resultWindow = new Window_Result(rect);
  1228.   this._resultWindow.setHandler("ok", this.onResultOk.bind(this));
  1229.   this._resultWindow.setHandler("cancel", this.onResultOk.bind(this));
  1230.   this._resultWindow.hide();
  1231.   if (this._resultBaseSprite) {
  1232.     this._resultBaseSprite.addChild(this._resultWindow);
  1233.     this._resultWindow.x += (Graphics.width - Graphics.boxWidth) / 2;
  1234.     this._resultWindow.y += (Graphics.height - Graphics.boxHeight) / 2;
  1235.     this._resultWindow.setActorImgWindow(this._resultActorImgWindow);
  1236.   } else {
  1237.     this.addWindow(this._resultWindow);
  1238.   }
  1239. };

  1240. Scene_Battle.prototype.resultWindowRect = function() {
  1241.   const wx = (param.ResultWindowCenter ? (param.ResultWidth > 0 ? (Graphics.boxWidth - param.ResultWidth) / 2 : 0) : (Graphics.boxWidth - Graphics.width) / 2) + param.ResultWindow_X;
  1242.   const wy = this.resultHelpAreaTop() + this.resultHelpAreaHeight();
  1243.   const ww = param.ResultWidth > 0 ? param.ResultWidth : Graphics.boxWidth;
  1244.   const wh = (param.ResultHeight > 0 ? param.ResultHeight : Graphics.boxHeight) - wy + param.ResultWindow_Y;
  1245.   return new Rectangle(wx, wy, ww, wh);
  1246. };

  1247. Scene_Battle.prototype.createResultDropItemWindow = function() {
  1248.   const rect = this.resultDropItemWindowRect();
  1249.   this._resultDropItemWindow = new Window_ResultDropItem(rect);
  1250.   this._resultDropItemWindow.hide();
  1251.   if (this._resultBaseSprite) {
  1252.     this._resultBaseSprite.addChild(this._resultDropItemWindow);
  1253.   } else {
  1254.     this.addChild(this._resultDropItemWindow);
  1255.   }
  1256.   this._resultDropItemWindow.setWindowResult(this._resultWindow);
  1257. };

  1258. Scene_Battle.prototype.resultDropItemWindowRect = function() {
  1259.   const wx = (param.ResultWindowCenter ? (Graphics.width - Graphics.boxWidth) / 2 + (param.ResultWidth > 0 ? (Graphics.boxWidth - param.ResultWidth) / 2 : 0) : 0) + param.ResultWindow_X;
  1260.   const wy = (Graphics.height - Graphics.boxHeight) / 2 + this.resultHelpAreaTop() + this.resultHelpAreaHeight();
  1261.   const ww = this._resultWindow.width;
  1262.   const wh = this._resultWindow.height;
  1263.   return new Rectangle(wx, wy, ww, wh);
  1264. };

  1265. Scene_Battle.prototype.createResultButtons = function() {
  1266.   if (ConfigManager.touchUI) {
  1267.       this.createResultButton();
  1268.   }
  1269. };

  1270. Scene_Battle.prototype.createResultButton = function() {
  1271.   this._okResultButton = new Sprite_Button("ok");
  1272.   if (!this._resultBaseSprite || param.BackUiWidth || param.ResultButton_X < 0) {
  1273.     this._okResultButton.x = (param.ResultWindowCenter ? (param.ResultWidth > 0 ? (Graphics.boxWidth - param.ResultWidth) / 2 : 0) : (Graphics.boxWidth - Graphics.width) / 2)
  1274.     + this._resultWindow.width - this._okResultButton.width - 4 + param.ResultWindow_X;
  1275.   } else {
  1276.     this._okResultButton.x = Math.min(param.ResultButton_X, Graphics.width - this._okResultButton.width - 4) + (Graphics.boxWidth - Graphics.width) / 2;
  1277.   }
  1278.   this._okResultButton.y = this.resultbuttonY();
  1279.   this._downResultButton = new Sprite_Button("pagedown");
  1280.   this._downResultButton.x = this._okResultButton.x - (24 + this._downResultButton.width);
  1281.   this._downResultButton.y = this.resultbuttonY();
  1282.   this._upResultButton = new Sprite_Button("pageup");
  1283.   this._upResultButton.x = this._downResultButton.x - this._downResultButton.width - 4;
  1284.   this._upResultButton.y = this.resultbuttonY();
  1285.   if (this._resultBaseSprite) {
  1286.     this._resultBaseSprite.addChild(this._okResultButton);
  1287.     this._resultBaseSprite.addChild(this._upResultButton);
  1288.     this._resultBaseSprite.addChild(this._downResultButton);
  1289.     this._okResultButton.x += (Graphics.width - Graphics.boxWidth) / 2;
  1290.     this._okResultButton.y += (Graphics.height - Graphics.boxHeight) / 2;
  1291.     this._downResultButton.x += (Graphics.width - Graphics.boxWidth) / 2;
  1292.     this._downResultButton.y += (Graphics.height - Graphics.boxHeight) / 2;
  1293.     this._upResultButton.x += (Graphics.width - Graphics.boxWidth) / 2;
  1294.     this._upResultButton.y += (Graphics.height - Graphics.boxHeight) / 2;
  1295.   } else {
  1296.     this.addWindow(this._okResultButton);
  1297.     this.addWindow(this._upResultButton);
  1298.     this.addWindow(this._downResultButton);
  1299.   }
  1300.   this._upResultButton.setClickHandler(this.updateDorpItemPageup.bind(this));
  1301.   this._downResultButton.setClickHandler(this.updateDorpItemPagedown.bind(this));
  1302. };

  1303. Scene_Battle.prototype.resultHelpAreaHeight = function() {
  1304.   return this.calcWindowHeight(1, false);
  1305. };

  1306. Scene_Battle.prototype.resultWindowAreaX = function() {
  1307.   return param.ResultWindow_X >= 0 ? (Graphics.boxWidth - Graphics.width) / 2 + param.ResultWindow_X :
  1308.             (param.ResultWidth > 0 ? (Graphics.boxWidth - param.ResultWidth) / 2 : 0);
  1309. };

  1310. Scene_Battle.prototype.resultHelpAreaTop = function() {
  1311.   const y = param.ResultWindow_Y;
  1312.   if (param.NoTouchUIWindow && !ConfigManager.touchUI) {
  1313.     return y;
  1314.   }
  1315.   return y + this.buttonAreaHeight();
  1316. };

  1317. Scene_Battle.prototype.onResultOk = function() {
  1318.   if (this._resultWindow.actorLevelUp.length > 0 && this._resultWindow.page < this._resultWindow.actorLevelUp.length) {
  1319.     this.backGroundPartyHide();
  1320.     this.backGroundActorShow();
  1321.     this._resultWindow.page++;
  1322.     this._resultDropItemWindow.page = 0;
  1323.     this._resultWindow.refresh();
  1324.     this._resultDropItemWindow.refresh();
  1325.     this._resultWindow.activate();
  1326.     BattleManager.resultRefresh = param.ActorPageRefreshFrame;
  1327. } else {
  1328.     this._resultHelpWindow.close();
  1329.     this._resultWindow.close();
  1330.     this._resultDropItemWindow.close();
  1331.     this.backGroundPartyHide();
  1332.     this.backGroundActorHide();
  1333.     BattleManager.playMapBgm();
  1334.   }
  1335. };

  1336. Scene_Battle.prototype.resultOpen = function() {
  1337.   this.closeStatusWindow();
  1338.   this.backGroundPartyShow();
  1339.   this._resultWindow.activate();
  1340.   this._resultHelpWindow.show();
  1341.   this._resultWindow.show();
  1342.   this._resultDropItemWindow.show();
  1343.   this._resultHelpWindow.open();
  1344.   this._resultWindow.open();
  1345.   this._resultDropItemWindow.open();
  1346.   this._resultWindow.refresh();
  1347.   this._resultDropItemWindow.refresh();
  1348.   BattleManager.resultRefresh = param.PartyPageRefreshFrame;
  1349. };

  1350. Scene_Battle.prototype.backGroundPartyShow = function() {
  1351.   if (this._backGroundPartySprite) {
  1352.     this._resultHelpWindow.opacity = 0;
  1353.     this._resultHelpWindow.frameVisible = false;
  1354.     this._resultWindow.opacity = 0;
  1355.     this._resultWindow.frameVisible = false;
  1356.     this._backGroundPartySprite.show();
  1357.   }
  1358. };

  1359. Scene_Battle.prototype.backGroundActorShow = function() {
  1360.   if (this._backGroundActorSprite) {
  1361.     this._resultHelpWindow.opacity = 0;
  1362.     this._resultHelpWindow.frameVisible = false;
  1363.     this._resultWindow.opacity = 0;
  1364.     this._resultWindow.frameVisible = false;
  1365.     this._backGroundActorSprite.show();
  1366.   }
  1367.   if (this._resultBaseSprite) {
  1368.     this._resultActorImgWindow.show();
  1369.   }
  1370. };

  1371. Scene_Battle.prototype.backGroundPartyHide = function() {
  1372.   if (this._backGroundPartySprite) {
  1373.     this._backGroundPartySprite.hide();
  1374.   }
  1375. };

  1376. Scene_Battle.prototype.backGroundActorHide = function() {
  1377.   if (this._backGroundActorSprite) {
  1378.     this._backGroundActorSprite.hide();
  1379.   }
  1380.   if (this._resultBaseSprite) {
  1381.     this._resultActorImgWindow.hide();
  1382.   }
  1383. };

  1384. const _Scene_Battle_update = Scene_Battle.prototype.update;
  1385. Scene_Battle.prototype.update = function() {
  1386.   _Scene_Battle_update.call(this);
  1387.   if (this._resultWindow.active) {
  1388.     if (Input.isRepeated('left')) {
  1389.       this.updateDorpItemPageup();
  1390.     } else if (Input.isRepeated('right')){
  1391.       this.updateDorpItemPagedown();
  1392.     }
  1393.   }
  1394. };

  1395. Scene_Battle.prototype.updateDorpItemPagedown = function() {
  1396.   const maxPage = this._resultDropItemWindow.maxPages();
  1397.   if (maxPage > 1) {
  1398.     SoundManager.playCursor();
  1399.     this._resultDropItemWindow.page = (this._resultDropItemWindow.page + 1) % maxPage;
  1400.     this._resultDropItemWindow.refresh();
  1401.     this._resultWindow.activate();
  1402.   }
  1403. };

  1404. Scene_Battle.prototype.updateDorpItemPageup = function() {
  1405.   const maxPage = this._resultDropItemWindow.maxPages();
  1406.   if (maxPage > 1) {
  1407.     SoundManager.playCursor();
  1408.     this._resultDropItemWindow.page = (this._resultDropItemWindow.page + (maxPage - 1)) % maxPage;
  1409.     this._resultDropItemWindow.refresh();
  1410.     this._resultWindow.activate();
  1411.   }
  1412. };

  1413. const _Scene_Battle_updateVisibility = Scene_Battle.prototype.updateVisibility;
  1414. Scene_Battle.prototype.updateVisibility = function() {
  1415.   _Scene_Battle_updateVisibility.call(this);
  1416.   this.updateResultButton();
  1417. };

  1418. const _Scene_Battle_updateInputWindowVisibility = Scene_Battle.prototype.updateInputWindowVisibility;
  1419. Scene_Battle.prototype.updateInputWindowVisibility = function() {
  1420.   _Scene_Battle_updateInputWindowVisibility.call(this);
  1421.   if (BattleManager._victoryOn) {
  1422.       this.closeCommandWindows();
  1423.       this.hideSubInputWindows();
  1424.   }
  1425. };

  1426. Scene_Battle.prototype.updateResultButton = function() {
  1427.   if (this._okResultButton) {
  1428.       this._okResultButton.visible = this._resultWindow.active;
  1429.   }
  1430.   if (this._upResultButton && this._downResultButton) {
  1431.     this._upResultButton.visible = this._resultWindow.active && this._resultDropItemWindow.maxPages() > 1;
  1432.     this._downResultButton.visible = this._resultWindow.active && this._resultDropItemWindow.maxPages() > 1;
  1433.   }
  1434. };

  1435. Scene_Battle.prototype.resultbuttonY = function() {
  1436.   const y = Scene_Battle.prototype.buttonY.call(this);
  1437.   return y - this._helpWindow.height + param.ResultWindow_Y;
  1438. };

  1439. Scene_Battle.prototype.closeStatusWindow = function() {
  1440.   if (param.CloseActorStatusWindow) {
  1441.     this._statusWindow.close();
  1442.   }
  1443. };

  1444. function Window_ResultActorImg() {
  1445.   this.initialize(...arguments);
  1446. }

  1447. Window_ResultActorImg.prototype = Object.create(Window_StatusBase.prototype);
  1448. Window_ResultActorImg.prototype.constructor = Window_ResultActorImg;

  1449. Window_ResultActorImg.prototype.initialize = function(rect) {
  1450.   Window_StatusBase.prototype.initialize.call(this, rect);
  1451.   this._actor = null;
  1452.   this._actorSprite = null;
  1453.   this.opacity = 0;
  1454.   this.frameVisible = false;
  1455. };

  1456. Window_ResultActorImg.prototype.setActor = function(actor) {
  1457.   this._actor = actor;
  1458. };

  1459. Window_ResultActorImg.prototype.refresh = function() {
  1460.   this.drawActorImg(this._actor);
  1461. };

  1462. Window_ResultActorImg.prototype.loadActorImg = function(actor) {
  1463.   if (Imported.NUUN_Base && (actor.resultActorBitmap || actor.resultActorImg.ActorImg)) {
  1464.     const loadBitmap = actor.resultActorBitmap ? actor.resultActorBitmap : actor.resultActorImg.ActorImg[actor.resultImgId];
  1465.     actor.resultActorBitmap = loadBitmap;
  1466.   }
  1467. };

  1468. Window_ResultActorImg.prototype.drawActorImg = function(actor) {
  1469.   if (Imported.NUUN_Base && (actor.resultActorBitmap || actor.resultActorImg.ActorImg[actor.resultImgId])) {  
  1470.     const loadBitmap = actor.resultActorBitmap ? actor.resultActorBitmap : actor.resultActorImg.ActorImg[actor.resultImgId];
  1471.     if (loadBitmap) {
  1472.       const bitmap = ImageManager.nuun_LoadPictures(loadBitmap);
  1473.       if (!actor.resultActorBitmap) {
  1474.         actor.resultActorBitmap = loadBitmap;
  1475.       }
  1476.       if (bitmap && !bitmap.isReady()) {
  1477.         bitmap.addLoadListener(this.actorImgRefresh.bind(this, bitmap, actor.resultActorImg));
  1478.       } else {
  1479.         this.actorImgRefresh(bitmap, actor.resultActorImg);
  1480.       }
  1481.     }
  1482.   } else if (this._actorSprite && this._actorSprite.bitmap){
  1483.     this._actorSprite.bitmap = null;
  1484.   }
  1485. };

  1486. Window_ResultActorImg.prototype.actorImgRefresh = function(bitmap, date) {
  1487.   let x = date.Actor_X;
  1488.   const scale = (date.Actor_Scale || 100) / 100;
  1489.   if(param.ActorPosition === 0) {
  1490.     x += 0;
  1491.   } else if (param.ActorPosition === 1) {
  1492.     x += Math.floor(this.width / 2 - ((bitmap.width * scale) / 2));
  1493.   } else {
  1494.     x += this.width - (bitmap.width * scale) - 24;
  1495.   }
  1496.   const y = date.Actor_Y + (this.height - (bitmap.height * scale));
  1497.   this.placeResultActorImg(this._actor, x, y, bitmap, scale);
  1498. };

  1499. Window_ResultActorImg.prototype.placeResultActorImg = function(actor, x, y, bitmap, scale) {
  1500.   const key = "actor-result".format();
  1501.   const sprite = this.createActorImgSprite(key, Sprite_ResultActor);
  1502.   if (sprite._battler !== actor) {
  1503.     sprite.setup(actor, bitmap, scale);
  1504.     sprite.move(x, y);
  1505.     sprite.show();
  1506.     this._actorSprite = sprite;
  1507.   }
  1508. };

  1509. Window_ResultActorImg.prototype.createActorImgSprite = function(key, spriteClass) {
  1510.   const dict = this._additionalSprites;
  1511.   if (dict[key]) {
  1512.     return dict[key];
  1513.   } else {
  1514.     const sprite = new spriteClass();
  1515.     dict[key] = sprite;
  1516.     this.addChild(sprite);
  1517.     return sprite;
  1518.   }
  1519. };

  1520. function Window_ResultHelp() {
  1521.   this.initialize(...arguments);
  1522. }

  1523. Window_ResultHelp.prototype = Object.create(Window_Help.prototype);
  1524. Window_ResultHelp.prototype.constructor = Window_ResultHelp;

  1525. Window_ResultHelp.prototype.initialize = function(rect) {
  1526.   this._userWindowSkin = param.ResultWindowsSkin;
  1527.   Window_Help.prototype.initialize.call(this, rect);
  1528.   this.openness = 0;
  1529.   this.refresh();
  1530. };

  1531. Window_ResultHelp.prototype.refresh = function() {
  1532.   const rect = this.baseTextRect();
  1533.   this.contents.clear();
  1534.   this.drawText(param.ResultName, rect.x, rect.y, rect.width, param.ResultTextPosition);
  1535. };

  1536. function Window_Result() {
  1537.   this.initialize(...arguments);
  1538. }

  1539. Window_Result.prototype = Object.create(Window_StatusBase.prototype);
  1540. Window_Result.prototype.constructor = Window_Result;

  1541. Window_Result.prototype.initialize = function(rect) {
  1542.   this._userWindowSkin = param.ResultMainWindowsSkin;
  1543.   Window_StatusBase.prototype.initialize.call(this, rect);
  1544.   this._levelUp = false;
  1545.   this.openness = 0;
  1546.   this.actorLevelUp = [];
  1547.   this.actorOldStatus = [];
  1548.   this.page = 0;
  1549.   this._actor = null;
  1550.   this._canRepeat = false;
  1551.   this.loadImages();
  1552.   //this.refresh();
  1553. };

  1554. Window_Result.prototype.loadImages = function() {
  1555.   for (const actor of $gameParty.members()) {
  1556.     if (param.ActorShow === 1) {
  1557.       ImageManager.loadFace(actor.faceName());
  1558.     } else if (param.ActorShow === 2) {
  1559.       ImageManager.loadCharacter(actor.characterName());
  1560.     } else if (param.ActorShow === 3) {
  1561.       ImageManager.loadSvEnemy(actor.battlerName());
  1562.     }
  1563.   }
  1564. };

  1565. Window_Result.prototype.actorContentHeight = function(scale) {
  1566.   const itemPadding = this.itemPadding();
  1567.   if (param.ResultActorAutoSize && param.DefaultActorVisible < this.actorMembers()) {
  1568.     return Math.floor((this.height - itemPadding * 2) / this.actorMembers());
  1569.   } else if (param.ResultActorLessThanSize && param.DefaultActorVisible > this.actorMembers()) {
  1570.     return Math.floor((this.height - itemPadding * 2) / this.actorMembers());
  1571.   } else {
  1572.     if (!param.ResultActorDefaultAutoSize && param.FaceHeight > 0) {
  1573.       return (param.ActorShow === 1 && param.FaceScaleHeight) ? Math.floor(param.FaceHeight * scale) : param.FaceHeight;
  1574.     }
  1575.     return Math.floor((this.height - itemPadding * 2) / param.DefaultActorVisible);
  1576.   }
  1577. };

  1578. Window_Result.prototype.actor = function(index) {
  1579.   return $gameParty.battleMembers()[index];
  1580. };

  1581. Window_Result.prototype.actorMembers = function() {
  1582.   return $gameParty.battleMembers().length;
  1583. };

  1584. Window_Result.prototype.actorAreaWidth = function(scale) {
  1585.   if (param.FaceWidth > 0) {
  1586.     return param.FaceWidth;
  1587.   }
  1588.   if (param.ActorShow === 0) {
  1589.     return 0;
  1590.   } else if (param.ActorShow === 1) {
  1591.     return Math.floor(ImageManager.faceWidth * scale) + this.itemPadding();
  1592.   } else if (param.ActorShow === 2) {
  1593.     return 60 + this.itemPadding();
  1594.   } else {
  1595.     return 64 + this.itemPadding();
  1596.   }
  1597. };

  1598. Window_Result.prototype.actorContentWidth = function(rect) {
  1599.   return param.ResultActorWidth < 0 ? (rect.width - Math.floor(rect.width / 2.6)) : param.ResultActorWidth;
  1600. };

  1601. Window_Result.prototype.refresh = function() {
  1602.   this.contents.clear();
  1603.   const scale = param.ActorShow === 1 ? param.FaceScale / 100 : 1;
  1604.   const rect = this.itemRect(0);
  1605.   const lineHeight = this.lineHeight();
  1606.   const itemPadding = this.itemPadding();
  1607.   if (this.page === 0) {
  1608.     const height = this.actorContentHeight(scale);
  1609.     const faceArea = rect.x + this.actorAreaWidth(scale);
  1610.     const x2 = rect.x + this.actorContentWidth(rect);
  1611.     gaugeWidth = rect.width - Math.floor(rect.width / 2.6) - faceArea - 30;
  1612.     for (let i = 0; this.actorMembers() > i; i++) {
  1613.       this._actor = this.actor(i);
  1614.       this._actor._learnSkill = [];
  1615.       this._actor._oldStatus = [];
  1616.       let y = i * height + rect.y + param.ActorResult_Y;
  1617.       if (param.ActorShow === 2) {
  1618.         this.drawActorCharacter(rect.x + Math.floor(this.actorAreaWidth() / 2), y + 60, param.ResultActorVisible);
  1619.       } else if (param.ActorShow === 1) {
  1620.         this.drawActorFace(rect.x, y, param.FaceWidth, param.FaceHeight, param.ResultActorVisible);
  1621.       } else if (param.ActorShow === 3) {
  1622.         this.drawSvActor(rect.x, y + (height / 2), param.ResultActorVisible);
  1623.       }
  1624.       this.drawActorName(rect.x + faceArea, y, rect.width - (rect.width - x2) - faceArea - 112, param.ResultActorVisible);
  1625.       this.drawActorLevel(rect.x + x2 - 100, y, param.ResultActorVisible);
  1626.       if (param.LavelUpPosition === 1) {
  1627.         this.drawLevelUp(rect.x + param.LevelUp_X, y + param.LevelUp_Y, Math.floor(this.actorAreaWidth(scale)), param.ResultActorVisible);
  1628.       } else if (param.LavelUpPosition === 10) {
  1629.         this.drawLevelUp(rect.x + param.LevelUp_X , y + param.LevelUp_Y, rect.width, param.ResultActorVisible);
  1630.       }
  1631.       //this.drawExpGauge(rect.x + x2 - (gaugeWidth + param.Gauge_Margin), y + param.EXP_Y + 18);
  1632.       this.drawExpGauge(rect.x + x2 - gaugeWidth - 30, y + param.EXP_Y + 18, param.ResultActorVisible);
  1633.       this.drawGetEXP(rect.x + faceArea, y + param.EXP_Y, rect.width, param.ResultActorVisible);
  1634.     }
  1635.     this.drawGainList(x2, rect.y, rect.width - x2);
  1636.   } else {
  1637.     for (let i = 0; this.actorMembers() > i; i++) {
  1638.       this.removeExpGauge(this.actor(i));
  1639.     }
  1640.     this._actor = this.actorLevelUp[this.page - 1];
  1641.     const x = rect.x + Math.floor(rect.width / 2) + itemPadding;
  1642.     this.drawActorImg(this._actor);
  1643.     let NoFaceX = 0;
  1644.     let NoFaceY = lineHeight;
  1645.     if (param.FaceVisible) {
  1646.       this.drawActorFace(rect.x, rect.y, ImageManager.faceWidth, ImageManager.faceHeight);
  1647.       NoFaceX += 152
  1648.       NoFaceY += lineHeight * 3.5;
  1649.     } else {
  1650.       if (param.LineVisible) {
  1651.         this.drawHorzLine(rect.x, rect.y + lineHeight, rect.width);
  1652.       }
  1653.       NoFaceY += lineHeight;
  1654.     }
  1655.     this.drawActorStatusLevel(x, rect.y);
  1656.     this.drawActorStatusName(rect.x + NoFaceX, rect.y, rect.width - x - NoFaceX);
  1657.     this.drawActorStatus(rect.x, rect.y + NoFaceY, Math.floor(rect.width / 2) - itemPadding);
  1658.   }
  1659. };

  1660. Window_Result.prototype.drawGainList = function(x, y, width) {
  1661.   let y2 = y;
  1662.   const lineHeight = this.lineHeight();
  1663.   const list = param.GainParam;
  1664.     for (const date of list) {
  1665.       switch (date.GainParamDate) {
  1666.         case 0:
  1667.           y2 += lineHeight;
  1668.           break;
  1669.         case 1:
  1670.           this.drawGainGold(date, x, y2, width)
  1671.           y2 += lineHeight;
  1672.           break;
  1673.         case 2:
  1674.           this.drawGainExp(date, x, y2, width)
  1675.           y2 += lineHeight;
  1676.           break;
  1677.         case 10:
  1678.           this.drawPartyOriginalParam(date, x, y2, width)
  1679.           y2 += lineHeight;
  1680.           break;
  1681.         case 20:
  1682.           this.drawHorzLine(x, y2, width);
  1683.           y2 += lineHeight;
  1684.           break;
  1685.       }
  1686.     }
  1687. };

  1688. Window_Result.prototype.loadActorImg = function(actor) {
  1689.   if (Imported.NUUN_Base && (actor.resultActorBitmap || actor.resultActorImg.ActorImg)) {
  1690.     const loadBitmap = actor.resultActorBitmap ? actor.resultActorBitmap : actor.resultActorImg.ActorImg[actor.resultImgId];
  1691.     actor.resultActorBitmap = loadBitmap;
  1692.   }
  1693. };

  1694. Window_Result.prototype.drawActorImg = function(actor) {
  1695.   if (this._resultActorImgWindow) {
  1696.     this._resultActorImgWindow.setActor(actor);
  1697.     this._resultActorImgWindow.refresh();
  1698.   } else {
  1699.     if (Imported.NUUN_Base && (actor.resultActorBitmap || actor.resultActorImg.ActorImg)) {
  1700.       const loadBitmap = actor.resultActorBitmap ? actor.resultActorBitmap : actor.resultActorImg.ActorImg[actor.resultImgId];
  1701.       if (!actor.resultActorBitmap) {
  1702.         actor.resultActorBitmap = loadBitmap;
  1703.       }
  1704.       const bitmap = ImageManager.nuun_LoadPictures(loadBitmap);
  1705.       if (loadBitmap) {
  1706.         if (bitmap && !bitmap.isReady()) {
  1707.           bitmap.addLoadListener(this.actorImgRefresh.bind(this, bitmap, actor.resultActorImg));
  1708.         } else {
  1709.           this.actorImgRefresh(bitmap, actor.resultActorImg);
  1710.         }
  1711.       }
  1712.     }
  1713.   }
  1714. };

  1715. Window_Result.prototype.actorImgRefresh = function(bitmap, date) {
  1716.   let x = date.Actor_X;
  1717.   const scale = (date.Actor_Scale || 100) / 100;
  1718.   if(param.ActorPosition === 0) {
  1719.     x += 0;
  1720.   } else if (param.ActorPosition === 1) {
  1721.     x += Math.floor(this.width / 2 - ((bitmap.width * scale) / 2));
  1722.   } else {
  1723.     x += this.width - (bitmap.width * scale) - 24;
  1724.   }
  1725.   const dw = bitmap.width * scale;
  1726.   const dh = bitmap.height * scale;
  1727.   const y = date.Actor_Y + (this.height - (bitmap.height * scale)) - 24;
  1728.   this.contents.blt(bitmap, 0, 0, bitmap.width, bitmap.height, x, y, dw, dh);
  1729. };

  1730. Window_Result.prototype.drawActorFace = function(x, y, width, height, mode) {
  1731.   if (mode || this.page > 0) {
  1732.     this.drawFace(this._actor.faceName(), this._actor.faceIndex(), x, y, width, height);
  1733.   }
  1734. };

  1735. Window_Result.prototype.drawSvActor = function(x, y, mode) {
  1736.   if (mode) {
  1737.     const bitmap = ImageManager.loadSvActor(this._actor.battlerName());
  1738.     if (bitmap && !bitmap.isReady()) {
  1739.       bitmap.addLoadListener(this.drawSvActorImg.bind(this, bitmap, x, y));
  1740.     } else {
  1741.       this.drawSvActorImg(bitmap, x, y);
  1742.     }
  1743.   }
  1744. };

  1745. Window_Result.prototype.drawSvActorImg = function(bitmap, x, y) {
  1746.     const motionIndex = 0;
  1747.     const pw = Math.floor(bitmap.width / 9);
  1748.     const ph = Math.floor(bitmap.height / 6);
  1749.     const sx = Math.floor(motionIndex / 6) * 3;
  1750.     const sy = motionIndex % 6;
  1751.     this.contents.blt(bitmap, sx, sy, pw, ph, x, y - ph);
  1752. };

  1753. Window_Result.prototype.drawExpGauge = function(x, y, mode) {
  1754.   if (mode) {
  1755.     this.placeExpGauge(this._actor, x, y);
  1756.   }
  1757. };

  1758. Window_Result.prototype.drawActorName = function(x, y, width, mode) {
  1759.   if (mode) {
  1760.     if (!this._actor.isAlive()) {
  1761.       this.changeTextColor(ColorManager.deathColor());
  1762.     }
  1763.     this.contents.fontSize = $gameSystem.mainFontSize() + param.ActorNameFontSize;
  1764.     this.drawText(this._actor.name(), x, y, width);
  1765.     this.contents.fontSize = $gameSystem.mainFontSize();
  1766.     this.resetTextColor();
  1767.   }
  1768. };

  1769. Window_Result.prototype.drawActorStatusName = function(x, y, width) {
  1770.   if (!this._actor.isAlive()) {
  1771.     this.changeTextColor(ColorManager.deathColor());
  1772.   }
  1773.   this.drawText(this._actor.name(), x, y, width);
  1774.   this.resetTextColor();
  1775. };

  1776. Window_Result.prototype.drawActorLevel = function(x, y, mode) {
  1777.   const exp = BattleManager._rewards.exp;
  1778.   const actor = this._actor;
  1779.   if (!isNaN(exp)) {
  1780.     const level = actor.resultGainExp(exp);
  1781.     const oldStatus = [];
  1782.     if (mode) {
  1783.       this.contents.fontSize = $gameSystem.mainFontSize() + param.LevelFontSize;
  1784.       this.changeTextColor(ColorManager.systemColor());
  1785.       this.drawText(TextManager.levelA, x, y, 48);
  1786.     }
  1787.     if (level > actor._level) {
  1788.       this._levelUp = true;
  1789.       BattleManager._levelUpPageEnable = BattleManager._levelUpPageEnable === undefined || BattleManager._levelUpPageEnable === null ? param.LavelUpWindowShow : BattleManager._levelUpPageEnable;
  1790.       for (let i = 0; i < 8; i++) {
  1791.         oldStatus[i] = actor.param(i);
  1792.       }
  1793.       oldStatus.push(actor._level);
  1794.       this.actorOldStatus.push(oldStatus);
  1795.       this.changeTextColor(ColorManager.textColor(param.LevelUpValueColor));
  1796.       if (BattleManager._levelUpPageEnable) {
  1797.         this.actorLevelUp.push(actor);
  1798.         if (Imported.NUUN_Base) {
  1799.           if (!actor.resultActorImg || !Array.isArray(actor.resultActorImg.ActorImg) || !actor.resultActorBitmap) {//配列仕様前の判定
  1800.             actor.initResultActorImg(actor.actorId());
  1801.           }
  1802.           if (actor.resultActorImg.ActorImg) {
  1803.             if (this._resultActorImgWindow) {
  1804.               this._resultActorImgWindow.loadActorImg(actor);
  1805.             } else {
  1806.               this.loadActorImg(actor);
  1807.             }
  1808.             if (!actor.resultActorBitmap) {
  1809.               ImageManager.nuun_LoadPictures(actor.resultActorImg.ActorImg[actor.resultImgId]);
  1810.             } else {
  1811.               ImageManager.nuun_LoadPictures(actor.resultActorBitmap);
  1812.             }
  1813.           }
  1814.         }
  1815.       }
  1816.     } else {
  1817.       this.resetTextColor();
  1818.     }
  1819.     if (mode) {
  1820.     this.drawText(level, x + 30, y, 70 - 30, "right");
  1821.     }
  1822.     this.contents.fontSize = $gameSystem.mainFontSize();
  1823.     this.resetTextColor();
  1824.   }
  1825. };

  1826. Window_Result.prototype.drawLevelUp = function(x, y, width, mode) {
  1827.   if (this._levelUp) {
  1828.     if (mode) {
  1829.       this.changeTextColor(ColorManager.textColor(param.LevelUpNameColor));
  1830.       this.contents.fontSize = $gameSystem.mainFontSize() + param.LevelUpFontSize;
  1831.       const position = param.LavelUpPosition === 1 ? "center" : "left";
  1832.       this.drawText(param.LevelUpName, x, y, width, position);
  1833.       this.resetTextColor();
  1834.       this.contents.fontSize = $gameSystem.mainFontSize();
  1835.     }
  1836.     this._levelUp = false;
  1837.   }
  1838. };

  1839. Window_Result.prototype.drawGetItems = function(x, y, width) {
  1840.   const items = BattleManager._rewards.items;
  1841.   const lineHeight = this.lineHeight();
  1842.   this.drawText(param.GetItemName, x, y, width, "left");
  1843.   if (items) {
  1844.     for (let i = 0; items.length > i; i++) {
  1845.       let y2 = y + lineHeight * (i + 1);
  1846.       this.drawItemName(items[i], x, y2, width);
  1847.     }
  1848.   }
  1849. };

  1850. Window_Result.prototype.drawGainGold = function(date, x, y, width) {
  1851.   if (!isNaN(BattleManager._rewards.gold)) {
  1852.     const gold = date.GainParamEval ? eval(date.GainParamEval) : BattleManager._rewards.gold;
  1853.     this.changeTextColor(ColorManager.systemColor());
  1854.     if (date.GainParamName) {
  1855.       this.drawText(date.GainParamName, x, y, 80, "left");
  1856.     }
  1857.     this.resetTextColor();
  1858.     this.drawCurrencyValue(gold, this.currencyUnit(), x + 80, y, width - 80);
  1859.     this.resetTextColor();
  1860.   }
  1861. };

  1862. Window_Result.prototype.drawGainExp = function(date, x, y, width) {
  1863.   if (!isNaN(BattleManager._rewards.exp)) {
  1864.     const exp = date.GainParamEval ? eval(date.GainParamEval) : BattleManager._rewards.exp;
  1865.     this.changeTextColor(ColorManager.systemColor());
  1866.     if (date.GainParamName) {
  1867.       this.drawText(date.GainParamName, x, y, 120, "left");
  1868.     }
  1869.     this.resetTextColor();
  1870.     this.drawText(exp, x + 120, y,  width - 120, "right");
  1871.   }
  1872. };

  1873. Window_Result.prototype.drawPartyOriginalParam = function(date, x, y, width) {
  1874.   if (!isNaN(BattleManager._rewards.exp)) {
  1875.     const result = eval(date.GainParamEval);
  1876.     this.changeTextColor(ColorManager.systemColor());
  1877.     if (date.GainParamName) {
  1878.       this.drawText(date.GainParamName, x, y, 120, "left");
  1879.     }
  1880.     this.resetTextColor();
  1881.     this.drawText(result, x + 120, y,  width - 120, "right");
  1882.   }
  1883. };

  1884. Window_Result.prototype.drawGetEXP = function(x, y, width, mode) {
  1885.   if (mode) {
  1886.     const exp = BattleManager._rewards.exp;
  1887.     if (!isNaN(exp)) {
  1888.       let x2 = x;
  1889.       if (param.GainEXPVisible) {
  1890.         const finalExp = Math.round(exp * this._actor.finalExpRate());
  1891.         this.contents.fontSize = $gameSystem.mainFontSize() + param.EXPFontSize;
  1892.         const textWidth = this.textWidth(param.GetEXPName);
  1893.         this.changeTextColor(ColorManager.systemColor());
  1894.         this.drawText(param.GetEXPName, x, y, width, "left");
  1895.         if (exp > finalExp && finalExp > 0) {
  1896.           this.changeTextColor(ColorManager.textColor(param.EXPResistValueColor));
  1897.         } else if (exp < finalExp) {
  1898.           this.changeTextColor(ColorManager.textColor(param.EXPBoostValueColor));
  1899.         } else {
  1900.           this.resetTextColor();
  1901.         }
  1902.         const text = "+"+ finalExp;
  1903.         x2 += param.LavelUpPosition === 2 ? Math.min(this.textWidth(text), width - x - 190) + textWidth + (this.itemPadding() * 2) : 0;
  1904.         this.drawText(text, x + textWidth + this.itemPadding(), y, width - x - 190, "left");
  1905.         this.resetTextColor();
  1906.         this.contents.fontSize = $gameSystem.mainFontSize();
  1907.       }
  1908.       if (param.LavelUpPosition === 2) {
  1909.         this.drawLevelUp(x2 + param.LevelUp_X, y + param.LevelUp_Y, width);
  1910.       }
  1911.     }
  1912.   }
  1913. };

  1914. Window_Result.prototype.drawActorStatusLevel = function(x, y) {
  1915.   const oldStatus = this.actorOldStatus[this.page - 1];
  1916.   this.changeTextColor(ColorManager.systemColor());
  1917.   this.drawText(TextManager.levelA, x, y, 48);
  1918.   this.resetTextColor();
  1919.   this.drawText(oldStatus[oldStatus.length - 1], x + 48, y, 100, "left");
  1920.   this.changeTextColor(ColorManager.systemColor());
  1921.   this.drawText("→", x + 48, y, 100, "center");
  1922.   this.changeTextColor(ColorManager.textColor(param.DifferenceStatusColor));
  1923.   this.drawText(this._actor._level, x + 48, y, 100, "right");
  1924.   this.resetTextColor();
  1925. };

  1926. Window_Result.prototype.drawActorStatus = function(x, y, width) {
  1927.   let y2 = y
  1928.   const visibleStatus = param.VisibleStatus;
  1929.   const lineHeight = this.lineHeight() + param.StatusFontSize;
  1930.   this.contents.fontSize = $gameSystem.mainFontSize() + param.StatusFontSize;
  1931.   const oldStatus = this.actorOldStatus[this.page - 1];
  1932.   visibleStatus.forEach(status => {
  1933.     const name = this.paramName(status.StatusParamDate, status.OriginalParamName);
  1934.     const oldValue = this.paramOld(status.StatusParamDate, oldStatus);
  1935.     const value = this.paramValue(status.StatusParamDate, status.OriginalParamEval);
  1936.     this.changeTextColor(ColorManager.systemColor());
  1937.     this.drawText(name, x, y2, width - 200);
  1938.     this.resetTextColor();
  1939.     if (status.DifferenceVisible && oldValue) {
  1940.       this.drawText(oldValue, x + (width - 200), y2, 60, "left");
  1941.       this.changeTextColor(ColorManager.systemColor());
  1942.       this.drawText("→", x + (width - 110), y2, width - 160, "left");
  1943.       if (oldValue < value) {
  1944.         this.changeTextColor(ColorManager.textColor(param.DifferenceStatusColor));
  1945.       } else {
  1946.         this.resetTextColor();
  1947.       }
  1948.     }
  1949.     this.drawText(value, x + width - 60, y2, 60, "right");
  1950.     this.resetTextColor();
  1951.     y2 += lineHeight;
  1952.   });
  1953.   this.contents.fontSize = $gameSystem.mainFontSize();
  1954. };

  1955. Window_Result.prototype.currencyUnit = function() {
  1956.   return TextManager.currencyUnit;
  1957. };

  1958. Window_Result.prototype.drawFace = function(faceName, faceIndex, x, y, width, height) {
  1959.   const scale = this.page === 0 ? param.FaceScale / 100 : 1;
  1960.   width = width || ImageManager.faceWidth;
  1961.   height = height || ImageManager.faceHeight;
  1962.   const bitmap = ImageManager.loadFace(faceName);
  1963.   if (this.page === 0) {
  1964.     const contentsHeight = this.actorContentHeight(scale);
  1965.     if (param.ResultActorAutoSize) {
  1966.       if (height * scale > contentsHeight) {
  1967.         height = Math.floor((contentsHeight / (contentsHeight * scale)) * contentsHeight);
  1968.       }
  1969.     }
  1970.     var pw = ImageManager.faceWidth;
  1971.     var ph = ImageManager.faceHeight;
  1972.     var sw = Math.min(width, pw);
  1973.     var sh = Math.min(height, ph);
  1974.     var dy = Math.floor(y + Math.max(height - ph, 0) / 2);
  1975.     var sx = Math.floor((faceIndex % 4) * pw + (pw - sw) / 2);
  1976.     var sy = Math.floor(Math.floor(faceIndex / 4) * ph + (ph - sh) / 2);
  1977.     var dw = Math.floor(sw * scale);
  1978.     var dh = Math.floor(sh * scale);
  1979.   } else {
  1980.     var pw = ImageManager.faceWidth;
  1981.     var ph = ImageManager.faceHeight;
  1982.     var sw = Math.min(width, pw);
  1983.     var sh = Math.min(height, ph);
  1984.     var dy = Math.floor(y + Math.max(height - ph, 0) / 2);
  1985.     var sx = Math.floor((faceIndex % 4) * pw + (pw - sw) / 2);
  1986.     var sy = Math.floor(Math.floor(faceIndex / 4) * ph + (ph - sh) / 2);
  1987.     var dw = Math.floor(sw * scale);
  1988.     var dh = Math.floor(sh * scale);
  1989.   }
  1990.   this.contents.blt(bitmap, sx, sy, sw, sh, x, dy, dw, dh);
  1991. };

  1992. Window_Result.prototype.drawActorCharacter = function(x, y, mode) {
  1993.   if (mode) {
  1994.     this.drawCharacter(this._actor.characterName(), this._actor.characterIndex(), x, y);
  1995.   }
  1996. };

  1997. Window_Result.prototype.placeExpGauge = function(actor, x, y) {
  1998.   const type = 'result_exp'
  1999.   const key = "resultActor%1-gauge-%2".format(actor.actorId(), type);
  2000.   const sprite = this.createInnerSprite(key, Sprite_ResultExpGauge);
  2001.   sprite.setup(actor, type);
  2002.   sprite.move(x, y);
  2003.   sprite.show();
  2004. };

  2005. Window_Result.prototype.removeExpGauge = function(actor) {
  2006.   const type = 'result_exp'
  2007.   const key = "resultActor%1-gauge-%2".format(actor.actorId(), type);
  2008.   const dict = this._additionalSprites;
  2009.   if (dict[key]) {
  2010.     this._clientArea.removeChild(dict[key]);
  2011.     dict[key] = null;
  2012.   }
  2013. };

  2014. Window_Result.prototype.drawHorzLine = function(x, y, width) {
  2015.   const lineY = y + this.lineHeight() / 2 - 1;
  2016.   this.contents.paintOpacity = 48;
  2017.   this.contents.fillRect(x, lineY, width, 2, ColorManager.textColor(param.LineColor));
  2018.   this.contents.paintOpacity = 255;
  2019. };

  2020. Window_Result.prototype.onTouchCancel = function() {
  2021.   if (this.isCancelEnabled()) {
  2022.       this.processOk();
  2023.   }
  2024. };

  2025. Window_Result.prototype.processOk = function() {
  2026.   if (BattleManager.resultRefresh === 0) {
  2027.     Window_StatusBase.prototype.processOk.call(this);
  2028.   }
  2029. };

  2030. Window_Result.prototype.setActorImgWindow = function(resultActorImgWindow) {
  2031.   this._resultActorImgWindow = resultActorImgWindow;
  2032. };

  2033. Window_Result.prototype.paramName = function(params, option) {
  2034.   switch (params) {
  2035.     case 0:
  2036.     case 1:
  2037.     case 2:
  2038.     case 3:
  2039.     case 4:
  2040.     case 5:
  2041.     case 6:
  2042.     case 7:
  2043.       return TextManager.param(params);
  2044.     case 20:
  2045.       return option;
  2046.     default:
  2047.       return null;
  2048.   }
  2049. };

  2050. Window_Result.prototype.paramOld = function(params, oldStatus) {
  2051.   switch (params) {
  2052.     case 0:
  2053.     case 1:
  2054.     case 2:
  2055.     case 3:
  2056.     case 4:
  2057.     case 5:
  2058.     case 6:
  2059.     case 7:
  2060.       return oldStatus[params];
  2061.     default:
  2062.       return null;
  2063.   }
  2064. };

  2065. Window_Result.prototype.paramValue = function(params, option) {
  2066.   switch (params) {
  2067.     case 0:
  2068.     case 1:
  2069.     case 2:
  2070.     case 3:
  2071.     case 4:
  2072.     case 5:
  2073.     case 6:
  2074.     case 7:
  2075.       return this._actor.param(params);
  2076.     case 20:
  2077.       const actor = this._actor.actor();
  2078.       return eval(option)
  2079.     default:
  2080.       return null;
  2081.   }
  2082. };

  2083. function Window_ResultDropItem() {
  2084.   this.initialize(...arguments);
  2085. }

  2086. Window_ResultDropItem.prototype = Object.create(Window_StatusBase.prototype);
  2087. Window_ResultDropItem.prototype.constructor = Window_ResultDropItem;

  2088. Window_ResultDropItem.prototype.initialize = function(rect) {
  2089.   Window_StatusBase.prototype.initialize.call(this, rect);
  2090.   this.openness = 0;
  2091.   this.page = 0;
  2092.   this.maxPage = 0;
  2093.   this.dropItemRows = Math.floor((this.innerHeight - this.lineHeight() * (this.gainParamLength() + 1)) / this.lineHeight());
  2094.   this.skillRows = Math.floor((this.innerHeight - this.lineHeight() * (this.skillTop() + 1)) / this.lineHeight());
  2095.   this.opacity = 0;
  2096.   this.frameVisible = false;
  2097. };

  2098. Window_ResultDropItem.prototype.actorContentWidth = function(rect) {
  2099.   return param.ResultActorWidth < 0 ? (rect.width - Math.floor(rect.width / 2.6)) : param.ResultActorWidth;
  2100. };

  2101. Window_ResultDropItem.prototype.skillTop = function() {
  2102.   return param.FaceVisible ? 4.5 : 2;
  2103. };

  2104. Window_ResultDropItem.prototype.gainParamLength = function() {
  2105.   return param.GainParam.length;
  2106. };

  2107. Window_ResultDropItem.prototype.setWindowResult = function(windowResult) {
  2108.   this._windowResult = windowResult;
  2109. };

  2110. Window_ResultDropItem.prototype.maxPages = function() {
  2111.   if (this._windowResult.page > 0) {
  2112.     return Math.ceil(this._windowResult._actor._learnSkill.length / this.skillRows)
  2113.   } else {
  2114.     return Math.ceil(BattleManager._rewards.items.length / this.dropItemRows);
  2115.   }
  2116. };

  2117. Window_ResultDropItem.prototype.refresh = function() {
  2118.   this.contents.clear();
  2119.   const rect = this.itemRect(0);
  2120.   const lineHeight = this.lineHeight();
  2121.   const itemPadding = this.itemPadding();
  2122.   const x = rect.x + (rect.width - Math.floor(rect.width / 2.6));
  2123.   if (this._windowResult.page > 0) {
  2124.     const actor = this._windowResult._actor;
  2125.     this.drawLearnSkill(actor, rect.x + rect.width / 2 + itemPadding, rect.y + lineHeight * this.skillTop(), rect.width / 2 - itemPadding);
  2126.   } else {
  2127.     const width = this.actorContentWidth(rect);
  2128.     this.drawGetItems(rect.x + width, rect.y, rect.width - width - rect.x);
  2129.   }
  2130. };

  2131. Window_ResultDropItem.prototype.drawGetItems = function(x, y, width) {
  2132.   const items = BattleManager._rewards.items;
  2133.   const lineHeight = this.lineHeight();
  2134.   const maxPage = this.maxPages();
  2135.   y += this.gainParamLength() * lineHeight + param.DropItem_Y;
  2136.   this.changeTextColor(ColorManager.systemColor());
  2137.   this.drawText(param.GetItemName, x, y, width - 48, "left");
  2138.   this.resetTextColor();
  2139.   if (items) {
  2140.     const index = this.dropItemRows * this.page;
  2141.     const maxItems = Math.min(this.dropItemRows, items.length - index);
  2142.     if (maxPage > 1) {
  2143.       this.drawText(this.page + 1 +"/"+maxPage, x, y, width, "right");
  2144.     }
  2145.     for (let i = 0; maxItems > i; i++) {
  2146.       let y2 = y + lineHeight * (i + 1);
  2147.       this.resetTextColor();
  2148.       this.drawItemName(items[i + index], x, y2, width);
  2149.     }
  2150.   }
  2151. };

  2152. Window_ResultDropItem.prototype.drawItemName = function(item, x, y, width) {
  2153.   if (Imported.NUUN_ItemNameColor && item.meta.ResultItemColor) {
  2154.     this.nameColor = ColorManager.textColor(Number(item.meta.ResultItemColor))
  2155.   }
  2156.   Window_Base.prototype.drawItemName.call(this, item, x, y, width);
  2157. };

  2158. Window_ResultDropItem.prototype.drawLearnSkill = function(actor, x, y, width) {
  2159.   const lineHeight = this.lineHeight();
  2160.   const learnSkill = actor._learnSkill;
  2161.   const maxPage = this.maxPages();
  2162.   this.changeTextColor(ColorManager.systemColor());
  2163.   this.drawText(param.learnSkillName, x, y, width - 48, "left");
  2164.   this.resetTextColor();
  2165.   if (learnSkill) {
  2166.     const index = this.skillRows * this.page;
  2167.     const maxItems = Math.min(this.skillRows, learnSkill.length - index);
  2168.     if (maxPage > 1) {
  2169.       this.drawText(this.page + 1 +"/"+maxPage, x, y, width, "right");
  2170.     }
  2171.     for (let i = 0; i < maxItems; i++) {
  2172.       let y2 = y + lineHeight * (i + 1);
  2173.       const skill =  $dataSkills[learnSkill[i + index]];
  2174.       this.drawItemName(skill, x, y2, width);
  2175.     }
  2176.   }
  2177. };



  2178. function Sprite_ResultActor() {
  2179.   this.initialize(...arguments);
  2180. }

  2181. Sprite_ResultActor.prototype = Object.create(Sprite.prototype);
  2182. Sprite_ResultActor.prototype.constructor = Sprite_ResultActor;

  2183. Sprite_ResultActor.prototype.initialize = function() {
  2184.   Sprite.prototype.initialize.call(this);
  2185.   this.initMembers();
  2186. };

  2187. Sprite_ResultActor.prototype.initMembers = function() {
  2188.   this._battler = null;
  2189. };

  2190. Sprite_ResultActor.prototype.setup = function(battler, bitmap, scale) {
  2191.   if (this._battler !== battler) {
  2192.     this.scale.x = 1.0;
  2193.     this.scale.y = 1.0;
  2194.   }
  2195.   this._battler = battler;
  2196.   this.bitmap = bitmap;
  2197.   this.scale.x *= scale;
  2198.   this.scale.y *= scale;
  2199. };

  2200. function Sprite_ResultExpGauge() {
  2201.   this.initialize(...arguments);
  2202. }

  2203. Sprite_ResultExpGauge.prototype = Object.create(Sprite_Gauge.prototype);
  2204. Sprite_ResultExpGauge.prototype.constructor = Sprite_ResultExpGauge;

  2205. Sprite_ResultExpGauge.prototype.initialize = function() {
  2206.   Sprite_Gauge.prototype.initialize.call(this);
  2207.   this._currentExp = 0;
  2208.   this._startCurrentExp = 0;
  2209.   this._resultExpMoveMode = false;
  2210.   this._resultExpMoveDelay = 0;
  2211.   this._resultExpMoveValue = NaN;
  2212.   this._maxValueY = param.GaugeMaxValueY;
  2213. };

  2214. Sprite_ResultExpGauge.prototype.bitmapWidth = function() {
  2215.   return gaugeWidth;
  2216. };


  2217. Sprite_ResultExpGauge.prototype.gaugeX = function() {
  2218.   return param.Gauge_Margin;
  2219. };

  2220. Sprite_ResultExpGauge.prototype.valueFontSize = function() {
  2221.   return $gameSystem.mainFontSize() + param.GaugeValueFontSize;
  2222. };

  2223. Sprite_ResultExpGauge.prototype.setup = function(battler, statusType) {
  2224.   this._nowLevel = battler._level;
  2225.   Sprite_Gauge.prototype.setup.call(this, battler, statusType);
  2226.   this._instant = false;
  2227.   this._startCurrentExp = battler.currentExp() - battler.currentLevelExp();
  2228.   this._resultExpMoveMode = false;
  2229.   this._resultExpMoveDelay = 0;
  2230.   this._resultExpMoveValue = isNaN(this._resultExpMoveValue) ? this.currentValue() : this._resultExpMoveValue;
  2231. };

  2232. Sprite_ResultExpGauge.prototype.updateBitmap = function() {
  2233.   Sprite_Gauge.prototype.updateBitmap.call(this);
  2234.   const value = this.currentValue();
  2235.   if (this._resultExpMoveValue !== value) {
  2236.     if (isNaN(this._resultExpMoveValue)) {
  2237.       this._resultExpMoveValue = this.currentValue();
  2238.     }
  2239.     this.valueRedraw();
  2240.   }
  2241. };

  2242. Sprite_ResultExpGauge.prototype.valueRedraw = function() {
  2243.   this.currentResultValueMove(this.currentValue());
  2244.   Sprite_Gauge.prototype.redraw.call(this);
  2245. };

  2246. const _Sprite_Gauge_drawValue = Sprite_Gauge.prototype.drawValue;
  2247. Sprite_Gauge.prototype.drawValue = function() {
  2248.   if (this._statusType === "result_exp") {
  2249.     const width = this.bitmapWidth();
  2250.     const height = this.bitmapHeight();
  2251.     this._resultExpMoveMode = param.GaugeRefreshFrame > 0 && param.GaugeValueShow ? true : false;
  2252.     let expValue = this.currentValue();
  2253.     if (param.GaugeValueShow > 0) {
  2254.       this.setupValueFont();
  2255.       if (param.GaugeValueShow === 1) {
  2256.         expValue = this.maxLavel() ? "----------" : expValue;
  2257.         this.bitmap.drawText(expValue, width - 100, 0, 100, height, "right");
  2258.       } else if (param.GaugeValueShow === 2) {
  2259.         expValue = this.maxLavel() ? "----------" : expValue;
  2260.         if (!this.maxLavel()) {
  2261.           this.bitmap.fontSize = $gameSystem.mainFontSize() + param.GaugeMaxValueFontSize;
  2262.           const textWidth = Math.min(this.bitmap.measureTextWidth(this.currentMaxValue()), 70);
  2263.           this.bitmap.drawText(this.currentMaxValue(), width - textWidth, this._maxValueY, textWidth, height, "right");
  2264.           this.bitmap.fontSize = this.valueFontSize();
  2265.           this.bitmap.drawText("/", width - (textWidth + 40), 0, 36, height, "right");
  2266.           this.bitmap.drawText(expValue, width - (textWidth + 90), 0, 70, height, "right");
  2267.         } else {
  2268.           this.bitmap.drawText(expValue, width - 100, 0, 100, height, "right");
  2269.         }
  2270.       } else {
  2271.         expValue = this.maxLavel() ? this.currentMaxValue() : expValue;
  2272.         const rate = this.currentDecimal(expValue / this.currentMaxValue() * 100);
  2273.         this.bitmap.drawText(rate +"%", width - 100, 0, 100, height, "right");
  2274.       }
  2275.     }
  2276.   } else {
  2277.     _Sprite_Gauge_drawValue.call(this);
  2278.   }
  2279. };

  2280. Sprite_ResultExpGauge.prototype.currentValue = function() {
  2281.   if (this._battler && this._resultExpMoveMode) {
  2282.     this._resultExpMoveMode = false;
  2283.     return Math.round(this._resultExpMoveValue);
  2284.   }
  2285.   return Sprite_Gauge.prototype.currentValue.call(this);
  2286. };

  2287. Sprite_ResultExpGauge.prototype.maxLavel = function() {
  2288.   return this._nowLevel >= this._battler.maxLevel();
  2289. };

  2290. const _Sprite_Gauge_currentValue = Sprite_Gauge.prototype.currentValue;
  2291. Sprite_Gauge.prototype.currentValue = function() {
  2292.   return this._battler && this._statusType === "result_exp" ?
  2293.   this.maxLavel() ? this.currentMaxValue() : Math.min(this._battler.currentExp() - this._battler.expForLevel(this._nowLevel), this.currentMaxValue()) : _Sprite_Gauge_currentValue.call(this);
  2294. };

  2295. const _Sprite_Gauge_currentMaxValue = Sprite_Gauge.prototype.currentMaxValue;
  2296. Sprite_Gauge.prototype.currentMaxValue = function() {
  2297.   return this._battler && this._statusType === "result_exp" ? this._battler.expForLevel(this._nowLevel + 1) - this._battler.expForLevel(this._nowLevel) :
  2298.     _Sprite_Gauge_currentMaxValue.call(this);
  2299. };

  2300. Sprite_ResultExpGauge.prototype.currentResultValueMove = function(currentValue) {
  2301.   if (this._resultExpMoveDelay === 0) {
  2302.     this._resultExpMoveDelay = (currentValue - this._resultExpMoveValue) / (param.GaugeRefreshFrame > 0 ? this.smoothness() : 1);
  2303.   }
  2304.   if (this._resultExpMoveValue > currentValue) {
  2305.     if (this._resultExpMoveValue <= currentValue) {
  2306.       this._resultExpMoveValue = currentValue;
  2307.       this._resultExpMoveDelay = 0;
  2308.     }
  2309.   } else if (this._resultExpMoveValue < currentValue) {
  2310.       this._resultExpMoveValue += this._resultExpMoveDelay;
  2311.     if (this._resultExpMoveValue >= currentValue) {
  2312.       this._resultExpMoveValue = currentValue;
  2313.       this._resultExpMoveDelay = 0;
  2314.     }
  2315.   }
  2316. };

  2317. Sprite_ResultExpGauge.prototype.updateTargetValue = function(value, maxValue) {
  2318.   if (this._instant) {
  2319.     this._startCurrentExp = 0;
  2320.   }
  2321.   Sprite_Gauge.prototype.updateTargetValue.call(this, value, maxValue);
  2322. };

  2323. Sprite_ResultExpGauge.prototype.updateGaugeAnimation = function() {
  2324.   if (this._instant) {
  2325.     this._value = this.maxLavel() ? this._targetMaxValue : 0;
  2326.     this._maxValue = this._targetMaxValue;
  2327.     this.redraw();
  2328.     this._instant = false;
  2329.   } else {
  2330.     Sprite_Gauge.prototype.updateGaugeAnimation.call(this);
  2331.   }
  2332.   if (this._nowLevel < this._battler._level && this._duration === 0) {
  2333.     this._nowLevel++;
  2334.     this._instant = true;
  2335.     this._resultExpMoveValue = 0;
  2336.     if (BattleManager._levelUpSeDate) {
  2337.       AudioManager.playSe(BattleManager._levelUpSeDate);
  2338.     } else {
  2339.       AudioManager.playSe({"name":param.LevelUpSe,"volume":param.volume,"pitch":param.pitch,"pan":param.pan});
  2340.     }
  2341.   }
  2342. };

  2343. Sprite_ResultExpGauge.prototype.smoothSpeed = function() {
  2344.   return (this.currentValue() - this._startCurrentExp) / (BattleManager._rewards.exp * this._battler.finalExpRate());
  2345. };

  2346. Sprite_ResultExpGauge.prototype.smoothness = function() {
  2347.   return Math.max(Math.floor(Sprite_Gauge.prototype.smoothness.call(this) * this.smoothSpeed()), 1);
  2348. };

  2349. const _Sprite_Gauge_smoothness = Sprite_Gauge.prototype.smoothness;
  2350. Sprite_Gauge.prototype.smoothness = function() {
  2351.   return this._statusType === "result_exp" ? param.GaugeRefreshFrame : _Sprite_Gauge_smoothness.call(this);
  2352. };

  2353. Sprite_ResultExpGauge.prototype.currentDecimal = function(val) {
  2354.   if (param.DecimalMode) {
  2355.     return Math.round(val * (param.Decimal > 0 ? Math.pow(10, param.Decimal) : 1)) / (param.Decimal > 0 ? Math.pow(10, param.Decimal) : 1);
  2356.   } else {
  2357.     return Math.floor(val * (param.Decimal > 0 ? Math.pow(10, param.Decimal) : 1)) / (param.Decimal > 0 ? Math.pow(10, param.Decimal) : 1);
  2358.   }
  2359. };

  2360. const _Sprite_Gauge_gaugeColor1 = Sprite_Gauge.prototype.gaugeColor1;
  2361. Sprite_Gauge.prototype.gaugeColor1 = function() {
  2362.   return this._statusType === "result_exp" ? ColorManager.expGaugeColor1() : _Sprite_Gauge_gaugeColor1.call(this);
  2363. };

  2364. const _Sprite_Gauge_gaugeColor2 = Sprite_Gauge.prototype.gaugeColor2;
  2365. Sprite_Gauge.prototype.gaugeColor2 = function() {
  2366.   return this._statusType === "result_exp" ? ColorManager.expGaugeColor2() : _Sprite_Gauge_gaugeColor2.call(this);
  2367. };

  2368. Sprite_ResultExpGauge.prototype.gaugeColor1 = function() {
  2369.   return ColorManager.expGaugeColor1();
  2370. };

  2371. Sprite_ResultExpGauge.prototype.gaugeColor2 = function() {
  2372.   return ColorManager.expGaugeColor2();
  2373. };

  2374. ColorManager.expGaugeColor1 = function() {
  2375.   return this.textColor(17);
  2376. };

  2377. ColorManager.expGaugeColor2 = function() {
  2378.   return this.textColor(6);
  2379. };

  2380. Game_Actor.prototype.resultGainExp = function(exp) {
  2381.   const newExp = Math.max(this.currentExp() + Math.round(exp * this.finalExpRate()), 0);
  2382.   let level = this._level;
  2383.   while (!this.resultIsMaxLevel(level) && newExp >= this.resultNextLevelExp(level)) {
  2384.     level++;
  2385.   }
  2386.   return level;
  2387. };

  2388. Game_Actor.prototype.resultIsMaxLevel = function(level) {
  2389.   return level >= this.maxLevel();
  2390. };

  2391. Game_Actor.prototype.resultNextLevelExp = function(level) {
  2392.   return this.expForLevel(level + 1);
  2393. };

  2394. const _Game_Actor_learnSkill = Game_Actor.prototype.learnSkill;
  2395. Game_Actor.prototype.learnSkill = function(skillId) {
  2396.   if (!this.isLearnedSkill(skillId) && this._learnSkill && BattleManager.onResult) {
  2397.     this._learnSkill.push(skillId);
  2398.   }
  2399.   _Game_Actor_learnSkill.call(this, skillId);
  2400. };

  2401. const _Game_Actor_shouldDisplayLevelUp = Game_Actor.prototype.shouldDisplayLevelUp;
  2402. Game_Actor.prototype.shouldDisplayLevelUp = function() {
  2403.   return BattleManager.onResult ? false : _Game_Actor_shouldDisplayLevelUp.call(this);
  2404. };

  2405. const _BattleManager_initMembers = BattleManager.initMembers;
  2406. BattleManager.initMembers = function() {
  2407.   _BattleManager_initMembers.call(this);
  2408.   this.onResult = false;
  2409.   this._victoryOn = false;
  2410.   this._victoryBGMOn = false;
  2411.   this.resultRefresh = 0;
  2412.   this.resultBusy = this.setResultBusy();
  2413. };

  2414. const _BattleManager_update = BattleManager.update;
  2415. BattleManager.update = function(timeActive) {
  2416.   _BattleManager_update.call(this, timeActive);
  2417.   if (this.resultRefresh > 0) {
  2418.     this.resultRefresh--;
  2419.   }
  2420. };

  2421. BattleManager.setResultBusy = function() {
  2422.   return this.resultBusy = param.ResultVisibleFrame || 0;
  2423. };

  2424. BattleManager.startResultBusy = function() {
  2425.   return this.resultBusy === param.ResultVisibleFrame || 0;
  2426. };

  2427. const _BattleManager_processVictory = BattleManager.processVictory;
  2428. BattleManager.processVictory = function() {
  2429.   if (this.startResultBusy()) {
  2430.     this._victoryOn = true;
  2431.     if (this.resultBusy === 0) {
  2432.       _BattleManager_processVictory.call(this);
  2433.       return;
  2434.     }
  2435.     this.displayVictoryNoBusy();
  2436.   }
  2437.   $gameParty.performVictory();
  2438.   if (this.resultBusy > 0) {
  2439.     this.resultBusy--;
  2440.   }
  2441.   if (this.resultBusy === 0) {
  2442.     this.displayVictoryOnBusy();
  2443.   }
  2444. };

  2445. BattleManager.displayVictoryNoBusy = function() {
  2446.   $gameParty.removeBattleStates();
  2447.   this.playVictoryMe();
  2448.   this.replayBgmAndBgs();
  2449.   this.makeRewards();
  2450. };

  2451. BattleManager.displayVictoryOnBusy = function() {
  2452.   this.displayVictoryMessage();
  2453.   this.displayRewards();
  2454.   this.gainRewards();
  2455.   this.endBattle(0);
  2456. };

  2457. BattleManager.displayVictoryMessage = function() {
  2458.   //メッセージは表示しない。
  2459. };

  2460. BattleManager.displayRewards = function() {
  2461.   SceneManager._scene.resultOpen();
  2462.   this.onResult = true;
  2463. };

  2464. const _BattleManager_gainRewards = BattleManager.gainRewards;
  2465. BattleManager.gainRewards = function() {
  2466.   _BattleManager_gainRewards.call(this);
  2467.   this.onResult = false;
  2468. };

  2469. const _BattleManager_isBusy = BattleManager.isBusy;
  2470. BattleManager.isBusy = function() {
  2471.   return SceneManager._scene._resultWindow.active || _BattleManager_isBusy.call(this);
  2472. };

  2473. const _BattleManager_replayBgmAndBgs = BattleManager.replayBgmAndBgs;
  2474. BattleManager.replayBgmAndBgs = function() {
  2475.   this._victoryBGMEnable = (this._victoryBGMEnable === undefined || this._victoryBGMEnable === null) ? true : this._victoryBGMEnable;
  2476.   if (this._victoryBGMEnable && this._victoryOn) {
  2477.     if (this._victoryBgmDate && this._victoryBgmDate.name) {
  2478.       AudioManager.playBgm(this._victoryBgmDate);
  2479.       this._victoryBGMOn = true;
  2480.       return;
  2481.     } else if (param.VictoryBGM) {
  2482.       AudioManager.playBgm(this.playVictoryBgm());
  2483.       this._victoryBGMOn = true;
  2484.       return;
  2485.     }
  2486.   }
  2487.   _BattleManager_replayBgmAndBgs.call(this);
  2488. };

  2489. BattleManager.playVictoryBgm = function() {
  2490.   const _victoryBgm = {};
  2491.   _victoryBgm.name = param.VictoryBGM;
  2492.   _victoryBgm.volume = param.VictoryVolume;
  2493.   _victoryBgm.pitch = param.VictoryPitch;
  2494.   _victoryBgm.pan = param.VictoryPan;
  2495.   return _victoryBgm;
  2496. };

  2497. BattleManager.victoryBGMSelect = function(bgmDate) {
  2498.   if (!bgmDate._BGM) {
  2499.     this._victoryBgmDate = {};
  2500.     this._noVictoryME = false;
  2501.     return;
  2502.   }
  2503.   this._victoryBgmDate = {};
  2504.   this._victoryBgmDate.name = String(bgmDate._BGM);
  2505.   this._victoryBgmDate.volume = Number(bgmDate.Volume);
  2506.   this._victoryBgmDate.pitch = Number(bgmDate.Pitch);
  2507.   this._victoryBgmDate.pan = Number(bgmDate.Pan);
  2508.   this._noVictoryME = eval(bgmDate.NoVictoryME);
  2509. };

  2510. BattleManager.levelUpSeSelect = function(bgmSe) {
  2511.   if (!bgmSe.LevelUP_SE) {
  2512.     this._levelUpSeDate = {};
  2513.     return;
  2514.   }
  2515.   this._levelUpSeDate = {};
  2516.   this._levelUpSeDate.name = String(bgmSe.LevelUP_SE);
  2517.   this._levelUpSeDate.volume = Number(bgmSe.Volume);
  2518.   this._levelUpSeDate.pitch = Number(bgmSe.Pitch);
  2519.   this._levelUpSeDate.pan = Number(bgmSe.Pan);
  2520. };

  2521. const _BattleManager_playVictoryMe = BattleManager.playVictoryMe;
  2522. BattleManager.playVictoryMe = function() {
  2523.   if (!this._noVictoryME) {
  2524.     _BattleManager_playVictoryMe.call(this);
  2525.   }
  2526. };

  2527. BattleManager.playMapBgm = function() {
  2528.   if (!this._victoryBGMOn) {
  2529.     return;
  2530.   }
  2531.   if (this._mapBgm) {
  2532.     AudioManager.replayBgm(this._mapBgm);
  2533.   } else {
  2534.     AudioManager.stopBgm();
  2535.   }
  2536.   if (this._mapBgs) {
  2537.     AudioManager.replayBgs(this._mapBgs);
  2538.   }
  2539. };

  2540. BattleManager.victoryBGMEnable = function(enable) {
  2541.   this._victoryBGMEnable = enable;
  2542. };

  2543. BattleManager.levelUpPageEnable = function(enable) {
  2544.   this._levelUpPageEnable = enable;
  2545. };

  2546. })();
复制代码
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
168
在线时间
25 小时
注册时间
2020-9-10
帖子
13
3
 楼主| 发表于 2025-2-10 10:53:35 | 只看该作者

哥,你这个插件目前无法使用,说使用该插件,必须先拥有MUUN_Base这个核心插件,不然无法使用

点评

都喂到嘴边了,连自己搜一下都不愿意https://github.com/nuun888/MZ  发表于 2025-2-10 13:15
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
168
在线时间
25 小时
注册时间
2020-9-10
帖子
13
4
 楼主| 发表于 2025-2-10 16:32:24 | 只看该作者
沉静 发表于 2025-2-10 10:53
哥,你这个插件目前无法使用,说使用该插件,必须先拥有MUUN_Base这个核心插件,不然无法使用 ...

哥,https://github.com/nuun888/MZ 是需要科学上网的,虽然味到嘴边了,但是无法下咽啊………………
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2025-2-20 12:15

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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