WOLF RPGエディター(ウディタ)[3.175]/装備改造【サイトトップへ戻る】
■装備すると特殊技能のHP・SP消費量が変動
(更新:2023/04/24)


特定の装備品を装備すると、特殊技能を使用する時のHP・SPの消費量が変動する設定を行います。


ショートカット
■改造内容の確認
■コモンイベント[HP・SP消費量変動]を新設
■移動時にコモンイベント[HP・SP消費量変動]を呼び出す
■戦闘時にコモンイベント[HP・SP消費量変動]を呼び出す


  
■改造内容の確認

今回は特定の装備品を装備した主人公が特殊技能を使用する際のHP・SPの消費量が変動する改造を行います。

例えば「青い服」を装備すると、HP・SPの消費量が80%になる(消費量[10]→[8])と言った感じです。

逆にHP・SPの消費量が150%になる(消費量[10]→[15])と言った設定もできます。



今回はコモンイベント[HP・SP消費量変動]を新設し、このコモンイベントの中でHP・SPの消費量を計算します。



以下のコモンイベントには、コモンイベント[HP・SP消費量変動]を呼び出す設定を追加します。

コモンイベント[111:X[移]技能一覧算出]
コモンイベント[121:X[移]技能使用_消費処理]
移動時に使用します。
戦闘時のみでHP・SPの消費量が変動する場合は、
この2つのコモンイベントの改造は不要です。
コモンイベント[154:X[戦]技能一覧算出]
コモンイベント[170:X[戦]技能使用_消費処理]
戦闘時に使用します。
移動時のみでHP・SPの消費量が変動する場合は、
この2つのコモンイベントの改造は不要です。


▲トップへ戻る▲


  
■コモンイベント[HP・SP消費量変動]を新設

コモンイベントの空いている所にコモンイベント[HP・SP消費量変動]を新設してください。



コモンイベント[HP・SP消費量変動]のセルフ変数は以下のとおりです。

セルフ変数
番号 名前 使用内容
0 処理するキャラ 可変DB[0:主人公ステータス]のデータIDを設定。
戦闘中の場合は、
戦闘中の並び順から可変DB[0:主人公ステータス]のデータIDを取得。
1 HP・SP消費量 HP・SPの消費量を設定。
呼び出し元に計算した消費量を返す時にも使用。
9 既に計算済み パーセント合算(同じ装備品は1つのみ有効)」で使用。
処理済みのアイテムコードを登録し、二重に処理しないようにします。
10 装備によるパーセントを設定。
「1000=100%」で処理するため、
セルフ[10]の値が「1500」の場合は、HP・SPの消費量が150%になります。
11 四捨五入 四捨五入の計算で使用。
例えばHP・SPの消費量が「6」で、変動率が「80%」の場合、
HP・SPの消費量の計算結果が「4.8」になります。
この場合、
四捨五入の設定が無い場合のSP消費量は「4」になり、
四捨五入の設定がある場合のSP消費量は「5」になります。
15 項目ID 可変DB[0:主人公ステータス]項目[28〜35]の値の出力で使用。
16 アイテムコード 可変DB[0:主人公ステータス]項目[28〜35]の値を取得。



HP・SPの消費量を変動させる装備品の設定は、アイテムコードで設定してください。

武器 ユーザーDB[3:武器]のデータID+20000
11:鉄の杖」の場合は「20011」で設定。
防具 ユーザーDB[4:防具]のデータID+30000
27:青い服」の場合は「30027」で設定。



設定例では以下の3つを設定します。

装備品 アイテムコード 変動率
武器[11:鉄の杖] 20011 90%
防具[18:呪われた服] 30018 150%
防具[27:青い服] 30027 80%



イベントは3つの設定方法があるので、どれか1つを選択してください。

パーセントの高い値が優先 「80%」と「150%」の2つを装備した場合は
「150%」になります。
パーセント合算(同じ装備も有効) 「80%」と「150%」の2つ装備した場合は
「80%×150%」で「120%」になります。
「80%」になる同じ装備品を2つ装備した場合は
「80%×80%」で「64%」になります。
パーセント合算(同じ装備品は1つのみ有効) 「80%」と「150%」の2つ装備した場合は
「80%×150%」で「120%」になります。
「80%」になる同じ装備品を2つ装備した場合は
1つだけが有効となり、「80%」になります。
「80%」になる異なる装備品を両方装備した場合は
「80%×80%」で「64%」になります。


  
▼パーセントの高い値が優先

「80%」と「150%」の2つを装備した場合は「150%」になります。

