ウディタ ドロップアイテムを複数設定する 基本システム2 WOLF RPGエディター

基本システムそのままだと、
モンスター一体につき、
一つのアイテムしか設定できません。

スライム

  • 入手アイテム 薬草
  • ┗入手率[アイテム][%] 10%

スライム

  • 入手アイテム 薬草
  • ┗入手率[アイテム][%] 10%
  • 入手アイテム2 毒消し草
  • ┗入手率[アイテム2][%] 5%

このようにドロップアイテムを複数設定し、
実際にドロップ判定させるまで!です。

ドロップ武器・ドロップ防具も、
同じ手順を踏めば追加できますが、
今回はアイテムで見ていきます。

スポンサーリンク
スポンサーリンク

アイテムドロップの種類

なんパターンか挙げておきますので、
一通り目を通してみてください。

どの方法がベストなのかは、
ゲーム内容やバランスによって異なります。

2段階ドロップ判定(タイプ1)

例 スライム

  • ドロップ1 薬草 10%
  • ドロップ2 毒消し草 5%

2段階判定

スライムの持ち物 (1:薬草/2:毒消し草)

  • ドロップ1判定→ドロップ1あり→終了
    ドロップ1なし→ドロップ2判定

先にドロップ1の薬草の判定を行い、
ドロップ1なし!となった場合だけ、
ドロップ2の毒消し草の判定を行うタイプです。

薬草をドロップした場合、
毒消し草は絶対に落としません。

ドロップ1はノーマル枠、
ドロップ2はレア枠みたいなイメージです。

特徴

ドロップ2の入手率は数値より低くなります。

100×0.9×0.05=4.5%

2段階ドロップ判定(タイプ2)

例 スライム

  • ドロップ1 薬草 10%
  • ドロップ2 毒消し草 5%

2段階判定

スライムの持ち物 (1:薬草/2:毒消し草)

  • ドロップ1判定→ドロップ2判定

ドロップ1の薬草→ドロップ2の毒消し草と、
常に2回判定を行うタイプです。

特徴

入手率はどちらも数字通り計算されます。

単一ドロップ判定

例 スライム

  • ドロップ1 薬草 10%
  • ドロップ2 毒消し草 5%

単一判定

スライムの持ち物 (1:薬草/2:毒消し草)

  • ドロップ1を判定

または、

スライム (1:薬草/2:毒消し草)

  • ドロップ2を判定

ユーザーDBから可変DBにコピーする時点で、
ドロップアイテムを一つに絞ります。

最初にモンスターに持たせるアイテムを、
決めてしまうイメージです。

特徴

ドロップ判定はどちらか1回だけ、
ドロップ2の入手率は数値より低くなります。

アイテムドロップの処理

ドロップアイテム・ドロップ率が、
どのタイミングで処理されるかです。

内容は↓こちらの記事と一部重複します

ウディタ アイテムドロップの処理解説 基本システム2 WOLF RPGエディター
ウディタのアイテムドロップ処理について。戦闘開始からドロップ判定、アイテム取得まで。

既に↑を読んでくださった方は飛ばしてください。

ユーザーDBから可変DBへ

アイテムドロップは、
先ずコモンイベント144で処理されます。

コモンイベント144:X[戦]敵DB→戦闘DBコピー

このコモンイベントでは、
UDBに設定した入手アイテム・入手率[%]を、
可変DBの×┏ 戦闘一時ステータス[基]に、
コピーしています。

ユーザーDB→コモンセルフ変数

144:X[戦]敵DB→戦闘DBコピー

■DB読込(ユーザ): CSelf80[入手アイテム] = ユーザDB[ 敵キャラ個体データ : CSelf1[読込敵個体ID] : 入手アイテム ] (9 : – : 14)
■DB読込(ユーザ): CSelf81[アイテム入手率] = ユーザDB[ 敵キャラ個体データ : CSelf1[読込敵個体ID] : ┗入手率[アイテム] [%] ] (9 : – : 15)

↑UDBから入手アイテム・入手率を、
コモンセルフ80・81にコピーしています。

コモンセルフ変数→可変DB

144:X[戦]敵DB→戦闘DBコピー

■可変DB書込:DB[ ×┏ 戦闘一時ステータス[基] : CSelf0[入力先戦闘DB] : [敵専用]入手アイテム ] (10 : – : 72) = CSelf80[入手アイテム]
■可変DB書込:DB[ ×┏ 戦闘一時ステータス[基] : CSelf0[入力先戦闘DB] : [敵専用]アイテム入手率 ] (10 : – : 73) = CSelf81[アイテム入手率]

