DreamX/Random Equipment Prefixes & Affixes

Last-modified: 2020-03-11 (水) 00:06:32
製作者DreamX
配布場所海外フォーラム / ツクマテ(不具合修正版)
カテゴリ装備 アイテム?
前提プラグインYEP.11 Yanfly Item Core

プラグイン概要

DreamX-RandomEquipmentPrefixesAffixes2.png
DreamX-RandomEquipmentPrefixesAffixes3.png

  • 装備品に接尾語(~オブ フレイム)、接頭語(ストロング~)、+〇といった接辞を用いてパラメーターボーナスをランダム付加します
    • 内部的には 接頭語アイテム+ベースアイテム+接尾語アイテム と複数のアイテムを結合して1つのアイテムを生成する構造を取っています。
  • 生成された装備品の性能は、基本的には接辞アイテムとベースアイテムの合計になります。
    • ATK10のベースアイテムとATK10の接辞アイテムを結合した場合、ATK20になります。
    • 属性、アイコンなど、接辞アイテム側の項目でベースアイテムの項目を上書きすることができます。
    • 価格も接辞アイテムとベースアイテムの合計になります。接辞によって価格が上下するアイテムも作成できるでしょう。

DreamX-RandomEquipmentPrefixesAffixes8.png

  • 装備品だけでなく、レギュラーアイテム(武器・防具でないポーション等のアイテム)についても接辞を用いることができます。
    • アイテムを独立アイテム扱いにする必要がある。Yanfly Item Coreのデフォルト設定ではアイテムはスタック可能な非独立アイテムになっているため、設定変更が必要です。(Max Item の項目を0以外にする)
    • 回復量等が合計されたアイテムが生成されるが、ダメージや成功率等が関わったり、そもそも使用できないはずの大事なものまで結合できてしまいます。そのためアイテムに関しては専用のノートタグが用意されています。

利用上の注意(重要)

 このプラグインは『接頭語アイテム、ベースアイテム、接尾語アイテムのデータを参照して、独立した新しいアイテムを作成する』という構造を取りますが、作成したアイテムをショップで売却、所持数を減らすなどで手持ちから失わせても、作成したアイテムのデータがセーブ内に残り続けてしまう問題が存在します。
 アイテムの作成数が少ないうちはともかく、数百、数千とアイテムを作成していくとセーブデータの容量が肥大化、それに伴いゲームに多大な負荷がかかります。例えば3000個アイテムを作成した場合、パソコンのスペックにもよりますがセーブするだけで1分以上の時間を要するようになったという報告があります。これら3000個のアイテムをショップで売却しても、この負荷は残り続けます。

 これらの問題を解決する修正版が有志によってツクマテに投稿されています。海外フォーラムからではなく、こちらをダウンロードして使用することを推奨します。修正版ダウンロード(ツクマテ)

利用規約

  • クレジットを記載することで、商用・非商用問わず自由に利用可能です。
    Free to use and modify for commercial and noncommercial games, with credit.
  • Yanflyに帰属します。このスクリプトで用いるコードはYanflyのItem Coreプラグインによるものです。
    Credit Yanfly. This script uses code from their Item Core plugin.
  • クレジット
    • DreamX
    • Yanfly for Item Core plugin.

関連・競合プラグイン

  • YEP.11 Yanfly Item Core
    前提 複数の同一アイテムを独立したアイテムとして取り扱うため必要になります。
    このページでは詳しく解説しません。
    プラグインの並びはYanfly Item Coreを上にしてください。

類似プラグイン

  • YEP.12 Yanfly Item Upgrade Slots
    Ragnarok Onlineのカードシステムのように、ランダムではなく任意に接辞と効果を装着可能です。
  • YEP.92 Yanfly Attachable Augments
    YEP.12 Yanfly Item Upgrade Slotsと似ていますが、スロットごとに装着できるアイテムの種類を設定でき、着脱が可能です。

ベースアイテムに記述できるノートタグ

ベースアイテム側に、そのアイテムにどの接辞が付加されるか、どの程度の確率で付加されるかを指定します。

<Suffixes> ;接尾語(~オブ フレイム)

x y%

</Suffixes>

<Prefixes> ;接頭語(ノーマル~)

x y%

</Prefixes>

作例
DreamX-RandomEquipmentPrefixesAffixes4.pngDreamX-RandomEquipmentPrefixesAffixes5.png

  • 0007番の「ノーマル」が100%の確率で付加されます。

    <Prefixes>

    7 100%

    </Prefixes>

  • 0007番から0009番の「ノーマル」「ヘヴィ」「スピード」のうち1つが50%の確率で付加され、残りの50%の確率で何も付加されません。

    <Prefixes>

    7-9 50%

    </Prefixes>

  • 0007番から0009番の「ノーマル」「スピード」のうち1つが50%の確率で、
    残りの50%の確率で0008番の「ヘヴィ」が付加されます。

    <Prefixes>

    7 9 50% 8 50%

    </Prefixes>

  • 0007番から0009番の「ノーマル」「ヘヴィ」「スピード」が各50%ずつの確率で付加されます。
    全て付加された場合、「ノーマルヘヴィスピードソード」という名称になるでしょう。
    何も付加されない場合もあります。

    <Prefixes>

    7 50%

    8 50%

    9 50%

    </Prefixes>

Augment Choices

※まだ用途が分かりませんでした。
YEP.92 - Attachable Augmentsとの連携要素と思われます。

接辞アイテムに記述できるノートタグ


<prefixSuffixDontAddName>
この接辞アイテムが選ばれても名前を接辞として表示しません。
例「ノーマルソード」→「ソード」


