4091 lines
No EOL
152 KiB
JavaScript
4091 lines
No EOL
152 KiB
JavaScript
//=============================================================================
|
||
// アクターのステータス表示を変更するプラグイン
|
||
// FTKR_CustomSimpleActorStatus.js
|
||
// プラグインNo : 9
|
||
// 作成者 : フトコロ
|
||
// 作成日 : 2017/03/09
|
||
// 最終更新日 : 2019/05/12
|
||
// バージョン : v3.5.3
|
||
//=============================================================================
|
||
// GraphicalDesignMode.js
|
||
// ----------------------------------------------------------------------------
|
||
// Copyright (c) 2015 Triacontane
|
||
// This software is released under the MIT License.
|
||
// http://opensource.org/licenses/mit-license.php
|
||
//=============================================================================
|
||
|
||
var Imported = Imported || {};
|
||
Imported.FTKR_CSS = true;
|
||
|
||
var FTKR = FTKR || {};
|
||
FTKR.CSS = FTKR.CSS || {};
|
||
|
||
//=============================================================================
|
||
/*:
|
||
* @plugindesc v3.5.3 アクターのステータス表示を変更するプラグイン
|
||
* @author フトコロ
|
||
*
|
||
* @noteParam CSS_画像
|
||
* @noteRequire 1
|
||
* @noteDir img/pictures/
|
||
* @noteType file
|
||
* @noteData actors
|
||
*
|
||
* @noteParam CSS_画像
|
||
* @noteRequire 1
|
||
* @noteDir img/pictures/
|
||
* @noteType file
|
||
* @noteData items
|
||
*
|
||
* @noteParam CSS_画像
|
||
* @noteRequire 1
|
||
* @noteDir img/pictures/
|
||
* @noteType file
|
||
* @noteData weapons
|
||
*
|
||
* @noteParam CSS_画像
|
||
* @noteRequire 1
|
||
* @noteDir img/pictures/
|
||
* @noteType file
|
||
* @noteData armors
|
||
*
|
||
* @param face
|
||
* @text --顔画像の設定--
|
||
* @default
|
||
*
|
||
* @param Face Image Width
|
||
* @desc アクターの顔画像幅を設定します
|
||
* デフォルトは144
|
||
* @default 144
|
||
* @parent face
|
||
*
|
||
* @param Face Image Height
|
||
* @desc アクターの顔画像高さを設定します
|
||
* デフォルトは144
|
||
* @default 144
|
||
* @parent face
|
||
*
|
||
* @param Face Position X
|
||
* @desc 顔画像を描画エリア内のどこに表示するか。
|
||
* 0 - 左寄せ, 1 - 中央, 2 - 右寄せ
|
||
* @default 1
|
||
* @parent face
|
||
*
|
||
* @param chara
|
||
* @text --歩行キャラの設定--
|
||
* @default
|
||
*
|
||
* @param Chara Image Width
|
||
* @desc アクターの歩行キャラの画像幅を設定します
|
||
* デフォルトは48
|
||
* @default 48
|
||
* @parent chara
|
||
*
|
||
* @param Chara Image Height
|
||
* @desc アクターの歩行キャラの画像高さを設定します
|
||
* デフォルトは48
|
||
* @default 48
|
||
* @parent chara
|
||
*
|
||
* @param Chara Position X
|
||
* @desc アクターの歩行キャラを描画エリア内のどこに表示するか。
|
||
* 0 - 左寄せ, 1 - 中央, 2 - 右寄せ
|
||
* @default 1
|
||
* @parent chara
|
||
*
|
||
* @param Chara Direction
|
||
* @desc アクターの歩行キャラの向きを設定します。
|
||
* 0 - 正面固定, 1 - マップ上の先頭プレイヤーの向き
|
||
* @default 0
|
||
* @parent chara
|
||
*
|
||
* @param sv
|
||
* @text --SVキャラの設定--
|
||
* @default
|
||
*
|
||
* @param Sv Image Width
|
||
* @desc アクターのSVキャラの画像幅を設定します
|
||
* デフォルトは64
|
||
* @default 64
|
||
* @parent sv
|
||
*
|
||
* @param Sv Image Height
|
||
* @desc アクターのSvキャラの画像高さを設定します
|
||
* デフォルトは64
|
||
* @default 64
|
||
* @parent sv
|
||
*
|
||
* @param Sv Position X
|
||
* @desc アクターのSvキャラを描画エリア内のどこに表示するか。
|
||
* 0 - 左寄せ, 1 - 中央, 2 - 右寄せ
|
||
* @default 1
|
||
* @parent sv
|
||
*
|
||
* @param Enabled Sv Motion
|
||
* @desc Svキャラのモーションを有効にするか設定します
|
||
* 0 - 無効にする, 1 - 常に有効にする, 2 - 戦闘時以外有効
|
||
* @default 1
|
||
* @parent sv
|
||
*
|
||
* @param Sv Image Motion
|
||
* @desc Svキャラの標準モーションを設定します
|
||
* @default wait
|
||
* @parent sv
|
||
*
|
||
* @param Enabled State Motion
|
||
* @desc ステートモーションを有効にするか設定します
|
||
* 1 - 有効にする, 0 - 無効にする
|
||
* @default 1
|
||
* @parent sv
|
||
*
|
||
* @param state
|
||
* @text --ステートの設定--
|
||
* @default
|
||
*
|
||
* @param Enable CSS States
|
||
* @desc ステートアイコンの表示を専用の描画処理に変えるか。
|
||
* 1 - 有効にする, 0 - 無効にする
|
||
* @default 1
|
||
* @parent state
|
||
*
|
||
* @param Animation Wait
|
||
* @desc ステートアイコンの切り替え時間を指定します
|
||
* デフォルトは40
|
||
* @default 40
|
||
* @parent state
|
||
*
|
||
* @param Enable Overlap
|
||
* @desc ステートアイコンの重なり表示を有効にする
|
||
* 1 - 有効にする, 0 - 無効にする
|
||
* @default 0
|
||
* @parent state
|
||
*
|
||
* @param Overlap Rate
|
||
* @desc アイコンの重なりを許容する比率を設定します。
|
||
* @default 0.5
|
||
* @parent state
|
||
*
|
||
* @param State Icon Padding
|
||
* @desc アイコン表示に必要な余白を指定します。
|
||
* @default 4
|
||
* @type number
|
||
* @min 0
|
||
* @parent state
|
||
*
|
||
* @param Enable Auto Scale
|
||
* @desc 行の高さまたは表示幅に合わせてアイコンサイズを調整するか
|
||
* 1 - 有効にする, 0 - 無効にする
|
||
* @default 0
|
||
* @parent state
|
||
*
|
||
* @param pdiff
|
||
* @text --通常能力値(差分)の設定--
|
||
* @default
|
||
*
|
||
* @param Enabled Escapecharacters By PDIFF
|
||
* @desc 差分表示に制御文字使えるようにする
|
||
* @type boolean
|
||
* @on 有効
|
||
* @off 無効
|
||
* @default true
|
||
* @parent pdiff
|
||
*
|
||
* @param Format PDIFF Plus
|
||
* @desc 増加の場合の表示を設定します。
|
||
* %1 - 増加値
|
||
* @default \c[24]+ %1
|
||
* @parent pdiff
|
||
*
|
||
* @param Format PDIFF Minus
|
||
* @desc 減少の場合の表示を設定します。
|
||
* %1 - 減少値
|
||
* @default \c[25]- %1
|
||
* @parent pdiff
|
||
*
|
||
* @param xparam
|
||
* @text --能力値の設定--
|
||
* @default
|
||
*
|
||
* @param Disp Decimals Param
|
||
* @desc 能力値が率で表されるパラメータの表示方法を選択します。
|
||
* @type select
|
||
* @option 少数で表示
|
||
* @value 0
|
||
* @option パーセント(%)で表示
|
||
* @value 1
|
||
* @default 0
|
||
* @parent xparam
|
||
*
|
||
* @param equip
|
||
* @text --装備パラメータの設定--
|
||
* @default
|
||
*
|
||
* @param Equip Right Arrow
|
||
* @desc 装備を変える時に表示する右矢印記号を指定します。
|
||
* @default \c[16]→
|
||
* @parent equip
|
||
*
|
||
* @param ediff
|
||
* @text --装備パラメータ(差分)の設定--
|
||
* @default
|
||
*
|
||
* @param Enabled Escapecharacters By EDIFF
|
||
* @desc 差分表示に制御文字使えるようにする
|
||
* @type boolean
|
||
* @on 有効
|
||
* @off 無効
|
||
* @default true
|
||
* @parent ediff
|
||
*
|
||
* @param Format EDIFF Plus
|
||
* @desc 増加の場合の表示を設定します。
|
||
* %1 - 増加値
|
||
* @default \c[24]+ %1
|
||
* @parent ediff
|
||
*
|
||
* @param Format EDIFF Minus
|
||
* @desc 減少の場合の表示を設定します。
|
||
* %1 - 減少値
|
||
* @default \c[25]- %1
|
||
* @parent ediff
|
||
*
|
||
* @param aopdiff
|
||
* @text --AOP能力値(差分)の設定--
|
||
* @default
|
||
*
|
||
* @param Enabled Escapecharacters By AOPDIFF
|
||
* @desc 差分表示に制御文字使えるようにする
|
||
* @type boolean
|
||
* @on 有効
|
||
* @off 無効
|
||
* @default true
|
||
* @parent aopdiff
|
||
*
|
||
* @param Format AOPDIFF Plus
|
||
* @desc 増加の場合の表示を設定します。
|
||
* %1 - 増加値
|
||
* @default \c[24]+ %1
|
||
* @parent aopdiff
|
||
*
|
||
* @param Format AOPDIFF Minus
|
||
* @desc 減少の場合の表示を設定します。
|
||
* %1 - 減少値
|
||
* @default \c[25]- %1
|
||
* @parent aopdiff
|
||
*
|
||
* @param ediffaop
|
||
* @text --AOP装備パラメータ(差分)の設定--
|
||
* @default
|
||
*
|
||
* @param Enabled Escapecharacters By EDIFFAOP
|
||
* @desc 差分表示に制御文字使えるようにする
|
||
* @type boolean
|
||
* @on 有効
|
||
* @off 無効
|
||
* @default true
|
||
* @parent ediffaop
|
||
*
|
||
* @param Format EDIFFAOP Plus
|
||
* @desc 増加の場合の表示を設定します。
|
||
* %1 - 増加値
|
||
* @default \c[24]+ %1
|
||
* @parent ediffaop
|
||
*
|
||
* @param Format EDIFFAOP Minus
|
||
* @desc 減少の場合の表示を設定します。
|
||
* %1 - 減少値
|
||
* @default \c[25]- %1
|
||
* @parent ediffaop
|
||
*
|
||
* @param image
|
||
* @text --カスタム画像の設定--
|
||
* @default
|
||
*
|
||
* @param Image Position X
|
||
* @desc カスタム画像を描画エリア内のどこに表示するか。
|
||
* 0 - 左寄せ, 1 - 中央, 2 - 右寄せ
|
||
* @default 1
|
||
* @parent image
|
||
*
|
||
* @param message
|
||
* @text --メッセージの設定--
|
||
* @default
|
||
*
|
||
* @param Display LevelUp Message
|
||
* @desc レベルアップ時のメッセージを設定します。
|
||
* %1 - アクター名, %2 - 現在レベル, %3 - 上昇したレベル
|
||
* @default \C[17]%3 Level Up!
|
||
* @parent message
|
||
*
|
||
* @param customParam
|
||
* @text --カスタムパラメータの設定--
|
||
*
|
||
* @param --Custom Param 0--
|
||
* @default
|
||
* @parent customParam
|
||
*
|
||
* @param Custom 0 Display Name
|
||
* @desc Custom(0)の表示名を設定します
|
||
* @default \c[16]現在の経験値
|
||
* @parent customParam
|
||
*
|
||
* @param Custom 0 References
|
||
* @desc Custom(0)の値の参照先を設定します。
|
||
* アクターを a として、ステータスの参照先を記述すること。
|
||
* @default
|
||
* @parent customParam
|
||
*
|
||
* @param Custom 0 Unit
|
||
* @desc Custom(0)の単位を設定します。
|
||
* @default
|
||
* @parent customParam
|
||
*
|
||
* @param --Custom Param 1--
|
||
* @default
|
||
* @parent customParam
|
||
*
|
||
* @param Custom 1 Display Name
|
||
* @desc Custom(1)の表示名を設定します
|
||
* @default
|
||
* @parent customParam
|
||
*
|
||
* @param Custom 1 References
|
||
* @desc Custom(1)の値の参照先を設定します。
|
||
* アクターを a として、ステータスの参照先を記述すること。
|
||
* @default a.currentExp()
|
||
* @parent customParam
|
||
*
|
||
* @param Custom 1 Unit
|
||
* @desc Custom(1)の単位を設定します。
|
||
* @default
|
||
* @parent customParam
|
||
*
|
||
* @param --Custom Param 2--
|
||
* @default
|
||
* @parent customParam
|
||
*
|
||
* @param Custom 2 Display Name
|
||
* @desc Custom(2)の表示名を設定します
|
||
* @default \c[16]次のレベルまで
|
||
* @parent customParam
|
||
*
|
||
* @param Custom 2 References
|
||
* @desc Custom(2)の値の参照先を設定します。
|
||
* アクターを a として、ステータスの参照先を記述すること。
|
||
* @default
|
||
* @parent customParam
|
||
*
|
||
* @param Custom 2 Unit
|
||
* @desc Custom(2)の単位を設定します。
|
||
* @default
|
||
* @parent customParam
|
||
*
|
||
* @param --Custom Param 3--
|
||
* @default
|
||
* @parent customParam
|
||
*
|
||
* @param Custom 3 Display Name
|
||
* @desc Custom(3)の表示名を設定します
|
||
* @default
|
||
* @parent customParam
|
||
*
|
||
* @param Custom 3 References
|
||
* @desc Custom(3)の値の参照先を設定します。
|
||
* アクターを a として、ステータスの参照先を記述すること。
|
||
* @default a.nextRequiredExp()
|
||
* @parent customParam
|
||
*
|
||
* @param Custom 3 Unit
|
||
* @desc Custom(3)の単位を設定します。
|
||
* @default
|
||
* @parent customParam
|
||
*
|
||
* @param --Custom Param 4--
|
||
* @default
|
||
* @parent customParam
|
||
*
|
||
* @param Custom 4 Display Name
|
||
* @desc Custom(4)の表示名を設定します
|
||
* @default
|
||
* @parent customParam
|
||
*
|
||
* @param Custom 4 References
|
||
* @desc Custom(4)の値の参照先を設定します。
|
||
* アクターを a として、ステータスの参照先を記述すること。
|
||
* @default
|
||
* @parent customParam
|
||
*
|
||
* @param Custom 4 Unit
|
||
* @desc Custom(4)の単位を設定します。
|
||
* @default
|
||
* @parent customParam
|
||
*
|
||
* @param --Custom Param 5--
|
||
* @default
|
||
* @parent customParam
|
||
*
|
||
* @param Custom 5 Display Name
|
||
* @desc Custom(5)の表示名を設定します
|
||
* @default
|
||
* @parent customParam
|
||
*
|
||
* @param Custom 5 References
|
||
* @desc Custom(5)の値の参照先を設定します。
|
||
* アクターを a として、ステータスの参照先を記述すること。
|
||
* @default
|
||
* @parent customParam
|
||
*
|
||
* @param Custom 5 Unit
|
||
* @desc Custom(5)の単位を設定します。
|
||
* @default
|
||
* @parent customParam
|
||
*
|
||
* @param --Custom Param 6--
|
||
* @default
|
||
* @parent customParam
|
||
*
|
||
* @param Custom 6 Display Name
|
||
* @desc Custom(6)の表示名を設定します
|
||
* @default
|
||
* @parent customParam
|
||
*
|
||
* @param Custom 6 References
|
||
* @desc Custom(6)の値の参照先を設定します。
|
||
* アクターを a として、ステータスの参照先を記述すること。
|
||
* @default
|
||
* @parent customParam
|
||
*
|
||
* @param Custom 6 Unit
|
||
* @desc Custom(6)の単位を設定します。
|
||
* @default
|
||
* @parent customParam
|
||
*
|
||
* @param --Custom Param 7--
|
||
* @default
|
||
* @parent customParam
|
||
*
|
||
* @param Custom 7 Display Name
|
||
* @desc Custom(7)の表示名を設定します
|
||
* @default
|
||
* @parent customParam
|
||
*
|
||
* @param Custom 7 References
|
||
* @desc Custom(7)の値の参照先を設定します。
|
||
* アクターを a として、ステータスの参照先を記述すること。
|
||
* @default
|
||
* @parent customParam
|
||
*
|
||
* @param Custom 7 Unit
|
||
* @desc Custom(7)の単位を設定します。
|
||
* @default
|
||
* @parent customParam
|
||
*
|
||
* @param --Custom Param 8--
|
||
* @default
|
||
* @parent customParam
|
||
*
|
||
* @param Custom 8 Display Name
|
||
* @desc Custom(8)の表示名を設定します
|
||
* @default
|
||
* @parent customParam
|
||
*
|
||
* @param Custom 8 References
|
||
* @desc Custom(8)の値の参照先を設定します。
|
||
* アクターを a として、ステータスの参照先を記述すること。
|
||
* @default
|
||
* @parent customParam
|
||
*
|
||
* @param Custom 8 Unit
|
||
* @desc Custom(8)の単位を設定します。
|
||
* @default
|
||
* @parent customParam
|
||
*
|
||
* @param --Custom Param 9--
|
||
* @default
|
||
* @parent customParam
|
||
*
|
||
* @param Custom 9 Display Name
|
||
* @desc Custom(9)の表示名を設定します
|
||
* @default
|
||
* @parent customParam
|
||
*
|
||
* @param Custom 9 References
|
||
* @desc Custom(9)の値の参照先を設定します。
|
||
* アクターを a として、ステータスの参照先を記述すること。
|
||
* @default
|
||
* @parent customParam
|
||
*
|
||
* @param Custom 9 Unit
|
||
* @desc Custom(9)の単位を設定します。
|
||
* @default
|
||
* @parent customParam
|
||
*
|
||
* @param --Custom Param 10--
|
||
* @default
|
||
* @parent customParam
|
||
*
|
||
* @param Custom 10 Display Name
|
||
* @desc Custom(10)の表示名を設定します
|
||
* @default
|
||
* @parent customParam
|
||
*
|
||
* @param Custom 10 References
|
||
* @desc Custom(10)の値の参照先を設定します。
|
||
* アクターを a として、ステータスの参照先を記述すること。
|
||
* @default
|
||
* @parent customParam
|
||
*
|
||
* @param Custom 10 Unit
|
||
* @desc Custom(10)の単位を設定します。
|
||
* @default
|
||
* @parent customParam
|
||
*
|
||
* @param --Custom Param 11--
|
||
* @default
|
||
* @parent customParam
|
||
*
|
||
* @param Custom 11 Display Name
|
||
* @desc Custom(11)の表示名を設定します
|
||
* @default
|
||
* @parent customParam
|
||
*
|
||
* @param Custom 11 References
|
||
* @desc Custom(11)の値の参照先を設定します。
|
||
* アクターを a として、ステータスの参照先を記述すること。
|
||
* @default
|
||
* @parent customParam
|
||
*
|
||
* @param Custom 11 Unit
|
||
* @desc Custom(11)の単位を設定します。
|
||
* @default
|
||
* @parent customParam
|
||
*
|
||
* @param --Custom Param 12--
|
||
* @default
|
||
* @parent customParam
|
||
*
|
||
* @param Custom 12 Display Name
|
||
* @desc Custom(12)の表示名を設定します
|
||
* @default
|
||
* @parent customParam
|
||
*
|
||
* @param Custom 12 References
|
||
* @desc Custom(12)の値の参照先を設定します。
|
||
* アクターを a として、ステータスの参照先を記述すること。
|
||
* @default
|
||
* @parent customParam
|
||
*
|
||
* @param Custom 12 Unit
|
||
* @desc Custom(12)の単位を設定します。
|
||
* @default
|
||
* @parent customParam
|
||
*
|
||
* @param --Custom Param 13--
|
||
* @default
|
||
* @parent customParam
|
||
*
|
||
* @param Custom 13 Display Name
|
||
* @desc Custom(13)の表示名を設定します
|
||
* @default
|
||
* @parent customParam
|
||
*
|
||
* @param Custom 13 References
|
||
* @desc Custom(13)の値の参照先を設定します。
|
||
* アクターを a として、ステータスの参照先を記述すること。
|
||
* @default
|
||
* @parent customParam
|
||
*
|
||
* @param Custom 13 Unit
|
||
* @desc Custom(13)の単位を設定します。
|
||
* @default
|
||
* @parent customParam
|
||
*
|
||
* @param --Custom Param 14--
|
||
* @default
|
||
* @parent customParam
|
||
*
|
||
* @param Custom 14 Display Name
|
||
* @desc Custom(14)の表示名を設定します
|
||
* @default
|
||
* @parent customParam
|
||
*
|
||
* @param Custom 14 References
|
||
* @desc Custom(14)の値の参照先を設定します。
|
||
* アクターを a として、ステータスの参照先を記述すること。
|
||
* @default
|
||
* @parent customParam
|
||
*
|
||
* @param Custom 14 Unit
|
||
* @desc Custom(14)の単位を設定します。
|
||
* @default
|
||
* @parent customParam
|
||
*
|
||
* @param --Custom Param 15--
|
||
* @default
|
||
* @parent customParam
|
||
*
|
||
* @param Custom 15 Display Name
|
||
* @desc Custom(15)の表示名を設定します
|
||
* @default
|
||
* @parent customParam
|
||
*
|
||
* @param Custom 15 References
|
||
* @desc Custom(15)の値の参照先を設定します。
|
||
* アクターを a として、ステータスの参照先を記述すること。
|
||
* @default
|
||
* @parent customParam
|
||
*
|
||
* @param Custom 15 Unit
|
||
* @desc Custom(15)の単位を設定します。
|
||
* @default
|
||
* @parent customParam
|
||
*
|
||
* @param --Custom Param 16--
|
||
* @default
|
||
* @parent customParam
|
||
*
|
||
* @param Custom 16 Display Name
|
||
* @desc Custom(16)の表示名を設定します
|
||
* @default
|
||
* @parent customParam
|
||
*
|
||
* @param Custom 16 References
|
||
* @desc Custom(16)の値の参照先を設定します。
|
||
* アクターを a として、ステータスの参照先を記述すること。
|
||
* @default
|
||
* @parent customParam
|
||
*
|
||
* @param Custom 16 Unit
|
||
* @desc Custom(16)の単位を設定します。
|
||
* @default
|
||
* @parent customParam
|
||
*
|
||
* @param --Custom Param 17--
|
||
* @default
|
||
* @parent customParam
|
||
*
|
||
* @param Custom 17 Display Name
|
||
* @desc Custom(17)の表示名を設定します
|
||
* @default
|
||
* @parent customParam
|
||
*
|
||
* @param Custom 17 References
|
||
* @desc Custom(17)の値の参照先を設定します。
|
||
* アクターを a として、ステータスの参照先を記述すること。
|
||
* @default
|
||
* @parent customParam
|
||
*
|
||
* @param Custom 17Unit
|
||
* @desc Custom(17)の単位を設定します。
|
||
* @default
|
||
* @parent customParam
|
||
*
|
||
* @param --Custom Param 18--
|
||
* @default
|
||
* @parent customParam
|
||
*
|
||
* @param Custom 18 Display Name
|
||
* @desc Custom(18)の表示名を設定します
|
||
* @default
|
||
* @parent customParam
|
||
*
|
||
* @param Custom 18 References
|
||
* @desc Custom(18)の値の参照先を設定します。
|
||
* アクターを a として、ステータスの参照先を記述すること。
|
||
* @default
|
||
* @parent customParam
|
||
*
|
||
* @param Custom 18 Unit
|
||
* @desc Custom(18)の単位を設定します。
|
||
* @default
|
||
* @parent customParam
|
||
*
|
||
* @param --Custom Param 19--
|
||
* @default
|
||
* @parent customParam
|
||
*
|
||
* @param Custom 19 Display Name
|
||
* @desc Custom(19)の表示名を設定します
|
||
* @default
|
||
* @parent customParam
|
||
*
|
||
* @param Custom 19 References
|
||
* @desc Custom(19)の値の参照先を設定します。
|
||
* アクターを a として、ステータスの参照先を記述すること。
|
||
* @default
|
||
* @parent customParam
|
||
*
|
||
* @param Custom 19 Unit
|
||
* @desc Custom(19)の単位を設定します。
|
||
* @default
|
||
* @parent customParam
|
||
*
|
||
* @param customGauge
|
||
* @text --カスタムゲージの設定--
|
||
*
|
||
* @param Gauge Param Digit
|
||
* @desc 現在値と最大値の表示幅を指定した桁数に設定する
|
||
* @default 4
|
||
* @parent customGauge
|
||
*
|
||
* @param --Gauge Param 0--
|
||
* @default
|
||
* @parent customGauge
|
||
*
|
||
* @param Gauge 0 Display Name
|
||
* @desc Gauge(0)の表示名を設定します
|
||
* @default \C[16]EXP
|
||
* @parent customGauge
|
||
*
|
||
* @param Gauge 0 References
|
||
* @desc Gauge(0)で表示する値の参照先を設定します。
|
||
* アクターを a として、ステータスの参照先を記述すること。
|
||
* @default
|
||
* @parent customGauge
|
||
*
|
||
* @param Gauge 0 Current
|
||
* @desc Gauge(0)の現在値の参照先を設定します。
|
||
* アクターを a として、ステータスの参照先を記述すること。
|
||
* @default a.isMaxLevel() ? '--------' : a.currentExp()
|
||
* @parent customGauge
|
||
*
|
||
* @param Gauge 0 Max
|
||
* @desc Gauge(0)の最大値の参照先を設定します。
|
||
* アクターを a として、ステータスの参照先を記述すること。
|
||
* @default a.isMaxLevel() ? '--------' : a.nextLevelExp()
|
||
* @parent customGauge
|
||
*
|
||
* @param Gauge 0 Color1
|
||
* @desc Gauge(0)のゲージの色1を設定します。
|
||
* @default 17
|
||
* @parent customGauge
|
||
*
|
||
* @param Gauge 0 Color2
|
||
* @desc Gauge(0)のゲージの色2を設定します。
|
||
* @default 6
|
||
* @parent customGauge
|
||
*
|
||
* @param --Gauge Param 1--
|
||
* @default
|
||
* @parent customGauge
|
||
*
|
||
* @param Gauge 1 Display Name
|
||
* @desc Gauge(1)の表示名を設定します
|
||
* @default
|
||
* @parent customGauge
|
||
*
|
||
* @param Gauge 1 References
|
||
* @desc Gauge(1)で表示する値の参照先を設定します。
|
||
* アクターを a として、ステータスの参照先を記述すること。
|
||
* @default
|
||
* @parent customGauge
|
||
*
|
||
* @param Gauge 1 Current
|
||
* @desc Gauge(1)の現在値の参照先を設定します。
|
||
* アクターを a として、ステータスの参照先を記述すること。
|
||
* @default
|
||
* @parent customGauge
|
||
*
|
||
* @param Gauge 1 Max
|
||
* @desc Gauge(1)の最大値の参照先を設定します。
|
||
* アクターを a として、ステータスの参照先を記述すること。
|
||
* @default
|
||
* @parent customGauge
|
||
*
|
||
* @param Gauge 1 Color1
|
||
* @desc Gauge(1)のゲージの色1を設定します。
|
||
* @default
|
||
* @parent customGauge
|
||
*
|
||
* @param Gauge 1 Color2
|
||
* @desc Gauge(1)のゲージの色2を設定します。
|
||
* @default
|
||
* @parent customGauge
|
||
*
|
||
* @param --Gauge Param 2--
|
||
* @default
|
||
* @parent customGauge
|
||
*
|
||
* @param Gauge 2 Display Name
|
||
* @desc Gauge(2)の表示名を設定します
|
||
* @default
|
||
* @parent customGauge
|
||
*
|
||
* @param Gauge 2 References
|
||
* @desc Gauge(2)で表示する値の参照先を設定します。
|
||
* アクターを a として、ステータスの参照先を記述すること。
|
||
* @default
|
||
* @parent customGauge
|
||
*
|
||
* @param Gauge 2 Current
|
||
* @desc Gauge(2)の現在値の参照先を設定します。
|
||
* アクターを a として、ステータスの参照先を記述すること。
|
||
* @default
|
||
* @parent customGauge
|
||
*
|
||
* @param Gauge 2 Max
|
||
* @desc Gauge(2)の最大値の参照先を設定します。
|
||
* アクターを a として、ステータスの参照先を記述すること。
|
||
* @default
|
||
* @parent customGauge
|
||
*
|
||
* @param Gauge 2 Color1
|
||
* @desc Gauge(2)のゲージの色1を設定します。
|
||
* @default
|
||
* @parent customGauge
|
||
*
|
||
* @param Gauge 2 Color2
|
||
* @desc Gauge(2)のゲージの色2を設定します。
|
||
* @default
|
||
* @parent customGauge
|
||
*
|
||
* @param --Gauge Param 3--
|
||
* @default
|
||
* @parent customGauge
|
||
*
|
||
* @param Gauge 3 Display Name
|
||
* @desc Gauge(3)の表示名を設定します
|
||
* @default
|
||
* @parent customGauge
|
||
*
|
||
* @param Gauge 3 References
|
||
* @desc Gauge(3)で表示する値の参照先を設定します。
|
||
* アクターを a として、ステータスの参照先を記述すること。
|
||
* @default
|
||
* @parent customGauge
|
||
*
|
||
* @param Gauge 3 Current
|
||
* @desc Gauge(3)の現在値の参照先を設定します。
|
||
* アクターを a として、ステータスの参照先を記述すること。
|
||
* @default
|
||
* @parent customGauge
|
||
*
|
||
* @param Gauge 3 Max
|
||
* @desc Gauge(3)の最大値の参照先を設定します。
|
||
* アクターを a として、ステータスの参照先を記述すること。
|
||
* @default
|
||
* @parent customGauge
|
||
*
|
||
* @param Gauge 3 Color1
|
||
* @desc Gauge(3)のゲージの色1を設定します。
|
||
* @default
|
||
* @parent customGauge
|
||
*
|
||
* @param Gauge 3 Color2
|
||
* @desc Gauge(3)のゲージの色2を設定します。
|
||
* @default
|
||
* @parent customGauge
|
||
*
|
||
* @param --Gauge Param 4--
|
||
* @default
|
||
* @parent customGauge
|
||
*
|
||
* @param Gauge 4 Display Name
|
||
* @desc Gauge(4)の表示名を設定します
|
||
* @default
|
||
* @parent customGauge
|
||
*
|
||
* @param Gauge 4 References
|
||
* @desc Gauge(4)で表示する値の参照先を設定します。
|
||
* アクターを a として、ステータスの参照先を記述すること。
|
||
* @default
|
||
* @parent customGauge
|
||
*
|
||
* @param Gauge 4 Current
|
||
* @desc Gauge(4)の現在値の参照先を設定します。
|
||
* アクターを a として、ステータスの参照先を記述すること。
|
||
* @default
|
||
* @parent customGauge
|
||
*
|
||
* @param Gauge 4 Max
|
||
* @desc Gauge(4)の最大値の参照先を設定します。
|
||
* アクターを a として、ステータスの参照先を記述すること。
|
||
* @default
|
||
* @parent customGauge
|
||
*
|
||
* @param Gauge 4 Color1
|
||
* @desc Gauge(4)のゲージの色1を設定します。
|
||
* @default
|
||
* @parent customGauge
|
||
*
|
||
* @param Gauge 4 Color2
|
||
* @desc Gauge(4)のゲージの色2を設定します。
|
||
* @default
|
||
* @parent customGauge
|
||
*
|
||
* @param --Gauge Param 5--
|
||
* @default
|
||
* @parent customGauge
|
||
*
|
||
* @param Gauge 5 Display Name
|
||
* @desc Gauge(5)の表示名を設定します
|
||
* @default
|
||
* @parent customGauge
|
||
*
|
||
* @param Gauge 5 References
|
||
* @desc Gauge(5)で表示する値の参照先を設定します。
|
||
* アクターを a として、ステータスの参照先を記述すること。
|
||
* @default
|
||
* @parent customGauge
|
||
*
|
||
* @param Gauge 5 Current
|
||
* @desc Gauge(5)の現在値の参照先を設定します。
|
||
* アクターを a として、ステータスの参照先を記述すること。
|
||
* @default
|
||
* @parent customGauge
|
||
*
|
||
* @param Gauge 5 Max
|
||
* @desc Gauge(5)の最大値の参照先を設定します。
|
||
* アクターを a として、ステータスの参照先を記述すること。
|
||
* @default
|
||
* @parent customGauge
|
||
*
|
||
* @param Gauge 5 Color1
|
||
* @desc Gauge(5)のゲージの色1を設定します。
|
||
* @default
|
||
* @parent customGauge
|
||
*
|
||
* @param Gauge 5 Color2
|
||
* @desc Gauge(5)のゲージの色2を設定します。
|
||
* @default
|
||
* @parent customGauge
|
||
*
|
||
* @param --Gauge Param 6--
|
||
* @default
|
||
* @parent customGauge
|
||
*
|
||
* @param Gauge 6 Display Name
|
||
* @desc Gauge(6)の表示名を設定します
|
||
* @default
|
||
* @parent customGauge
|
||
*
|
||
* @param Gauge 6 References
|
||
* @desc Gauge(6)で表示する値の参照先を設定します。
|
||
* アクターを a として、ステータスの参照先を記述すること。
|
||
* @default
|
||
* @parent customGauge
|
||
*
|
||
* @param Gauge 6 Current
|
||
* @desc Gauge(6)の現在値の参照先を設定します。
|
||
* アクターを a として、ステータスの参照先を記述すること。
|
||
* @default
|
||
* @parent customGauge
|
||
*
|
||
* @param Gauge 6 Max
|
||
* @desc Gauge(6)の最大値の参照先を設定します。
|
||
* アクターを a として、ステータスの参照先を記述すること。
|
||
* @default
|
||
* @parent customGauge
|
||
*
|
||
* @param Gauge 6 Color1
|
||
* @desc Gauge(6)のゲージの色1を設定します。
|
||
* @default
|
||
* @parent customGauge
|
||
*
|
||
* @param Gauge 6 Color2
|
||
* @desc Gauge(6)のゲージの色2を設定します。
|
||
* @default
|
||
* @parent customGauge
|
||
*
|
||
* @param --Gauge Param 7--
|
||
* @default
|
||
* @parent customGauge
|
||
*
|
||
* @param Gauge 7 Display Name
|
||
* @desc Gauge(7)の表示名を設定します
|
||
* @default
|
||
* @parent customGauge
|
||
*
|
||
* @param Gauge 7 References
|
||
* @desc Gauge(7)で表示する値の参照先を設定します。
|
||
* アクターを a として、ステータスの参照先を記述すること。
|
||
* @default
|
||
* @parent customGauge
|
||
*
|
||
* @param Gauge 7 Current
|
||
* @desc Gauge(7)の現在値の参照先を設定します。
|
||
* アクターを a として、ステータスの参照先を記述すること。
|
||
* @default
|
||
* @parent customGauge
|
||
*
|
||
* @param Gauge 7 Max
|
||
* @desc Gauge(7)の最大値の参照先を設定します。
|
||
* アクターを a として、ステータスの参照先を記述すること。
|
||
* @default
|
||
* @parent customGauge
|
||
*
|
||
* @param Gauge 7 Color1
|
||
* @desc Gauge(7)のゲージの色1を設定します。
|
||
* @default
|
||
* @parent customGauge
|
||
*
|
||
* @param Gauge 7 Color2
|
||
* @desc Gauge(7)のゲージの色2を設定します。
|
||
* @default
|
||
* @parent customGauge
|
||
*
|
||
* @param --Gauge Param 8--
|
||
* @default
|
||
* @parent customGauge
|
||
*
|
||
* @param Gauge 8 Display Name
|
||
* @desc Gauge(8)の表示名を設定します
|
||
* @default
|
||
* @parent customGauge
|
||
*
|
||
* @param Gauge 8 References
|
||
* @desc Gauge(8)で表示する値の参照先を設定します。
|
||
* アクターを a として、ステータスの参照先を記述すること。
|
||
* @default
|
||
* @parent customGauge
|
||
*
|
||
* @param Gauge 8 Current
|
||
* @desc Gauge(8)の現在値の参照先を設定します。
|
||
* アクターを a として、ステータスの参照先を記述すること。
|
||
* @default
|
||
* @parent customGauge
|
||
*
|
||
* @param Gauge 8 Max
|
||
* @desc Gauge(8)の最大値の参照先を設定します。
|
||
* アクターを a として、ステータスの参照先を記述すること。
|
||
* @default
|
||
* @parent customGauge
|
||
*
|
||
* @param Gauge 8 Color1
|
||
* @desc Gauge(8)のゲージの色1を設定します。
|
||
* @default
|
||
* @parent customGauge
|
||
*
|
||
* @param Gauge 8 Color2
|
||
* @desc Gauge(8)のゲージの色2を設定します。
|
||
* @default
|
||
* @parent customGauge
|
||
*
|
||
* @param --Gauge Param 9--
|
||
* @default
|
||
* @parent customGauge
|
||
*
|
||
* @param Gauge 9 Display Name
|
||
* @desc Gauge(9)の表示名を設定します
|
||
* @default
|
||
* @parent customGauge
|
||
*
|
||
* @param Gauge 9 References
|
||
* @desc Gauge(9)で表示する値の参照先を設定します。
|
||
* アクターを a として、ステータスの参照先を記述すること。
|
||
* @default
|
||
* @parent customGauge
|
||
*
|
||
* @param Gauge 9 Current
|
||
* @desc Gauge(9)の現在値の参照先を設定します。
|
||
* アクターを a として、ステータスの参照先を記述すること。
|
||
* @default
|
||
* @parent customGauge
|
||
*
|
||
* @param Gauge 9 Max
|
||
* @desc Gauge(9)の最大値の参照先を設定します。
|
||
* アクターを a として、ステータスの参照先を記述すること。
|
||
* @default
|
||
* @parent customGauge
|
||
*
|
||
* @param Gauge 9 Color1
|
||
* @desc Gauge(9)のゲージの色1を設定します。
|
||
* @default
|
||
* @parent customGauge
|
||
*
|
||
* @param Gauge 9 Color2
|
||
* @desc Gauge(9)のゲージの色2を設定します。
|
||
* @default
|
||
* @parent customGauge
|
||
*
|
||
* @param paramName
|
||
* @text --表示名の設定--
|
||
*
|
||
* @param XPARAM Name
|
||
* @desc 追加能力値の表示名を設定します。
|
||
* @type struct<xparam>
|
||
* @default {"hit":"命中率","eva":"回避率","cri":"会心率","cev":"会心回避率","mev":"魔法回避率","mrf":"魔法反射率","cnt":"反撃率","hrg":"HP再生率","mrg":"MP再生率","trg":"TP再生率"}
|
||
* @parent paramName
|
||
*
|
||
* @param SPARAM Name
|
||
* @desc 特殊能力値の表示名を設定します。
|
||
* @type struct<sparam>
|
||
* @default {"tgr":"狙われ率","grd":"防御効果率","rec":"回復効果率","pha":"薬の知識","mcr":"MP消費率","tcr":"TPチャージ率","pdr":"物理ダメージ率","mdr":"魔法ダメージ率","fdr":"床ダメージ率","exr":"経験獲得率"}
|
||
* @parent paramName
|
||
*
|
||
* @help
|
||
*-----------------------------------------------------------------------------
|
||
* 概要
|
||
*-----------------------------------------------------------------------------
|
||
* このプラグインは、アクターのステータス表示のレイアウトをより詳細に設定できる
|
||
* 処理を実装します。
|
||
*
|
||
* このプラグインの拡張プラグイン(FTKR_CSS_***.js)と組み合わせることで
|
||
* メニュー画面や、バトル画面などさまざまなステータス画面を設定できるように
|
||
* なります。
|
||
*
|
||
* このプラグインの v3.0.0 から採用するステータスごとの表示位置指定方式については、
|
||
* 拡張プラグインの v2.0.0 以降を使用してください。
|
||
* ※従来の方式についても、v1の拡張プラグインで使用可能
|
||
*
|
||
*
|
||
* プラグインの使い方は、下のオンラインマニュアルページを見てください。
|
||
* https://github.com/futokoro/RPGMaker/blob/master/FTKR_CustomSimpleActorStatus.ja.md
|
||
*
|
||
*
|
||
*-----------------------------------------------------------------------------
|
||
* 設定方法
|
||
*-----------------------------------------------------------------------------
|
||
* 1.「プラグインマネージャー(プラグイン管理)」に、このプラグインを追加して
|
||
* ください。
|
||
*
|
||
* 2. 拡張プラグイン(FTKR_CSS_***.js)と組み合わせる場合は、このプラグインが
|
||
* 上になるように配置してください。
|
||
*
|
||
* 3. GraphicalDesignMode.jsと組み合わせる場合は、
|
||
* このプラグインが下になるように配置してください。
|
||
*
|
||
* 4. このプラグインを使う上で、設定が必須なプラグインパラメータはありません。
|
||
*
|
||
*
|
||
*-----------------------------------------------------------------------------
|
||
* プラグインのライセンスについて(License)
|
||
*-----------------------------------------------------------------------------
|
||
* このプラグインはMITライセンスのもとで公開しています。
|
||
* This plugin is released under the MIT License.
|
||
*
|
||
* Copyright (c) 2017,2018 Futokoro
|
||
* http://opensource.org/licenses/mit-license.php
|
||
*
|
||
*
|
||
* プラグイン公開元
|
||
* https://github.com/futokoro/RPGMaker/blob/master/README.md
|
||
*
|
||
*
|
||
*-----------------------------------------------------------------------------
|
||
* 変更来歴
|
||
*-----------------------------------------------------------------------------
|
||
*
|
||
* v3.5.3 - 2019/05/12 : 機能追加
|
||
* 1. アイテムの所持数を表示するコード(numItem)を追加。
|
||
* 2. 装備品の表示コード(equip(%1))に、ショップ画面用の専用処理を追加。
|
||
*
|
||
* v3.5.2 - 2019/04/14 : 機能追加
|
||
* 1. 特殊能力値(xparam)と追加能力値(sparam)を表示するコード他を追加。
|
||
*
|
||
* v3.5.1 - 2019/03/05 : 不具合修正、機能追加
|
||
* 1. 拡張プラグインのパラメータ"statusList"の"value"の値を正しく読み取れない
|
||
* 不具合を修正。
|
||
* 2. 選択中の装備品を装備できない時に特定も文字を表示させるコード notequip を
|
||
* 追加。※装備画面とショップ画面で使用可能
|
||
*
|
||
* v3.5.0 - 2018/12/29 : 機能追加
|
||
* 1. セーブしたウィンドウ設定を変更するプラグインコマンドを追加。
|
||
*
|
||
* v3.4.7 - 2018/12/27 : 不具合修正
|
||
* 1. FTKR_CSS_ShopStatus v2.2.2 の不具合修正対応。
|
||
* 2. FTKR_OriginalSceneWindow でアイテムデータ画像が表示できない不具合対応。
|
||
*
|
||
* v3.4.6 - 2018/12/15 : 不具合修正(軽量化)
|
||
* 1. カスタムパラメータとカスタムゲージの表示処理を見直し。
|
||
* 2. プラグインコマンドの判定処理を見直し。
|
||
*
|
||
* v3.4.5 - 2018/12/13 : 不具合修正(軽量化)
|
||
* 1. code(x)の形のパラメータの判定時に必ずeval()で評価していた処理を見直し。
|
||
*
|
||
* v3.4.4 - 2018/12/02 : 不具合修正
|
||
* 1. カスタム画像で、存在しない画像IDを指定した場合にエラーになる不具合を修正。
|
||
*
|
||
* v3.4.3 - 2018/11/03 : 仕様変更
|
||
* 1. ediff(x)、aopdiff(x)、ediffaop(x)の表示内容の設定を、pdiff(x)から独立。
|
||
*
|
||
* v3.4.2 - 2018/10/28 : 不具合修正
|
||
* 1. オリジナルパラメータおよびオリジナルゲージの数値が、一部のシーンで正常に
|
||
* 表示できない不具合を修正。
|
||
*
|
||
* v3.4.1 - 2018/10/11 : 機能追加、仕様変更
|
||
* 1. パラメータの差分表示に制御文字を無効にする機能を追加。
|
||
* 2. パラメータの差分表示で 0 の場合に表示しないように変更。
|
||
*
|
||
* v3.4.0 - 2018/10/10 : 機能追加
|
||
* 1. ediff(x)およびediffaop(x)のコードをFTKR_CSS_ShopStatusから移動。
|
||
*
|
||
* v3.3.4 - 2018/09/28 : 機能追加
|
||
* 1. ステータスコードに、AOPパラメータ表示用のコードを追加。
|
||
*
|
||
* v3.3.3 - 2018/09/28 : 機能追加
|
||
* 1. ステータスコードに、パラメータ表示用のコードを追加。
|
||
*
|
||
* v3.3.2 - 2018/09/19 : 機能追加
|
||
* 1. ステータスコードに、アイテム用のコードを追加。
|
||
*
|
||
* v3.3.1 - 2018/09/19 : 不具合修正
|
||
* 1. 戦闘不能時に、ステートアイコンを表示しない不具合を修正。
|
||
*
|
||
* v3.3.0 - 2018/09/15 : 機能追加
|
||
* 1. ステータスコードに、アイテム用のコードを追加。
|
||
* 2. ステータスアイコン同士間の余白サイズを設定する機能を追加。
|
||
* 3. ステータスアイコンを高さ幅が不足しても最低1つは表示させるように変更。
|
||
* 4. プラグインパラメータ Enable Auto Scale を有効にした場合に、表示幅が小さい
|
||
* 場合でもサイズ調整するように変更。
|
||
*
|
||
* v3.2.0 - 2018/09/11 : FTKR_GDM_WindowEditor.js 用の記述を修正。
|
||
*
|
||
* v3.1.1 - 2018/09/09 : GraphicalDesignMode.js 用の記述を削除
|
||
*
|
||
* v3.1.0 - 2018/08/30 : 機能追加
|
||
* 1. 拡張プラグインのプラグインパラメータで表示するステータスをリストで
|
||
* 選択できる機能を追加。
|
||
*
|
||
* v3.0.2 - 2018/08/25 : 不具合修正
|
||
* 1. 拡張プラグインで、余白と背景透明度を 0 に設定した場合に、設定が無効になる
|
||
* 不具合を修正。
|
||
*
|
||
* v3.0.1 - 2018/08/20 : 不具合修正
|
||
* 1. 拡張プラグインでステータスウィンドウの設定を有効にした場合にエラーになる
|
||
* 不具合を修正。
|
||
*
|
||
* v3.0.0 - 2018/08/19 : 仕様変更
|
||
* 1. ステータスの表示とパラメータの入力に、ステータスごとの表示位置指定方式を採用。
|
||
* 2. FTKR_GDM_WindowEditor対応版に修正。
|
||
* 3. ヘルプの記述を削減。
|
||
* 4. 顔画像のサイズを調整する機能を追加。
|
||
* 5. GraphicalDesignMode.jsとの連携機能を、FTKR_GDM_Editorに移行。
|
||
*
|
||
* v2.7.2 - 2018/08/18 : 不具合修正
|
||
* 1. 拡張プラグイン使用時にステートアイコンが表示されない不具合を修正。
|
||
*
|
||
* v2.7.1 - 2018/08/17 : 不具合修正
|
||
* 1. バトルシーンでステータスウィンドウが非表示でも、ステートアイコンが
|
||
* 表示される不具合を修正。
|
||
*
|
||
* v2.7.0 - 2018/03/17 : 機能追加
|
||
* 1. カスタム画像をゲーム中に変更するプラグインコマンドを追加。
|
||
*
|
||
* v2.6.3 - 2018/03/12 : 処理変更
|
||
* 1. 顔画像やカスタム画像の表示透過度の判定部を関数として独立。
|
||
* 2. コード処理部にアクターが設定されていない場合の例外処理を追加。
|
||
*
|
||
* v2.6.2 - 2018/03/11 : 不具合修正
|
||
* 1. 角括弧で設定したコードが正しく表示されない不具合を修正。
|
||
* 2. デザインモード中にstateコードを変更した際に、ステートアイコンの表示が
|
||
* 一部更新されない不具合を修正。
|
||
*
|
||
* v2.6.1 - 2018/01/07 : 処理変更
|
||
* 1. 顔画像、歩行キャラ、SVキャラのX座標方向の寄せ表示部分を関数として独立。
|
||
*
|
||
* v2.6.0 - 2017/11/18 : 機能追加
|
||
* 1. FTKR_CSS_***Status系の拡張プラグインをGraphicalDesignMode.jsに
|
||
* 対応する処理を追加。
|
||
*
|
||
* v2.5.1 - 2017/11/08 : 不具合修正
|
||
* 1. FTKR_OriginalSceneWindow.jsで生成したウィンドウが有る場合に
|
||
* シーン開始時にエラーになる不具合を修正。
|
||
*
|
||
* v2.5.0 - 2017/11/08 : 機能追加
|
||
* 1. 横線を表示するコード「line」を追加。
|
||
* 2. GraphicalDesignMode.jsとFTKR_CSS_GDM.jsにより、デザインモード中に
|
||
* ゲーム内でレイアウトを変更する機能を追加。
|
||
*
|
||
* v2.4.3 - 2017/11/02 : 不具合修正
|
||
* 1. 装備画面でフリーズする不具合を修正。
|
||
*
|
||
* v2.4.2 - 2017/11/01 : 不具合修正
|
||
* 1. カスタムパラメータとカスタムゲージで、名前が表示されない不具合を修正。
|
||
* 2. 装備のパラメータが表示されない不具合を修正。
|
||
*
|
||
* v2.4.1 - 2017/10/19 : 不具合修正
|
||
* 1. カスタムパラメータとカスタムゲージで、アイコンを表示したときに
|
||
* 表示位置がずれる場合がある不具合を修正。
|
||
*
|
||
* v2.4.0 - 2017/10/16 : 仕様変更
|
||
* 1. カスタムゲージで、現在値および最大値に文字列を表示できるように変更。
|
||
*
|
||
* v2.3.0 - 2017/07/23 : 機能追加
|
||
* 1. 表示コードの判定部の記述を見直し。
|
||
* 2. 括弧で数値を指定する表示コードに対して、数値ではなくスクリプトで
|
||
* 指定できるように修正。
|
||
* 3. FTKR_AddOriginalParametersで作成したオリジナルパラメータの
|
||
* 装備パラメータを表示するコード「eaop(x)」を追加。
|
||
*
|
||
* v2.2.0 - 2017/06/19 : 機能変更、機能追加
|
||
* 1. テキストコードに、JS計算式の評価処理を追加。
|
||
* 2. JS計算式の評価コードで、文字列のまま表示する機能を追加。
|
||
*
|
||
* v2.1.0 - 2017/06/19 : 機能変更、機能追加
|
||
* 1. カスタム画像の設定仕様を変更。
|
||
* 2. カスタム画像を複数設定できる機能を追加。
|
||
*
|
||
* v2.0.0 - 2017/06/18 : メニュー画面の変更機能を分離
|
||
*
|
||
* v1.8.0 - 2017/06/17 : 機能追加
|
||
* 1. カスタムパラメータに単位を表示する機能を追加。
|
||
*
|
||
* v1.7.6 - 2017/06/10 : 不具合修正
|
||
* 1. YEP_BuffsStatesCore.jsと組み合わせた時にステートカウントの表示が
|
||
* 正しく更新されない不具合を修正。
|
||
*
|
||
* v1.7.5 - 2017/06/10 : 不具合修正
|
||
* 1. テキストコードに制御文字を入力すると、正しく表示できない不具合を修正。
|
||
*
|
||
* v1.7.4 - 2017/06/09 : YEP_BuffsStatesCore.jsに対応
|
||
*
|
||
* v1.7.3 - 2017/06/08 : 機能追加
|
||
* 1. ステートアイコンの表示処理をMVデフォルトに戻す機能を追加。
|
||
*
|
||
* v1.7.2 - 2017/06/07 : 不具合修正、機能追加
|
||
* 1. 波括弧による描画エリアの拡張が正しく機能しない不具合を修正。
|
||
* 2. eval()によるJS計算結果を表示するコードを追加。
|
||
*
|
||
* v1.7.1 - 2017/06/05 : 不具合修正、機能追加
|
||
* 1. 歩行キャラが正しく表示されない不具合を修正。
|
||
* 2. 歩行キャラの向きを、マップ上のプレイヤーに合わせる機能を追加。
|
||
* 3. SVキャラのモーションを無効にする機能を追加。
|
||
* 4. カスタム画像を表示する位置を調整する機能を追加。
|
||
*
|
||
* v1.7.0 - 2017/06/02 : 機能追加、不具合修正
|
||
* 1. アクター毎に個別に設定できるカスタムゲージを追加。
|
||
* 2. クラス毎に個別に設定できるカスタムゲージを追加。
|
||
* 3. プラグインパラメータ<Enabled Skill Status>を無効にした場合
|
||
* スキル画面のステータス欄が表示しない不具合を修正。
|
||
*
|
||
* v1.6.0 - 2017/06/01 : 機能見直し、機能追加
|
||
* 1. カスタムゲージの表示内容の調整機能を見直し。
|
||
* 2. カスタムゲージのゲージバーを非表示にする機能を追加。
|
||
* 3. カスタムゲージに現在値と最大値の替わりに指定した値を設定する機能を追加。
|
||
*
|
||
* v1.5.3 - 2017/05/13 : 機能追加
|
||
* 1. 装備画面で使用可能な、パラメータ表示コードを追加。
|
||
*
|
||
* v1.5.2 - 2017/05/12 : 不具合修正、機能追加、不要なパラメータを削除
|
||
* 1. アクターを横に並べたときに描画エリアを拡張すると、隣のアクターの
|
||
* 表示エリアにも拡張される不具合を修正。
|
||
* 2. 画像の表示位置の調整機能を追加。
|
||
*
|
||
* v1.5.1 - 2017/05/11 : 不具合修正、機能追加
|
||
* 1. ステータスウィンドウに表示できる人数よりもパーティーが少ない場合に
|
||
* エラーになる不具合を修正。
|
||
* 2. 表示したSVキャラの位置を固定するように変更。
|
||
*
|
||
* v1.5.0 - 2017/05/10 : 機能追加
|
||
* 1. FTKR_FacialImageDifference.jsに対応。
|
||
*
|
||
* v1.4.4 - 2017/05/08 : 不具合修正
|
||
* 1. メニュー画面のアクターのスプライトが正しく更新されない不具合を修正。
|
||
*
|
||
* v1.4.3 - 2017/05/06 : 不具合修正、機能追加
|
||
* 1. アクターを横に並べた時に、顔画像が正しく表示されない不具合を修正。
|
||
* 2. 縦のカーソル間隔を設定する機能を追加。
|
||
*
|
||
* v1.4.2 - 2017/05/04 : 機能追加
|
||
* 1. カスタムパラメータとカスタムゲージに、セルフ変数を適用。
|
||
*
|
||
* v1.4.1 - 2017/04/25 : 不具合修正
|
||
* 1. 「逃げる」でバトルを終了した場合、ステータス上のSVキャラの
|
||
* 表示位置がずれる不具合を修正。
|
||
*
|
||
* v1.4.0 - 2017/04/21 : 仕様変更、機能追加
|
||
* 1. 詳細ステータス画面の表示変更機能を拡張プラグインとして分離。
|
||
* 2. スキル画面の表示変更機能を拡張プラグインとして分離。
|
||
* 3. 顔画像の表示仕様を変更。
|
||
* 4. カスタム画像をタグの仕様を変更し、ディプロイメントでカスタム画像を
|
||
* 保存するように変更。
|
||
* 5. メニュー画面の簡易ステータスウィンドウの設定変更機能を追加。
|
||
*
|
||
* v1.3.1 - 2017/04/21 : 機能追加
|
||
* 1. FTKR_ExSvMotion.jsに対応。
|
||
*
|
||
* v1.3.0 - 2017/04/19 : 機能変更
|
||
* 1. ステートアイコンの表示仕様を変更。
|
||
*
|
||
* v1.2.5 - 2017/04/15 : 機能追加
|
||
* 1. ステートアイコンの表示位置を微調整
|
||
* 2. 行の高さに合わせてステートアイコンサイズを自動調整する機能を追加。
|
||
*
|
||
* v1.2.4 - 2017/04/12 : 顔画像の縦横のサイズを合わせるように修正
|
||
*
|
||
* v1.2.3 - 2017/04/11 : ヘルプ修正
|
||
*
|
||
* v1.2.2 - 2017/04/11 : 機能追加
|
||
* 1. 指定した画像を表示する機能を追加。
|
||
* 2. 複数列を跨いで表示させる機能を追加。
|
||
* 3. ステートを縦に並べて表示させる機能を追加。
|
||
*
|
||
* v1.2.1 - 2017/04/01 : 機能削除、機能追加
|
||
* 1. ステータスのparam(x)に対してMV標準の制御文字を使用できる機能を削除。
|
||
* 2. カスタムパラメータを20個まで設定できるように変更。
|
||
* 3. 詳細ステータス画面の表示エリア間のラインの線色、太さ、透明度を
|
||
* 変更する機能を追加。
|
||
* 4. 簡易ステータス画面の表示内容を変更する機能をON/OFFする
|
||
* プラグインパラメータを追加。
|
||
*
|
||
* v1.2.0 - 2017/03/20 : 仕様変更
|
||
* 1. ステートアイコンを並べて表示した時に表示エリア内に収まらない場合、
|
||
* アイコンを重ねて表示するように変更。
|
||
* 2. ステータスのprofile、param(x)、custom(x)、gauge(x)、text(x)の表示に、
|
||
* MV標準の制御文字を使用できるように変更。
|
||
*
|
||
* v1.1.1 - 2017/03/18 : 機能追加
|
||
* 1. 詳細ステータスの表示内容を変更する機能をON/OFFする
|
||
* プラグインパラメータを追加。
|
||
* 2. FTKR_SEP_ShowSkillStatus.jsと組み合わせている場合、プロフィール文に
|
||
* 制御文字を使用できるように変更。
|
||
* 3. ヘルプ内容を修正。
|
||
*
|
||
* v1.1.0 - 2017/03/17 : 仕様変更、機能追加、不具合修正
|
||
* 1. Text間のスペースを設定するプラグインパラメータの仕様を変更。
|
||
* 2. 装備と好きな文字列を表示させるパラメータを追加。
|
||
* 3. 詳細ステータスの表示内容を変更する機能を追加。
|
||
* 4. カスタムパラメータとカスタムゲージを10個まで設定できるように変更。
|
||
* 5. ニックネームが表示されない不具合を修正。
|
||
*
|
||
* v1.0.3 - 2017/03/16 : 機能追加
|
||
* 1. 表示名や値の参照先を自由に設定できるカスタムゲージの表示機能を追加。
|
||
*
|
||
* v1.0.2 - 2017/03/16 : 機能追加
|
||
* 1. <Actor Status Text>で、1行に複数のステータスを表示する機能を追加。
|
||
*
|
||
* v1.0.1 - 2017/03/10 : 機能追加
|
||
* 1. 攻撃力や防御力等のパラメータを表示できる機能を追加。
|
||
* 2. 表示名や値の参照先を自由に設定できるカスタムパラメータの
|
||
* 表示機能を追加。
|
||
*
|
||
* v1.0.0 - 2017/03/09 : 初版作成
|
||
*
|
||
*-----------------------------------------------------------------------------
|
||
*/
|
||
//=============================================================================
|
||
/*~struct~status:
|
||
* @param text
|
||
* @desc 表示するステータスを選択
|
||
* リストにない場合は、直接テキストで記述
|
||
* @default
|
||
* @type select
|
||
* @option 名前
|
||
* @value name
|
||
* @option 二つ名
|
||
* @value nickname
|
||
* @option 職業
|
||
* @value class
|
||
* @option レベル
|
||
* @value level
|
||
* @option HP
|
||
* @value hp
|
||
* @option MP
|
||
* @value mp
|
||
* @option TP
|
||
* @value tp
|
||
* @option 顔画像
|
||
* @value face
|
||
* @option 顔画像(サイズ指定)
|
||
* @value face(%1)
|
||
* @option 歩行キャラ画像
|
||
* @value chara
|
||
* @option SV戦闘キャラ画像
|
||
* @value sv
|
||
* @option ステート(横)
|
||
* @value state
|
||
* @option ステート(縦)
|
||
* @value state2(%1)
|
||
* @option プロフィール
|
||
* @value profile
|
||
* @option 通常能力値
|
||
* @value param(%1)
|
||
* @option 通常能力値(素)
|
||
* @value pbase(%1)
|
||
* @option 通常能力値(増加分)
|
||
* @value pdiff(%1)
|
||
* @option 追加能力値
|
||
* @value xparam(%1)
|
||
* @option 特殊能力値
|
||
* @value sparam(%1)
|
||
* @option 装備
|
||
* @value equip(%1)
|
||
* @option 装備通常能力値
|
||
* @value eparam(%1)
|
||
* @option 装備追加能力値
|
||
* @value exparam(%1)
|
||
* @option 装備特殊能力値
|
||
* @value esparam(%1)
|
||
* @option 装備通常能力値差分
|
||
* @value ediff(%1)
|
||
* @option 装備追加能力値差分
|
||
* @value exdiff(%1)
|
||
* @option 装備特殊能力値差分
|
||
* @value esdiff(%1)
|
||
* @option 装備不可表示
|
||
* @value notequip(%1)
|
||
* @option カスタムパラメータ
|
||
* @value custom(%1)
|
||
* @option カスタムゲージ
|
||
* @value gauge(%1)
|
||
* @option アクター別カスタムゲージ
|
||
* @value agauge(%1)
|
||
* @option クラス別カスタムゲージ
|
||
* @value cgauge(%1)
|
||
* @option カスタム画像
|
||
* @value image
|
||
* @option カスタム画像(登録ID)
|
||
* @value image(%1)
|
||
* @option メッセージ
|
||
* @value message
|
||
* @option テキスト
|
||
* @value text(%1)
|
||
* @option JS計算式(数値表示)
|
||
* @value eval(%1)
|
||
* @option JS計算式(文字列表示)
|
||
* @value streval(%1)
|
||
* @option 横線
|
||
* @value line
|
||
* @option AOP能力値
|
||
* @value aop(%1)
|
||
* @option AOP能力値(素)
|
||
* @value aopbase(%1)
|
||
* @option AOP能力値(増加分)
|
||
* @value aopdiff(%1)
|
||
* @option AOP装備パラメータ
|
||
* @value eaop(%1)
|
||
* @option AOP装備パラメータ差分
|
||
* @value ediffaop(%1)
|
||
* @option アイテム名
|
||
* @value iname
|
||
* @option アイテムアイコン
|
||
* @value iicon
|
||
* @option アイテム説明
|
||
* @value idesc
|
||
* @option アイテムタイプ
|
||
* @value itype
|
||
* @option アイテム装備タイプ
|
||
* @value ietype
|
||
* @option アイテム範囲
|
||
* @value iscope
|
||
* @option アイテム属性
|
||
* @value ielement
|
||
* @option アイテム設定詳細
|
||
* @value iparam(%1)
|
||
* @option アイテムカスタム画像
|
||
* @value iimage(%1)
|
||
* @option アイテム所持数
|
||
* @value inumber
|
||
* @option マップ名
|
||
* @value mapname
|
||
*
|
||
* @param value
|
||
* @desc code(%1)の形式で設定するステータスの%1の内容を入力
|
||
* @default
|
||
*
|
||
* @param x
|
||
* @desc 表示するX座標
|
||
* @default 0
|
||
*
|
||
* @param y
|
||
* @desc 表示するY座標
|
||
* @default 0
|
||
*
|
||
* @param width
|
||
* @desc 表示する幅
|
||
* @default 0
|
||
*
|
||
*/
|
||
/*~struct~xparam:
|
||
*
|
||
* @param hit
|
||
* @desc 命中率の表示名
|
||
* @default 命中率
|
||
*
|
||
* @param eva
|
||
* @desc 回避率の表示名
|
||
* @default 回避率
|
||
*
|
||
* @param cri
|
||
* @desc 会心率の表示名
|
||
* @default 会心率
|
||
*
|
||
* @param cev
|
||
* @desc 会心回避率の表示名
|
||
* @default 会心回避率
|
||
*
|
||
* @param mev
|
||
* @desc 魔法回避率の表示名
|
||
* @default 魔法回避率
|
||
*
|
||
* @param mrf
|
||
* @desc 魔法反射率の表示名
|
||
* @default 魔法反射率
|
||
*
|
||
* @param cnt
|
||
* @desc 反撃率の表示名
|
||
* @default 反撃率
|
||
*
|
||
* @param hrg
|
||
* @desc HP再生率の表示名
|
||
* @default HP再生率
|
||
*
|
||
* @param mrg
|
||
* @desc MP再生率の表示名
|
||
* @default MP再生率
|
||
*
|
||
* @param trg
|
||
* @desc TP再生率の表示名
|
||
* @default TP再生率
|
||
*
|
||
*/
|
||
/*~struct~sparam:
|
||
*
|
||
* @param tgr
|
||
* @desc 狙われ率の表示名
|
||
* @default 狙われ率
|
||
*
|
||
* @param grd
|
||
* @desc 防御効果率の表示名
|
||
* @default 防御効果率
|
||
*
|
||
* @param rec
|
||
* @desc 回復効果率の表示名
|
||
* @default 回復効果率
|
||
*
|
||
* @param pha
|
||
* @desc 薬の知識の表示名
|
||
* @default 薬の知識
|
||
*
|
||
* @param mcr
|
||
* @desc MP消費率の表示名
|
||
* @default MP消費率
|
||
*
|
||
* @param tcr
|
||
* @desc TPチャージ率の表示名
|
||
* @default TPチャージ率
|
||
*
|
||
* @param pdr
|
||
* @desc 物理ダメージ率の表示名
|
||
* @default 物理ダメージ率
|
||
*
|
||
* @param mdr
|
||
* @desc 魔法ダメージ率の表示名
|
||
* @default 魔法ダメージ率
|
||
*
|
||
* @param fdr
|
||
* @desc 床ダメージ率の表示名
|
||
* @default 床ダメージ率
|
||
*
|
||
* @param exr
|
||
* @desc 経験獲得率の表示名
|
||
* @default 経験獲得率
|
||
*
|
||
*/
|
||
|
||
(function() {
|
||
|
||
var paramParse = function(obj) {
|
||
return JSON.parse(JSON.stringify(obj, paramReplace));
|
||
};
|
||
|
||
var paramReplace = function(key, value) {
|
||
try {
|
||
return JSON.parse(value || null);
|
||
} catch (e) {
|
||
return value;
|
||
}
|
||
};
|
||
|
||
//=============================================================================
|
||
// プラグイン パラメータ
|
||
//=============================================================================
|
||
var parameters = PluginManager.parameters('FTKR_CustomSimpleActorStatus');
|
||
|
||
//オリジナルステータス設定オブジェクト
|
||
FTKR.CSS.cssStatus = {
|
||
face:{
|
||
width:Number(parameters['Face Image Width'] || 0),
|
||
height:Number(parameters['Face Image Height'] || 0),
|
||
posiX:Number(parameters['Face Position X'] || 0),
|
||
},
|
||
chara:{
|
||
width:Number(parameters['Chara Image Width'] || 0),
|
||
height:Number(parameters['Chara Image Height'] || 0),
|
||
posiX:Number(parameters['Chara Position X'] || 0),
|
||
direction:Number(parameters['Chara Direction'] || 0),
|
||
},
|
||
svChara:{
|
||
width:Number(parameters['Sv Image Width'] || 0),
|
||
height:Number(parameters['Sv Image Height'] || 0),
|
||
enable:Number(parameters['Enabled Sv Motion'] || 0),
|
||
motion:String(parameters['Sv Image Motion'] || ''),
|
||
state:Number(parameters['Enabled State Motion'] || 0),
|
||
posiX:Number(parameters['Sv Position X'] || 0),
|
||
},
|
||
state:{
|
||
enable :Number(parameters['Enable CSS States'] || 0),
|
||
wait :Number(parameters['Animation Wait'] || 0),
|
||
overlap :Number(parameters['Enable Overlap'] || 0),
|
||
autoScale :Number(parameters['Enable Auto Scale'] || 0),
|
||
rate :Number(parameters['Overlap Rate'] || 0),
|
||
iconPadding :Number(parameters['State Icon Padding'] || 0),
|
||
},
|
||
param:{
|
||
decimals :paramParse(parameters['Disp Decimals Param']),
|
||
},
|
||
pdiff:{
|
||
plus :paramParse(parameters['Format PDIFF Plus']),
|
||
minus :paramParse(parameters['Format PDIFF Minus']),
|
||
enabledEc :paramParse(parameters['Enabled Escapecharacters By PDIFF']),
|
||
},
|
||
equip:{
|
||
arrow:String(parameters['Equip Right Arrow'] || ''),
|
||
},
|
||
ediff:{
|
||
plus :paramParse(parameters['Format EDIFF Plus']),
|
||
minus :paramParse(parameters['Format EDIFF Minus']),
|
||
enabledEc :paramParse(parameters['Enabled Escapecharacters By EDIFF']),
|
||
},
|
||
aopdiff:{
|
||
plus :paramParse(parameters['Format AOPDIFF Plus']),
|
||
minus :paramParse(parameters['Format AOPDIFF Minus']),
|
||
enabledEc :paramParse(parameters['Enabled Escapecharacters By AOPDIFF']),
|
||
},
|
||
ediffaop:{
|
||
plus :paramParse(parameters['Format EDIFFAOP Plus']),
|
||
minus :paramParse(parameters['Format EDIFFAOP Minus']),
|
||
enabledEc :paramParse(parameters['Enabled Escapecharacters By EDIFFAOP']),
|
||
},
|
||
gauge:{
|
||
digit :Number(parameters['Gauge Param Digit'] || 0),
|
||
},
|
||
image:{
|
||
posiX:Number(parameters['Image Position X'] || 0),
|
||
},
|
||
message:{
|
||
levelUp:String(parameters['Display LevelUp Message'] || ''),
|
||
},
|
||
customs:[
|
||
{name:String(parameters['Custom 0 Display Name'] || ''),
|
||
unit:String(parameters['Custom 0 Unit'] || ''),
|
||
formula:String(parameters['Custom 0 References'] || ''),},
|
||
{name:String(parameters['Custom 1 Display Name'] || ''),
|
||
unit:String(parameters['Custom 1 Unit'] || ''),
|
||
formula:String(parameters['Custom 1 References'] || ''),},
|
||
{name:String(parameters['Custom 2 Display Name'] || ''),
|
||
unit:String(parameters['Custom 2 Unit'] || ''),
|
||
formula:String(parameters['Custom 2 References'] || ''),},
|
||
{name:String(parameters['Custom 3 Display Name'] || ''),
|
||
unit:String(parameters['Custom 3 Unit'] || ''),
|
||
formula:String(parameters['Custom 3 References'] || ''),},
|
||
{name:String(parameters['Custom 4 Display Name'] || ''),
|
||
unit:String(parameters['Custom 4 Unit'] || ''),
|
||
formula:String(parameters['Custom 4 References'] || ''),},
|
||
{name:String(parameters['Custom 5 Display Name'] || ''),
|
||
unit:String(parameters['Custom 5 Unit'] || ''),
|
||
formula:String(parameters['Custom 5 References'] || ''),},
|
||
{name:String(parameters['Custom 6 Display Name'] || ''),
|
||
unit:String(parameters['Custom 6 Unit'] || ''),
|
||
formula:String(parameters['Custom 6 References'] || ''),},
|
||
{name:String(parameters['Custom 7 Display Name'] || ''),
|
||
unit:String(parameters['Custom 7 Unit'] || ''),
|
||
formula:String(parameters['Custom 7 References'] || ''),},
|
||
{name:String(parameters['Custom 8 Display Name'] || ''),
|
||
unit:String(parameters['Custom 8 Unit'] || ''),
|
||
formula:String(parameters['Custom 8 References'] || ''),},
|
||
{name:String(parameters['Custom 9 Display Name'] || ''),
|
||
unit:String(parameters['Custom 9 Unit'] || ''),
|
||
formula:String(parameters['Custom 9 References'] || ''),},
|
||
{name:String(parameters['Custom 10 Display Name'] || ''),
|
||
unit:String(parameters['Custom 10 Unit'] || ''),
|
||
formula:String(parameters['Custom 10 References'] || ''),},
|
||
{name:String(parameters['Custom 11 Display Name'] || ''),
|
||
unit:String(parameters['Custom 11 Unit'] || ''),
|
||
formula:String(parameters['Custom 11 References'] || ''),},
|
||
{name:String(parameters['Custom 12 Display Name'] || ''),
|
||
unit:String(parameters['Custom 12 Unit'] || ''),
|
||
formula:String(parameters['Custom 12 References'] || ''),},
|
||
{name:String(parameters['Custom 13 Display Name'] || ''),
|
||
unit:String(parameters['Custom 13 Unit'] || ''),
|
||
formula:String(parameters['Custom 13 References'] || ''),},
|
||
{name:String(parameters['Custom 14 Display Name'] || ''),
|
||
unit:String(parameters['Custom 14 Unit'] || ''),
|
||
formula:String(parameters['Custom 14 References'] || ''),},
|
||
{name:String(parameters['Custom 15 Display Name'] || ''),
|
||
unit:String(parameters['Custom 15 Unit'] || ''),
|
||
formula:String(parameters['Custom 15 References'] || ''),},
|
||
{name:String(parameters['Custom 16 Display Name'] || ''),
|
||
unit:String(parameters['Custom 16 Unit'] || ''),
|
||
formula:String(parameters['Custom 16 References'] || ''),},
|
||
{name:String(parameters['Custom 17 Display Name'] || ''),
|
||
unit:String(parameters['Custom 17 Unit'] || ''),
|
||
formula:String(parameters['Custom 17 References'] || ''),},
|
||
{name:String(parameters['Custom 18 Display Name'] || ''),
|
||
unit:String(parameters['Custom 18 Unit'] || ''),
|
||
formula:String(parameters['Custom 18 References'] || ''),},
|
||
{name:String(parameters['Custom 19 Display Name'] || ''),
|
||
unit:String(parameters['Custom 19 Unit'] || ''),
|
||
formula:String(parameters['Custom 19 References'] || ''),},
|
||
],
|
||
gauges:[
|
||
{name:String(parameters['Gauge 0 Display Name'] || ''),
|
||
ref:String(parameters['Gauge 0 References'] || ''),
|
||
current:String(parameters['Gauge 0 Current'] || ''),
|
||
max:String(parameters['Gauge 0 Max'] || ''),
|
||
color1:Number(parameters['Gauge 0 Color1'] || 0),
|
||
color2:Number(parameters['Gauge 0 Color2'] || 0),},
|
||
{name:String(parameters['Gauge 1 Display Name'] || ''),
|
||
ref:String(parameters['Gauge 1 References'] || ''),
|
||
current:String(parameters['Gauge 1 Current'] || ''),
|
||
max:String(parameters['Gauge 1 Max'] || ''),
|
||
color1:Number(parameters['Gauge 1 Color1'] || 0),
|
||
color2:Number(parameters['Gauge 1 Color2'] || 0),},
|
||
{name:String(parameters['Gauge 2 Display Name'] || ''),
|
||
ref:String(parameters['Gauge 2 References'] || ''),
|
||
current:String(parameters['Gauge 2 Current'] || ''),
|
||
max:String(parameters['Gauge 2 Max'] || ''),
|
||
color1:Number(parameters['Gauge 2 Color1'] || 0),
|
||
color2:Number(parameters['Gauge 2 Color2'] || 0),},
|
||
{name:String(parameters['Gauge 3 Display Name'] || ''),
|
||
ref:String(parameters['Gauge 3 References'] || ''),
|
||
current:String(parameters['Gauge 3 Current'] || ''),
|
||
max:String(parameters['Gauge 3 Max'] || ''),
|
||
color1:Number(parameters['Gauge 3 Color1'] || 0),
|
||
color2:Number(parameters['Gauge 3 Color2'] || 0),},
|
||
{name:String(parameters['Gauge 4 Display Name'] || ''),
|
||
ref:String(parameters['Gauge 4 References'] || ''),
|
||
current:String(parameters['Gauge 4 Current'] || ''),
|
||
max:String(parameters['Gauge 4 Max'] || ''),
|
||
color1:Number(parameters['Gauge 4 Color1'] || 0),
|
||
color2:Number(parameters['Gauge 4 Color2'] || 0),},
|
||
{name:String(parameters['Gauge 5 Display Name'] || ''),
|
||
ref:String(parameters['Gauge 5 References'] || ''),
|
||
current:String(parameters['Gauge 5 Current'] || ''),
|
||
max:String(parameters['Gauge 5 Max'] || ''),
|
||
color1:Number(parameters['Gauge 5 Color1'] || 0),
|
||
color2:Number(parameters['Gauge 5 Color2'] || 0),},
|
||
{name:String(parameters['Gauge 6 Display Name'] || ''),
|
||
ref:String(parameters['Gauge 6 References'] || ''),
|
||
current:String(parameters['Gauge 6 Current'] || ''),
|
||
max:String(parameters['Gauge 6 Max'] || ''),
|
||
color1:Number(parameters['Gauge 6 Color1'] || 0),
|
||
color2:Number(parameters['Gauge 6 Color2'] || 0),},
|
||
{name:String(parameters['Gauge 7 Display Name'] || ''),
|
||
ref:String(parameters['Gauge 7 References'] || ''),
|
||
current:String(parameters['Gauge 7 Current'] || ''),
|
||
max:String(parameters['Gauge 7 Max'] || ''),
|
||
color1:Number(parameters['Gauge 7 Color1'] || 0),
|
||
color2:Number(parameters['Gauge 7 Color2'] || 0),},
|
||
{name:String(parameters['Gauge 8 Display Name'] || ''),
|
||
ref:String(parameters['Gauge 8 References'] || ''),
|
||
current:String(parameters['Gauge 8 Current'] || ''),
|
||
max:String(parameters['Gauge 8 Max'] || ''),
|
||
color1:Number(parameters['Gauge 8 Color1'] || 0),
|
||
color2:Number(parameters['Gauge 8 Color2'] || 0),},
|
||
{name:String(parameters['Gauge 9 Display Name'] || ''),
|
||
ref:String(parameters['Gauge 9 References'] || ''),
|
||
current:String(parameters['Gauge 9 Current'] || ''),
|
||
max:String(parameters['Gauge 9 Max'] || ''),
|
||
color1:Number(parameters['Gauge 9 Color1'] || 0),
|
||
color2:Number(parameters['Gauge 9 Color2'] || 0),},
|
||
],
|
||
};
|
||
|
||
var xparamName = paramParse(parameters['XPARAM Name']);
|
||
if (xparamName) {
|
||
FTKR.CSS.cssStatus.xparam = Object.entries(xparamName).map(function(obj){return obj[1];});
|
||
} else {
|
||
console.error('プラグインパラメータ XPARAM Name が設定されていません。');
|
||
return;
|
||
}
|
||
var sparamName = paramParse(parameters['SPARAM Name']);
|
||
if (sparamName) {
|
||
FTKR.CSS.cssStatus.sparam = Object.entries(sparamName).map(function(obj){return obj[1];});
|
||
} else {
|
||
console.error('プラグインパラメータ SPARAM Name が設定されていません。');
|
||
return;
|
||
}
|
||
|
||
//SV戦闘キャラ用の影画像の高さ
|
||
Window_Base.SV_SHADOW_HEIGHT = 48;
|
||
|
||
//=============================================================================
|
||
// 自作関数(グローバル)
|
||
//=============================================================================
|
||
|
||
FTKR.gameData = FTKR.gameData || {
|
||
user :null,
|
||
target :null,
|
||
item :null,
|
||
number :0,
|
||
};
|
||
|
||
if (!FTKR.setGameData) {
|
||
FTKR.setGameData = function(user, target, item, number) {
|
||
FTKR.gameData = {
|
||
user :user || null,
|
||
target :target || null,
|
||
item :item || null,
|
||
number :number || 0
|
||
};
|
||
};
|
||
}
|
||
|
||
if (!FTKR.evalFormula) {
|
||
FTKR.evalFormula = function(formula) {
|
||
var datas = FTKR.gameData;
|
||
try {
|
||
var s = $gameSwitches._data;
|
||
var v = $gameVariables._data;
|
||
var a = datas.user;
|
||
var b = datas.target;
|
||
var item = datas.item;
|
||
var number = datas.number;
|
||
if (b) var result = b.result();
|
||
var value = eval(formula);
|
||
if (isNaN(value)) value = 0;
|
||
return value;
|
||
} catch (e) {
|
||
console.error(e);
|
||
return 0;
|
||
}
|
||
};
|
||
}
|
||
|
||
if (!FTKR.evalStrFormula) {
|
||
FTKR.evalStrFormula = function(formula) {
|
||
var datas = FTKR.gameData;
|
||
try {
|
||
var s = $gameSwitches._data;
|
||
var v = $gameVariables._data;
|
||
var a = datas.user;
|
||
var b = datas.target;
|
||
var item = datas.item;
|
||
var number = datas.number;
|
||
if (b) var result = b.result();
|
||
var value = eval(formula);
|
||
return value;
|
||
} catch (e) {
|
||
return formula;
|
||
}
|
||
};
|
||
}
|
||
|
||
//=============================================================================
|
||
// 自作処理
|
||
//=============================================================================
|
||
|
||
// <codeTitle:id>text</codeTitle>の形式のメタデータを読み取って{id,text}を返す
|
||
var readEntrapmentCodeToTextEx = function(obj, codeTitles) {
|
||
var regs = convertEntrapmentRegArrayEx(codeTitles);
|
||
var notedata = obj.note.split(/[\r\n]+/);
|
||
var setMode = 'none';
|
||
var results = [];
|
||
|
||
for (var i = 0; i < notedata.length; i++) {
|
||
var line = notedata[i];
|
||
if (matchRegs(line, regs, 'start')) {
|
||
var data = {
|
||
id:RegExp.$1,
|
||
text:''
|
||
};
|
||
setMode = 'read';
|
||
} else if (matchRegs(line, regs, 'end')) {
|
||
setMode = 'none';
|
||
results.push(data);
|
||
} else if (setMode === 'read') {
|
||
data.text += line + ';';
|
||
}
|
||
}
|
||
return results;
|
||
};
|
||
|
||
var convertEntrapmentRegArrayEx = function(codeTitles) {
|
||
return codeTitles.map(function(codeTitle) {
|
||
return {
|
||
start:new RegExp('<' + codeTitle + ':[ ]*(.+)>', 'i'),
|
||
end :new RegExp('<\/' + codeTitle + '>', 'i')
|
||
};
|
||
});
|
||
};
|
||
|
||
var matchRegs = function(data, regs, prop) {
|
||
return regs.some(function(reg){
|
||
return prop ? data.match(reg[prop]) : data.match(reg);
|
||
});
|
||
};
|
||
|
||
var convertEscapeCharacters = function(text) {
|
||
if (text == null) text = '';
|
||
var window = SceneManager._scene._windowLayer.children[0];
|
||
return window ? window.convertEscapeCharacters(text) : text;
|
||
};
|
||
|
||
var setArgStr = function(arg) {
|
||
return convertEscapeCharacters(arg);
|
||
};
|
||
|
||
var setArgNum = function(arg) {
|
||
try {
|
||
return Number(eval(setArgStr(arg)));
|
||
} catch (e) {
|
||
return 0;
|
||
}
|
||
};
|
||
|
||
// 配列の要素の合計
|
||
Math.sam = function(arr) {
|
||
return arr.reduce( function(prev, current, i, arr) {
|
||
return prev + current;
|
||
});
|
||
};
|
||
|
||
Math._getDec = function(value) {
|
||
var list = (value + '').split('.');
|
||
return list[1] !== undefined && list[1].length > 0 ? list[1].length : 0;
|
||
};
|
||
|
||
// 少数で表現された割合をパーセント表示の整数に変換する (例:0.5 を 50 に変換)
|
||
Math.percent = function(dec) {
|
||
var decnum = Math._getDec(dec);
|
||
var int = +(dec + '').replace('.', '');
|
||
var diffdec = 2 - decnum;
|
||
return diffdec ? int * Math.pow(10, diffdec) : int;
|
||
}
|
||
|
||
Number.prototype._getDec = function() {
|
||
var list = (this + '').split('.');
|
||
return list[1] !== undefined && list[1].length > 0 ? list[1].length : 0;
|
||
};
|
||
|
||
// 少数で表現された数値をパーセント表示の数値に変換する (例:0.5 を 50 に変換)
|
||
Number.prototype.percent = function(dec) {
|
||
dec = dec || 0;
|
||
var decnum = this._getDec();
|
||
var int = +(this + '').replace('.', '');
|
||
var diffdec = 2 + dec - decnum;
|
||
return Math.floor(int * Math.pow(10, diffdec)) / Math.pow(10, dec);
|
||
}
|
||
|
||
//配列の要素を、すべて数値に変換する。
|
||
Array.prototype.num = function() {
|
||
return this.map(function(elm) {
|
||
return Number(elm);
|
||
});
|
||
}
|
||
|
||
//=============================================================================
|
||
// バトル終了後に、逃走フラグを削除
|
||
//=============================================================================
|
||
|
||
var _Scene_Map_start = Scene_Map.prototype.start;
|
||
Scene_Map.prototype.start = function() {
|
||
_Scene_Map_start.call(this);
|
||
BattleManager._escaped = false;
|
||
};
|
||
|
||
//=============================================================================
|
||
// DataManager
|
||
//=============================================================================
|
||
|
||
var _DatabaseLoaded = false;
|
||
var _DataManager_isDatabaseLoaded = DataManager.isDatabaseLoaded;
|
||
DataManager.isDatabaseLoaded = function() {
|
||
if (!_DataManager_isDatabaseLoaded.call(this)) return false;
|
||
if (!_DatabaseLoaded) {
|
||
this.cssActorImageNotetags($dataActors);
|
||
this.cssActorImageNotetags($dataItems);
|
||
this.cssActorImageNotetags($dataWeapons);
|
||
this.cssActorImageNotetags($dataArmors);
|
||
this.cssCustomParamNotetags($dataActors);
|
||
this.cssCustomParamNotetags($dataClasses);
|
||
_DatabaseLoaded = true;
|
||
}
|
||
return true;
|
||
};
|
||
|
||
DataManager.cssActorImageNotetags = function(group) {
|
||
for (var n = 1; n < group.length; n++) {
|
||
var obj = group[n];
|
||
obj.cssbgi = [];
|
||
var datas = readEntrapmentCodeToTextEx(obj, ['CSS_画像', 'CSS_IMAGE']);
|
||
if (datas.length) this.readCssBgiMetaDatas(obj, datas);
|
||
}
|
||
};
|
||
|
||
DataManager.setCssBgiBase = function(obj, index, name) {
|
||
obj.cssbgi[index] = {
|
||
name :name,
|
||
offsetX :0,
|
||
offsetY :0,
|
||
width :0,
|
||
height :0,
|
||
scale :100,
|
||
};
|
||
};
|
||
|
||
DataManager.readCssBgiMetaDatas = function(obj, metaDatas) {
|
||
for (var t = 0; t < metaDatas.length; t++) {
|
||
this.setCssBgiBase(obj, t, metaDatas[t].id);
|
||
var datas = metaDatas[t].text.split(';');
|
||
for (var i = 0; i < datas.length; i++) {
|
||
var data = datas[i];
|
||
var match = /(.+):[ ]*(.+)/.exec(data);
|
||
if (!match) continue;
|
||
switch (match[1].toUpperCase()) {
|
||
case 'BGI OFFSET X':
|
||
obj.cssbgi[t].offsetX = Number(match[2]);
|
||
break;
|
||
case 'BGI OFFSET Y':
|
||
obj.cssbgi[t].offsetY = Number(match[2]);
|
||
break;
|
||
case 'BGI WIDTH':
|
||
obj.cssbgi[t].width = Number(match[2]);
|
||
break;
|
||
case 'BGI HEIGHT':
|
||
obj.cssbgi[t].height = Number(match[2]);
|
||
break;
|
||
case 'BGI SCALE':
|
||
obj.cssbgi[t].scale = Number(match[2]);
|
||
break;
|
||
}
|
||
}
|
||
}
|
||
};
|
||
|
||
DataManager.cssCustomParamNotetags = function(group) {
|
||
for (var n = 1; n < group.length; n++) {
|
||
var obj = group[n];
|
||
obj.cssGauges = [];
|
||
var datas = readEntrapmentCodeToTextEx(obj, ['CSS_カスタム', 'CSS_CUSTOM']);
|
||
this.readCssCustomParamMetaDatas(obj, datas);
|
||
}
|
||
};
|
||
|
||
DataManager.readCssCustomParamMetaDatas = function(obj, metaDatas) {
|
||
for (var t = 0; t < metaDatas.length; t++) {
|
||
var dataId = Number(metaDatas[t].id);
|
||
obj.cssGauges[dataId] = {};
|
||
|
||
var datas = metaDatas[t].text.split(';');
|
||
for (var i = 0; i < datas.length; i++) {
|
||
var data = datas[i];
|
||
var match = /(.+):[ ]*(.+)/.exec(data);
|
||
if (!match) continue;
|
||
switch (match[1].toUpperCase()) {
|
||
case 'NAME':
|
||
case '表示名':
|
||
obj.cssGauges[dataId].name = match[2];
|
||
break;
|
||
case 'REFERENCES':
|
||
case '参照先':
|
||
obj.cssGauges[dataId].ref = match[2];
|
||
break;
|
||
case 'CURRENT':
|
||
case '現在値':
|
||
obj.cssGauges[dataId].current = match[2];
|
||
break;
|
||
case 'MAX':
|
||
case '最大値':
|
||
obj.cssGauges[dataId].max = match[2];
|
||
break;
|
||
case 'COLOR':
|
||
case '色':
|
||
var colors = match[2].replace(/\s/g,'').split(',');
|
||
obj.cssGauges[dataId].color1 = Number(colors[0]);
|
||
obj.cssGauges[dataId].color2 = colors[1] ? Number(colors[1]) : Number(colors[0]);
|
||
break;
|
||
}
|
||
}
|
||
}
|
||
};
|
||
|
||
//=============================================================================
|
||
// プラグインコマンド
|
||
//=============================================================================
|
||
|
||
var _CSS_Game_Interpreter_pluginCommand = Game_Interpreter.prototype.pluginCommand;
|
||
Game_Interpreter.prototype.pluginCommand = function(command, args) {
|
||
switch (command.toUpperCase()) {
|
||
case 'CSS_カスタム画像変更':
|
||
case 'CSS_CHANGE_CUSTOM_IMAGE':
|
||
this.cssChangeCustomImage(args);
|
||
break;
|
||
case 'CSS_ウィンドウ設定変更':
|
||
case 'CSS_CHANGE_WINDOW_SETTING':
|
||
this.cssChangeWindowSetting(args);
|
||
break;
|
||
default:
|
||
_CSS_Game_Interpreter_pluginCommand.call(this, command, args);
|
||
break;
|
||
}
|
||
};
|
||
|
||
Game_Interpreter.prototype.cssChangeCustomImage = function(args) {
|
||
switch (setArgStr(args[0]).toUpperCase()) {
|
||
case 'アクター':
|
||
case 'ACTOR':
|
||
var actor = $gameActors.actor(setArgNum(args[1]));
|
||
break;
|
||
case 'パーティー':
|
||
case 'PARTY':
|
||
var actor = $gameParty.members()[setArgNum(args[1])];
|
||
break;
|
||
default :
|
||
return;
|
||
}
|
||
if (!actor) return;
|
||
actor.setupCssbgi(
|
||
setArgNum(args[2]),
|
||
setArgStr(args[3]),
|
||
setArgNum(args[4]),
|
||
setArgNum(args[5]),
|
||
setArgNum(args[6]),
|
||
setArgNum(args[7]),
|
||
setArgNum(args[8])
|
||
);
|
||
};
|
||
|
||
Game_Interpreter.prototype.cssChangeWindowSetting = function(args) {
|
||
switch(setArgStr(args[0].toUpperCase())) {
|
||
case 'バトル':
|
||
case 'BATTLE':
|
||
this.cssChangeWindowSettingParam($gameSystem._cssBattleWindow, args);
|
||
return;
|
||
default:
|
||
return;
|
||
}
|
||
};
|
||
|
||
Game_Interpreter.prototype.cssChangeWindowSettingParam = function(param, args) {
|
||
if (!param) return;
|
||
switch(setArgStr(args[1].toUpperCase())) {
|
||
case 'ENABLED':
|
||
case 'カスタム機能':
|
||
param.enabled = Boolean(setArgStr(args[2]));
|
||
break;
|
||
case 'NUMVISIBLEROUS':
|
||
case '表示行数':
|
||
param.numVisibleRows = setArgNum(args[2]);
|
||
break;
|
||
case 'FONTSIZE':
|
||
case 'フォントサイズ':
|
||
param.fontSize = setArgNum(args[2]);
|
||
break;
|
||
case 'PADDING':
|
||
case '余白':
|
||
param.padding = setArgNum(args[2]);
|
||
break;
|
||
case 'LINEHEIGHT':
|
||
case '行高さ':
|
||
param.lineHeight = setArgNum(args[2]);
|
||
break;
|
||
case 'OPACITY':
|
||
case '背景透明度':
|
||
param.opacity = setArgNum(args[2]);
|
||
break;
|
||
case 'HIDEFRAME':
|
||
case '枠非表示':
|
||
param.hideFrame = Boolean(setArgStr(args[2]));
|
||
break;
|
||
case 'MAXCOLS':
|
||
case '表示列数':
|
||
param.maxCols = setArgNum(args[2]);
|
||
break;
|
||
case 'CURSORHEIGHT':
|
||
case 'カーソル行数':
|
||
param.cursorHeight = setArgNum(args[2]);
|
||
break;
|
||
case 'HSPACE':
|
||
case '表示行間隔':
|
||
param.hspace = setArgNum(args[2]);
|
||
break;
|
||
default:
|
||
break;
|
||
}
|
||
};
|
||
|
||
//=============================================================================
|
||
// Game_Actor
|
||
//=============================================================================
|
||
|
||
var _Game_Actor_levelUp = Game_Actor.prototype.levelUp;
|
||
Game_Actor.prototype.levelUp = function() {
|
||
_Game_Actor_levelUp.call(this);
|
||
if (!this._levelUpCount) this._levelUpCount = 0;
|
||
this._levelUpCount += 1;
|
||
};
|
||
|
||
var _Game_Actor_setup = Game_Actor.prototype.setup;
|
||
Game_Actor.prototype.setup = function(actorId) {
|
||
_Game_Actor_setup.call(this, actorId);
|
||
ImageManager.loadFace(this.faceName());
|
||
this.actor().cssbgi.forEach( function(bgi){
|
||
if (bgi) ImageManager.loadPicture(bgi.name);
|
||
});
|
||
this._cssbgi = this.actor().cssbgi.filter(function(bgi){
|
||
return bgi && bgi.name;
|
||
});
|
||
ImageManager.loadSvActor(this.battlerName());
|
||
};
|
||
|
||
Game_Actor.prototype.cssbgi = function(imageId) {
|
||
return this._cssbgi[imageId];
|
||
};
|
||
|
||
Game_Actor.prototype.setupCssbgi = function(imageId, name, x, y, width, height, scale) {
|
||
var bgi = this._cssbgi[imageId];
|
||
bgi = {
|
||
name : name || bgi.name,
|
||
offsetX : x >= 0 ? x : bgi.offsetX,
|
||
offsetY : y >= 0 ? y : bgi.offsetY,
|
||
width : width >= 0 ? width : bgi.width,
|
||
height : height >= 0 ? height : bgi.height,
|
||
scale : scale >= 0 ? scale : bgi.scale,
|
||
};
|
||
this._cssbgi[imageId] = bgi;
|
||
};
|
||
|
||
//ステートモーションを取得する
|
||
Game_Actor.prototype.getStateMotion = function() {
|
||
if(Imported.FTKR_ESM) {
|
||
return this.getEsmMotion();
|
||
} else {
|
||
switch (this.stateMotionIndex()) {
|
||
case 1: return 'abnormal';
|
||
case 2: return 'sleep';
|
||
case 3: return 'dead';
|
||
}
|
||
return '';
|
||
}
|
||
};
|
||
|
||
//=============================================================================
|
||
// Window_Base
|
||
//=============================================================================
|
||
|
||
var _Window_Base_initialize = Window_Base.prototype.initialize;
|
||
Window_Base.prototype.initialize = function(x, y, width, height) {
|
||
_Window_Base_initialize.call(this, x, y, width, height);
|
||
this.sprite = [];
|
||
this._stateIconSprite = [];
|
||
this._faceSprite = [];
|
||
};
|
||
|
||
Window_Base.prototype.clearCssSprite = function(index) {
|
||
if (this.sprite && this.sprite[index]) {
|
||
this.sprite[index].setBattler();
|
||
}
|
||
if (this._stateIconSprite && this._stateIconSprite[index]) {
|
||
this._stateIconSprite[index].forEach( function(sprite){
|
||
sprite.setup(null);
|
||
});
|
||
}
|
||
};
|
||
|
||
Window_Base.prototype.clearItem = function(index) {
|
||
this.clearCssSprite(index);
|
||
};
|
||
|
||
var _CSS_Window_Selectable_clearItem = Window_Selectable.prototype.clearItem;
|
||
Window_Selectable.prototype.clearItem = function(index) {
|
||
_CSS_Window_Selectable_clearItem.call(this, index);
|
||
Window_Base.prototype.clearItem.call(this, index);
|
||
};
|
||
|
||
Window_Base.prototype.showActorNum = function() {
|
||
return this.maxPageItems ? this.maxPageItems() : 1;
|
||
};
|
||
|
||
Window_Base.prototype.convertCssNumber = function(actor, value) {
|
||
if (!value) return 0;
|
||
if (!isNaN(value)) {
|
||
return Number(value);
|
||
}
|
||
return Number(this.evalCssCustomFormula(actor, value));
|
||
};
|
||
|
||
Window_Base.prototype.evalCssCustomFormula = function(actor, formula) {
|
||
if (!formula) return '';
|
||
FTKR.setGameData(actor);
|
||
return FTKR.evalFormula(formula);
|
||
};
|
||
|
||
Window_Base.prototype.evalCssStrFormula = function(actor, formula) {
|
||
if (!formula) return '';
|
||
FTKR.setGameData(actor);
|
||
return FTKR.evalStrFormula(formula);
|
||
};
|
||
|
||
Window_Base.prototype.isEnabledChangePaintOpacity = function(actor) {
|
||
return actor && actor.isBattleMember();
|
||
};
|
||
|
||
//制御文字を考慮して入力したテキスト長を求める
|
||
Window_Base.prototype.convertTextWidth = function(text) {
|
||
var textObj = { text : text, width : 0 };
|
||
textObj.text = this.convertEscapeCharacters(textObj.text);
|
||
this.convertEscapeCharactersTextWidth(textObj);
|
||
textObj.width += this.textWidth(textObj.text);
|
||
return textObj.width;
|
||
};
|
||
|
||
Window_Base.prototype.convertEscapeCharactersTextWidth = function(obj) {
|
||
var reg = /i\[(\d+)\]/i;
|
||
while (reg.test(obj.text)) {
|
||
obj.text = (conv.toUpperCase()).replace(reg, '');
|
||
obj.width += Window_Base._iconWidth + 4;
|
||
}
|
||
reg = /c\[(\d+)\]/i;
|
||
while (reg.test(obj.text)) {
|
||
obj.text = (obj.text.toUpperCase()).replace(reg, '');
|
||
}
|
||
reg = /lw\[(\d+),?([^\]]+)\]/i;
|
||
var result;
|
||
while (result = reg.exec(obj.text)) {
|
||
obj.width += Number(result[1]);
|
||
obj.text = (obj.text.toUpperCase()).replace(reg, '');
|
||
}
|
||
return obj;
|
||
};
|
||
|
||
/*-------------------------------------------------------------
|
||
アクターの簡易ステータスを表示する関数
|
||
drawCssActorStatus(index, actor, x, y, width, height, lss)
|
||
index :アクターの表示番号
|
||
actor :アクターオブジェクト
|
||
x :x座標
|
||
y :y座標
|
||
width :表示エリアの幅
|
||
height:表示エリアの高さ
|
||
lss :簡易ステータスオブジェクト
|
||
-------------------------------------------------------------*/
|
||
Window_Base.prototype.drawCssActorStatus = function(index, actor, x, y, width, height, lss) {
|
||
if (lss && lss.statusList) {
|
||
lss.statusList.forEach(function(status){
|
||
this.drawCssActorStatusText(index, actor, x, y, width, height, status, lss);
|
||
},this);
|
||
} else {
|
||
this.drawCssActorStatus_v2(index, actor, x, y, width, height, lss);
|
||
}
|
||
};
|
||
|
||
Window_Base.prototype.drawCssActorStatus_v2 = function(index, actor, x, y, width, height, lss) {
|
||
if (!lss) lss = {};
|
||
var w = width;
|
||
var h = height;
|
||
var wrs = lss.widthRate.split(',').num();
|
||
var spc = lss.space.split(',').num();
|
||
this._dispWidth = width - spc[0] - spc[3];
|
||
var aws = [];
|
||
var axs = [];
|
||
var status = [lss.text1.split(','), lss.text2.split(','), lss.text3.split(',')];
|
||
for (var i = 0; i < 3; i++) {
|
||
aws[i] = (w - Math.sam(spc)) * wrs[i] / Math.sam(wrs);
|
||
axs[i] = i > 0 ? axs[i-1] + aws[i-1] + spc[i]: x + spc[0];
|
||
this.drawCssActorStatusText(index, actor, axs[i], y, aws[i], height, status[i], lss);
|
||
this._dispWidth -= aws[i] + spc[i+1];
|
||
}
|
||
};
|
||
|
||
/*-------------------------------------------------------------
|
||
描画エリアを表示する関数
|
||
drawCssActorStatusText(index, actor, x, y, width, statusnames, lss)
|
||
index :アクターの表示番号
|
||
actor :アクターオブジェクト
|
||
x :描画エリアのx座標
|
||
y :描画エリアのy座標
|
||
width :描画エリアの幅
|
||
statusnames :描画エリアの表示コードの配列
|
||
lss :簡易ステータスオブジェクト
|
||
-------------------------------------------------------------*/
|
||
Window_Base.prototype.drawCssActorStatusText = function(index, actor, x, y, width, height, status, lss) {
|
||
if (lss && lss.statusList) {
|
||
var dx = this.parseIntCssStatus(status.x, x, y, width, height);
|
||
var dy = this.parseIntCssStatus(status.y, x, y, width, height);
|
||
var dw = this.parseIntCssStatus(status.width, x, y, width, height);
|
||
dw = dw < 0 ? width - x - dx : Math.min(dw, width);
|
||
var text = status.text;
|
||
if (/([^\(]+)\(\%1\)/i.test(status.text)) {
|
||
text = text.format(status.value);
|
||
}
|
||
this.drawCssActorStatusBases(index, actor, x + dx, y + dy, dw, text, lss);
|
||
} else {
|
||
this.drawCssActorStatusText_v2(index, actor, x, y, width, height, status, lss);
|
||
}
|
||
};
|
||
|
||
Window_Base.prototype.parseIntCssStatus = function(value, x, y, width, height) {
|
||
if (!isNaN(value)) {
|
||
return parseInt(value);
|
||
} else {
|
||
var line = this.lineHeight();
|
||
return eval(value);
|
||
}
|
||
};
|
||
|
||
Window_Base.prototype.drawCssActorStatusText_v2 = function(index, actor, x, y, width, height, statusnames, lss) {
|
||
var dy = this.lineHeight();
|
||
var line = 0;
|
||
statusnames.forEach( function(status) {
|
||
line += this.drawCssActorStatusBases(index, actor, x, y + dy * line, width, status, lss);
|
||
},this);
|
||
};
|
||
|
||
Window_Base.prototype.drawCssActorStatusBases = function(index, actor, x, y, width, status, lss) {
|
||
if (lss && lss.statusList) {
|
||
var match = status.match(/^\[(.+)\]$/);
|
||
var statuses = !match ? [status] : match[1].split('/');
|
||
var len = statuses.length;
|
||
var sIn = Number(lss.spaceIn);
|
||
if (len > 1) width = (width - sIn * (len - 1))/ len;
|
||
statuses.forEach( function(element, i) {
|
||
var dx = (width + sIn) * i;
|
||
this.drawCssActorStatusBase(index, actor, x + dx, y, width, element, lss);
|
||
},this);
|
||
} else {
|
||
return this.drawCssActorStatusBases_v2(index, actor, x, y, width, status, lss);
|
||
}
|
||
};
|
||
|
||
Window_Base.prototype.drawCssActorStatusBases_v2 = function(index, actor, x, y, width, status, lss) {
|
||
var matchA = status.match(/^\{(.+)\}$/);
|
||
if (matchA) {
|
||
status = matchA[1];
|
||
width = this._dispWidth;
|
||
}
|
||
var matchB = status.match(/^\[(.+)\]$/);
|
||
var statuses = !matchB ? [status] : matchB[1].split('/');
|
||
var line = 0;
|
||
var len = statuses.length;
|
||
var sIn = Number(lss.spaceIn);
|
||
if (len > 1) width = (width - sIn * (len - 1))/ len;
|
||
statuses.forEach( function(element, i) {
|
||
var dx = (width + sIn) * i;
|
||
line = Math.max(this.drawCssActorStatusBase(index, actor, x + dx, y, width, element, lss), line);
|
||
},this);
|
||
return line;
|
||
};
|
||
|
||
/*-------------------------------------------------------------
|
||
表示コードを判定する関数
|
||
drawCssActorStatusBase(index, actor, x, y, width, status, lss)
|
||
index :アクターの表示番号
|
||
actor :アクターオブジェクト
|
||
x :描画エリアのx座標
|
||
y :描画エリアのy座標
|
||
width :描画エリアの幅
|
||
status :描画する表示コード
|
||
lss :簡易ステータスオブジェクト
|
||
-------------------------------------------------------------*/
|
||
Window_Base.prototype.drawCssActorStatusBase = function(index, actor, x, y, width, status, lss) {
|
||
var css = FTKR.CSS.cssStatus;
|
||
var match = status.match(/([^\(]+)\((.+)\)/);
|
||
if (match) {
|
||
return this.drawCssActorStatusBase_A(index, actor, x, y, width, match, lss, css);
|
||
} else {
|
||
return this.drawCssActorStatusBase_B(index, actor, x, y, width, status, lss, css);
|
||
}
|
||
};
|
||
|
||
// 括弧で表示する内容を指定する表示コード
|
||
Window_Base.prototype.drawCssActorStatusBase_A = function(index, actor, x, y, width, match, lss, css) {
|
||
switch(match[1].toUpperCase()) {
|
||
case 'IPARAM':
|
||
return this.drawCssItemParam(actor, x, y, width, match[2], lss);
|
||
case 'STREVAL':
|
||
return this.drawCssEval(actor, x, y, width, match[2], false);
|
||
case 'EVAL':
|
||
return this.drawCssEval(actor, x, y, width, match[2], true);
|
||
case 'TEXT':
|
||
return this.drawCssText(actor, x, y, width, match[2]);
|
||
case 'NOTEQUIP':
|
||
return this.drawCssCannotEquip(actor, x, y, width, match[2], lss);
|
||
case 'EQUIP':
|
||
return this.drawCssActorEquip(actor, x, y, width, match[2], lss);
|
||
default:
|
||
// if (!actor) return 1;
|
||
FTKR.setGameData(actor, lss.target, lss.item);
|
||
match[2] = this.convertCssNumber(actor, match[2]);
|
||
return this.drawCssActorStatusBase_A1(index, actor, x, y, width, match, lss, css);
|
||
}
|
||
};
|
||
|
||
// 括弧で表示する内容を指定する表示コード(括弧内をevalで計算させる場合)
|
||
Window_Base.prototype.drawCssActorStatusBase_A1 = function(index, actor, x, y, width, match, lss, css) {
|
||
switch(match[1].toUpperCase()) {
|
||
case 'EDIFFAOP':
|
||
return this.drawCssActorEquipAopDiff(actor, x, y, width, match[2], lss);
|
||
case 'EXDIFF':
|
||
return this.drawCssActorEquipXPDiff(actor, x, y, width, match[2], lss);
|
||
case 'ESDIFF':
|
||
return this.drawCssActorEquipSPDiff(actor, x, y, width, match[2], lss);
|
||
case 'EDIFF':
|
||
return this.drawCssActorEquipDiff(actor, x, y, width, match[2], lss);
|
||
case 'AOPDIFF':
|
||
return this.drawCssActorAopParamDiff(actor, x, y, width, match[2], lss);
|
||
case 'AOPBASE':
|
||
return this.drawCssActorAopParamBase(actor, x, y, width, match[2], lss);
|
||
case 'PDIFF':
|
||
return this.drawCssActorParamDiff(actor, x, y, width, match[2], lss);
|
||
case 'PBASE':
|
||
return this.drawCssActorParamBase(actor, x, y, width, match[2], lss);
|
||
case 'IIMAGE':
|
||
return this.drawCssItemImage(actor, x, y, width, match[2], lss);
|
||
case 'EXPARAM':
|
||
return this.drawCssActorEquipXParam(actor, x, y, width, match[2], lss);
|
||
case 'ESPARAM':
|
||
return this.drawCssActorEquipSParam(actor, x, y, width, match[2], lss);
|
||
case 'EPARAM':
|
||
return this.drawCssActorEquipParam(actor, x, y, width, match[2], lss);
|
||
case 'EAOP':
|
||
return this.drawCssActorEquipAopParam(actor, x, y, width, match[2], lss);
|
||
case 'AOP':
|
||
return this.drawCssActorAopParam(actor, x, y, width, match[2], lss);
|
||
case 'AGAUGE':
|
||
return this.drawCssActorCustomGauge(actor, x, y, width, match[2]);
|
||
case 'CGAUGE':
|
||
return this.drawCssClassCustomGauge(actor, x, y, width, match[2]);
|
||
case 'XPARAM':
|
||
return this.drawCssActorXParam(actor, x, y, width, match[2]);
|
||
case 'SPARAM':
|
||
return this.drawCssActorSParam(actor, x, y, width, match[2]);
|
||
case 'PARAM':
|
||
return this.drawCssActorParam(actor, x, y, width, match[2]);
|
||
case 'CUSTOM':
|
||
return this.drawCssActorCustom(actor, x, y, width, css.customs[match[2]]);
|
||
case 'GAUGE':
|
||
return this.drawCssActorGauge(actor, x, y, width, css.gauges[match[2]]);
|
||
case 'STATE2':
|
||
return this.drawCssActorIcons(index, actor, x, y, width, match[2]);
|
||
case 'FACE':
|
||
return this.drawCssActorFace(actor, x, y, width, lss, match[2]);
|
||
case 'IMAGE':
|
||
return this.drawCssActorImage(actor, x, y, width, match[2]);
|
||
default:
|
||
return 1;
|
||
}
|
||
};
|
||
|
||
// 括弧を使わない表示コード
|
||
Window_Base.prototype.drawCssActorStatusBase_B = function(index, actor, x, y, width, status, lss, css) {
|
||
switch (status.toUpperCase()) {
|
||
case 'IICON':
|
||
return this.drawCssItemIcon(actor, x, y, width, lss);
|
||
case 'INAME':
|
||
return this.drawCssItemName(actor, x, y, width, lss);
|
||
case 'IDESC':
|
||
return this.drawCssItemDesc(actor, x, y, width, lss);
|
||
case 'ITYPE':
|
||
return this.drawCssItemType(actor, x, y, width, lss);
|
||
case 'IETYPE':
|
||
return this.drawCssItemEType(actor, x, y, width, lss);
|
||
case 'ISCOPE':
|
||
return this.drawCssItemScope(actor, x, y, width, lss);
|
||
case 'IELEMENT':
|
||
return this.drawCssItemElement(actor, x, y, width, lss);
|
||
case 'INUMBER':
|
||
return this.drawCssItemNumber(actor, x, y, width, lss);
|
||
case 'MAPNAME':
|
||
return this.drawCssMapName(actor, x, y, width, lss);
|
||
case 'FACE':
|
||
return this.drawCssActorFace(actor, x, y, width, lss);
|
||
case 'ECHARA':
|
||
return this.drawCssEnemyChara(actor, x, y, width);
|
||
case 'CHARA':
|
||
return this.drawCssActorChara(actor, x, y, width, css.chara);
|
||
case 'SV':
|
||
return this.drawCssActorSvChara(index, actor, x, y, width, css.svChara);
|
||
case 'NICKNAME':
|
||
return this.drawCssActorNickname(actor, x, y, width);
|
||
case 'NAME':
|
||
return this.drawCssActorName(actor, x, y, width);
|
||
case 'LEVEL':
|
||
return this.drawCssActorLevel(actor, x, y, width);
|
||
case 'HP':
|
||
return this.drawCssActorHp(actor, x, y, width);
|
||
case 'MP':
|
||
return this.drawCssActorMp(actor, x, y, width);
|
||
case 'TP':
|
||
return this.drawCssActorTp(actor, x, y, width);
|
||
case 'CLASS':
|
||
return this.drawCssActorClass(actor, x, y, width);
|
||
case 'STATE':
|
||
return this.drawCssActorIcons(index, actor, x, y, width);
|
||
case 'PROFILE':
|
||
return this.drawCssProfile(actor, x, y, width);
|
||
case 'IMAGE':
|
||
return this.drawCssActorImage(actor, x, y, width, 0);
|
||
case 'MESSAGE':
|
||
return this.drawCssActorMessage(actor, x, y, width);
|
||
case 'LINE':
|
||
return this.drawCssLine(x, y, width);
|
||
default:
|
||
return 1;
|
||
}
|
||
};
|
||
|
||
//------------------------------------------------------------------------
|
||
//アイテム名の表示関数
|
||
//------------------------------------------------------------------------
|
||
Window_Base.prototype.drawCssItemIcon = function(actor, x, y, width, lss) {
|
||
var index = lss.item ? lss.item.iconIndex : 0;
|
||
this.drawIcon(index, x, y);
|
||
return 1;
|
||
};
|
||
|
||
//------------------------------------------------------------------------
|
||
//アイテムアイコンの表示関数
|
||
//------------------------------------------------------------------------
|
||
Window_Base.prototype.drawCssItemName = function(actor, x, y, width, lss) {
|
||
var name = lss.item ? lss.item.name : '';
|
||
this.drawText(name, x, y, width);
|
||
return 1;
|
||
};
|
||
|
||
//------------------------------------------------------------------------
|
||
//アイテムの説明の表示関数
|
||
//------------------------------------------------------------------------
|
||
Window_Base.prototype.drawCssItemDesc = function(actor, x, y, width, lss) {
|
||
var name = lss.item ? lss.item.description : '';
|
||
this.drawTextEx(name, x, y);
|
||
return 2;
|
||
};
|
||
|
||
//------------------------------------------------------------------------
|
||
//アイテムの設定の表示関数
|
||
//------------------------------------------------------------------------
|
||
Window_Base.prototype.drawCssItemParam = function(actor, x, y, width, param, lss) {
|
||
var item = lss.item;
|
||
if (!item) return 1;
|
||
this.drawText(item[param], x, y, width);
|
||
return 1;
|
||
};
|
||
|
||
//------------------------------------------------------------------------
|
||
//アイテムのタイプ(スキルタイプ、武器タイプ、防具タイプ)
|
||
//------------------------------------------------------------------------
|
||
Window_Base.prototype.drawCssItemType = function(actor, x, y, width, lss) {
|
||
this.drawText(DataManager.itemTypeName(lss.item), x, y, width);
|
||
return 1;
|
||
};
|
||
|
||
Window_Base.ITEM_TYPES = [
|
||
'',
|
||
'一般アイテム',
|
||
'大事なもの',
|
||
'隠しアイテムA',
|
||
'隠しアイテムB',
|
||
];
|
||
|
||
DataManager.itemTypeName = function(item) {
|
||
if (this.isSkill(item)) {
|
||
return $dataSystem.skillTypes[item.stypeId];
|
||
} else if (this.isItem(item)) {
|
||
return Window_Base.ITEM_TYPES[item.itypeId];
|
||
} else if (this.isWeapon(item)) {
|
||
return $dataSystem.weaponTypes[item.wtypeId];
|
||
} else if (this.isArmor(item)) {
|
||
return $dataSystem.armorTypes[item.atypeId];
|
||
} else {
|
||
return '';
|
||
}
|
||
};
|
||
|
||
//------------------------------------------------------------------------
|
||
//アイテムの装備タイプ
|
||
//------------------------------------------------------------------------
|
||
Window_Base.prototype.drawCssItemEType = function(actor, x, y, width, lss) {
|
||
var name = lss.item ? $dataSystem.equipTypes[lss.item.etypeId] : '';
|
||
this.drawText(name, x, y, width);
|
||
return 1;
|
||
};
|
||
|
||
//------------------------------------------------------------------------
|
||
//アイテムの範囲
|
||
//------------------------------------------------------------------------
|
||
Window_Base.prototype.drawCssItemScope = function(actor, x, y, width, lss) {
|
||
var name = lss.item ? Window_Base.ITEM_SCOPE[lss.item.scope] : '';
|
||
this.drawText(name, x, y, width);
|
||
return 1;
|
||
};
|
||
|
||
Window_Base.ITEM_SCOPE = [
|
||
'',
|
||
'敵単体',
|
||
'敵全体',
|
||
'敵1体ランダム',
|
||
'敵2体ランダム',
|
||
'敵3体ランダム',
|
||
'敵4体ランダム',
|
||
'味方単体',
|
||
'味方全体',
|
||
'味方単体(戦闘不能)',
|
||
'味方全体(戦闘不能)',
|
||
'使用者'
|
||
];
|
||
|
||
//------------------------------------------------------------------------
|
||
//アイテムの属性
|
||
//------------------------------------------------------------------------
|
||
Window_Base.prototype.drawCssItemElement = function(actor, x, y, width, lss) {
|
||
var name = lss.item && lss.item.damage ? $dataSystem.elements[lss.item.damage.elementId] : '';
|
||
this.drawText(name, x, y, width);
|
||
return 1;
|
||
};
|
||
|
||
//------------------------------------------------------------------------
|
||
//アイテムのカスタム画像の表示
|
||
//------------------------------------------------------------------------
|
||
Window_Base.prototype.drawCssItemImage = function(actor, dx, dy, width, id, lss) {
|
||
var item = lss.item;
|
||
if (!item || !item.cssbgi) return 1;
|
||
id = id || 0;
|
||
var bgi = item.cssbgi[id];
|
||
if (!bgi) return 1;
|
||
var bitmap = ImageManager.loadPicture(bgi.name);
|
||
if (!bitmap) return 1;
|
||
var sw = bgi.width || bitmap.width;
|
||
var sh = bgi.height || bitmap.height;
|
||
var sx = bgi.offsetX || 0;
|
||
var sy = bgi.offsetY || 0;
|
||
|
||
var dh = sh * bgi.scale / 100;
|
||
var dw = sw * bgi.scale / 100;
|
||
var offsetX = FTKR.CSS.cssStatus.image.posiX * (width - dw) / 2;
|
||
dx = Math.floor(dx + offsetX);
|
||
this.contents.blt(bitmap, sx, sy, sw, sh, dx, dy, dw, dh);
|
||
return Math.ceil(dh / this.lineHeight()) || 1;
|
||
};
|
||
|
||
//------------------------------------------------------------------------
|
||
//アイテムの所持数
|
||
//------------------------------------------------------------------------
|
||
Window_Base.prototype.drawCssItemNumber = function(actor, x, y, width, lss) {
|
||
if (lss.item){
|
||
var numItems = $gameParty.numItems(lss.item);
|
||
this.drawText(numItems, x, y, width, 'right');
|
||
}
|
||
return 1;
|
||
};
|
||
|
||
//------------------------------------------------------------------------
|
||
//マップ名の表示
|
||
//------------------------------------------------------------------------
|
||
Window_Base.prototype.drawCssMapName = function(actor, x, y, width, lss) {
|
||
this.drawText($gameMap.displayName(), x, y, width);
|
||
return 1;
|
||
};
|
||
|
||
//------------------------------------------------------------------------
|
||
//アクターの顔画像の表示関数
|
||
//------------------------------------------------------------------------
|
||
Window_Base.prototype.drawCssActorFace = function(actor, x, y, width, lss, scale) {
|
||
var dy = this.lineHeight();
|
||
scale = scale || Math.ceil(Window_Base._faceHeight / dy);
|
||
this.changePaintOpacity(this.isEnabledChangePaintOpacity(actor));
|
||
this.drawCssFace(actor, x, y, width, dy * scale);
|
||
this.changePaintOpacity(true);
|
||
return scale;
|
||
};
|
||
|
||
Window_Base.prototype.drawCssFace = function(actor, dx, dy, width, height) {
|
||
var fw = FTKR.CSS.cssStatus.face.width || Window_Base._faceWidth;
|
||
var fh = FTKR.CSS.cssStatus.face.height || Window_Base._faceHeight;
|
||
var scaleh = height / fh;
|
||
var scaleW = width / fw;
|
||
if (scaleh < scaleW) {
|
||
var dh = height;
|
||
var dw = fw * scaleh;
|
||
} else {
|
||
var dh = fh * scaleW;
|
||
var dw = width;
|
||
}
|
||
var offsetX = this.cssFacePositionX(actor) * (width - dw) / 2;
|
||
dx = Math.floor(dx + offsetX);
|
||
var bitmap = ImageManager.loadFace(actor.faceName());
|
||
var sw = fw;
|
||
var sh = fh;
|
||
var sx = actor.faceIndex() % 4 * sw;
|
||
var sy = Math.floor(actor.faceIndex() / 4) * sh;
|
||
this.contents.blt(bitmap, sx, sy, sw, sh, dx, dy, dw, dh);
|
||
};
|
||
|
||
Window_Base.prototype.cssFacePositionX = function(actor) {
|
||
return FTKR.CSS.cssStatus.face.posiX;
|
||
};
|
||
|
||
//------------------------------------------------------------------------
|
||
//エネミーの戦闘画像の表示関数
|
||
//------------------------------------------------------------------------
|
||
Window_Base.prototype.drawCssEnemyChara = function(actor, dx, dy, width) {
|
||
if (!actor) return 1;
|
||
var bitmap = ImageManager.loadPicture(actor.battlerName());
|
||
if (!bitmap) return 1;
|
||
var sw = bitmap.width;
|
||
var sh = bitmap.height;
|
||
var sx = 0;
|
||
var sy = 0;
|
||
var dh = sh;
|
||
var dw = sw;
|
||
this.contents.blt(bitmap, sx, sy, sw, sh, dx, dy, dw, dh);
|
||
return Math.ceil(dh / this.lineHeight()) || 1;
|
||
};
|
||
|
||
//------------------------------------------------------------------------
|
||
//アクターの歩行キャラの表示関数
|
||
//------------------------------------------------------------------------
|
||
Window_Base.prototype.drawCssActorChara = function(actor, x, y, width, chara) {
|
||
var dy = this.lineHeight();
|
||
var line = Math.ceil(chara.height / dy);
|
||
this.changePaintOpacity(this.isEnabledChangePaintOpacity(actor));
|
||
this.drawCssChara(actor, x, y, width, dy * line, chara);
|
||
this.changePaintOpacity(true);
|
||
return line;
|
||
};
|
||
|
||
Window_Base.prototype.drawCssChara = function(actor, dx, dy, width, height, chara) {
|
||
var faceName = actor.characterName();
|
||
var index = actor.characterIndex();
|
||
var dh = chara.height;
|
||
var dw = dh || width || chara.width;
|
||
var offsetX = this.cssCharaPositionX(actor, chara) * (width - dw) / 2;
|
||
var offsetY = (height - dh) / 2;
|
||
dx = Math.floor(dx + offsetX);
|
||
dy = Math.floor(dy + offsetY);
|
||
var bitmap = ImageManager.loadCharacter(faceName);
|
||
var direction = chara.direction ? $gamePlayer._direction / 2 - 1 : 0;
|
||
var sw = chara.width;
|
||
var sh = chara.height;
|
||
var sx = (index % 4 * 3 + 1) * sw;
|
||
var sy = (Math.floor(index / 4) * 4 + direction) * sh;
|
||
this.contents.blt(bitmap, sx, sy, sw, sh, dx, dy, dw, dh);
|
||
};
|
||
|
||
Window_Base.prototype.cssCharaPositionX = function(actor, chara) {
|
||
return chara.posiX;
|
||
};
|
||
|
||
//------------------------------------------------------------------------
|
||
//アクターのSV戦闘キャラの表示関数
|
||
//------------------------------------------------------------------------
|
||
Window_Base.prototype.drawCssActorSvChara = function(index, actor, x, y, width, svChara) {
|
||
var dy = this.lineHeight();
|
||
var line = Math.ceil(svChara.height / dy);
|
||
this.changePaintOpacity(this.isEnabledChangePaintOpacity(actor));
|
||
this.drawCssSvChara(index, actor, x, y, width, dy * line, svChara);
|
||
this.changePaintOpacity(true);
|
||
return line;
|
||
};
|
||
|
||
Window_Base.prototype.drawCssSvChara = function(index, actor, dx, dy, width, height, svChara) {
|
||
if (this.enableCssSvCharaMotion(svChara)) {
|
||
this.drawCssSvSprite(index, actor, dx, dy, width, height, svChara);
|
||
} else {
|
||
this.drawCssSvImage(index, actor, dx, dy, width, height, svChara);
|
||
}
|
||
};
|
||
|
||
Window_Base.prototype.enableCssSvCharaMotion = function(svChara) {
|
||
return $gameSystem.isSideView() &&
|
||
(svChara.enable === 1 || svChara.enable === 2 && !$gameParty.inBattle());
|
||
};
|
||
|
||
Window_Base.prototype.drawCssSvSprite = function(index, actor, dx, dy, width, height, svChara) {
|
||
index = index % this.showActorNum();
|
||
var sprite = this.sprite[index];
|
||
if (!sprite) {
|
||
sprite = new Sprite_Actor(actor);
|
||
this.addChild(sprite);
|
||
this.sprite[index] = sprite;
|
||
} else {
|
||
sprite.setBattler(actor);
|
||
}
|
||
var offsetX = this.cssSvPositionX(actor, svChara) * (width - svChara.width) / 2;
|
||
var sx = Math.floor(dx + offsetX + this.padding + svChara.width / 2);
|
||
var sy = Math.floor(dy + height + this.padding);
|
||
sprite.setHome(sx, sy);
|
||
sprite.startMove(0,0,0);
|
||
sprite.stopMove();
|
||
if (!Imported.FTKR_ESM) {
|
||
var stateMotion = actor.getStateMotion();
|
||
var motion = svChara.state && stateMotion ? stateMotion : svChara.motion;
|
||
sprite.startMotion(motion);
|
||
}
|
||
};
|
||
|
||
|
||
Window_Base.prototype.drawCssSvImage = function(index, actor, dx, dy, width, height, svChara) {
|
||
var dh = svChara.height;
|
||
var dw = dh || width || svChara.width;
|
||
var offsetX = this.cssSvPositionX(actor, svChara) * (width - dw) / 2;
|
||
var offsetY = (height - dh) / 2;
|
||
dx = Math.floor(dx + offsetX);
|
||
dy = Math.floor(dy + offsetY);
|
||
var bitmap = ImageManager.loadSvActor(actor.battlerName());
|
||
var sw = svChara.width;
|
||
var sh = svChara.height;
|
||
this.contents.blt(bitmap, 0, 0, sw, sh, dx, dy, dw, dh);
|
||
};
|
||
|
||
Window_Base.prototype.cssSvPositionX = function(actor, svChara) {
|
||
return svChara.posiX;
|
||
};
|
||
|
||
//------------------------------------------------------------------------
|
||
//アクターの名前の表示関数
|
||
//------------------------------------------------------------------------
|
||
Window_Base.prototype.drawCssActorName = function(actor, x, y, width) {
|
||
if (!actor) return 1;
|
||
this.changeTextColor(this.hpColor(actor));
|
||
this.drawText(actor.name(), x, y, width);
|
||
return 1;
|
||
};
|
||
|
||
//------------------------------------------------------------------------
|
||
//アクターのクラス名の表示関数
|
||
//------------------------------------------------------------------------
|
||
Window_Base.prototype.drawCssActorClass = function(actor, x, y, width) {
|
||
this.resetTextColor();
|
||
this.drawText(actor.currentClass().name, x, y, width);
|
||
return 1;
|
||
};
|
||
|
||
//------------------------------------------------------------------------
|
||
//アクターの二つ名の表示関数
|
||
//------------------------------------------------------------------------
|
||
Window_Base.prototype.drawCssActorNickname = function(actor, x, y, width) {
|
||
this.resetTextColor();
|
||
this.drawText(actor.nickname(), x, y, width);
|
||
return 1;
|
||
};
|
||
|
||
//------------------------------------------------------------------------
|
||
//アクターのレベルの表示関数
|
||
//------------------------------------------------------------------------
|
||
Window_Base.prototype.drawCssActorLevel = function(actor, x, y, width) {
|
||
var value = actor.level;
|
||
var tw = this.textWidth(String(value));
|
||
this.changeTextColor(this.systemColor());
|
||
this.drawText(TextManager.levelA, x, y, width - tw - 4);
|
||
this.resetTextColor();
|
||
this.drawText(value, x + width - tw, y, tw, 'right');
|
||
return 1;
|
||
};
|
||
|
||
//------------------------------------------------------------------------
|
||
//アクターのステートアイコンの表示関数
|
||
//------------------------------------------------------------------------
|
||
Window_Base.prototype.drawCssActorIcons = function(index, actor, x, y, width, line) {
|
||
if (FTKR.CSS.cssStatus.state.enable) {
|
||
return this.drawCssIconsSprite(index, actor, x, y, width, line);
|
||
} else {
|
||
this.drawActorIcons(actor, x, y, width);
|
||
return 1;
|
||
}
|
||
};
|
||
|
||
Window_Base.prototype.drawCssIconsSprite = function(index, actor, x, y, width, line) {
|
||
var css = FTKR.CSS.cssStatus.state;
|
||
var iw = Window_Base._iconWidth;
|
||
var iconPadding = css.iconPadding;
|
||
index = index % this.showActorNum();
|
||
var iconSprites = this._stateIconSprite[index];
|
||
if (!iconSprites) {
|
||
iconSprites = [];
|
||
}
|
||
if(css.autoScale) {
|
||
var scale = this.iconScale(width);
|
||
iw = iw * scale;
|
||
}
|
||
var maxlen = line ? this.lineHeight() * line : width;
|
||
var offset = css.overlap ? this.getOverlapValue(actor, iw, maxlen, css) : iw;
|
||
var showNum = Math.max(Math.floor((maxlen - iconPadding) / offset), 1);
|
||
if (showNum < iconSprites.length) {
|
||
iconSprites.forEach(function(sprite,i){
|
||
if (i < showNum) return;
|
||
this.removeChild(sprite);
|
||
},this);
|
||
iconSprites = iconSprites.slice(0, showNum);
|
||
}
|
||
for (var i = 0; i < showNum; i++) {
|
||
var sprite = iconSprites[i];
|
||
if (!sprite) {
|
||
sprite = new Sprite_CssStateIcon(i, showNum);
|
||
this.addChild(sprite);
|
||
sprite.setup(actor, showNum);
|
||
iconSprites[i] = sprite;
|
||
} else {
|
||
sprite.setup(actor, showNum);
|
||
}
|
||
sprite.move(x + this.padding, y + this.padding);
|
||
sprite.offsetMove(offset * i, line);
|
||
if(css.autoScale) sprite.setScale(scale);
|
||
}
|
||
this._stateIconSprite[index] = iconSprites;
|
||
return line ? line : 1;
|
||
};
|
||
|
||
Window_Base.prototype.getOverlapValue = function(actor, iw, maxlen, css) {
|
||
var iconlen = actor.allIcons().length;
|
||
var iconPadding = FTKR.CSS.cssStatus.state.iconPadding;
|
||
var diff = Math.max((maxlen - iw - iconPadding) / (iconlen - 1), iw * css.rate);
|
||
return diff && diff < iw ? diff : iw;
|
||
};
|
||
|
||
Window_Base.prototype.iconOverlapOffset = function(iw, number, width, vartical) {
|
||
var iconPadding = FTKR.CSS.cssStatus.state.iconPadding;
|
||
var len = vartical ? (number - 1) * this.lineHeight() + iconPadding : width - iw - iconPadding;
|
||
var diff = number > 1 ? len / (number - 1) : 0;
|
||
return diff < iw ? diff : iw;
|
||
};
|
||
|
||
Window_Base.prototype.iconScale = function(width) {
|
||
var iconPadding = FTKR.CSS.cssStatus.state.iconPadding;
|
||
var iw = Window_Base._iconWidth;
|
||
var len = Math.min(this.lineHeight(), width);
|
||
return Math.min(Math.max(len - iconPadding, 0) / iw);
|
||
};
|
||
|
||
//アイコンの表示スケールを指定できる表示関数
|
||
Window_Base.prototype.drawCssIcon = function(iconIndex, x, y, scale, auto) {
|
||
var iconPadding = FTKR.CSS.cssStatus.state.iconPadding;
|
||
scale = scale || 1;
|
||
var bitmap = ImageManager.loadSystem('IconSet');
|
||
var pw = Window_Base._iconWidth;
|
||
var ph = Window_Base._iconHeight;
|
||
if (auto) scale = Math.min(Math.max(this.lineHeight() - iconPadding, 0) / pw, 1);
|
||
var sx = iconIndex % 16 * pw;
|
||
var sy = Math.floor(iconIndex / 16) * ph;
|
||
this.contents.blt(bitmap, sx, sy, pw, ph, x, y, pw * scale, ph * scale);
|
||
};
|
||
|
||
//------------------------------------------------------------------------
|
||
//アクターのHPの表示関数
|
||
//------------------------------------------------------------------------
|
||
Window_Base.prototype.drawCssActorHp = function(actor, x, y, width) {
|
||
this.drawActorHp(actor, x, y, width);
|
||
return 1;
|
||
};
|
||
|
||
//------------------------------------------------------------------------
|
||
//アクターのMPの表示関数
|
||
//------------------------------------------------------------------------
|
||
Window_Base.prototype.drawCssActorMp = function(actor, x, y, width) {
|
||
this.drawActorMp(actor, x, y, width);
|
||
return 1;
|
||
};
|
||
|
||
//------------------------------------------------------------------------
|
||
//アクターのTPの表示関数
|
||
//------------------------------------------------------------------------
|
||
Window_Base.prototype.drawCssActorTp = function(actor, x, y, width) {
|
||
this.drawActorTp(actor, x, y, width);
|
||
return 1;
|
||
};
|
||
|
||
//------------------------------------------------------------------------
|
||
//パラメータの表示関数
|
||
//------------------------------------------------------------------------
|
||
Window_Base.prototype.drawCssActorParam = function(actor, x, y, width, paramId) {
|
||
if (paramId < 0 && paramId > 7) return 0;
|
||
this.changeTextColor(this.systemColor());
|
||
this.drawText(TextManager.param(paramId), x, y, width);
|
||
this.resetTextColor();
|
||
this.drawText(actor.param(paramId), x, y, width, 'right');
|
||
return 1;
|
||
};
|
||
|
||
//------------------------------------------------------------------------
|
||
//素のパラメータの表示関数
|
||
//------------------------------------------------------------------------
|
||
Window_Base.prototype.drawCssActorParamBase = function(actor, x, y, width, paramId, lss) {
|
||
if (paramId < 0 && paramId > 7) return 0;
|
||
this.changeTextColor(this.systemColor());
|
||
this.drawText(TextManager.param(paramId), x, y, width);
|
||
this.resetTextColor();
|
||
this.drawText(actor.paramBase(paramId), x, y, width, 'right');
|
||
return 1;
|
||
};
|
||
|
||
//------------------------------------------------------------------------
|
||
//パラメータ差分の表示関数
|
||
//------------------------------------------------------------------------
|
||
Window_Base.prototype.drawCssActorParamDiff = function(actor, x, y, width, paramId, lss) {
|
||
if (paramId < 0 && paramId > 7) return 1;
|
||
var param = actor.param(paramId);
|
||
var base = actor.paramBase(paramId);
|
||
var diff = param - base;
|
||
this.drawParamDiffValue(diff, x, y, width, FTKR.CSS.cssStatus.pdiff);
|
||
return 1;
|
||
};
|
||
|
||
Window_Base.prototype.drawParamDiffValue = function(value, x, y, width, formatParams) {
|
||
this.changeTextColor(this.paramchangeTextColor(value));
|
||
var text = '';
|
||
if (value > 0) {
|
||
text = formatParams.plus.format(value);
|
||
} else if (value < 0) {
|
||
text = formatParams.minus.format(-value);
|
||
}
|
||
if (formatParams.enabledEc) {
|
||
this.drawTextEx(text, x, y);
|
||
} else {
|
||
this.drawText(text, x, y, width, 'right');
|
||
}
|
||
this.resetTextColor();
|
||
};
|
||
|
||
//------------------------------------------------------------------------
|
||
//追加能力値の表示関数
|
||
//------------------------------------------------------------------------
|
||
Window_Base.prototype.drawCssActorXParam = function(actor, x, y, width, paramId) {
|
||
if (paramId < 0 && paramId > 9) return 0;
|
||
this.changeTextColor(this.systemColor());
|
||
this.drawText(FTKR.CSS.cssStatus.xparam[paramId], x, y, width);
|
||
this.resetTextColor();
|
||
var text = actor.xparam(paramId);
|
||
if (FTKR.CSS.cssStatus.param.decimals) {
|
||
text = text.percent() + '%';
|
||
}
|
||
this.drawText(text, x, y, width, 'right');
|
||
return 1;
|
||
};
|
||
|
||
//------------------------------------------------------------------------
|
||
//特殊能力値の表示関数
|
||
//------------------------------------------------------------------------
|
||
Window_Base.prototype.drawCssActorSParam = function(actor, x, y, width, paramId) {
|
||
if (paramId < 0 && paramId > 9) return 0;
|
||
this.changeTextColor(this.systemColor());
|
||
this.drawText(FTKR.CSS.cssStatus.sparam[paramId], x, y, width);
|
||
this.resetTextColor();
|
||
var text = actor.sparam(paramId);
|
||
if (FTKR.CSS.cssStatus.param.decimals) {
|
||
text = text.percent() + '%';
|
||
}
|
||
this.drawText(text, x, y, width, 'right');
|
||
return 1;
|
||
};
|
||
|
||
//------------------------------------------------------------------------
|
||
//指定したアイテムを装備した時のパラメータの表示関数
|
||
//------------------------------------------------------------------------
|
||
Window_Base.prototype.drawCssActorEquipParam = function(actor, x, y, width, paramId, lss) {
|
||
if (paramId < 0 && paramId > 7) return 0;
|
||
this.drawTextEx(FTKR.CSS.cssStatus.equip.arrow, x, y);
|
||
var target = lss.target;
|
||
var item = FTKR.gameData.item;
|
||
if (item && !actor.canEquip(item)) return 1;
|
||
if (this.checkShowEquipParam(actor, target)) {
|
||
var newValue = target.param(paramId);
|
||
var diffvalue = newValue - actor.param(paramId);
|
||
this.changeTextColor(this.paramchangeTextColor(diffvalue));
|
||
this.drawText(newValue, x, y, width, 'right');
|
||
}
|
||
return 1;
|
||
};
|
||
|
||
Window_Base.prototype.checkShowEquipParam = function(actor, target) {
|
||
return !!actor && !!target;
|
||
};
|
||
|
||
//------------------------------------------------------------------------
|
||
//指定したアイテムを装備した時の追加能力値の表示関数
|
||
//------------------------------------------------------------------------
|
||
Window_Base.prototype.drawCssActorEquipXParam = function(actor, x, y, width, paramId, lss) {
|
||
if (paramId < 0 && paramId > 9) return 0;
|
||
this.drawTextEx(FTKR.CSS.cssStatus.equip.arrow, x, y);
|
||
var target = lss.target;
|
||
var item = FTKR.gameData.item;
|
||
if (item && !actor.canEquip(item)) return 1;
|
||
if (this.checkShowEquipParam(actor, target)) {
|
||
var newValue = target.xparam(paramId);
|
||
var diffvalue = newValue - actor.xparam(paramId);
|
||
this.changeTextColor(this.paramchangeTextColor(diffvalue));
|
||
if (FTKR.CSS.cssStatus.param.decimals) {
|
||
newValue = newValue.percent() + '%';
|
||
}
|
||
this.drawText(newValue, x, y, width, 'right');
|
||
}
|
||
return 1;
|
||
};
|
||
|
||
//------------------------------------------------------------------------
|
||
//指定したアイテムを装備した時の特殊能力値の表示関数
|
||
//------------------------------------------------------------------------
|
||
Window_Base.prototype.drawCssActorEquipSParam = function(actor, x, y, width, paramId, lss) {
|
||
if (paramId < 0 && paramId > 9) return 0;
|
||
this.drawTextEx(FTKR.CSS.cssStatus.equip.arrow, x, y);
|
||
var target = lss.target;
|
||
var item = FTKR.gameData.item;
|
||
if (item && !actor.canEquip(item)) return 1;
|
||
if (this.checkShowEquipParam(actor, target)) {
|
||
var newValue = target.sparam(paramId);
|
||
var diffvalue = newValue - actor.sparam(paramId);
|
||
this.changeTextColor(this.paramchangeTextColor(diffvalue));
|
||
if (FTKR.CSS.cssStatus.param.decimals) {
|
||
newValue = newValue.percent() + '%';
|
||
}
|
||
this.drawText(newValue, x, y, width, 'right');
|
||
}
|
||
return 1;
|
||
};
|
||
|
||
//------------------------------------------------------------------------
|
||
//装備パラメータ差分の表示関数
|
||
//------------------------------------------------------------------------
|
||
Window_Base.prototype.drawCssActorEquipDiff = function(actor, x, y, width, paramId, lss) {
|
||
if (paramId < 0 && paramId > 7) return 1;
|
||
var target = lss.target;
|
||
var item = FTKR.gameData.item;
|
||
if (item && !actor.canEquip(item)) return 1;
|
||
if (target) {
|
||
var newValue = target.param(paramId);
|
||
var diffvalue = newValue - actor.param(paramId);
|
||
this.drawParamDiffValue(diffvalue, x, y, width, FTKR.CSS.cssStatus.ediff);
|
||
}
|
||
return 1;
|
||
};
|
||
|
||
//------------------------------------------------------------------------
|
||
//追加能力値の装備パラメータ差分の表示関数
|
||
//------------------------------------------------------------------------
|
||
Window_Base.prototype.drawCssActorEquipXPDiff = function(actor, x, y, width, paramId, lss) {
|
||
if (paramId < 0 && paramId > 9) return 1;
|
||
var target = lss.target;
|
||
var item = FTKR.gameData.item;
|
||
if (item && !actor.canEquip(item)) return 1;
|
||
if (target) {
|
||
var newValue = target.xparam(paramId);
|
||
var diffvalue = newValue - actor.xparam(paramId);
|
||
if (FTKR.CSS.cssStatus.param.decimals) {
|
||
diffvalue = diffvalue.percent() + '%';
|
||
}
|
||
this.drawParamDiffValue(diffvalue, x, y, width, FTKR.CSS.cssStatus.ediff);
|
||
}
|
||
return 1;
|
||
};
|
||
|
||
//------------------------------------------------------------------------
|
||
//特殊能力値の装備パラメータ差分の表示関数
|
||
//------------------------------------------------------------------------
|
||
Window_Base.prototype.drawCssActorEquipSPDiff = function(actor, x, y, width, paramId, lss) {
|
||
if (paramId < 0 && paramId > 9) return 1;
|
||
var target = lss.target;
|
||
var item = FTKR.gameData.item;
|
||
if (item && !actor.canEquip(item)) return 1;
|
||
if (target) {
|
||
var newValue = target.sparam(paramId);
|
||
var diffvalue = newValue - actor.sparam(paramId);
|
||
if (FTKR.CSS.cssStatus.param.decimals) {
|
||
diffvalue = diffvalue.percent() + '%';
|
||
}
|
||
this.drawParamDiffValue(diffvalue, x, y, width, FTKR.CSS.cssStatus.ediff);
|
||
}
|
||
return 1;
|
||
};
|
||
|
||
//------------------------------------------------------------------------
|
||
//AOP能力値の表示関数
|
||
//------------------------------------------------------------------------
|
||
Window_Base.prototype.drawCssActorAopParam = function(actor, x, y, width, paramId, lss) {
|
||
if (!Imported.FTKR_AOP) return 1;
|
||
if (paramId < 0 && FTKR.AOP.useParamNum > 9) return 1;
|
||
this.changeTextColor(this.systemColor());
|
||
this.drawText(FTKR.AOP.params[paramId].text, x, y, width);
|
||
this.resetTextColor();
|
||
this.drawText(actor.aopParam(paramId), x, y, width, 'right');
|
||
return 1;
|
||
};
|
||
|
||
//------------------------------------------------------------------------
|
||
//素のAOP能力値の表示関数
|
||
//------------------------------------------------------------------------
|
||
Window_Base.prototype.drawCssActorAopParamBase = function(actor, x, y, width, paramId, lss) {
|
||
if (!Imported.FTKR_AOP) return 1;
|
||
if (paramId < 0 && FTKR.AOP.useParamNum > 9) return 1;
|
||
this.changeTextColor(this.systemColor());
|
||
this.drawText(FTKR.AOP.params[paramId].text, x, y, width);
|
||
this.resetTextColor();
|
||
this.drawText(actor.aopParamBase(paramId), x, y, width, 'right');
|
||
return 1;
|
||
};
|
||
|
||
//------------------------------------------------------------------------
|
||
//AOP能力値差分の表示関数
|
||
//------------------------------------------------------------------------
|
||
Window_Base.prototype.drawCssActorAopParamDiff = function(actor, x, y, width, paramId, lss) {
|
||
if (!Imported.FTKR_AOP) return 1;
|
||
if (paramId < 0 && FTKR.AOP.useParamNum > 9) return 1;
|
||
var param = actor.aopParam(paramId);
|
||
var base = actor.aopParamBase(paramId);
|
||
var diff = param - base;
|
||
this.drawParamDiffValue(diff, x, y, width, FTKR.CSS.cssStatus.aopdiff);
|
||
return 1;
|
||
};
|
||
|
||
//------------------------------------------------------------------------
|
||
//指定したアイテムを装備した時のAOPパラメータの表示関数
|
||
//------------------------------------------------------------------------
|
||
Window_Base.prototype.drawCssActorEquipAopParam = function(actor, x, y, width, paramId, lss) {
|
||
if (!Imported.FTKR_AOP) return 1;
|
||
if (paramId < 0 && FTKR.AOP.useParamNum > 9) return 1;
|
||
this.drawTextEx(FTKR.CSS.cssStatus.equip.arrow, x, y);
|
||
var target = lss.target;
|
||
var item = FTKR.gameData.item;
|
||
if (item && !actor.canEquip(item)) return 1;
|
||
if (this.checkShowEquipParam(actor, target)) {
|
||
var newValue = target.aopParam(paramId);
|
||
var diffvalue = newValue - actor.aopParam(paramId);
|
||
this.changeTextColor(this.paramchangeTextColor(diffvalue));
|
||
this.drawText(newValue, x, y, width, 'right');
|
||
}
|
||
return 1;
|
||
};
|
||
|
||
//------------------------------------------------------------------------
|
||
//AOP装備パラメータ差分の表示関数
|
||
//------------------------------------------------------------------------
|
||
Window_Base.prototype.drawCssActorEquipAopDiff = function(actor, x, y, width, paramId, lss) {
|
||
if (!Imported.FTKR_AOP) return 1;
|
||
if (paramId < 0 && FTKR.AOP.useParamNum > 7) return 1;
|
||
var target = lss.target;
|
||
var item = FTKR.gameData.item;
|
||
if (item && !actor.canEquip(item)) return 1;
|
||
if (target) {
|
||
var newValue = target.aopParam(paramId);
|
||
var diffvalue = newValue - actor.aopParam(paramId);
|
||
this.drawParamDiffValue(diffvalue, x, y, width, FTKR.CSS.cssStatus.ediffaop);
|
||
}
|
||
return 1;
|
||
};
|
||
|
||
|
||
//------------------------------------------------------------------------
|
||
//カスタムパラメータの表示関数
|
||
//------------------------------------------------------------------------
|
||
Window_Base.prototype.drawCssActorCustom = function(actor, x, y, width, custom) {
|
||
if (!custom) return 1;
|
||
var name = custom.name || '';
|
||
var formula = custom.formula || '';
|
||
var unit = custom.unit || '';
|
||
var tux = this.convertTextWidth(unit);
|
||
var value = this.evalCssCustomFormula(actor, formula);
|
||
this.changeTextColor(this.systemColor());
|
||
var tx = this.convertTextWidth(name);
|
||
this.drawTextEx(name, x, y);
|
||
this.resetTextColor();
|
||
this.drawText(value, x + tx, y, width - tx - tux, 'right');
|
||
if (unit) this.drawTextEx(unit, x + width - tux, y);
|
||
return 1;
|
||
};
|
||
|
||
//------------------------------------------------------------------------
|
||
//カスタムゲージの表示関数
|
||
//------------------------------------------------------------------------
|
||
Window_Base.prototype.drawCssActorGauge = function(actor, x, y, width, gauge) {
|
||
if (!gauge) return 1;
|
||
var current = this.evalCssStrFormula(actor, gauge.current);
|
||
var max = this.evalCssStrFormula(actor, gauge.max);
|
||
if (gauge.color1 >= 0 && gauge.color2 >= 0) {
|
||
var rate = isNaN(max) ? 1 : current / max;
|
||
var color1 = this.textColor(gauge.color1);
|
||
var color2 = this.textColor(gauge.color2);
|
||
this.drawGauge(x, y, width, rate, color1, color2);
|
||
}
|
||
this.changeTextColor(this.systemColor());
|
||
var tx = this.convertTextWidth(gauge.name);
|
||
this.drawTextEx(gauge.name, x, y);
|
||
if (gauge.ref) {
|
||
var ref = this.evalCssStrFormula(actor, gauge.ref);
|
||
this.resetTextColor();
|
||
this.drawText(ref, x + tx, y, width - tx, 'right');
|
||
} else {
|
||
if (tx) this.drawCssCurrentAndMax(tx, current, max, x, y, width,
|
||
this.normalColor(), this.normalColor());
|
||
}
|
||
return 1;
|
||
};
|
||
|
||
Window_Base.prototype.drawCssCurrentAndMax = function(labelWidth, current, max, x, y,
|
||
width, color1, color2) {
|
||
var gauge = FTKR.CSS.cssStatus.gauge;
|
||
var valueWidth = this.textWidth('0') * gauge.digit;
|
||
var slashWidth = this.textWidth('/');
|
||
var x1 = x + width - valueWidth;
|
||
var x2 = x1 - slashWidth;
|
||
var x3 = x2 - valueWidth;
|
||
if (x3 >= x + labelWidth) {
|
||
this.changeTextColor(color1);
|
||
this.drawText(current, x3, y, valueWidth, 'right');
|
||
this.changeTextColor(color2);
|
||
this.drawText('/', x2, y, slashWidth, 'right');
|
||
this.drawText(max, x1, y, valueWidth, 'right');
|
||
} else {
|
||
this.changeTextColor(color1);
|
||
this.drawText(current, x1, y, valueWidth, 'right');
|
||
}
|
||
};
|
||
|
||
//------------------------------------------------------------------------
|
||
//装備の表示関数
|
||
//------------------------------------------------------------------------
|
||
Window_Base.prototype.drawCssActorEquip = function(actor, x, y, width, equipId, lss) {
|
||
if ((equipId +'').toUpperCase() === 'SHOP') {
|
||
equipId = lss.item.etypeId - 1;
|
||
} else {
|
||
FTKR.setGameData(actor, lss.target, lss.item);
|
||
equipId = this.convertCssNumber(actor, equipId);
|
||
}
|
||
var equip = actor.equips()[equipId];
|
||
if (equip) {
|
||
this.drawCssIcon(equip.iconIndex, x, y, 1, true);
|
||
var iw = Window_Base._iconWidth + 4;
|
||
this.resetTextColor();
|
||
this.drawText(equip.name, x + iw, y, width - iw);
|
||
}
|
||
return 1;
|
||
};
|
||
|
||
//------------------------------------------------------------------------
|
||
//装備可否の表示関数
|
||
//------------------------------------------------------------------------
|
||
Window_Base.prototype.drawCssCannotEquip = function(actor, x, y, width, text, lss) {
|
||
var item = FTKR.gameData.item || lss.item;
|
||
if (!item) return 1;
|
||
if (!actor.canEquip(item)) {
|
||
text = text == 'null' ? '装備不可' : text;
|
||
this.drawTextEx(text, x, y);
|
||
}
|
||
return 1;
|
||
};
|
||
|
||
//------------------------------------------------------------------------
|
||
//プロフィールの表示関数
|
||
//------------------------------------------------------------------------
|
||
Window_Base.prototype.drawCssProfile = function(actor, x, y, width) {
|
||
this._setItem = actor.actor();
|
||
var texts = actor.profile().split('\n');
|
||
var dy = this.lineHeight();
|
||
texts.forEach( function(text, i) {
|
||
this.drawTextEx(text, x, y + dy * i);
|
||
},this);
|
||
return texts.length;
|
||
};
|
||
|
||
//------------------------------------------------------------------------
|
||
//テキストの表示関数
|
||
//------------------------------------------------------------------------
|
||
Window_Base.prototype.drawCssText = function(actor, x, y, width, text) {
|
||
if (!text) return 1;
|
||
var text = this.evalCssStrFormula(actor, text);
|
||
this.changeTextColor(this.systemColor());
|
||
this.drawTextEx(text, x, y);
|
||
this.resetTextColor();
|
||
return 1;
|
||
};
|
||
|
||
//------------------------------------------------------------------------
|
||
//JS評価式の表示関数
|
||
//------------------------------------------------------------------------
|
||
Window_Base.prototype.drawCssEval = function(actor, x, y, width, text, isNumber) {
|
||
if (!text) return 1;
|
||
if (isNumber) {
|
||
var value = this.evalCssCustomFormula(actor, text);
|
||
var align = 'right';
|
||
} else {
|
||
var value = this.evalCssStrFormula(actor, text);
|
||
var align = 'left';
|
||
}
|
||
this.resetTextColor();
|
||
this.drawText(value, x, y, width, align);
|
||
return 1;
|
||
};
|
||
|
||
//------------------------------------------------------------------------
|
||
//カスタム画像の表示関数
|
||
//------------------------------------------------------------------------
|
||
Window_Base.prototype.drawCssActorImage = function(actor, x, y, width, id) {
|
||
if (!actor) return 1;
|
||
this.changePaintOpacity(this.isEnabledChangePaintOpacity(actor));
|
||
var line = this.drawCssImage(actor, x, y, width, id);
|
||
this.changePaintOpacity(true);
|
||
return line;
|
||
};
|
||
|
||
Window_Base.prototype.drawCssImage = function(actor, dx, dy, width, id) {
|
||
var bgi = actor.cssbgi(id) ? actor.cssbgi(id) : actor.actor().cssbgi[id];
|
||
if (!bgi) return 1;
|
||
var bitmap = ImageManager.loadPicture(bgi.name);
|
||
if (!bitmap) return 1;
|
||
var sw = bgi.width || bitmap.width;
|
||
var sh = bgi.height || bitmap.height;
|
||
var sx = bgi.offsetX || 0;
|
||
var sy = bgi.offsetY || 0;
|
||
var dh = sh * bgi.scale / 100;
|
||
var dw = sw * bgi.scale / 100;
|
||
var offsetX = FTKR.CSS.cssStatus.image.posiX * (width - dw) / 2;
|
||
dx = Math.floor(dx + offsetX);
|
||
this.contents.blt(bitmap, sx, sy, sw, sh, dx, dy, dw, dh);
|
||
return Math.ceil(dh / this.lineHeight()) || 1;
|
||
};
|
||
|
||
//------------------------------------------------------------------------
|
||
//アクターに設定したカスタムゲージの表示関数
|
||
//------------------------------------------------------------------------
|
||
Window_Base.prototype.drawCssActorCustomGauge = function(actor, x, y, width, paramId) {
|
||
var gauge = actor.actor().cssGauges[paramId];
|
||
if (!gauge) return 1;
|
||
return this.drawCssActorGauge(actor, x, y, width, gauge);
|
||
};
|
||
|
||
//------------------------------------------------------------------------
|
||
//クラスに設定したカスタムゲージの表示関数
|
||
//------------------------------------------------------------------------
|
||
Window_Base.prototype.drawCssClassCustomGauge = function(actor, x, y, width, paramId) {
|
||
var gauge = actor.currentClass().cssGauges[paramId];
|
||
if (!gauge) return 1;
|
||
return this.drawCssActorGauge(actor, x, y, width, gauge);
|
||
};
|
||
|
||
//------------------------------------------------------------------------
|
||
//アクターの状態の変化に対するメッセージの表示関数
|
||
//------------------------------------------------------------------------
|
||
Window_Base.prototype.drawCssActorMessage = function(actor, x, y, width) {
|
||
if (!actor._levelUpCount) return 1;
|
||
var text = FTKR.CSS.cssStatus.message.levelUp.format(actor.name(), actor.level, actor._levelUpCount);
|
||
this.drawTextEx(text, x, y);
|
||
actor._levelUpMessage = true;
|
||
return 1;
|
||
};
|
||
|
||
var _Scene_Base_start = Scene_Base.prototype.start;
|
||
Scene_Base.prototype.start = function() {
|
||
_Scene_Base_start.call(this);
|
||
if ($gameParty) {
|
||
$gameParty.members().forEach( function(actor){
|
||
if (actor && actor._levelUpMessage) {
|
||
actor._levelUpCount = 0;
|
||
actor._levelUpMessage = false;
|
||
}
|
||
});
|
||
}
|
||
};
|
||
|
||
//------------------------------------------------------------------------
|
||
//横線の表示関数
|
||
//------------------------------------------------------------------------
|
||
Window_Base.prototype.drawCssLine = function(x, y, width, thick, color) {
|
||
var thick = thick > 0 ? thick : 2;
|
||
var color = color > 0 ? color : 0;
|
||
var lineY = y + this.lineHeight() / 2 - thick / 2;
|
||
this.contents.paintOpacity = 48;
|
||
this.contents.fillRect(x, lineY, width, thick, this.textColor(color));
|
||
this.contents.paintOpacity = 255;
|
||
return 1;
|
||
};
|
||
|
||
//------------------------------------------------------------------------
|
||
// ウィンドウレイアウトの初期値設定用の修正
|
||
//------------------------------------------------------------------------
|
||
|
||
var _CSS_Window_Base_initialize = Window_Base.prototype.initialize;
|
||
Window_Base.prototype.initialize = function(x, y, width, height) {
|
||
this.initCssLayout();
|
||
_CSS_Window_Base_initialize.call(this, x, y, width, height);
|
||
};
|
||
|
||
Window_Base.prototype.initCssLayout = function() {
|
||
var lss = this.standardCssLayout();
|
||
if (lss && lss.enabled) {
|
||
this._customFontSize = lss.fontSize;
|
||
this._customPadding = lss.padding;
|
||
this._customLineHeight = lss.lineHeight;
|
||
this._customBackOpacity = lss.opacity;
|
||
this._customHideFrame = lss.hideFrame;
|
||
}
|
||
this._lssStatus = this.standardCssStatus();
|
||
};
|
||
|
||
Window_Base.prototype.standardCssLayout = function() {
|
||
return {};
|
||
}
|
||
|
||
Window_Base.prototype.standardCssStatus = function() {
|
||
return {};
|
||
};
|
||
|
||
Window_Selectable.prototype.initCssLayout = function() {
|
||
Window_Base.prototype.initCssLayout.call(this);
|
||
var lss = this.standardCssLayout();
|
||
if (lss && lss.enabled) {
|
||
this._customMaxCols = lss.maxCols;
|
||
this._customCursorHeight = lss.cursorHeight;
|
||
this._customHorSpacing = lss.hspace;
|
||
}
|
||
};
|
||
|
||
//=============================================================================
|
||
// customデータの参照
|
||
//=============================================================================
|
||
|
||
var _CSS_Window_Base_standardFontSize = Window_Base.prototype.standardFontSize;
|
||
Window_Base.prototype.standardFontSize = function() {
|
||
return this._customFontSize ? this._customFontSize : _CSS_Window_Base_standardFontSize.call(this);
|
||
};
|
||
|
||
var _CSS_Window_Base_standardPadding = Window_Base.prototype.standardPadding;
|
||
Window_Base.prototype.standardPadding = function() {
|
||
return this._customPadding >= 0 ? this._customPadding : _CSS_Window_Base_standardPadding.call(this);
|
||
};
|
||
|
||
var _CSS_Window_Base_lineHeight = Window_Base.prototype.lineHeight;
|
||
Window_Base.prototype.lineHeight = function() {
|
||
return this._customLineHeight ? this._customLineHeight : _CSS_Window_Base_lineHeight.call(this);
|
||
};
|
||
|
||
var _CSS_Window_Base_standardBackOpacity = Window_Base.prototype.standardBackOpacity;
|
||
Window_Base.prototype.standardBackOpacity = function() {
|
||
return this._customBackOpacity >= 0 ? this._customBackOpacity : _CSS_Window_Base_standardBackOpacity.call(this);
|
||
};
|
||
|
||
//------------------------------------------------------------------------
|
||
// _customHideFrame
|
||
//------------------------------------------------------------------------
|
||
//ウィンドウ枠の表示
|
||
Window_Base.prototype._refreshFrame = function() {
|
||
Window.prototype._refreshFrame.call(this);
|
||
if (this._customHideFrame) {
|
||
this._windowFrameSprite.alpha = 0;//フレームだけ消す
|
||
} else {
|
||
this._windowFrameSprite.alpha = 1;
|
||
}
|
||
};
|
||
|
||
//------------------------------------------------------------------------
|
||
// _customSpacing
|
||
//------------------------------------------------------------------------
|
||
Window_Base.prototype.spacing = function() {
|
||
return 0;
|
||
};
|
||
|
||
var _CSS_Window_Selectable_spacing = Window_Selectable.prototype.spacing;
|
||
Window_Selectable.prototype.spacing = function() {
|
||
return this._customSpacing !== undefined ? this._customSpacing : _CSS_Window_Selectable_spacing.call(this);
|
||
};
|
||
|
||
Window_Selectable.prototype.customSpacing = function() {
|
||
return this._customSpacing !== undefined ? this._customSpacing : this.spacing();
|
||
};
|
||
|
||
//------------------------------------------------------------------------
|
||
// _customMaxCols
|
||
//------------------------------------------------------------------------
|
||
|
||
var _CSS_Window_Selectable_maxCols = Window_Selectable.prototype.maxCols;
|
||
Window_Selectable.prototype.maxCols = function() {
|
||
return this._customMaxCols ? this._customMaxCols : _CSS_Window_Selectable_maxCols.call(this);
|
||
};
|
||
|
||
Window_Selectable.prototype.customMaxCols = function() {
|
||
return this._customMaxCols ? this._customMaxCols : this.maxCols();
|
||
};
|
||
|
||
//------------------------------------------------------------------------
|
||
// _customCursorHeight
|
||
//------------------------------------------------------------------------
|
||
|
||
Window_Selectable.prototype.cursorHeight = function() {
|
||
return this._customCursorHeight;
|
||
};
|
||
|
||
//------------------------------------------------------------------------
|
||
// _customHorSpacing
|
||
//------------------------------------------------------------------------
|
||
|
||
Window_Selectable.prototype.itemHeightSpace = function() {
|
||
return this._customHorSpacing;
|
||
};
|
||
|
||
//=============================================================================
|
||
// customデータの反映
|
||
//=============================================================================
|
||
|
||
//書き換え
|
||
Window_Selectable.prototype.maxRows = function() {
|
||
return Math.max(Math.ceil(this.maxItems() / this.customMaxCols()), 1);
|
||
};
|
||
|
||
//書き換え
|
||
Window_Selectable.prototype.row = function() {
|
||
return Math.floor(this.index() / this.customMaxCols());
|
||
};
|
||
|
||
//書き換え
|
||
Window_Selectable.prototype.maxPageItems = function() {
|
||
return this.maxPageRows() * this.customMaxCols();
|
||
};
|
||
|
||
//書き換え
|
||
Window_Selectable.prototype.topIndex = function() {
|
||
return this.topRow() * this.customMaxCols();
|
||
};
|
||
|
||
//書き換え
|
||
Window_Selectable.prototype.cursorDown = function(wrap) {
|
||
var index = this.index();
|
||
var maxItems = this.maxItems();
|
||
var maxCols = this.customMaxCols();
|
||
if (index < maxItems - maxCols || (wrap && maxCols === 1)) {
|
||
this.select((index + maxCols) % maxItems);
|
||
}
|
||
};
|
||
|
||
//書き換え
|
||
Window_Selectable.prototype.cursorUp = function(wrap) {
|
||
var index = this.index();
|
||
var maxItems = this.maxItems();
|
||
var maxCols = this.customMaxCols();
|
||
if (index >= maxCols || (wrap && maxCols === 1)) {
|
||
this.select((index - maxCols + maxItems) % maxItems);
|
||
}
|
||
};
|
||
|
||
//書き換え
|
||
Window_Selectable.prototype.cursorRight = function(wrap) {
|
||
var index = this.index();
|
||
var maxItems = this.maxItems();
|
||
var maxCols = this.customMaxCols();
|
||
if (maxCols >= 2 && (index < maxItems - 1 || (wrap && this.isHorizontal()))) {
|
||
this.select((index + 1) % maxItems);
|
||
}
|
||
};
|
||
|
||
//書き換え
|
||
Window_Selectable.prototype.cursorLeft = function(wrap) {
|
||
var index = this.index();
|
||
var maxItems = this.maxItems();
|
||
var maxCols = this.customMaxCols();
|
||
if (maxCols >= 2 && (index > 0 || (wrap && this.isHorizontal()))) {
|
||
this.select((index - 1 + maxItems) % maxItems);
|
||
}
|
||
};
|
||
|
||
//書き換え
|
||
Window_Command.prototype.numVisibleRows = function() {
|
||
return Math.ceil(this.maxItems() / this.customMaxCols());
|
||
};
|
||
|
||
//書き換え
|
||
Window_Selectable.prototype.itemWidth = function() {
|
||
return Math.floor((this.width - this.padding * 2 +
|
||
this.customSpacing()) / this.customMaxCols() - this.customSpacing());
|
||
};
|
||
|
||
var _Window_Selectable_itemHeight = Window_Selectable.prototype.itemHeight;
|
||
Window_Selectable.prototype.itemHeight = function() {
|
||
return this.cursorHeight() ?
|
||
this.lineHeight() * this.cursorHeight() :
|
||
_Window_Selectable_itemHeight.call(this);
|
||
};
|
||
|
||
Window_Selectable.prototype.unitHeight = function() {
|
||
return this.itemHeight() + this.itemHeightSpace();
|
||
};
|
||
|
||
Window_Selectable.prototype.unitWidth = function() {
|
||
return this.itemWidth() + this.customSpacing();
|
||
};
|
||
|
||
var _CSS_Window_Selectable_maxPageRows = Window_Selectable.prototype.maxPageRows;
|
||
Window_Selectable.prototype.maxPageRows = function() {
|
||
if (this.itemHeightSpace() !== undefined) {
|
||
var pageHeight = this.height - this.padding * 2;
|
||
return Math.floor(pageHeight / this.unitHeight());
|
||
} else {
|
||
return _CSS_Window_Selectable_maxPageRows.call(this);
|
||
}
|
||
};
|
||
|
||
var _CSS_Window_Selectable_topRow = Window_Selectable.prototype.topRow;
|
||
Window_Selectable.prototype.topRow = function() {
|
||
return this.itemHeightSpace() !== undefined ? Math.floor(this._scrollY / this.unitHeight()) :
|
||
_CSS_Window_Selectable_topRow.call(this);
|
||
};
|
||
|
||
var _CSS_Window_Selectable_setTopRow = Window_Selectable.prototype.setTopRow;
|
||
Window_Selectable.prototype.setTopRow = function(row) {
|
||
if (this.itemHeightSpace() !== undefined) {
|
||
var scrollY = row.clamp(0, this.maxTopRow()) * this.unitHeight();
|
||
if (this._scrollY !== scrollY) {
|
||
this._scrollY = scrollY;
|
||
this.refresh();
|
||
this.updateCursor();
|
||
}
|
||
} else {
|
||
return _CSS_Window_Selectable_setTopRow.call(this, row);
|
||
}
|
||
};
|
||
|
||
var _CSS_Window_Selectable_itemRect = Window_Selectable.prototype.itemRect;
|
||
Window_Selectable.prototype.itemRect = function(index) {
|
||
if (this.itemHeightSpace() !== undefined) {
|
||
var rect = new Rectangle();
|
||
var maxCols = this.customMaxCols();
|
||
rect.width = this.itemWidth();
|
||
rect.height = this.itemHeight();
|
||
rect.x = index % maxCols * this.unitWidth() - this._scrollX;
|
||
rect.y = Math.floor(index / maxCols) * this.unitHeight() - this._scrollY;
|
||
return rect;
|
||
} else {
|
||
return _CSS_Window_Selectable_itemRect.call(this, index);
|
||
}
|
||
};
|
||
|
||
//=============================================================================
|
||
// Sprite_Battlerの修正
|
||
// Sprite_Actorの修正
|
||
//=============================================================================
|
||
|
||
FTKR.CSS.Sprite_Battler_initMembers = Sprite_Battler.prototype.initMembers;
|
||
Sprite_Battler.prototype.initMembers = function() {
|
||
FTKR.CSS.Sprite_Battler_initMembers.call(this);
|
||
this._canMove = true;
|
||
};
|
||
|
||
//------------------------------------------------------------------------
|
||
// SV戦闘キャラの位置を変更できないようにする
|
||
//------------------------------------------------------------------------
|
||
Sprite_Actor.prototype.stopMove = function() {
|
||
this._canMove = false;
|
||
};
|
||
|
||
Sprite_Actor.prototype.canMove = function() {
|
||
return this._canMove;
|
||
};
|
||
|
||
FTKR.CSS.Sprite_Actor_updateTargetPosition = Sprite_Actor.prototype.updateTargetPosition;
|
||
Sprite_Actor.prototype.updateTargetPosition = function() {
|
||
if (!this.canMove()) return;
|
||
FTKR.CSS.Sprite_Actor_updateTargetPosition.call(this);
|
||
};
|
||
|
||
}());//END
|
||
|
||
//=============================================================================
|
||
// Sprite_CssStateIcon
|
||
// ステートアイコン用のスプライト
|
||
//=============================================================================
|
||
|
||
function Sprite_CssStateIcon() {
|
||
this.initialize.apply(this, arguments);
|
||
}
|
||
|
||
Sprite_CssStateIcon.prototype = Object.create(Sprite_StateIcon.prototype);
|
||
Sprite_CssStateIcon.prototype.constructor = Sprite_CssStateIcon;
|
||
|
||
Sprite_CssStateIcon.prototype.initialize = function(index, showNum) {
|
||
Sprite_StateIcon.prototype.initialize.call(this);
|
||
this._index = index;
|
||
this._showNum = showNum;
|
||
};
|
||
|
||
Sprite_CssStateIcon._iconWidth = 32;
|
||
Sprite_CssStateIcon._iconHeight = 32;
|
||
|
||
Sprite_CssStateIcon.prototype.initMembers = function() {
|
||
this._battler = null;
|
||
this._iconIndex = 0;
|
||
this._animationCount = this.animationWait();
|
||
this._animationIndex = 0;
|
||
this.anchor.x = 0;
|
||
this.anchor.y = 0;
|
||
if (Imported.YEP_BuffsStatesCore) {
|
||
if (!this._turnCounterSprite) {
|
||
this._turnCounterSprite = new Sprite();
|
||
this.addChild(this._turnCounterSprite);
|
||
}
|
||
var w = Window_Base._iconWidth;
|
||
var h = Window_Base._iconHeight;
|
||
this._turnCounterSprite.bitmap = new Bitmap(w, h);
|
||
this._turnCounterSprite.anchor.x = 0;
|
||
this._turnCounterSprite.anchor.y = 0;
|
||
}
|
||
};
|
||
|
||
Sprite_CssStateIcon.prototype.setup = function(battler, showNum) {
|
||
this.initMembers();
|
||
this._battler = battler;
|
||
this._showNum = showNum;
|
||
this.setFrame();
|
||
};
|
||
|
||
Sprite_CssStateIcon.prototype.updateIcon = function() {
|
||
var icons = [];
|
||
// if (this._battler && this._battler.isAlive()) {
|
||
if (this._battler) {
|
||
icons = this._battler.allIcons();
|
||
}
|
||
if (icons.length > 0) {
|
||
this._animationIndex++;
|
||
if (this._animationIndex >= Math.ceil(icons.length / this._showNum)) {
|
||
this._animationIndex = 0;
|
||
}
|
||
this._iconIndex = icons[this._animationIndex * this._showNum + this._index];
|
||
} else {
|
||
this._animationIndex = 0;
|
||
this._iconIndex = 0;
|
||
}
|
||
};
|
||
|
||
Sprite_CssStateIcon.prototype.animationWait = function() {
|
||
return FTKR.CSS.cssStatus.state.wait;
|
||
};
|
||
|
||
Sprite_CssStateIcon.prototype.setScale = function(scale) {
|
||
this.scale._x = scale;
|
||
this.scale._y = scale;
|
||
};
|
||
|
||
Sprite_CssStateIcon.prototype.offsetMove = function(offset, vartical) {
|
||
!vartical ? this.x += offset : this.y += offset;
|
||
};
|
||
|
||
Sprite_CssStateIcon.prototype.update = function() {
|
||
Sprite.prototype.update.call(this);
|
||
this.updateOpacity();
|
||
this._animationCount++;
|
||
if (this._animationCount >= this.animationWait()) {
|
||
this.updateIcon();
|
||
this.updateFrame();
|
||
this._animationCount = 0;
|
||
}
|
||
};
|
||
|
||
Sprite_CssStateIcon.prototype.updateOpacity = function() {
|
||
if (this.opacity != this.parent.openness) {
|
||
this.opacity = this.parent.openness;
|
||
}
|
||
};
|
||
|
||
//=============================================================================
|
||
// YEP_BuffsStatesCoreの修正
|
||
//=============================================================================
|
||
if (Imported.YEP_BuffsStatesCore) {
|
||
|
||
Sprite_CssStateIcon.prototype.updateTurnAndCounter = function() {
|
||
this._turnCounterSprite.bitmap.clear();
|
||
if (!this._battler) return;
|
||
var group = this._battler.statesAndBuffs();
|
||
if (group.length <= 0) return;
|
||
var state = group[this._animationIndex * this._showNum + this._index];
|
||
if (!state) return;
|
||
if (typeof state === 'number') {
|
||
if (Yanfly.Param.BSCEnemyBTurn) {
|
||
this.drawBuffTurns(state);
|
||
if (Yanfly.Param.BSCShowBuffRate) {
|
||
this.drawBuffRate(state)
|
||
}
|
||
}
|
||
} else {
|
||
if (Yanfly.Param.BSCEnemyTurn) this.drawStateTurns(state);
|
||
if (Yanfly.Param.BSCEnemyCounter) this.drawStateCounter(state);
|
||
}
|
||
};
|
||
|
||
}//YEP_BuffsStatesCore.js END
|
||
|
||
//EOF
|