その後コモンセルフ80・81から可変DBへ。

ドロップアイテムに限らず、
ユーザーDB敵データはすべてこのコモンから、
可変DBの戦闘スロットにコピーされています。

ドロップ判定

戦闘中にモンスターを倒すと、
コモン171:X[戦]敵撃破処理で、
ドロップ判定が行われます。

コモン171:X[戦]敵撃破処理

▼ アイテム入手判定

■DB読込(可変): CSelf30[入手アイテム] = 可変DB[ ×┏ 戦闘一時ステータス[基] : CSelf0[対象戦闘スロット] : [敵専用]入手アイテム ] (10 : – : 72)
■DB読込(可変): CSelf31[アイテム入手率[%]] = 可変DB[ ×┏ 戦闘一時ステータス[基] : CSelf0[対象戦闘スロット] : [敵専用]アイテム入手率 ] (10 : – : 73)

■変数操作: CSelf31[アイテム入手率[%]] -= 0 ~ 99

■条件分岐(変数): 【1】 CSelf31[アイテム入手率[%]] が 1 以上
■可変DB書込:DB[ ×┗ お宝リスト : 0 : CSelf21[一時格納位置] ] (15 : : -) = CSelf30[入手アイテム]

ドロップ率から0~99を引いて、
1以上ならドロップ確定!

その後は可変DBのお宝リストへ。

→可変DB(15お宝リスト:0:入手アイテムコード21)

アイテムの増加処理

例 ドロップアイテム 薬草 × 1

戦闘に勝利した場合、
コモン200:X┣◆戦利品獲得処理で、
お宝リストを参照し、
アイテムの増加処理がされます。

可変DB(9:所持アイテム個数 1:薬草 0:所持個数)

可変DB(9:1:0) += 1 + 0

戦利品画面の処理

戦闘後に表示される戦利品画面は、
186:X[戦]戦利品獲得画面で、
処理されています。

入手アイテム

薬草 × 1

アイテムドロップの改造

共通処理

ユーザーDBの項目追加

9:敵キャラ個体データ

タイプ内容設定 → ページ2

項目を2つ追加します。
初期状態だと26・27です。

  • 項目名26 入手アイテム2 初期値-1
  • 項目名27┗入手率[アイテム2] [%] 初期値0

項目名は項目14・15と同一でなければOKです。
コピーして2とでもつけておきましょう。

2段階ドロップ判定(タイプ1)

以下のようにドロップ1の判定を行い、
\cself[31]が1以上か0以下で分岐させます。

やることは\cself[31]の分岐を追加し、
元からあるドロップ1のコマンド文を、
コピペしドロップ2用に書き換えるだけです。

コモン171:X[戦]敵撃破処理

|■DB読込(可変): CSelf30[入手アイテム] = 可変DB[ ×┏ 戦闘一時ステータス[基] : CSelf0[対象戦闘スロット] : [敵専用]入手アイテム ] (10 : – : 72)
|■DB読込(可変): CSelf31[アイテム入手率[%]]= 可変DB[ ×┏ 戦闘一時ステータス[基] : CSelf0[対象戦闘スロット] : [敵専用]アイテム入手率 ] (10 : – : 73)

|▼ 入手率からランダム値を引く
|■変数操作: CSelf31[アイテム入手率[%]] -= 0 ~ 99

