アイテムやスキルにセルフ変数を実装するプラグイン – FTKR_ItemSelfVariables.js

タイトル
アイテムやスキルにセルフ変数を実装するプラグイン
作者名
ヘルプ
-----------------------------------------------------------------------------
概要
-----------------------------------------------------------------------------
本プラグインを実装することで、以下の対象にセーブ時に記録し値の操作が
可能な、セルフ変数を実装することができます。

1. アイテム
2. 武器
3. 防具
4. スキル
5. アクター
6. エネミー

セルフ変数は、制御文字で表示させることができます。


プラグインの使い方は、以下のHPを参照してください。
https://github.com/futokoro/RPGMaker/blob/master/FTKR_ItemSelfVariables.ja.md


-----------------------------------------------------------------------------
設定方法
-----------------------------------------------------------------------------
1.「プラグインマネージャー(プラグイン管理)」に、本プラグインを追加して
ください。
本プラグインは、ダメージ計算式の処理部を書き換えています。
そのため、プラグイン管理の出来るだけ上の位置に追加してください。


-----------------------------------------------------------------------------
セルフ変数の設定
-----------------------------------------------------------------------------
以下の、プラグインパラメータで設定を変更します。

<Number>
:使用するセルフ変数の数を個別に設定します。

<Enabled Save>
:セーブ時にセルフ変数を保存するか指定します。
:保存しない場合、ゲーム起動毎にリセットします。
:この設定は、アイテム、武器、防具、スキル、アクター、エネミー共通です。


以下の、タグをアイテム(武器・防具含む)やスキル、アクターのメモ欄に
追記すると初期値を設定できます。

<ISV IV[x]: y>
<ISV セルフ変数[x]: y>
:セルフ変数ID x の初期値を y に設定します。


-----------------------------------------------------------------------------
スクリプトコマンド
-----------------------------------------------------------------------------
セルフ変数に対して、以下のスクリプトコマンドを使用できます。
なお、item(x)の部分は、武器は'weapon(x)'、防具は'armor(x)'、
スキルは'skill(x)'、アクターは'actor(x)'、エネミーは'enemy(x)'に
変えてください。

1.セルフ変数の値の取得
$gameSelfVariables.item(x).value(y)
:アイテムID x のセルフ変数 y の値を取得します。

2.セルフ変数の値の変更
$gameSelfVariables.item(x).setValue(y, value (, 'code') )
:アイテムID x のセルフ変数 y に value を代入します。
:code部に以下の文字を入力することで、代入以外の計算が可能です。
: 加算(+) - セルフ変数 y の値に value を加算します。
: 減算(-) - セルフ変数 y の値から value を減算します。
: 積算() - セルフ変数 y の値に value を積算します。
: 除算(/) - セルフ変数 y の値から value を除算します。
: 剰余(%) - セルフ変数 y の値から value を除算した余りを代入します。
:
:入力例)
: $gameSelfVariables.item(10).setValue(1, 10)
: アイテムID 10 のセルフ変数 1 に 10 を代入する
:
: $gameSelfVariables.weapon(12).setValue(2, 6, '加算')
: $gameSelfVariables.weapon(12).setValue(2, 6, '+')
: 武器ID 12 のセルフ変数 2 に 6 を加算する
:

3.セルフ変数の削除
$gameSelfVariables.item(x).clear()
:アイテムID x のセルフ変数をすべて削除します。
:0 が代入されるわけではありません。

4.セルフ変数の初期化
$gameSelfVariables.item(x).allReset(value)
:アイテムID x のすべてのセルフ変数に value を代入します。
:このときの'すべて'とは、<Number>で設定した数を指します。


-----------------------------------------------------------------------------
プラグインコマンド
-----------------------------------------------------------------------------
本プラグインでは、以下のコマンドを使用できます。
なお、大文字小文字は区別しないため、どちらを使用しても構いません。

1. セルフ変数の変更
指定したアイテムIDのセルフ変数を変更します。

ISV_セルフ変数変更 アイテムタイプ アイテムID セルフ変数ID 演算方法 値
ISV_SET_SELF_VARIABLES ITEMTYPE itemId selfVariableId CALCTYPE value

アイテムタイプには、アイテム(item)、武器(weapon)、防具(armor)、
スキル(skill)、アクター(actor)、エネミー(enemy)を代入してください。
演算方法には、代入(=)、加算(+)、減算(-)、積算()、除算(/)、剰余(%)を
代入してください。
アイテムID、セルフ変数ID、代入する値には、ゲーム内変数を指定できます。
ゲーム内変数を使用する場合は、数値の変わりに v[n] を入力してください。

入力例)
ISV_セルフ変数変更 アイテム 10 1 代入 v[5]
ISV_SET_SELF_VARIABLES item 10 1 = v[5]
:アイテムID10 のセルフ変数ID1 に ゲーム内変数ID5 の値を代入する


2. セルフ変数の取得
指定したアイテムIDのセルフ変数を、ゲーム内変数に代入します。

ISV_セルフ変数取得 ゲーム内変数ID アイテムタイプ アイテムID セルフ変数ID
ISV_GET_SELF_VARIABLES variableId ITEMTYPE itemId selfVariableId

アイテムタイプには、アイテム(item)、武器(weapon)、防具(armor)、
スキル(skill)、アクター(actor)、エネミー(enemy)を代入してください。
ゲーム内変数ID、アイテムID、セルフ変数IDには、ゲーム内変数を指定できます。
ゲーム内変数を使用する場合は、数値の変わりに v[n] を入力してください。

