属性依存のカウンターシステム
属性依存のカウンターシステム
特定の属性にだけ反応して発動する、カウンタースクリプトがほしいです
できれば、カウンターを行うアクター・バトラーが対象じゃなくても発動するのが望ましいです。
お願いします
できれば、カウンターを行うアクター・バトラーが対象じゃなくても発動するのが望ましいです。
お願いします
Re: 属性依存のカウンターシステム
とりあえず作りましたが、これでいいですか?
ステートのメモ欄に『<属性依存反撃:3>』と書いてください
(数値は属性ID)
その属性の攻撃に対し、
物理・魔法関係なく100%の確率で、「通常攻撃」で反撃します
「カウンターシステム」と言われても、
「物理限定や魔法限定で発動するタイプ」とか、
「属性別に反撃率を設定するタイプ」とか色々あるので、
出来れば詳しく書いてください
(コチラのような、ダメージを受けて反撃するタイプもあります)
コード: 全て選択
class Scene_Battle < Scene_Base
#--------------------------------------------------------------------------
# ● スキル/アイテムの発動
#--------------------------------------------------------------------------
alias tomo_element_counter_attack_invoke_item invoke_item
def invoke_item(target, item)
if target.states.any? do |state|
state.note.match(/<属性依存反撃:(\d+)>/i) &&
$1.to_i == item.damage.element_id
end
invoke_counter_attack(target, item)
@subject.last_target_index = target.index
else
tomo_element_counter_attack_invoke_item(target, item)
end
end
end
(数値は属性ID)
その属性の攻撃に対し、
物理・魔法関係なく100%の確率で、「通常攻撃」で反撃します
「カウンターシステム」と言われても、
「物理限定や魔法限定で発動するタイプ」とか、
「属性別に反撃率を設定するタイプ」とか色々あるので、
出来れば詳しく書いてください
(コチラのような、ダメージを受けて反撃するタイプもあります)
現在サポート終了中
Re: 属性依存のカウンターシステム
TOMOさま>
ありがとうございます
たとえば、
カウンター発動者自身が対象じゃなくても、火属性の(スキル、武器、アイテム)をだれか(バトラーA、アクターA)が使用した場合、カウンター的に爆発して相手方全員にダメージを与え、戦闘不能になるバトラーB/アクターBを造りたいのです
また、タイトルとは違いますが、「特定のバトラーA/アクターAのHPが一定以下になったときに、カウンター的に攻撃力が激増するバトラーB/アクターB」というのも作りたいです
ありがとうございます
たとえば、
カウンター発動者自身が対象じゃなくても、火属性の(スキル、武器、アイテム)をだれか(バトラーA、アクターA)が使用した場合、カウンター的に爆発して相手方全員にダメージを与え、戦闘不能になるバトラーB/アクターBを造りたいのです
また、タイトルとは違いますが、「特定のバトラーA/アクターAのHPが一定以下になったときに、カウンター的に攻撃力が激増するバトラーB/アクターB」というのも作りたいです
Re: 属性依存のカウンターシステム
とりあえず前者の方を作りました
ステートのメモ欄に『<属性依存反撃:3,20>』と書いてください
(数値は左から属性ID,スキルIDです)
これと、星潟様の「アイテム・スキル使用者ステート・能力変化」を使えば出来ると思います
(対象スキルのメモ欄に『<使用者ステート:1,100>』と書けば可能)
コード: 全て選択
class Scene_Battle < Scene_Base
#--------------------------------------------------------------------------
# ● スキル/アイテムの発動
#--------------------------------------------------------------------------
alias tomo_element_counter_attack_invoke_item invoke_item
def invoke_item(target, item)
if target.states.any? do |state|
state.note.match(/<属性依存反撃:(\d+),(\d+)>/i) &&
(item.damage.element_id < 0 ? @subject.atk_elements.include?($1.to_i) :
$1.to_i == item.damage.element_id)
end
target.force_action($2.to_i, target.index)
process_forced_action
@subject.last_target_index = target.index
else
tomo_element_counter_attack_invoke_item(target, item)
end
end
end
(数値は左から属性ID,スキルIDです)
これと、星潟様の「アイテム・スキル使用者ステート・能力変化」を使えば出来ると思います
(対象スキルのメモ欄に『<使用者ステート:1,100>』と書けば可能)
現在サポート終了中
Re: 属性依存のカウンターシステム
後者はここのトピックで見かけたような気がします。
http://tm.yumineko.com/viewtopic.php?f=46&t=2666
http://tm.yumineko.com/viewtopic.php?f=46&t=2666
------------------------------------------------------------------
自作の(改造でない)スクリプト、プラグイン素材に
関しては、リードミーもしくは作中に
「faida」と記名していただければ
利用可能です。
自作の(改造でない)スクリプト、プラグイン素材に
関しては、リードミーもしくは作中に
「faida」と記名していただければ
利用可能です。
Re: 属性依存のカウンターシステム
お二人ともありがとうございます!
>TOMO様 う~ん、当方の環境では機能してないような…?
>faida様 このスクリプトは、たとえば蜂の巣(バトラー)が1でもダメージを受けたら、一緒にでてきたキラービー(バトラー)の攻撃力が倍になるとかそういう使い方もできますかね?
>TOMO様 う~ん、当方の環境では機能してないような…?
>faida様 このスクリプトは、たとえば蜂の巣(バトラー)が1でもダメージを受けたら、一緒にでてきたキラービー(バトラー)の攻撃力が倍になるとかそういう使い方もできますかね?
Re: 属性依存のカウンターシステム
私の方で試した方法は、
まず炎属性(属性ID:3)に反応して反撃するステートのメモ欄に「<属性依存反撃:3,128>」と書き、
スキルID:128に自爆スキルを作成し、
そのスキルのメモ欄に「<使用者ステート:1,100>」と書きます
そして「ダメージ計算式の「属性」が炎のスキル」または「攻撃時属性が炎のキャラ」で攻撃して試してました
私のスクリプトの中身としては、
特定属性の攻撃だった場合に、指定したスキルで「戦闘行動の強制」をし、即時発動させてるだけです
その後、星潟様のスクリプトの効果で、反撃したキャラを「戦闘不能」にしてます
まず炎属性(属性ID:3)に反応して反撃するステートのメモ欄に「<属性依存反撃:3,128>」と書き、
スキルID:128に自爆スキルを作成し、
そのスキルのメモ欄に「<使用者ステート:1,100>」と書きます
そして「ダメージ計算式の「属性」が炎のスキル」または「攻撃時属性が炎のキャラ」で攻撃して試してました
私のスクリプトの中身としては、
特定属性の攻撃だった場合に、指定したスキルで「戦闘行動の強制」をし、即時発動させてるだけです
その後、星潟様のスクリプトの効果で、反撃したキャラを「戦闘不能」にしてます
現在サポート終了中
Re: 属性依存のカウンターシステム
TOMOさま>
なるほど、どうやらスクリプトが機能してない(ように見えた)のは、属性依存カウンターを発動する側の敏捷性が、炎属性攻撃をする側より早かったからのようです。
敏捷性を修正したら機能しました。ありがとうございました
なるほど、どうやらスクリプトが機能してない(ように見えた)のは、属性依存カウンターを発動する側の敏捷性が、炎属性攻撃をする側より早かったからのようです。
敏捷性を修正したら機能しました。ありがとうございました
Re: 属性依存のカウンターシステム
わざわざスクリプトに頼らずとも、バトルイベントでできるような気がしますが……。
条件を「蜂の巣のHPが99%以下」にして、ステートを付加するとか。
条件を「蜂の巣のHPが99%以下」にして、ステートを付加するとか。
------------------------------------------------------------------
自作の(改造でない)スクリプト、プラグイン素材に
関しては、リードミーもしくは作中に
「faida」と記名していただければ
利用可能です。
自作の(改造でない)スクリプト、プラグイン素材に
関しては、リードミーもしくは作中に
「faida」と記名していただければ
利用可能です。
Re: 属性依存のカウンターシステム
先に行動していても発動するようにしました
ただし、「敵単体」などで「属性攻撃してきた相手」に反撃する事は出来ず、
対象選択はAI任せとなっています
コード: 全て選択
class Scene_Battle < Scene_Base
#--------------------------------------------------------------------------
# ● スキル/アイテムの発動
#--------------------------------------------------------------------------
alias tomo_element_counter_attack_invoke_item invoke_item
def invoke_item(target, item)
if target.states.any? do |state|
state.note.match(/<属性依存反撃:(\d+),(\d+)>/i) &&
(item.damage.element_id < 0 ? @subject.atk_elements.include?($1.to_i) :
$1.to_i == item.damage.element_id)
end
invoke_element_counter_attack(target, $2.to_i)
@subject.last_target_index = target.index
else
tomo_element_counter_attack_invoke_item(target, item)
end
end
#--------------------------------------------------------------------------
# ● 属性依存反撃の発動
#--------------------------------------------------------------------------
def invoke_element_counter_attack(user, skill_id)
item = $data_skills[skill_id]
@log_window.display_use_item(user, item)
user.use_item(item)
refresh_status
action = Game_Action.new(user)
action.set_skill(skill_id)
targets = action.make_targets.compact
show_animation(targets, item.animation_id)
targets.each {|target| item.repeats.times {
apply_item_effects(apply_substitute(target, item), item)
} }
begin # 星潟様のスクリプトがある場合
user.ba_item_self_effect(item, false)
rescue
end
end
end
対象選択はAI任せとなっています
現在サポート終了中