| |▼ ここから入手処理
| |■変数操作: CSelf22[限界格納地点] = CSelf98[入手アイテム項目_開始位置] + CSelf97[入手アイテム最大個数]
| |■変数操作: CSelf22[限界格納地点] -= 1 + 0
| |■条件分岐(変数): 【1】 CSelf30[入手アイテム] が 0 以上
| |-◇分岐: 【1】 [ CSelf30[入手アイテム] が 0 以上 ]の場合↓
| | |■条件分岐(変数): 【1】 CSelf31[アイテム入手率[%]] 1 以上 【2】 CSelf31[アイテム入手率[%]] 0 以下
| | |-◇分岐: 【1】 [ CSelf31[アイテム入手率[%]] 1 以上 ]の場合↓
| | | |▼ 格納先を計算
| | | |■変数操作: CSelf21[一時格納位置] = CSelf98[入手アイテム項目_開始位置] + 0
| | | |■DB読込(可変): CSelf21[一時格納位置] += 可変DB[ ×┗ お宝リスト : 0 : [入手アイテム数] ] (15 : : 20)
| | | |■条件分岐(変数): 【1】 CSelf21[一時格納位置] が CSelf22[限界格納地点] 以下
| | | |-◇分岐: 【1】 [ CSelf21[一時格納位置] が CSelf22[限界格納地点] 以下 ]の場合↓
| | | | |▼ アイテムを格納
| | | | |■可変DB書込:DB[ ×┗ お宝リスト : 0 : CSelf21[一時格納位置] ] (15 : : -) = CSelf30[入手アイテム]
| | | | |■可変DB書込:DB[ ×┗ お宝リスト : 0 : CSelf21[一時格納位置] ] (15 : : -) += 10000
| | | | |▼ 入手アイテムを+1
| | | | |■可変DB書込:DB[ ×┗ お宝リスト : 0 : [入手アイテム数] ] (15 : : 20) += 1
| | | | |■
| | | |◇分岐終了◇
| | | |■
| | |-◇分岐: 【2】 [ CSelf31[アイテム入手率[%]] 0 以下 ]の場合↓
| | | |■DB読込(可変): CSelf30[入手アイテム] = 可変DB[ ×┏ 戦闘一時ステータス[基] : CSelf0[対象戦闘スロット] : [敵専用]入手アイテム2 ] (10 : – : 78)
| | | |■DB読込(可変): CSelf31[アイテム入手率[%]] = 可変DB[ ×┏ 戦闘一時ステータス[基] : CSelf0[対象戦闘スロット] : [敵専用]アイテム入手率2 ] (10 : – : 79)
| | | |■変数操作: CSelf31[アイテム入手率[%]] -= 0 ~ 99 
| | | |■条件分岐(変数): 【1】 CSelf30[入手アイテム] が 0 以上
| | | |-◇分岐: 【1】 [ CSelf30[入手アイテム] が 0 以上 ]の場合↓
| | | | |■条件分岐(変数): 【1】 CSelf31[アイテム入手率[%]] が 1 以上
| | | | |-◇分岐: 【1】 [ CSelf31[アイテム入手率[%]] が 1 以上 ]の場合↓
| | | | | |▼ 格納先を計算
| | | | | |■変数操作: CSelf21[一時格納位置] = CSelf98[入手アイテム項目_開始位置] + 0
| | | | | |■DB読込(可変): CSelf21[一時格納位置] += 可変DB[ ×┗ お宝リスト : 0 : [入手アイテム数] ] (15 : : 20)
| | | | | |■条件分岐(変数): 【1】 CSelf21[一時格納位置] が CSelf22[限界格納地点] 以下
| | | | | |-◇分岐: 【1】 [ CSelf21[一時格納位置] が CSelf22[限界格納地点] 以下 ]の場合↓
| | | | | | |▼ アイテムを格納
| | | | | | |■可変DB書込:DB[ ×┗ お宝リスト : 0 : CSelf21[一時格納位置] ] (15 : : -) = CSelf30[入手アイテム]
| | | | | | |■可変DB書込:DB[ ×┗ お宝リスト : 0 : CSelf21[一時格納位置] ] (15 : : -) += 10000
| | | | | | |▼ 入手アイテムを+1
| | | | | | |■可変DB書込:DB[ ×┗ お宝リスト : 0 : [入手アイテム数] ] (15 : : 20) += 1
| | | | | | |■
| | | | | |◇分岐終了◇
| | | | | |■
| | | | |◇分岐終了◇
| | | | |■
| | | |◇分岐終了◇
| | | |■
| | |◇分岐終了◇
| | |■
| |◇分岐終了◇

2段階ドロップ判定(タイプ2)

分岐を削除する

タイプ1から分岐を削るだけ!です。

コモン171:X[戦]敵撃破処理

