-
Notifications
You must be signed in to change notification settings - Fork 130
/
Copy pathBattleLogOutput.js
89 lines (83 loc) · 3.17 KB
/
BattleLogOutput.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
/*=============================================================================
BattleLogOutput.js
----------------------------------------------------------------------------
(C)2023 Triacontane
This software is released under the MIT License.
http://opensource.org/licenses/mit-license.php
----------------------------------------------------------------------------
Version
1.0.0 2023/08/11 初版
----------------------------------------------------------------------------
[Blog] : https://triacontane.blogspot.jp/
[Twitter]: https://twitter.com/triacontane/
[GitHub] : https://github.com/triacontane/
=============================================================================*/
/*:
* @plugindesc バトルログ出力プラグイン
* @target MZ
* @url https://github.com/triacontane/RPGMakerMV/tree/mz_master/BattleLogOutput.js
* @base PluginCommonBase
* @orderAfter PluginCommonBase
* @author トリアコンタン
*
* @command OUTPUT_LOG
* @text バトルログ出力
* @desc バトルログを出力します。
*
* @arg message
* @text 出力メッセージ
* @desc バトルログとして出力するメッセージです。
* @default
* @type multiline_string
*
* @arg pushBaseLine
* @text ベースライン追加
* @desc バトルログ出力前に表示していたログを消去し、先頭からログ出力します。
* @default true
* @type boolean
*
* @arg waitCount
* @text ウェイト
* @desc 指定したフレームが経過したのち、すべてのログを削除します。0を指定するとログは削除されません。
* @default 0
* @type number
*
* @help BattleLogOutput.js
*
* プラグインコマンドからバトルログを出力できます。
* このコマンドは戦闘画面でのみ有効です。
*
* このプラグインの利用にはベースプラグイン『PluginCommonBase.js』が必要です。
* 『PluginCommonBase.js』は、RPGツクールMZのインストールフォルダ配下の
* 以下のフォルダに格納されています。
* dlc/BasicResources/plugins/official
*
* 利用規約:
* 作者に無断で改変、再配布が可能で、利用形態(商用、18禁利用等)
* についても制限はありません。
* このプラグインはもうあなたのものです。
*/
(() => {
'use strict';
const script = document.currentScript;
PluginManagerEx.registerCommand(script, 'OUTPUT_LOG', args => {
BattleManager.displayCustomLog(args.message, args.pushBaseLine, args.waitCount);
});
BattleManager.displayCustomLog = function(text, pushBaseLine, waitCount) {
this._logWindow.displayCustomLog(text, pushBaseLine, waitCount);
};
Window_BattleLog.prototype.displayCustomLog = function(text, pushBaseLine, waitCount) {
if (pushBaseLine) {
this.push("pushBaseLine");
}
const textList = text.split('\n');
textList.forEach(text => this.push('addText', text));
if (waitCount > 0) {
this.push('waitForCount', waitCount);
this.push("clear");
}
};
Window_BattleLog.prototype.waitForCount = function(count) {
this._waitCount = count;
};
})();