Mano アイテムポケット - Mano_ItemPocket.js

▼Mano アイテムポケット(しぐれん様作) - Mano_ItemPocket.js
https://plugin.fungamemake.com/archives/1912
アクターごとにアイテムを個別で所持させる
ふりがな:あいてむぽけっと
機能概要: アクターごとにアイテムを個別で所持させる
利用規約(ライセンス): MITライセンス
作者:しぐれん
作者サイト:https://siguren400.booth.pm/
解説ページ:https://forum.tkool.jp/index.php?threads/211/
ダウンロードページ:https://raw.githubusercontent.com/Sigureya/RPGmakerMV/m…
ファイル名:Mano_ItemPocket.js
プラグインのヘルプ:
/**
* 再配布を許可します。
* ゲームの内容による使用制限はありません。
*
* 以下の行為は禁止します。
* ・自分が作ったと偽ること
* ・このプラグイン自体を素材として販売すること
* (他の素材と併用する形での同梱は禁止しません)
* read meには以下の内容を記載してください。
* しぐれん:[github]:https://github.com/Sigureya/RPGmakerMV
*
*/
/*:
* 改造した場合、この後ろに「改変者(〇〇)」などの形で表記してください。
* @author しぐれん
* @plugindesc キャラクターごとに個別にアイテムを所持します。
*
* @param menuCommand
* @desc メニュー画面におけるアイテム所持のコマンド名
* @type string
* @default アイテム所持
*
* @param menuCommandPosition
* @desc アイテム所持コマンドの位置を調整します
* @type select
* @option オリジナルコマンドの位置
* @value 0
* @option 「アイテム」の上
* @value 1
* @default 0
*
* @param usingWeight
* @desc アイテムの重さ機能を使うかどうかを定義します
* ※ゲーム実行中は変更できません
* @type boolean
* @on 使う
* @off 使わない
* @default false
*
* @param defaultWeight
* @desc アイテムのデフォルトの重さ
* メモに何も書かなかった場合、ここに指定した数値が代入されます。
* @type number
* @default 1
* @parent usingWeight
*
* @param weightText
* @desc 重さの表示形式(個数指定時)
* @default 重さ
* @parent usingWeight
*
* @param command2
* @type struct<CommandSetting>[]
* @default []
*
* @param command
* @text コマンドリスト
* @desc ゲーム中で有効なコマンドの一覧です。
* ここで並び順を調整できます。
* @default [”use”,”pass”,”swap”,”remove”,”add”,”myset”]
* @type select[]
* @option use
* @option pass
* @option add
* @option swap
* @option remove
* @option myset
*
*
* @param use
* @type struct<CommandSetting>
* @desc アイテムを使うコマンド名
* @default {”name”:””,”description”:””}
* @parent command
*
* @param swap
* @type struct<CommandSetting>
* @desc アイテムを入れ替えるコマンド名
* @default {”name”:””,”description”:””}
* @parent command
*
* @param remove
* @type struct<CommandSetting>
* @desc アイテムをしまうコマンド名
* @default {”name”:””,”description”:””}
* @parent command
*
* @param add
* @type struct<CommandSetting>
* @desc アイテムを入れるコマンド名
* @default {”name”:””,”description”:””}
* @parent command
*
* @param pass
* @type struct<CommandSetting>
* @desc アイテムを渡すコマンド名
* @default {”name”:””,”description”:””}
* @parent command
*
*
* @param myset
* @type struct<CommandSetting>
* @desc マイセットのコマンド名
* @default {”name”:”マイセット”,”description”:”アイテム所持の組み合わせを保存できます”}
* @parent command
*
* @param sort
* @type struct<CommandSetting>
* @desc アイテムのソートのコマンド名
* @default {”name”:””,”description”:””}
* @parent command
*
* @param numberSelectHelp
* @type string
* @desc 個数を選択するときのヘルプ文章を設定します
* @default 左右キーで個数を選択
* @param sound
* @text 効果音
*
* @param mysetSaveSound
* @desc マイセットのセーブに使われる効果音
* @default Save
* @require 1
* @dir audio/se/
* @type file
* @parent sound
*
* @param mysetLoadSound
* @desc マイセットのセーブに使われる効果音
* @default Equip1
* @require 1
* @dir audio/se/
* @type file
* @parent sound
*
* @param InsertForPocket
* @type switch
* @desc 指定したスイッチがONの時、
* 新しく手に入れたアイテムを先頭のアクターのポケットに入れます。
*
* @param pocketKeepByremoveActor
* @desc 指定したスイッチがONの時、
* パーティからの離脱の時アイテムを持たせたままにします。
* @type switch
* @default 0
*
*
* @param pocket
* @text ポケットの設定
*
* @param maxAmount
* @type number
* @desc 1種類当たりの入れることができる量を定義します。
* @default 99
* @parent pocket
*
* @param pocketSize
* @type number
* @desc ポケットに入れることができるアイテムの種類を設定します。
* @default 6
* @parent pocket
*
* @param canDuplicate
* @type boolean
* @同じ種類のアイテムをポケットに入れることができるかを定義します。
* @default false
*
* @param MaxColor
* @type number
* @desc 最大個数を所持している際の表示色を設定します。
* システムのカラー番号で指定されます。
* @default 18
* @parent pocket
*
* @param NotEnoughColor
* @type number
* @desc マイセット実行時に、アイテムが足りなかった時の色を設定します
* @未実装
* @default 4
*
*
* @param usingMyset
* @type boolean
* @desc マイセット機能を使うかどうかを定義します
* @on 使う
* @off 使わない
* @default true
* @parent myset
*
* @param mysetSize
* @type number
* @desc マイセットの保存数を定義します
* @default 8
* @parent myset
*
* @param mysetFormat
* @type string
* @desc マイセットのデフォルト名です
* @default マイセット【%1】
* @parent myset
*
* @param saveMyset
* @type string
* @desc マイセットを保存する時のコマンドです
* @default マイセットの保存
* @parent myset
*
* @param saveMysetHelp
* @type string
* @desc マイセットを保存する時のヘルプ表示
* @default 保存先の選択
* @parent myset
*
* @param loadMyset
* @type string
* @desc マイセットを読み込む時のコマンドです。
* @default マイセットの読み込み
* @parent myset
*
* @param loadMysetHelp
* @type string
* @desc マイセットを保存する時のヘルプ表示
* @default 読み込むデータの選択
* @parent myset
*
* @param renameMyset
* @type string
* @desc マイセットの登録名を変更する時のコマンド名です
* @default マイセットの名前変更
* @parent myset
*
* @param developMode
* @type boolean
* @desc 開発モードフラグです。ダミーデータなどの設定が入っています。
* @default false
*
* @help
* アクターごとにアイテムを所持させることができます。
* スイッチを設定するパラメータは、無指定の場合false(OFF)として扱います。
* <MaxAmount:2>
* アイテム側に上記の記述をすることで、所持数を制限できます。
* この場合は、ポケットにその種類のアイテムを入れる数を2個までに制限できます。
* <Weight:8>
* アイテムに重さを設定できます。
* 設定しない場合、デフォルトの重さが指定されます。
*
*
* ■アイテムを持っているかのチェックについて
* 持っているかどうかのチェックは、ポケットに対しては行いません。
* イベントコマンドでチェックしたい場合、checkPocketを実行することで
*
* ・スクリプトで調べる
* 条件分岐(スクリプト)に以下の記述を行うことでもチェックできます。
* $gameParty.isInPocket(アイテムの番号);
* 特定のアクターが持っているかはGame_ActorにあるisInPocket()関数を使います。
* 呼びだし方は以下の通りです。
* actor.isInPocket(アイテムの番号)
* $gameActor.actor(アクターの番号).isInPocket(アイテムの番号)
*
* ■プラグインコマンドについて
* 条件分岐でポケットにあるアイテムをチェック対象にする場合、
* 以下のプラグインコマンドのどれかを実行します。
* 設定を変更した場合、次の条件分岐1回だけ有効になります。
* ◆Pocket PartyInclude
* パーティにいるキャラのポケットを調べます。
* ◆Pocket AllInclude
* 全てのアクターの所持アイテムをチェックします。
* DS版DQ4には世界樹の葉を大量に所持できてしまうバグがあるのですが、
* そういった現象への対策です。
*
* ■メモについて
* メモ欄で、アクターの初期アイテムが設定できます。
* 以下のような内容で書き込むと、
* ID1のアイテムを4個・ID2のアイテムを3個持った状態で加入します。
* <PocketItem[1]:4>
* <PocketItem[2]:3>
*
* ■競合について
* Game_Battler.consumeItemを再定義しているプラグインとは競合する可能性があります。
* これは、アイテムを減らす処理において
* Game_Battler.consumeItemを使わないようにしているからです。
* 対応パッチは作成しますので、問題があった際には積極的に報告お願いします。
* Twitterの方が反応速いです。
*
* ■メソッドの命名法則
* 以下の通りです。
* execute**()
* **を実際に実行する関数。
* 必要なWindowを開く部分は**の方にあります。
* start**
* end**
* Scene_ItemPocketにおいて、
* 特定の処理を開始する場合と終了する場合のペアです。
* startでウィンドウを開き、endで閉じています。
*
* ※ヘルプの書き途中です。
* ver 2.0.0(2018/03/22)
* タッチ操作周辺の不具合を修正
* 本体のクラス構文を旧来の書き方からES5以降の物へ変更
* 多数のエンバグ発生の可能性あり
* ver 2.1.0 (2018/03/28)
* ヘルプ表示を増やし、UIを改善
* プラグインパラメータの一部を破壊的変更(互換切り)
*
*
* ver 1.4.0
* タッチ操作向けのボタンを追加。
*
* ver 1.3.0
* MA_ItemPocket.addItem()にバグが発覚したので修正。
* アイテムを渡す機能を実装。
* ver 1.2.0(2017/09.13) アイテムの重さ機能を実装
* ver 1.1.0(2017/09/05) マイセット機能を実装
* ver 1.0.0(2017/08/26) イベントコマンド「条件分岐」で、アイテム所持をチェックできるようにした。
* DQ風所持モードの拡張プラグインを追加。
* ver 0.7.5(2017/06/28) アイテムの出し入れで個数指定を可能にし、入れられない時はグレーアウト。
* ver 0.7.0(2017/06/21) バトル中にアイテムを使えるようになった
* ver 0.6.3(2017/06/21) バトルに少しだけ対応。
* ver 0.6.0(2017/06/20) アイテムを持たせることができるようになった。
* ver 0.5.0(2017/06/20) 公開
*/
/*~struct~PocketItem:
* @param id
* @param amount
*/
/*~struct~CommandSetting:
* @param name
* @type string
*
* @param description
* @type string
* 画面上部に表示する説明文です。
*/
/*
* 現在のタスク
*
* TODO
*
* 表示部分の改善
* スクロール時に、表示がおかしい
*
* 装備品も一緒にする(ほぼ無理 アイテムのフリをする装備品を作ればあるいは?)
* ↑アクター本体からデータを取得すればいいかも?
*
* タッチ操作の改善
* タッチ操作でのアクター同士でのアイテムの受け渡し
* 個数選択を90度回転して使う
* モード切替時にキャンセルを押さなくてもいいように
* 無を渡すことで、反対側からアイテムを引き込める処理
*
* アイテム欄から持たせる処理(特定のボタンで呼び出す)
* 1ボタンで以下の機能の呼び出し
* 呼び出し先は、変更できるように
* ソート
* クリア
* 最大補充
* これをXYに割り当て。使う直前にYES/NOのチェック
* 持たせたアイテムに、装備品同様のtraitを設定する機能
* ShopNumberを参考に、クリック操作用のボタンを実装
* しまうと、入れるの1ボタン往復
*
* ショップ対応
* イベントコマンドのためにバインドする処理
* (アイテムを増やす、をフックする)
*
* サブメニュー
* 決定キーを押したときに表示
* ◆Pocket Sync true
* アイテム関連のイベントコマンドを実行した場合に、
* ポケット内のアイテムに対しても実行します。
* 効果はこのイベントコマンドを実行したイベント内部でのみ有効です。
* ◆Pocket Sync false
* SyncONを解除するのに使います。
*
* 以下のイベントコマンドが該当します。
* ・アイテムの増減(アイテムを減らすとき)
* ・条件分岐(アイテムを持っているか)
* ・変数の操作(アイテムの所持数)
*
* 最近使ったアイテム?
* 最大個数所持している場合は、個数表示を赤に
* アイテムを減らすときに、アクターに持たせているアイテムを減らす処理
* 装備を減らす処理と同様にする
* プラグインコマンドで実行?一時的にフラグを立てる?
* <ActorEquipItem:
* max =10
*
* >
* <PocketCapacity:2>
* <MaxAmount:2>
*/