【イベントコード表示】【コモン出力ファイル】

■コモンイベント「HP・SP消費量変動」

起動条件:呼び出しのみ

入力の数 / 結果を返す
設定 名前 初期値 特殊指定
数値1 処理するキャラ 0  
数値2 HP・SP消費量 0  
返す値 消費量 コモンセルフ1[数]:HP・SP消費量

▼ 装備すると特殊技能のHP・SP消費量が変動/パーセントの高い値が優先
■条件分岐(変数): 【1】 可変DB(18,68,0)[[戦闘]戦闘中フラグ 数値 ] が 1 と同じ
-◇分岐: 【1】 [ 可変DB(18,68,0)[[戦闘]戦闘中フラグ 数値 ] が 1 と同じ ]の場合↓
|■イベントの挿入[名]: CSelf0[処理するキャラ] =
            ["X[戦]スロットから主人公ID取得"] <コモンEv 141> / CSelf0[処理するキャラ]

|■
◇分岐終了◇
■変数操作: CSelf10[%] = -1 + 0
■変数操作: CSelf11[四捨五入] = 0 + 0
■変数操作: CSelf15[項目ID] = 27 + 0
■回数付きループ [ 8 ]回
|■変数操作: CSelf15[項目ID] += 1 + 0
|■DB読込(可変): CSelf16[アイテムコード] =
         可変DB[ 0 : CSelf0[処理するキャラ] : CSelf15[項目ID] ] (主人公ステータス : - : -)
|■条件分岐(変数): 【1】 CSelf16[アイテムコード] が 20011 と同じ
|-◇分岐: 【1】 [ CSelf16[アイテムコード] が 20011 と同じ ]の場合↓
||▼ 銀の杖
||■変数操作: CSelf10[%] 下限= 90 + 0
||■
|◇分岐終了◇
|■条件分岐(変数): 【1】 CSelf16[アイテムコード] が 30018 と同じ
|-◇分岐: 【1】 [ CSelf16[アイテムコード] が 30018 と同じ ]の場合↓
||▼ 呪われた服
||■変数操作: CSelf10[%] 下限= 150 + 0
||■
|◇分岐終了◇
|■条件分岐(変数): 【1】 CSelf16[アイテムコード] が 30027 と同じ
|-◇分岐: 【1】 [ CSelf16[アイテムコード] が 30027 と同じ ]の場合↓
||▼ 青い服
||■変数操作: CSelf10[%] 下限= 80 + 0
||■
|◇分岐終了◇
|■
◇ループここまで◇◇
■条件分岐(変数): 【1】 CSelf10[%] が -1 と同じ
-◇分岐: 【1】 [ CSelf10[%] が -1 と同じ ]の場合↓
|■変数操作: CSelf10[%] = 100 + 0
|■
◇分岐終了◇
■回数付きループ [ 1 ]回
|▼ 四捨五入が要らない場合は、このループ回数を「0回」にする。
|■変数操作: CSelf11[四捨五入] = CSelf10[%] * CSelf1[HP・SP消費量]
|■変数操作: CSelf11[四捨五入] /= 500 + 0
|■変数操作: CSelf11[四捨五入] %= 2 + 0
|■
◇ループここまで◇◇
■変数操作: CSelf1[HP・SP消費量] *= CSelf10[%] + 0
■変数操作: CSelf1[HP・SP消費量] /= 1000 + 0
■変数操作: CSelf1[HP・SP消費量] += CSelf11[四捨五入] + 0
■変数操作: CSelf1[HP・SP消費量] 下限= 1 + 0


  
▼パーセント合算(同じ装備も有効)

「80%」と「150%」の2つ装備した場合は「80%×150%」で「120%」になります。

「80%」になる同じ装備品を2つ装備した場合は「80%×80%」で「64%」になります。

【イベントコード表示】【コモン出力ファイル】

■コモンイベント「HP・SP消費量変動」

起動条件:呼び出しのみ

入力の数 / 結果を返す
設定 名前 初期値 特殊指定
数値1 処理するキャラ 0  
数値2 HP・SP消費量 0  
返す値 消費量 コモンセルフ1[数]:HP・SP消費量

▼ 装備すると特殊技能のHP・SP消費量が変動/パーセント合算(同じ装備も有効)
■条件分岐(変数): 【1】 可変DB(18,68,0)[[戦闘]戦闘中フラグ 数値 ] が 1 と同じ
-◇分岐: 【1】 [ 可変DB(18,68,0)[[戦闘]戦闘中フラグ 数値 ] が 1 と同じ ]の場合↓
|■イベントの挿入[名]: CSelf0[処理するキャラ] =
            ["X[戦]スロットから主人公ID取得"] <コモンEv 141> / CSelf0[処理するキャラ]