| |▼ ここから入手処理
| |■変数操作: CSelf22[限界格納地点] = CSelf98[入手アイテム項目_開始位置] + CSelf97[入手アイテム最大個数]
| |■変数操作: CSelf22[限界格納地点] -= 1 + 0
| |■条件分岐(変数): 【1】 CSelf30[入手アイテム] が 0 以上
| |-◇分岐: 【1】 [ CSelf30[入手アイテム] が 0 以上 ]の場合↓
| | | |▼ 格納先を計算
| | | |■変数操作: CSelf21[一時格納位置] = CSelf98[入手アイテム項目_開始位置] + 0
| | | |■DB読込(可変): CSelf21[一時格納位置] += 可変DB[ ×┗ お宝リスト : 0 : [入手アイテム数] ] (15 : : 20)
| | | |■条件分岐(変数): 【1】 CSelf21[一時格納位置] が CSelf22[限界格納地点] 以下
| | | |-◇分岐: 【1】 [ CSelf21[一時格納位置] が CSelf22[限界格納地点] 以下 ]の場合↓
| | | | |▼ アイテムを格納
| | | | |■可変DB書込:DB[ ×┗ お宝リスト : 0 : CSelf21[一時格納位置] ] (15 : : -) = CSelf30[入手アイテム]
| | | | |■可変DB書込:DB[ ×┗ お宝リスト : 0 : CSelf21[一時格納位置] ] (15 : : -) += 10000
| | | | |▼ 入手アイテムを+1
| | | | |■可変DB書込:DB[ ×┗ お宝リスト : 0 : [入手アイテム数] ] (15 : : 20) += 1
| | | | |■
| | | |◇分岐終了◇
| | | |■
| | | |■DB読込(可変): CSelf30[入手アイテム] = 可変DB[ ×┏ 戦闘一時ステータス[基] : CSelf0[対象戦闘スロット] : [敵専用]入手アイテム2 ] (10 : – : 78)
| | | |■DB読込(可変): CSelf31[アイテム入手率[%]] = 可変DB[ ×┏ 戦闘一時ステータス[基] : CSelf0[対象戦闘スロット] : [敵専用]アイテム入手率2 ] (10 : – : 79)
| | | |■変数操作: CSelf31[アイテム入手率[%]] -= 0 ~ 99 
| | | |■デバッグ文:アイテム2ドロップ 1以上ならドロップ\n\cself[31]
| | | |■条件分岐(変数): 【1】 CSelf30[入手アイテム] が 0 以上
| | | |-◇分岐: 【1】 [ CSelf30[入手アイテム] が 0 以上 ]の場合↓
| | | | |■条件分岐(変数): 【1】 CSelf31[アイテム入手率[%]] が 1 以上
| | | | |-◇分岐: 【1】 [ CSelf31[アイテム入手率[%]] が 1 以上 ]の場合↓
| | | | | |▼ 格納先を計算
| | | | | |■変数操作: CSelf21[一時格納位置] = CSelf98[入手アイテム項目_開始位置] + 0
| | | | | |■DB読込(可変): CSelf21[一時格納位置] += 可変DB[ ×┗ お宝リスト : 0 : [入手アイテム数] ] (15 : : 20)
| | | | | |■条件分岐(変数): 【1】 CSelf21[一時格納位置] が CSelf22[限界格納地点] 以下
| | | | | |-◇分岐: 【1】 [ CSelf21[一時格納位置] が CSelf22[限界格納地点] 以下 ]の場合↓
| | | | | | |▼ アイテムを格納
| | | | | | |■可変DB書込:DB[ ×┗ お宝リスト : 0 : CSelf21[一時格納位置] ] (15 : : -) = CSelf30[入手アイテム]
| | | | | | |■可変DB書込:DB[ ×┗ お宝リスト : 0 : CSelf21[一時格納位置] ] (15 : : -) += 10000
| | | | | | |▼ 入手アイテムを+1
| | | | | | |■可変DB書込:DB[ ×┗ お宝リスト : 0 : [入手アイテム数] ] (15 : : 20) += 1
| | | | | | |■
| | | | | |◇分岐終了◇
| | | | | |■
| | | | |◇分岐終了◇
| | | | |■
| | | |◇分岐終了◇
| | | |■
| | |◇分岐終了◇
| | |■
| |◇分岐終了◇

ラベルを追加する

ラベルの追加でもOKです。

タイプ1と手触りを比較するなら、
こちらの方が便利かもしれません。

コモン171:X[戦]敵撃破処理

