全体攻撃を敵や味方が発動しても、対象の数だけダメージが
割られるようにしたいです。
[解決済み]【Ace】全体攻撃で対象の数だけ数値を分散したい
[解決済み]【Ace】全体攻撃で対象の数だけ数値を分散したい
最後に編集したユーザー いおん [ 2020年10月18日(日) 17:57 ], 累計 1 回
Re: 【Ace】全体攻撃で対象の数だけ数値を分散したい
ダメージ計算式で
のようにすれば可能です
>ecf5DTTzl6h6lJj02さん
その事を忘れてました
暇魔神さんはecf5DTTzl6h6lJj02さんの方のを使って下さい
コード: 全て選択
計算式 / (b.enemy? ? $game_troop.alive_members.size : $game_party.alive_members.size)
>ecf5DTTzl6h6lJj02さん
その事を忘れてました
暇魔神さんはecf5DTTzl6h6lJj02さんの方のを使って下さい
最後に編集したユーザー TOMO [ 2020年10月17日(土) 16:14 ], 累計 1 回
現在サポート終了中
-
- 記事: 715
- 登録日時: 2018年12月23日(日) 13:55
Re: 【Ace】全体攻撃で対象の数だけ数値を分散したい
こんにちは。
TOMOさんのコードは、生存者の数で除算していますので、
スキルによって戦闘不能が出た場合、生存者の数が変動してしまい、
それ以降の攻撃対象へのダメージが増加してしまいます。
以下のコードをスクリプトエディタの ▼素材 の項目に追加して、
希望の動作が得られるか、お試しください。
TOMOさんのコードは、生存者の数で除算していますので、
スキルによって戦闘不能が出た場合、生存者の数が変動してしまい、
それ以降の攻撃対象へのダメージが増加してしまいます。
以下のコードをスクリプトエディタの ▼素材 の項目に追加して、
希望の動作が得られるか、お試しください。
コード: 全て選択
=begin
=============================================================================
■全体攻撃スキルのダメージをターゲット数で除算するスクリプト
2020/10/17 by ecf5DTTzl6h6lJj02
=============================================================================
◆概要:
全体が対象になっているスキルを使用した場合、
基本のダメージ値をターゲットの数で除算します。
※スキルにのみ適用されます。アイテムには適用されません。
アイテムに適用したい場合は、
make_damage_value 関数内の
item.class == RPG::Skill &&
の部分を削除してください。
=============================================================================
=end
# 不使用時は false に変更してください
if true
class Game_Action
#--------------------------------------------------------------------------
# ● 公開インスタンス変数
#--------------------------------------------------------------------------
attr_reader :targets_size # ターゲット数
#--------------------------------------------------------------------------
# ● クリア
#--------------------------------------------------------------------------
alias :o_clear :clear
def clear
o_clear
@taget_length = 0
end
#--------------------------------------------------------------------------
# ● 敵に対するターゲット
#--------------------------------------------------------------------------
def targets_for_opponents
if item.for_random?
Array.new(item.number_of_targets) { opponents_unit.random_target }
elsif item.for_one?
num = 1 + (attack? ? subject.atk_times_add.to_i : 0)
if @target_index < 0
[opponents_unit.random_target] * num
else
[opponents_unit.smooth_target(@target_index)] * num
end
else
# 生存メンバーの数を記録
@targets_size = opponents_unit.alive_members.size
# 生存メンバーの配列を返還
opponents_unit.alive_members
end
end
#--------------------------------------------------------------------------
# ● 味方に対するターゲット
#--------------------------------------------------------------------------
def targets_for_friends
if item.for_user?
[subject]
elsif item.for_dead_friend?
if item.for_one?
[friends_unit.smooth_dead_target(@target_index)]
else
friends_unit.dead_members
end
elsif item.for_friend?
if item.for_one?
[friends_unit.smooth_target(@target_index)]
else
# 生存メンバーの数を記録
@targets_size = friends_unit.alive_members.size
# 生存メンバーの配列を返還
friends_unit.alive_members
end
end
end
end
class Game_Battler < Game_BattlerBase
#--------------------------------------------------------------------------
# ● ダメージ計算
#--------------------------------------------------------------------------
def make_damage_value(user, item)
value = item.damage.eval(user, self, $game_variables)
# 全体攻撃の場合はターゲットの数で除算
value /= user.current_action.targets_size if item.class == RPG::Skill && item.for_all?
value *= item_element_rate(user, item)
value *= pdr if item.physical?
value *= mdr if item.magical?
value *= rec if item.damage.recover?
value = apply_critical(value) if @result.critical
value = apply_variance(value, item.damage.variance)
value = apply_guard(value)
@result.make_damage(value.to_i, item)
end
end
end
Re: 【Ace】全体攻撃で対象の数だけ数値を分散したい
TOMO様、ecf5DTTzl6h6lJj02様 どうもありがとうございます!
おかげさまで無事に解決しました!
おかげさまで無事に解決しました!
Re: [解決済み]【Ace】全体攻撃で対象の数だけ数値を分散したい
もう一つ質問したいのですが、メモ欄などで
特定のスキルはダメージを分散させないようにするにはどうすれば良いですか?
特定のスキルはダメージを分散させないようにするにはどうすれば良いですか?
-
- 記事: 715
- 登録日時: 2018年12月23日(日) 13:55
Re: [解決済み]【Ace】全体攻撃で対象の数だけ数値を分散したい
こんばんは。
今回は、テキストファイルでアップさせていただいております。
スクリプトの内容をファイルの中身で上書きしてください。
メモ欄への記述法などは、スクリプトの ◆概要 と書かれている部分を参照してください。
対応させてみました。暇魔神 さんが書きました:もう一つ質問したいのですが、メモ欄などで
特定のスキルはダメージを分散させないようにするにはどうすれば良いですか?
今回は、テキストファイルでアップさせていただいております。
スクリプトの内容をファイルの中身で上書きしてください。
メモ欄への記述法などは、スクリプトの ◆概要 と書かれている部分を参照してください。
- 添付ファイル
-
全体攻撃スキルのダメージ人数割り.txt
- (4.55 KiB) ダウンロード数: 27 回
Re: [解決済み]【Ace】全体攻撃で対象の数だけ数値を分散したい
おかげさまで解決出来ました。
ありがとうございます。
ありがとうございます。