姫HimeWorks/Weapon Damage の変更点

|CENTER:100||c
|~製作者|[[姫HimeWorks>http://himeworks.com/]]|
|~配布場所|http://himeworks.com/2016/02/weapon-damage/|
|~カテゴリ|[[装備]]|
|~前提プラグイン|なし|
|~関連プラグイン|[[Enemy Equips>http://himeworks.com/2015/11/enemy-equips/]]|
----
#contents
*プラグイン概要 [#about]
Weapon Damageは武器ごとにダメージ計算式を変更するプラグインです。
スキルダメージ計算式にも武器ダメージ計算式を組み込めるのが特徴です。

**利用規約 [#terms]
-非商用利用:クレジットを記載すれば自由に利用可能です。
Free for use in non-commercial projects with credits
-商用利用:クレジットを記載すれば自由に利用可能です。ですが製作者へ連絡してくださるとうれしいです。
Free for use in commercial projects, but it would be nice to let me know
Please provide credits to HimeWorks

**関連・競合プラグイン [#related]
-[[Enemy Equips>http://himeworks.com/2015/11/enemy-equips/]]
併用することで、作成した武器を敵キャラに持たせることが可能になります。
--[[Equip Slots Core>姫HimeWorks/Equip Slots Core]]
Enemy Equipsの前提プラグインです。

#br
**類似プラグイン [#similar]
-[[WeaponSkill>https://tkool.jp/mv/special/plugin.html]]([[外部サイト解説>https://gameusers.org/wiki/rpg-maker-mv/index.php?%E3%83%97%E3%83%A9%E3%82%B0%E3%82%A4%E3%83%B3/WeaponSkill]])
武器ごとに「通常攻撃の代わりに発動するスキル」を設定する&color(Red){公式プラグイン};です。
「ダメージ計算式を変更した攻撃スキル」を呼び出す形でWeapon Damageと同様のことができます。こちらはID[1]以外のスキルも指定可能になるため、スキルに設定する特徴やスキルをカスタムするプラグインと併用可能になります。
しかし武器毎にいちいちスキルを用意しなければならず、ダメージ計算式を変更したい武器の数が膨大に増えると武器とスキル両方のデータベースの設定が面倒になる欠点があります。
武器毎のダメージ計算式を変更したいだけならWeapon Damageを採用したほうがいくらか管理がしやすいでしょう。

//-[[D値>http://www6.atwiki.jp/pokotan/pages/3.html]]
//ダメージ計算式に使用可能なD値を追加します。
//
#br
*武器ダメージ計算式を変更 [#action1]
-武器には攻撃力だけでなく防御力・魔法力・魔法防御力・敏捷性といったパラメータや、攻撃時属性・命中率補正・会心率・攻撃回数・スキル追加などの特徴を持たせることが可能です。
-しかし、基本的にダメージ値は攻撃力(と属性)だけで決定されます。
スキルID[1]の『攻撃』の計算式を変更することで通常攻撃の計算式は変更可能ですが、ゲーム全体に影響を与えるため奇異な計算式を導入することは難しいでしょう。
-あなたは武器ごとにダメージ計算式を変更したいと考えるかもしれません。通常攻撃で特別なダメージ計算式を適用する武器を作成したいと思うかもしれません。このプラグインを導入することでそれらは実現可能になります。
**使い方 [#usage1]
武器ごとの計算式設定と、スキルID[1]の通常攻撃スキルの設定が必要です。
***武器側の設定 [#usage11]
武器のメモ欄に以下のタグを記述することでダメージ計算式をカスタムできます。
>''<weapon damage>''
>''&color(Silver){計算式};''
>''</weapon damage>''

#br
計算式の部分には数値・数式・スクリプトを入力できます。
スキルのダメージ計算式のように、a.atk や b.def といったパラメータを参照することも可能です。

&attachref(wdmg2.png);
100×分散度のダメージを与えます。
>''<weapon damage>''
>''&color(Red){100};''
>''</weapon damage>''

2~16×分散度のダメージを与えます。
Math.randomInt(&color(Black){数値};)には''0~数値''の値がランダムに代入されます。
>''<weapon damage>''
>''&color(Red){2 * (Math.randomInt(8) + 1)};''
>''</weapon damage>''

[[この他の作例は後述にて。>姫HimeWorks/Weapon Damage#note13]]

#br
***スキル側の設定 [#usage12]
このプラグインを導入すると、スキルの計算式に以下の値が設定可能になります。
これは武器側に設定された計算式を参照する値です。
>''&color(Red){a.weaponDamage(b)};''

#br
武器側に設定した計算式を、通常攻撃で呼び出すために、スキルID[1]の計算式を変更します。
気に入らなければ分散度を0%にしてもよいでしょう。
&attachref(wdmg3.png,,75%);
>''0001'' 攻撃
>計算式:
>''&color(Red){a.weaponDamage(b)};''
>分散度:
>''0 %''
>メモ:
>スキル1番は[攻撃]コマンドを
>選択したときに使用されます。

#br
この値は通常攻撃以外のスキルにも使用可能です。
>''0002'' パワーヒット
>計算式:
>''&color(Red){a.weaponDamage(b) *  1.5};''

#br
**素手攻撃について  [#note11]
素手の状態、つまり武器を装備していない場合、プラグインのオプションで指定したIDの武器が戦闘時に強制的に装備されます。指定IDの武器にも必ずダメージ計算式を記述しましょう。
このIDはプラグインの管理から変更可能です。デフォルトでは武器ID[1]のアイテムが装備されます。
&attachref(wdmg1.png);

#br
**敵キャラの通常攻撃について  [#note12]
デフォルトでは敵キャラの通常攻撃としてスキルID[1]がセットされています。しかし通常攻撃の計算式を ''a.weaponDamage(b)'' に書き換えたため、そのままではダメージを与えられなくなります。敵の通常攻撃スキルを別途用意して使わせましょう。
&attachref(wdmg4.png);
>''0003'' 敵の通常攻撃
>計算式:
>''&color(Red){a.atk * 4 - b.def * 2};''

もし[[Enemy Equips>http://himeworks.com/2015/11/enemy-equips/]]を使用して敵キャラに武器を持たせているならば、先述の ''a.weaponDamage(b)'' を記述したスキルを使わせましょう。
**作例 [#note13]
デフォルトの通常攻撃の計算式
攻撃側の攻撃力×4 - 防御側の防御力×2
>''<weapon damage>''
>''&color(Red){a.atk * 4 - b.def * 2};''
>''</weapon damage>''

#br
敵の防御力の影響を半分しか受けない武器
>''<weapon damage>''
>''&color(Red){a.atk * 4 - b.def};''
>''</weapon damage>''

#br
攻撃力と敏捷性を足して2で割った値をダメージにする武器
>''<weapon damage>''
>''&color(Red){( a.atk + a.agi ) /2 * 4 - b.def * 2};''
>''</weapon damage>''

#br
防御無視で、残りHP1にする武器&color(Red){※分散度0%用};
>''<weapon damage>''
>''&color(Red){b.hp-1};''
>''</weapon damage>''

#br
防御無視で、残HP割合でダメージが増減する武器
>''<weapon damage>''
>''&color(Red){a.atk * 4 * ( ( a.hp / 256 ) + 1 ) / ( ( a.mhp / 256 ) + 1 )};''
>''</weapon damage>''

#br
残りHPの割合が少ない程ダメージが加算される武器
>''<weapon damage>''
>''&color(Red){a.atk * 4 - b.def * 2 + (a.mhp - a.hp)};''
>''</weapon damage>''

#br
逃走回数÷2が攻撃力として加算される武器
>''<weapon damage>''
>''&color(Red){(a.atk + $gameSystem.escapeCount() / 2 ) * 4 - b.def * 2};''
>''</weapon damage>''
//*備考 [#note3]
*応用 [#note4]
-ダメージ分散度は0%にしたほうが意図した計算式を作成しやすいかもしれません。
-ダメージ計算式作成に便利なページ(参考)
--[[ダメージ計算式の小ネタ>http://tm.lucky-duet.com/viewtopic.php?f=56&t=647]] ツクマテトピック
--[[こんなに面白いダメージ計算式の世界>http://ktnhmv.jugem.jp/?eid=9]]
--[[RPGツクールMV向け 計算式+スキルのテンプレート>http://fanblogs.jp/tabirpglab/archive/196/0]]
-変数 ''$gameVariables.value(&color(Silver){変数番号};)'' も計算式内に指定可能なので、工夫次第で複雑な計算式も作成可能です。

#br
*コメント [#comment]
#region(クリックで展開)
#pcomment(,10,reply)
#endregion