| |▼ ここから入手処理
| |■変数操作: CSelf22[限界格納地点] = CSelf98[入手アイテム項目_開始位置] + CSelf97[入手アイテム最大個数]
| |■変数操作: CSelf22[限界格納地点] -= 1 + 0
| |■条件分岐(変数): 【1】 CSelf30[入手アイテム] が 0 以上
| |-◇分岐: 【1】 [ CSelf30[入手アイテム] が 0 以上 ]の場合↓
| | |■条件分岐(変数): 【1】 CSelf31[アイテム入手率[%]] が 1 以上 【2】 CSelf31[アイテム入手率[%]] が 0 以下
| | |-◇分岐: 【1】 [ CSelf31[アイテム入手率[%]] が 1 以上 ]の場合↓
| | | |▼ 格納先を計算
| | | |■変数操作: CSelf21[一時格納位置] = CSelf98[入手アイテム項目_開始位置] + 0
| | | |■DB読込(可変): CSelf21[一時格納位置] += 可変DB[ ×┗ お宝リスト : 0 : [入手アイテム数] ] (15 : : 20)
| | | |■条件分岐(変数): 【1】 CSelf21[一時格納位置] が CSelf22[限界格納地点] 以下
| | | |-◇分岐: 【1】 [ CSelf21[一時格納位置] が CSelf22[限界格納地点] 以下 ]の場合↓
| | | | |▼ アイテムを格納
| | | | |■可変DB書込:DB[ ×┗ お宝リスト : 0 : CSelf21[一時格納位置] ] (15 : : -) = CSelf30[入手アイテム]
| | | | |■可変DB書込:DB[ ×┗ お宝リスト : 0 : CSelf21[一時格納位置] ] (15 : : -) += 10000
| | | | |▼ 入手アイテムを+1
| | | | |■可変DB書込:DB[ ×┗ お宝リスト : 0 : [入手アイテム数] ] (15 : : 20) += 1
| | | | |■
| | | |◇分岐終了◇
| | | | |●ラベル「ドロップ2」に飛ぶ >>>>>>>>>>>>>>>>>>>>>>>>>
| | | |■
| | |-◇分岐: 【2】 [ CSelf31[アイテム入手率[%]] が 0 以下 ]の場合↓
| | | |●ラベル地点「ドロップ2」 <<<<<<<<<<<<<<<<<<<<<<<<★
| | | |■DB読込(可変): CSelf30[入手アイテム] = 可変DB[ ×┏ 戦闘一時ステータス[基] : CSelf0[対象戦闘スロット] : [敵専用]入手アイテム2 ] (10 : – : 78)
| | | |■DB読込(可変): CSelf31[アイテム入手率[%]] = 可変DB[ ×┏ 戦闘一時ステータス[基] : CSelf0[対象戦闘スロット] : [敵専用]アイテム入手率2 ] (10 : – : 79)
| | | |■変数操作: CSelf31[アイテム入手率[%]] -= 0 ~ 99 
| | | |■デバッグ文:アイテム2ドロップ 1以上ならドロップ\n\cself[31]
| | | |■条件分岐(変数): 【1】 CSelf30[入手アイテム] が 0 以上
| | | |-◇分岐: 【1】 [ CSelf30[入手アイテム] が 0 以上 ]の場合↓
| | | | |■条件分岐(変数): 【1】 CSelf31[アイテム入手率[%]] が 1 以上
| | | | |-◇分岐: 【1】 [ CSelf31[アイテム入手率[%]] が 1 以上 ]の場合↓
| | | | | |▼ 格納先を計算
| | | | | |■変数操作: CSelf21[一時格納位置] = CSelf98[入手アイテム項目_開始位置] + 0
| | | | | |■DB読込(可変): CSelf21[一時格納位置] += 可変DB[ ×┗ お宝リスト : 0 : [入手アイテム数] ] (15 : : 20)
| | | | | |■条件分岐(変数): 【1】 CSelf21[一時格納位置] が CSelf22[限界格納地点] 以下
| | | | | |-◇分岐: 【1】 [ CSelf21[一時格納位置] が CSelf22[限界格納地点] 以下 ]の場合↓
| | | | | | |▼ アイテムを格納
| | | | | | |■可変DB書込:DB[ ×┗ お宝リスト : 0 : CSelf21[一時格納位置] ] (15 : : -) = CSelf30[入手アイテム]
| | | | | | |■可変DB書込:DB[ ×┗ お宝リスト : 0 : CSelf21[一時格納位置] ] (15 : : -) += 10000
| | | | | | |▼ 入手アイテムを+1
| | | | | | |■可変DB書込:DB[ ×┗ お宝リスト : 0 : [入手アイテム数] ] (15 : : 20) += 1
| | | | | | |■
| | | | | |◇分岐終了◇
| | | | | |■
| | | | |◇分岐終了◇
| | | | |■
| | | |◇分岐終了◇
| | | |■
| | |◇分岐終了◇
| | |■
| |◇分岐終了◇

単一ドロップ判定

