> 技能で固定ダメージを設定して攻撃魔法を作ったのですが
> 耐性とか属性を設定しても固定ダメージが入るため
> 固定ダメージを設定していても耐性とかでダメージ25%半減や50%半減やダメージ吸収とかできるようにしたいです。
>
> 色々なサイトで解決方法ないか探しましたがありませんでしたので
> 是非お力を貸してください。
こちらの動作テストでは、技能に属性を設定して、攻撃する相手の属性耐性を変えると、ダメージ量が変化しました。
▼ユーザーDB[0:技能]の主な設定
項目[2:┏ 効果対象]=[10]敵一体[攻撃]
項目[9:┣ 基本効果量[固定値]]=100
項目[10:┣ 攻撃力影響度[%]]=0
項目[11:┣ 精神力影響度[%]]=0
項目[12:┗ ダメージ分散率± [%]]=0
項目[17:付与属性]=[1]炎攻撃
上記の技能を主人公が使えるようにして、
ユーザーDB[11:┣ 属性耐性]の項目[1:<炎攻撃>効果[%]]を
「100%」にすると敵のダメージ量が「100」になり、
「50%」にすると敵のダメージ量が「50」になりました。
上手くいかない場合は、上記の設定例とは異なる何かがあるのかもしれません。
例えば主人公の属性耐性は可変DB[3:┣ 属性耐性]で設定しますが、とある属性耐性を「100%」から「50%」に変えた場合、
古いセーブデータでは「100%」で保存されているので、古いセーブデータのダメージ量は「50%」にはなりません。
この場合は、古いセーブデータのロード後に「50%」に修正するイベント処理が必要です。
セーブデータをロードせず、ゲームを最初から始めた場合は、「50%」の状態でスタートします。
敵キャラの属性耐性の場合は、ロード後に最新版のユーザーDBが使用されるので、
古いセーブデータのロード後に属性耐性を修正するイベントは必要ありません。
> [やりたいこと]
> ドラクエみたいな「いてつくはどう」の技能を作りたい
>
> [やってみたこと]
> ドラクエのいてつくはどうみたいな技能を作りたいと思って
> UDBの技能の項目のページ2のところにある治療するステータス状態の欄に攻撃力や防御力が上がるとかの相手に有利な技能を治癒して消そうと思ったのですが
> 治癒するステータス状態の欄が3個しかなくて作れませんでした
>
> 治癒するステータス状態の欄をもっと増やせたりしますか?
> 「いてつくはどう」みたいな相手に有利な技能を打ち消すみたいな技能の作り方を教えてください。
処理方法は
【特定の技能を使ったら特別な処理を実行】
【ユーザーDB[0:技能]に項目「回復するステータス状態」を増やす】
の2つが考えられますが、どちらが良いかは両方を説明を見て、ご自身で決めてください。
(一応両方を設定する事も可能)
なお、どちらの処理方法もコモンイベント[165:X[戦]┗単体処理]の654行目にあるループ処理の中に追加設定を行います。
【特定の技能を使ったら特別な処理を実行】
特定の技能が使用された時に、その技能固有のイベント処理を実行する処理方法です。
ユーザーDB[0:技能]に新たな項目は作成しません。
状態を解除する時に、解除された状態をメッセージで表示したくない場合は、こちらの処理方法で設定してください。
(状態解除のメッセージを表示しない場合は、既存の項目「回復するステータス状態1」などには設定しないでください)
▼改造手順
ユーザーDB[0:技能]に「いてつくはどう」を作成。
(設定例ではデータID[40]に作成)
コモンイベント[165:X[戦]┗単体処理]の680行目に以下のイベントを追加。
■条件分岐(変数): 【1】 CSelf1[発動技能] が 40 と同じ
-◇分岐: 【1】 [ CSelf1[発動技能] が 40 と同じ ]の場合↓
|■
◇分岐終了◇
WoditorEvCOMMAND_START
[111][4,0]<0>(1,1600001,40,2)()
[401][1,0]<0>(1)()
[0][0,0]<1>()()
[499][0,0]<0>()()
WoditorEvCOMMAND_END
この条件分岐の中に相手の状態異常を回復させたいものを設定します。
677行目にある
■イベントの挿入[名]: ["X[戦]状態付与/消去"] <コモンEv 137> / CSelf2[対象スロット(単)] / CSelf62[消去状態3] / 0:消去 / 1:メッセージ有り
をコピーし、条件分岐の中に貼り付け、貼り付けた設定を開き、
戦闘スロット=1600002
付与する状態=右のチェックを外し、消したい状態を設定
付与?消去?=0:消去
メッセージ有無=お好きな方を選択
と設定してください。
消したい状態がまだある場合は、さらに「イベントの挿入[名]」を貼り付けて設定してください。
以上で設定完了。
【ユーザーDB[0:技能]に項目「回復するステータス状態」を増やす】
ユーザーDB[0:技能]に項目「回復するステータス状態」を増やして処理します。
「回復するステータス状態」を4つ以上設定したい技能が複数ある場合は、こちらの処理方法が良いかと思います。
▼改造手順
ユーザーDB[0:技能]の「タイプの内容設定」を開き、
画面下の「内容の挿入・削除・コピー」にて「28」を設定し「をコピー」を押す。
「99」を設定し「に貼り付け」を押す。(「回復するステータス状態」を追加したい数だけ押す)
項目名37以降に「回復するステータス状態1」が追加されたら、
「回復するステータス状態4」
「回復するステータス状態5」
「回復するステータス状態6」
と名前を変更し、画面下のOKを押して、タイプの設定を確定する。
技能を「いてつくはどう」を作成し、「回復するステータス状態」をお好きなように設定。
コモンイベント[165:X[戦]┗単体処理]の680行目に以下のイベントを追加。
■DB読込(ユーザ): CSelf60[消去状態1] = ユーザDB[ 技能 : CSelf1[発動技能] : 回復するステータス状態4 ] (0 : - : 37)
■条件分岐(変数): 【1】 CSelf60[消去状態1] が -1 以外
-◇分岐: 【1】 [ CSelf60[消去状態1] が -1 以外 ]の場合↓
|■イベントの挿入[名]: ["X[戦]状態付与/消去"] <コモンEv 137> / CSelf2[対象スロット(単)] / CSelf60[消去状態1] / 0:消去 / 1:メッセージ有り
|■
◇分岐終了◇
WoditorEvCOMMAND_START
[250][5,4]<0>(0,1600001,28,332288,1600060)("","技能","","回復するステータス状態4")
[111][4,0]<0>(1,1600060,-1,5)()
[401][1,0]<0>(1)()
[300][6,1]<1>(0,4,1600002,1600060,0,1)("X[戦]状態付与/消去")
[0][0,0]<1>()()
[499][0,0]<0>()()
WoditorEvCOMMAND_END
「イベントの挿入[名]」」の設定はそのままで良いです。
さらに「回復するステータス状態5」がある場合は、上記のイベントコードをコピーし、
追加した「回復するステータス状態4」の設定の下(686行目)に貼り付け、
DB読込(ユーザ)の「回復するステータス状態4」の設定を「回復するステータス状態5」に変えてください。
以上で設定完了。