|■
◇分岐終了◇
■変数操作: CSelf10[%] = 1000 + 0
■変数操作: CSelf11[四捨五入] = 0 + 0
■変数操作: CSelf15[項目ID] = 27 + 0
■回数付きループ [ 8 ]回
|■変数操作: CSelf15[項目ID] += 1 + 0
|■DB読込(可変): CSelf16[アイテムコード] =
         可変DB[ 0 : CSelf0[処理するキャラ] : CSelf15[項目ID] ] (主人公ステータス : - : -)
|■条件分岐(変数): 【1】 CSelf16[アイテムコード] が 20011 と同じ
|-◇分岐: 【1】 [ CSelf16[アイテムコード] が 20011 と同じ ]の場合↓
||▼ 銀の杖
||■変数操作: CSelf10[%] *= 90 + 0
||■変数操作: CSelf10[%] /= 100 + 0
||■
|◇分岐終了◇
|■条件分岐(変数): 【1】 CSelf16[アイテムコード] が 30018 と同じ
|-◇分岐: 【1】 [ CSelf16[アイテムコード] が 30018 と同じ ]の場合↓
||▼ 呪われた服
||■変数操作: CSelf10[%] *= 150 + 0
||■変数操作: CSelf10[%] /= 100 + 0
||■
|◇分岐終了◇
|■条件分岐(変数): 【1】 CSelf16[アイテムコード] が 30027 と同じ
|-◇分岐: 【1】 [ CSelf16[アイテムコード] が 30027 と同じ ]の場合↓
||▼ 青い服
||■変数操作: CSelf10[%] *= 80 + 0
||■変数操作: CSelf10[%] /= 100 + 0
||■
|◇分岐終了◇
|■
◇ループここまで◇◇
■回数付きループ [ 1 ]回
|▼ 四捨五入が要らない場合は、このループ回数を「0回」にする。
|■変数操作: CSelf11[四捨五入] = CSelf10[%] * CSelf1[HP・SP消費量]
|■変数操作: CSelf11[四捨五入] /= 500 + 0
|■変数操作: CSelf11[四捨五入] %= 2 + 0
|■
◇ループここまで◇◇
■変数操作: CSelf1[HP・SP消費量] *= CSelf10[%] + 0
■変数操作: CSelf1[HP・SP消費量] /= 1000 + 0
■変数操作: CSelf1[HP・SP消費量] += CSelf11[四捨五入] + 0
■変数操作: CSelf1[HP・SP消費量] 下限= 1 + 0


  
▼パーセント合算(同じ装備品は1つのみ有効)

「80%」と「150%」の2つ装備した場合は「80%×150%」で「120%」になります。

「80%」になる同じ装備品を2つ装備した場合は1つだけが有効となり、「80%」になります。

「80%」になる異なる装備品を両方装備した場合は「80%×80%」で「64%」になります。

【イベントコード表示】【コモン出力ファイル】

■コモンイベント「HP・SP消費量変動」

起動条件:呼び出しのみ

入力の数 / 結果を返す
設定 名前 初期値 特殊指定
数値1 処理するキャラ 0  
数値2 HP・SP消費量 0  
返す値 消費量 コモンセルフ1[数]:HP・SP消費量

▼ 装備すると特殊技能のHP・SP消費量が変動/パーセント合算(同じ装備品は1つのみ有効)
■条件分岐(変数): 【1】 可変DB(18,68,0)[[戦闘]戦闘中フラグ 数値 ] が 1 と同じ
-◇分岐: 【1】 [ 可変DB(18,68,0)[[戦闘]戦闘中フラグ 数値 ] が 1 と同じ ]の場合↓
|■イベントの挿入[名]: CSelf0[処理するキャラ] =
            ["X[戦]スロットから主人公ID取得"] <コモンEv 141> / CSelf0[処理するキャラ]

|■
◇分岐終了◇
■変数操作: CSelf10[%] = 1000 + 0
■変数操作: CSelf11[四捨五入] = 0 + 0
■変数操作: CSelf15[項目ID] = 27 + 0
■文字列操作:CSelf9[既に計算済み] = ""
■回数付きループ [ 8 ]回
|■変数操作: CSelf15[項目ID] += 1 + 0
|■DB読込(可変): CSelf16[アイテムコード] =
         可変DB[ 0 : CSelf0[処理するキャラ] : CSelf15[項目ID] ] (主人公ステータス : - : -)