入力例)
ISV_セルフ変数取得 5 武器 10 1
ISV_GET_SELF_VARIABLES 5 weapon 10 1
:武器ID10 のセルフ変数ID1 の値を ゲーム内変数ID5 に代入する


-----------------------------------------------------------------------------
セルフ変数のダメージ計算式への適用
-----------------------------------------------------------------------------
セルフ変数は、アイテムおよびスキルのダメージ計算式に使用できます。
計算式に以下のコードを入力することで、セルフ変数ID x の値を参照します。

av[x] - 使用者のセルフ変数ID x の値を参照します。
bv[x] - 対象者のセルフ変数ID x の値を参照します。
iv[x] - 使用するアイテムまたはスキルのセルフ変数ID x の値を参照します。

入力例)
a.atk(4 + iv[1]) - b.def2


<'iv[x]'などセルフ変数を入力すると、必ずダメージを与えられなくなる場合>
他のプラグインと競合しており、コードが使用できません。
この場合は、コードの替わりに、以下のスクリプトを記述してください。

iv[x] ⇒ item._seflVariables._data[x]
av[x] ⇒ (a.isActor() ? a.actor()._seflVariables._data[x] : a.enemy()._seflVariables._data[x])
bv[x] ⇒ (b.isActor() ? b.actor()._seflVariables._data[x] : b.enemy()._seflVariables._data[x])

なお、av[x]のスクリプトについて、そのスキルやアイテムをアクターしか
使用しない場合は、以下の様に記述を省くことも可能です。

av[x] ⇒ a.actor()._seflVariables._data[x]

また、対象が味方のみであれば
bv[x] ⇒ b.actor()._seflVariables._data[x]
対象が敵のみであれば
bv[x] ⇒ b.enemy()._seflVariables._data[x]
のように記述できます。


-----------------------------------------------------------------------------
制御文字
-----------------------------------------------------------------------------
本プラグインでは、以下の制御文字を使用できます。
なお、大文字小文字は区別しないため、どちらを使用しても構いません。

\ITV[x,y] : アイテムID x のセルフ変数ID y の値を参照する。
\WEV[x,y] : 武器ID x のセルフ変数ID y の値を参照する。
\ARV[x,y] : 防具ID x のセルフ変数ID y の値を参照する。
\SKV[x,y] : スキルID x のセルフ変数ID y の値を参照する。
\ACV[x,y] : アクターID x のセルフ変数ID y の値を参照する。
\ENV[x,y] : エネミーID x のセルフ変数ID y の値を参照する。

注意) x と y の数字はどちらも必要です

説明文やプロフィールで、上記制御文字を使う場合に
[]内の "x,"部分を省略することが可能です。
省略した場合は、例えばアイテムならそのアイテムのセルフ変数を参照します。


-----------------------------------------------------------------------------
本プラグインのライセンスについて(License)
-----------------------------------------------------------------------------
本プラグインはMITライセンスのもとで公開しています。
This plugin is released under the MIT License.

Copyright (c) 2017 Futokoro
http://opensource.org/licenses/mit-license.php


-----------------------------------------------------------------------------
変更来歴
-----------------------------------------------------------------------------

v1.2.2 - 2018/01/08 : ヘルプ追記

v1.2.1 - 2017/10/20 : 機能追加
1. アイテムの説明欄に制御文字を使用する場合に、アイテムIDを
省略できる機能を追加。

v1.2.0 - 2017/10/19 : 制御文字に対応

v1.1.3 - 2017/05/03 : 計算式の機能追加

v1.1.2 - 2017/04/29 : ダメージ計算式の処理を見直し

v1.1.1 - 2017/04/26 : 不具合修正
1. ダメージ計算式に例外処理を追加。

v1.1.0 - 2017/04/18 : 仕様変更、機能追加
1. 使用するセルフ変数の数を、アイテムやスキル毎に設定できるように変更。
2. アクターとエネミーにセルフ変数を追加。

v1.0.1 - 2017/04/14 : 機能追加
1. セルフ変数の初期値を設定する機能追加。
2. セルフ変数に文字列を代入できる機能を追加。
3. ライセンス変更。

v1.0.0 - 2017/03/26 : 初版作成

-----------------------------------------------------------------------------
パラメータ
param --セーブ設定--
desc

param Enabled Save
desc セーブ時にセルフ変数を保存するか
0 - 保存しない, 1 - 保存する
default 0

param --アイテム設定--
desc

param Item Number
desc アイテムで使用するセルフ変数の数を設定する
default 0

param --武器設定--
desc

param Weapon Number
desc 武器で使用するセルフ変数の数を設定する
default 0

param --防具設定--
desc

param Armor Number
desc 防具で使用するセルフ変数の数を設定する
default 0

param --スキル設定--
desc

param Skill Number
desc スキルで使用するセルフ変数の数を設定する
default 0

param --アクター設定--
desc

param Actor Number
desc アクターで使用するセルフ変数の数を設定する
default 0

param --エネミー設定--
desc

param Enemy Number
desc エネミーで使用するセルフ変数の数を設定する
default 0

ライセンス表記
本プラグインのライセンスについて(License)
本プラグインはMITライセンスのもとで公開しています。
This plugin is released under the MIT License.
Copyright (c) 2017 Futokoro
http://opensource.org/licenses/mit-license.php
3. ライセンス変更。

紹介ページ https://github.com/futokoro/RPGMaker