本帖最后由 魔法丶小肉包 于 2017-5-25 15:46 编辑
作为插件脚本使用,在数据库中把第1号技能(攻击)复制到第200号技能栏里,当然,也可以不复制而是自己设定反击技能以便达成想要的效果...
除了miss之外,必定暴击,并且连续反击两次
class Game_Battler < Game_BattlerBase def item_apply_invoke(user, item) @result.clear @result.used = item_test(user, item) @result.missed = (@result.used && rand >= item_hit(user, item)) @result.evaded = (!@result.missed && rand < item_eva(user, item)) if @result.hit? unless item.damage.none? @result.critical = true make_damage_value(user, item) execute_damage(user) end item.effects.each {|effect| item_effect_apply(user, item, effect) } item_user_effect(user, item) end end end class Scene_Battle < Scene_Base def invoke_counter_attack(target, item) @log_window.display_counter(target, item) attack_skill = $data_skills[200] @subject.item_apply_invoke(target, attack_skill) refresh_status @log_window.display_action_results(@subject, attack_skill) end def invoke_item(target, item) if rand < target.item_cnt(@subject, item) invoke_counter_attack(target, item) invoke_counter_attack(target, item) elsif rand < target.item_mrf(@subject, item) invoke_magic_reflection(target, item) else apply_item_effects(apply_substitute(target, item), item) end @subject.last_target_index = target.index end end
class Game_Battler < Game_BattlerBase
def item_apply_invoke(user, item)
@result.clear
@result.used = item_test(user, item)
@result.missed = (@result.used && rand >= item_hit(user, item))
@result.evaded = (!@result.missed && rand < item_eva(user, item))
if @result.hit?
unless item.damage.none?
@result.critical = true
make_damage_value(user, item)
execute_damage(user)
end
item.effects.each {|effect| item_effect_apply(user, item, effect) }
item_user_effect(user, item)
end
end
end
class Scene_Battle < Scene_Base
def invoke_counter_attack(target, item)
@log_window.display_counter(target, item)
attack_skill = $data_skills[200]
@subject.item_apply_invoke(target, attack_skill)
refresh_status
@log_window.display_action_results(@subject, attack_skill)
end
def invoke_item(target, item)
if rand < target.item_cnt(@subject, item)
invoke_counter_attack(target, item)
invoke_counter_attack(target, item)
elsif rand < target.item_mrf(@subject, item)
invoke_magic_reflection(target, item)
else
apply_item_effects(apply_substitute(target, item), item)
end
@subject.last_target_index = target.index
end
end
|