<prefixSuffixNoNameSpace>
名前の接続部分にスペースを差し込みません。
例「ノーマル ソード」→「ノーマルソード」
海外製であるため、単語間にスペースを入れるのがデフォルトになっています。
日本語でゲームを製作する場合、不自然になることも多いので入れたほうがよいかもしれません。


<prefixSuffixName:x>
名前欄にある名称ではなく、 x を接辞にします。
例「ノーマルソード」→「xソード」


<OverlayIcon> ;アイコンを重ねて表示します。
<OverlayIconOrder: x> ;アイコンを重ねる際の優先度を設定します。xの値が高いほど前に表示される模様。


ベースアイテムに設定されている各項目を、接辞アイテムのものに置き換えるノートタグです。
<prefixSuffixReplaceAnim> ;アニメーション
<prefixSuffixReplaceIcon> ;アイコン
<prefixSuffixReplaceWeaponType> ;武器タイプ(武器のみ)
<prefixSuffixReplaceArmorType> ;防具タイプ(防具のみ)


<prefixSuffixUseWeaponDatabase> ;生成される防具は、データベースの防具欄の代わりに武器欄にある接辞を用いる。(防具のみ)
<prefixSuffixUseArmorDatabase> ;生成される武器は、データベースの武器欄の代わりに防具欄にある接辞を用いる。(武器のみ)


ベースアイテムに設定されている各項目を、接辞アイテムのものに置き換えるノートタグです。
ポーションなど、武器・防具でないレギュラーアイテム専用。

基本設定
<prefixSuffixReplaceItemType> ;アイテムタイプ
<prefixSuffixReplaceConsumable> ;消耗する/しない
<prefixSuffixReplaceOccasion> ;使用可能時
<prefixSuffixReplaceScope> ;範囲
発動
<prefixSuffixCombineSuccess> ;発動成功率
<prefixSuffixReplaceHitType> ;命中タイプ
ダメージ
<prefixSuffixCombineVariance> ;ダメージ分散度
<prefixSuffixCombineDamageFormula> ;ダメージ計算式
<prefixSuffixReplaceCriticalHits> ;会心率
<prefixSuffixReplaceDamageType> ;ダメージタイプ
<prefixSuffixReplaceDamageElement> ;属性

接辞のパラメーター

DreamX-RandomEquipmentPrefixesAffixes6.png
DreamX-RandomEquipmentPrefixesAffixes7.png

<prefixSuffixParameters: x y|z>
接辞アイテムにランダムなステータスボーナスを設定するノートタグです。
x:MHP、MMP、ATK、DEF、MAT、MDF、AGI、LUK
y,z:数値 zはyより大きい。負の値を設定することも可能。

固定値を設定したい場合、データベースの能力値変化量に数値を直接入力したほうがよいでしょう。

作例

  • ATKに+5~+10、DEFが-10~+20のボーナスが付与されます。

    <prefixSuffixParameters: 9 50%ATK 5|10 DEF -10|20>


ボーナスの表記はプラグインの設定項目にあるBonus Parameter Textで変更可能です。(デフォルトは %1%2)

  • %1 ボーナスが正の場合は+、負の場合は-。
  • %2 アイテムに適用されたランダムパラメータボーナスの最高値。ATK+50、DEF+10、LUK-10が重なった場合、50と表記される。
    %1%2ソード+20
    (%1%2)ソード(+20)
    <%1%2>ソード<+20>
    何も記入しないソード

接辞の条件設定

接辞が候補に選ばれるための条件設定を行います。

<Prefix Suffix Requirement>

x

</Prefix Suffix Requirement>

条件を満たさなければ出現しない、条件を満たしたら出現させたくない接辞を作る際に有用です。
例 ストーリーの進行やダンジョンの階層によって強い接辞を登場させ、弱い接辞を出現させないようにする等

作例

  • この場合、スイッチ[0001]がオンでなければこの接辞は候補に選ばれません。

    <Prefix Suffix Requirement>

    $gameSwitches.value(1);

    </Prefix Suffix Requirement>

構文による接辞の効果設定

構文xを使って接辞に効果を設定することができます。

<Prefix Suffix Effect>

x

</Prefix Suffix Effect>

作例

  • 以下の例では以下の処理を行っています。
    • 生成されるアイテムにATKに50~150のボーナスを加算
    • 生成されるアイテムの名称に " +ボーナス値"を追加
    • 生成されるアイテムの価格をATKボーナス分を加算

      <Prefix Suffix Effect>

      var atkBonus = Math.floor((Math.random() * 100) + 50);

      newItem.params[2] += atkBonus;

      newItem.name += " +" + atkBonus;

      newItem.price += atkBonus;

      </Prefix Suffix Effect>};''

この項目では以下の変数を利用可能です。

  • item - 効果を取得する接辞アイテムの項目
  • baseItem - ベースアイテム
  • newItem - 生成されるアイテム

プラグイン導入で利用可能になる関数

  • this.averagePartyLevel()
    パーティの平均レベルを返します。
  • this.averagePartyBattleMemberLevel()
    バトルに参加するパーティメンバーの平均レベルを返します。
 

コメント

クリックで展開
  • 接辞ランダムパラメータの例文<prefixSuffixParameters: 9 50%ATK 5|10 DEF -10|20> -- さかな? 2019-04-27 (土) 17:51:52
    • 途中送信すみません。上記の文の、50%は多分50%の確率で…ということだと思われるのですが、最初の9は何を意味するのでしょうか? -- さかな? 2019-04-27 (土) 17:53:01
  • これ1%以下どうやってやるんだろ。‰にしても無理だった。 -- 2019-05-09 (木) 13:47:17
  • 9 50%は誤表示かな。消したらいけました。 -- 2020-03-11 (水) 00:06:32