|■条件分岐(文字): 【1】 CSelf9[既に計算済み]が "\cself[16]" を含む
|-◇分岐: 【1】 [ CSelf9[既に計算済み] "\cself[16]" を含む ]の場合↓
| |■ループ開始へ戻る
| |■
|◇分岐終了◇
|■文字列操作:CSelf9[既に計算済み] += "\cself[16]\n"
|■条件分岐(変数): 【1】 CSelf16[アイテムコード] が 20011 と同じ
|-◇分岐: 【1】 [ CSelf16[アイテムコード] が 20011 と同じ ]の場合↓
||▼ 銀の杖
||■変数操作: CSelf10[%] *= 90 + 0
||■変数操作: CSelf10[%] /= 100 + 0
||■
|◇分岐終了◇
|■条件分岐(変数): 【1】 CSelf16[アイテムコード] が 30018 と同じ
|-◇分岐: 【1】 [ CSelf16[アイテムコード] が 30018 と同じ ]の場合↓
||▼ 呪われた服
||■変数操作: CSelf10[%] *= 150 + 0
||■変数操作: CSelf10[%] /= 100 + 0
||■
|◇分岐終了◇
|■条件分岐(変数): 【1】 CSelf16[アイテムコード] が 30027 と同じ
|-◇分岐: 【1】 [ CSelf16[アイテムコード] が 30027 と同じ ]の場合↓
||▼ 青い服
||■変数操作: CSelf10[%] *= 80 + 0
||■変数操作: CSelf10[%] /= 100 + 0
||■
|◇分岐終了◇
|■
◇ループここまで◇◇
■回数付きループ [ 1 ]回
|▼ 四捨五入が要らない場合は、このループ回数を「0回」にする。
|■変数操作: CSelf11[四捨五入] = CSelf10[%] * CSelf1[HP・SP消費量]
|■変数操作: CSelf11[四捨五入] /= 500 + 0
|■変数操作: CSelf11[四捨五入] %= 2 + 0
|■
◇ループここまで◇◇
■変数操作: CSelf1[HP・SP消費量] *= CSelf10[%] + 0
■変数操作: CSelf1[HP・SP消費量] /= 1000 + 0
■変数操作: CSelf1[HP・SP消費量] += CSelf11[四捨五入] + 0
■変数操作: CSelf1[HP・SP消費量] 下限= 1 + 0


▲トップへ戻る▲


  
■移動時にコモンイベント[HP・SP消費量変動]を呼び出す

移動時のコモンイベントにコモンイベント[HP・SP消費量変動]を呼び出す設定を追加してください。



コモンイベント[111:X[移]技能一覧算出]40行目に以下の設定を追加してください。

【イベントコード表示】
■イベントの挿入[名]:CSelf10[一時変数A] =
           ["HP・SP消費量変動"] <コモンEv 215> / CSelf0[対象主人公ID] / CSelf10[一時変数A]





コモンイベント[121:X[移]技能使用_消費処理]12行目に以下の設定を追加してください。

【イベントコード表示】
■イベントの挿入[名]:CSelf12[消費ポイント] =
           ["HP・SP消費量変動"] <コモンEv 215> / CSelf0[発動主人公ID] / CSelf12[消費ポイント]




▲トップへ戻る▲


  
■戦闘時にコモンイベント[HP・SP消費量変動]を呼び出す

戦闘時のコモンイベントにコモンイベント[HP・SP消費量変動]を呼び出す設定を追加してください。



コモンイベント[154:X[戦]技能一覧算出]41行目に以下の設定を追加してください。

【イベントコード表示】
■イベントの挿入[名]:CSelf10[一時変数A] =
           ["HP・SP消費量変動"] <コモンEv 215> / CSelf0[対象主人公ID] / CSelf10[一時変数A]





コモンイベント[170:X[戦]技能使用_消費処理]12行目に以下の設定を追加してください。

【イベントコード表示】
■イベントの挿入[名]:CSelf12[消費ポイント] =
           ["HP・SP消費量変動"] <コモンEv 215> / CSelf0[発動主人公ID] / CSelf12[消費ポイント]




▲トップへ戻る▲



◎関連ページ

◆「基本システム」って何?
┣◆コモンイベントの一覧と補足説明
┣◆基本システムで使用しているピクチャ番号
┣◆メニュー画面の処理構造
┗◆戦闘処理の処理構造

YADOT-WOLFトップ  気紛れな空間へ戻る  メール