アイテムの効果は、
回復率・回復量・命中率・物理防御・魔法防御・分散度
で設定します。
そのまま、攻撃系アイテムを作るなら
ゲーム進行でどんどん敵が強くなるわけですから
回復率で調整すれば攻撃アイテムとしてよく機能します。
が、今回は「使用者の能力に見合った効果がほしい!!!」
という人向けに使用者の能力がアイテムの
回復量・ダメージ量に影響を与えるようにします。
【今回の変更点】
・Game_Battler 3
・Scene_Item
・Scene_Battle 4
・Scene_Item
・Scene_Battle 4
■Game_Battler 3
青文字部分を追加します。
def item_effect(user, item)
「回復量を計算」より少し下
if recover_hp < 0
user == 0 ? nil : recover_hp -= user.int
recover_hp += self.dex * item.pdef_f / 20
recover_hp += self.int * item.mdef_f / 20
recover_hp = [recover_hp, 0].min
else
recover_hp == 0 ? nil : user == 0 ? nil : recover_hp += user.int
end
上段がダメージに、
下段(else部分)が回復量に影響する量です。
回復量に影響させない場合は追加不要です。
spもhpと同じように魔力依存なら
recover_hp部分をrecover_spにしたものを追加。
+= user.int にしていますが、
これだと魔力の値が直接そのまま影響するので
計算を入れて微調整するといいかもしれません。
def item_effect(user, item)
「回復量を計算」より少し下
if recover_hp < 0
user == 0 ? nil : recover_hp -= user.int
recover_hp += self.dex * item.pdef_f / 20
recover_hp += self.int * item.mdef_f / 20
recover_hp = [recover_hp, 0].min
else
recover_hp == 0 ? nil : user == 0 ? nil : recover_hp += user.int
end
上段がダメージに、
下段(else部分)が回復量に影響する量です。
回復量に影響させない場合は追加不要です。
spもhpと同じように魔力依存なら
recover_hp部分をrecover_spにしたものを追加。
+= user.int にしていますが、
これだと魔力の値が直接そのまま影響するので
計算を入れて微調整するといいかもしれません。
■Scene_Item
「フレーム更新」ターゲットが全体の場合、と、ターゲットが単体の場合
used=省略...(@item)を(0, @item)に変更。
これでメニューからのアイテム使用では
魔力に依存しなくなります。
used=省略...(@item)を(0, @item)に変更。
これでメニューからのアイテム使用では
魔力に依存しなくなります。
■Scene_Battle 4
「アイテムアクション結果作成」一番下部分
for target in @target_battlers
target.item_effect(@active_battler, @item)
end
for target in @target_battlers
target.item_effect(@active_battler, @item)
end
スキルを使わず、アイテムだけで戦うシステムだとか
そういった個性的なゲームを作る際にも役に立つ…
と思います。
魔力でなく、他の能力でもできるので
アイテム専用の能力のようなものを作って
反映させるようにしても良いかもしれません