Project1
标题:
关于战斗特殊效果中的援助:如何固定援助的对象
[打印本页]
作者:
typhon_524
时间:
2008-11-25 20:26
标题:
关于战斗特殊效果中的援助:如何固定援助的对象
如何让援助的对象只限于1号角色,也就是说只有$game_actors[1]才是援助对象,其他角色不会被援助
战斗特殊效果
http://rpg.blue/web/htm/news184.htm
好像这一段是描写关于援助的:
class Scene_Battle
#追加
attr_reader :active_battler
#ここまで
##新メソッド
def make_cover_skill_action_result
cover_num = 0
cover_bool = false
for i in @skill.element_set
if !($data_system.elements[i][/^#{ELEMENT_NAME_COVER}/].nil?)
cover_bool = true
elm_num = $data_system.elements[i][/([+-]*[0-9]+)/]
if !(elm_num.nil?)
cover_num += elm_num.to_i
end
end
end
if cover_bool.equal?(true)
##自分のみが対象だった場合は味方からランダムに1人をかばう
if @target_battlers.include?(@active_battler)
if @target_battlers.size == 1
if @target_battlers[0].is_a?(Game_Actor)
friends = $game_party.actors.dup
friends.delete(@active_battler)
@target_battlers = [friends[rand(friends.size)]]
elsif @target_battlers[0].is_a?(Game_Enemy)
friends = $game_troop.enemies.dup
friends.delete(@active_battler)
@target_battlers = [friends[rand(friends.size)]]
end
else
@target_battlers.delete(@active_battler)
end
end
@active_battler.covered_friends = @target_battlers.dup
@active_battler.add_state(get_cover_state_id())##ステート付加時にデフォルト回数で発動回数が設定される
if (cover_num > 0)
@active_battler.cover_remain = cover_num#発動回数が有った場合はその回数で上書き
end
for target in @target_battlers
target.damage = COVER_EFFECT_CHAR
end
end
end
##ここまで
end
class Game_Party
##追加エイリアス
include Cover_Module
#--------------------------------------------------------------------------
# ● 対象アクターのスムーズな決定
# actor_index : アクターインデックス
#--------------------------------------------------------------------------
alias before_cover_original_smooth_target_actor smooth_target_actor
def smooth_target_actor(actor_index)
if $scene.is_a?(Scene_Battle)
battler = $scene.active_battler()
else
battler = nil
end
target = [before_cover_original_smooth_target_actor(actor_index)]
get_target_battlers_after_cover!(target, battler)
return target[0]
end
##ここまで
end
class Game_Troop
##追加エイリアス
include Cover_Module
#--------------------------------------------------------------------------
# ● 対象エネミーのスムーズな決定
# enemy_index : エネミーインデックス
#--------------------------------------------------------------------------
alias before_cover_original_smooth_target_enemy smooth_target_enemy
def smooth_target_enemy(enemy_index)
if $scene.is_a?(Scene_Battle)
battler = $scene.active_battler()
else
battler = nil
end
target = [before_cover_original_smooth_target_enemy(enemy_index)]
get_target_battlers_after_cover!(target, battler)
return target[0]
end
##ここまで
end
复制代码
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1