FTKR Item Self Variables - FTKR_ItemSelfVariables.js

シェア用テキスト:
▼FTKR Item Self Variables(フトコロ様作) - FTKR_ItemSelfVariables.js
https://plugin.fungamemake.com/archives/1315
アイテム、スキル、アクター、エネミーにセルフ変数を追加する

ふりがな:あいてむじこへんすう

機能概要: アイテム、スキル、アクター、エネミーにセルフ変数を追加する

利用規約(ライセンス): MITライセンス

作者:フトコロ

作者サイト:https://twitter.com/futokoro_mv

解説ページ:https://github.com/futokoro/RPGMaker/blob/master/FTKR_I…

ダウンロードページ:https://raw.githubusercontent.com/futokoro/RPGMaker/mas…

ファイル名:FTKR_ItemSelfVariables.js

プラグインのヘルプ:

/*:
 * @plugindesc v1.2.2 アイテムやスキルにセルフ変数を実装するプラグイン
 * @author フトコロ
 *
 * @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
 *
 * @help 
 *-----------------------------------------------------------------------------
 * 概要
 *-----------------------------------------------------------------------------
 * 本プラグインを実装することで、以下の対象にセーブ時に記録し値の操作が
 * 可能な、セルフ変数を実装することができます。
 * 
 * 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.def * 2
 * 
 * 
 * <'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 : 初版作成
 * 
 *-----------------------------------------------------------------------------
*/
0

スポンサードリンク

スポンサードリンク

Copyright© #ツクプラ , 2021 All Rights Reserved.