忍者ブログ

武器強化システム

2019年05月18日
便利な武器強化システムを思いついたので記事にしてみる。

今までは私が思いついた武器強化システムは
  1. データベースに武器Aとその強化版A+、A++等を登録、強化イベントで武器AをA+、A+をA++に変更
  2. トリアコンタン様の動的データベースプラグイン等でDB上の武器数値を変更

と、こんな感じだった。

ただ方法1だと例えば99段階強化としようとすると、武器1個につきデータを99個登録しなければいけない。こうなると強化イベントによる武器変更も非常に手間がかかる。

方法2だと、武器強化をすると、手持ちで同じ同種の武器や、これから入手する同じ種類の武器は全て強化状態になる。このほうが都合がいい場合もあるけど。

というわけで今回は、手間がかからず、なおかつ分別も可能な武器強化システムを紹介。
必要なプラグインはこれ

  YEP_ItemCore.js

Yanfly様が公開しているプラグインで、公式のプラグイン集にも入っている奴。
公式のほうは日本語版になっているので英語が苦手な人はそちらを。

こいつを導入し、適当にパラメータ設定をする。
私は以下のようにした、私がしただけで必須ではない。
詳しい事はパラメータ説明を見ればわかる。
  「Random Variance」を「0」に
  「Boost Format」を「+%1」に
  「Updated Scene Item」を「false」に

とりあえずこれを導入した時点で、同じ種類であっても武器は別々に管理される。
あとはこれらを個別に強化する方法があればいいわけだ。

というわけでそのイベントを作成

このイベントは「決定ボタン」をトリガーにしている。

最初の変数操作では変数ID:1に、アクター1が装備している武器のIDを入れている。
別にアクター1の装備武器に限らず、強化対象武器のIDが入ればいい

そして条件分岐スクリプトは強化対象のboostCountを参照している。
このboostCountはItemCoreプラグインで追加されているので、
プラグインを導入していなければ当然使えない。
このシステムではBoostCountは武器強化の数値を示している。
このBoostCountが10以下ならば強化可能。つまり強化上限を10にしている。
$dataWeapons[$gameVariables.value(1)]  は変数1のIDの武器のデータを取得するスクリプトである。

さて、武器強化が10以下の場合だが、
最初に上でも紹介した$dataWeapons[$gameVariables.value(1)]で
変数1のIDの武器のデータをもってくる。
これのparams[2]を10増加させている。
params[2]とは攻撃力、すなわちここで攻撃力を上昇させている。

続いて下では、強化対象の武器のboostCountを1あげている。
先ほどもいったとおり、このboostCountは武器強化の値を表している。

このイベントで武器を強化すると、こんな感じになる。


上のイベントでは1回の武器強化で攻撃力を+10している。
8回強化すれば+80、元の剣にくらべてちゃんと80上がっている事がわかる。


スクリプトがわかってないと理解できない上に、
まだまだ基本理論といった感じだが、とりあえず武器強化を紹介した。
私の知っている限りだとこういう機能をもったプラグインはないし、
だれかItemCoreとの連携を前提にした武器強化プラグインとかださないかな(他力本願)


PR
Comment
  Vodafone絵文字 i-mode絵文字 Ezweb絵文字