基本システムそのままだと、
モンスター一体につき、
一つのアイテムしか設定できません。
スライム
- 入手アイテム 薬草
- ┗入手率[アイテム][%] 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の入手率は数値より低くなります。
アイテムドロップの処理
ドロップアイテム・ドロップ率が、
どのタイミングで処理されるかです。
内容は↓こちらの記事と一部重複します
既に↑を読んでくださった方は飛ばしてください。
ユーザー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に項目を追加して、
上記のように扱うのが一番理解しやすい、
と思ったのでこのような内容となりました!