144:X[戦]敵DB→戦闘DBコピーの時点で、
適当に分岐を作るだけ!…です。

  • ドロップ1 薬草 10%
  • ドロップ2 毒消し草 5%

ドロップ判定するアイテムを、
薬草8割・毒消し草2割とするのであれば…。

数字が増えたので、
簡単に整理しておきます。

8割の確率でモンスターに薬草を持たせ、
そのモンスターを倒したとき、
10%の確率で薬草をドロップさせます。

144:X[戦]敵DB→戦闘DBコピー

|■DB読込(ユーザ): CSelf20[ドロップ確認]= ユーザDB[ 敵キャラ個体データ : CSelf1[読込敵個体ID] : 入手アイテム2 ] (9 : – : 29)
|▼ UDBのドロップアイテム2の有無をチェック
|■条件分岐(変数): 【1】 CSelf20[ドロップ確認]1 以上 【2】 CSelf20[ドロップ確認]0 以下
|-◇分岐: 【1】 [ CSelf20[ドロップ確認] が 1 以上 ]の場合↓
| |■変数操作: CSelf21[ドロップ分岐] = 1 ~ 100 
| |■条件分岐(変数): 【1】 CSelf21[ドロップ分岐] が 21 以上 【2】 CSelf21[ドロップ分岐] が 21 未満
| |-◇分岐: 【1】 [ CSelf21[ドロップ分岐] が 21 以上 ]の場合↓
| | |■DB読込(ユーザ): CSelf80[入手アイテム] = ユーザDB[ 敵キャラ個体データ : CSelf1[読込敵個体ID] : 入手アイテム ] (9 : – : 14)
| | |■DB読込(ユーザ): CSelf81[アイテム入手率] = ユーザDB[ 敵キャラ個体データ : CSelf1[読込敵個体ID] : ┗入手率[アイテム] [%] ] (9 : – : 15)
| | |■
| |-◇分岐: 【2】 [ CSelf21[ドロップ分岐] が 21 未満 ]の場合↓
| | |■DB読込(ユーザ): CSelf80[入手アイテム] = ユーザDB[ 敵キャラ個体データ : CSelf1[読込敵個体ID] : 入手アイテム2 ] (9 : – : 29)
| | |■DB読込(ユーザ): CSelf81[アイテム入手率] = ユーザDB[ 敵キャラ個体データ : CSelf1[読込敵個体ID] : ┗入手率[アイテム2] [%] ] (9 : – : 30)
| | |■
| |◇分岐終了◇
| |■
|-◇分岐: 【2】 [ CSelf20[ドロップ確認] が 0 以下 ]の場合↓
| |▼ ドロップ2が設定されてないので必ずドロップ1
| |■DB読込(ユーザ): CSelf80[入手アイテム] = ユーザDB[ 敵キャラ個体データ : CSelf1[読込敵個体ID] : 入手アイテム ] (9 : – : 14)
| |■DB読込(ユーザ): CSelf81[アイテム入手率] = ユーザDB[ 敵キャラ個体データ : CSelf1[読込敵個体ID] : ┗入手率[アイテム] [%]] (9 : – : 15)
| |■
|◇分岐終了◇

↑ドロップ2が設定されていない場合、
ドロップ1のみ判定にするための分岐を追加

  • ドロップ1 薬草 10%
  • ドロップ2 なし 0%

ユーザーDBに追加した項目

  • 項目名26 入手アイテム2 初期値-1

初期値は-1ですので0以下です。
入手アイテム2を設定しなければ、
今まで通りのドロップ1のみ判定です。

くどいようですが、念のため…。

  • ドロップ1 薬草 10%
  • ドロップ2 -1[なし] 0%

↑このモンスターは、
10%の確率で薬草をドロップします。
つまり無改造と同じです。

最後に

この他にも色々な方法が考えられます。

タイプ2のようにどちらも判定し、
両方ドロップした場合に、
レアな方1つだけを取得するなど…。

そもそもユーザーDBに項目を追加せず、
お好みのタイミングで、
可変DBを書き換えてもいいと思います。
戦闘一時でもお宝リストでも!

※お宝リストの書き換える場合は、
タイミングに注意が必要ですが…。

ユーザーDBに項目を追加して、
上記のように扱うのが一番理解しやすい、
と思ったのでこのような内容となりました!

ゲーム製作
スポンサーリンク
data-matched-content-ui-type="image_card_stacked" data-matched-content-rows-num="4" data-matched-content-columns-num="2"
スポンサーリンク
スポンサーリンク
よもやまの壺