Auteur: Yukihiro matsumoto
#============================================
# ¡ Game_BattleAction
#--------------------------------------------
# @ƒAƒNƒVƒ‡ƒ“ (퓬’†‚Ìs“®) ‚ðˆµ‚¤ƒNƒ‰ƒX‚Å‚·B‚±‚̃Nƒ‰ƒX‚Í Game_Battler ƒNƒ‰
# ƒX‚Ì“à•”‚ÅŽg—p‚³‚ê‚Ü‚·B
#============================================
class Game_BattleAction
#------------------------------------------
# œ ŒöŠJƒCƒ“ƒXƒ^ƒ“ƒX•Ï”
#------------------------------------------
attr_accessor :speed # ƒXƒs[ƒh
attr_accessor :kind # Ží•Ê (Šî–{ / ƒXƒLƒ‹ / ƒAƒCƒeƒ€)
attr_accessor :basic # Šî–{ (UŒ‚ / –hŒä / “¦‚°‚é)
attr_accessor :skill_id # ƒXƒLƒ‹ ID
attr_accessor :item_id # ƒAƒCƒeƒ€ ID
attr_accessor :target_index # ‘ÎÛƒCƒ“ƒfƒbƒNƒX
attr_accessor :forcing # ‹§ƒtƒ‰ƒO
#------------------------------------------
# œ ƒIƒuƒWƒFƒNƒg‰Šú‰»
#------------------------------------------
def initialize
clear
end
#------------------------------------------
# œ ƒNƒŠƒA
#------------------------------------------
def clear
@speed = 0
@kind = 0
@basic = 3
@skill_id = 0
@item_id = 0
@target_index = -1
@forcing = false
end
#------------------------------------------
# œ —LŒø”»’è
#------------------------------------------
def valid?
return (not (@kind == 0 and @basic == 3))
end
#------------------------------------------
# œ –¡•û’P‘Ì—p”»’è
#------------------------------------------
def for_one_friend?
# Ží•Ê‚ªƒXƒLƒ‹‚ÅAŒø‰Ê”͈͂ª–¡•û’P‘Ì (HP 0 ‚ðŠÜ‚Þ) ‚Ìê‡
if @kind == 1 and [3, 5].include?($data_skills[@skill_id].scope)
return true
end
# Ží•Ê‚ªƒAƒCƒeƒ€‚ÅAŒø‰Ê”͈͂ª–¡•û’P‘Ì (HP 0 ‚ðŠÜ‚Þ) ‚Ìê‡
if @kind == 2 and [3, 5].include?($data_items[@item_id].scope)
return true
end
return false
end
#------------------------------------------
# œ –¡•û’P‘Ì—p (HP 0) ”»’è
#------------------------------------------
def for_one_friend_hp0?
# Ží•Ê‚ªƒXƒLƒ‹‚ÅAŒø‰Ê”͈͂ª–¡•û’P‘Ì (HP 0 ‚Ì‚Ý) ‚Ìê‡
if @kind == 1 and [5].include?($data_skills[@skill_id].scope)
return true
end
# Ží•Ê‚ªƒAƒCƒeƒ€‚ÅAŒø‰Ê”͈͂ª–¡•û’P‘Ì (HP 0 ‚Ì‚Ý) ‚Ìê‡
if @kind == 2 and [5].include?($data_items[@item_id].scope)
return true
end
return false
end
#------------------------------------------
# œ ƒ‰ƒ“ƒ_ƒ€ƒ^[ƒQƒbƒg (ƒAƒNƒ^[—p)
#------------------------------------------
def decide_random_target_for_actor
# Œø‰Ê”͈͂ŕªŠò
if for_one_friend_hp0?
battler = $game_party.random_target_actor_hp0
elsif for_one_friend?
battler = $game_party.random_target_actor
else
battler = $game_troop.random_target_enemy
end
# ‘ÎÛ‚ª‘¶Ý‚·‚é‚È‚çƒCƒ“ƒfƒbƒNƒX‚ðŽæ“¾‚µA
# ‘ÎÛ‚ª‘¶Ý‚µ‚È‚¢ê‡‚̓AƒNƒVƒ‡ƒ“‚ðƒNƒŠƒA
if battler != nil
@target_index = battler.index
else
clear
end
end
#------------------------------------------
# œ ƒ‰ƒ“ƒ_ƒ€ƒ^[ƒQƒbƒg (ƒGƒlƒ~[—p)
#------------------------------------------
def decide_random_target_for_enemy
# Œø‰Ê”͈͂ŕªŠò
if for_one_friend_hp0?
battler = $game_troop.random_target_enemy_hp0
elsif for_one_friend?
battler = $game_troop.random_target_enemy
else
battler = $game_party.random_target_actor
end
# ‘ÎÛ‚ª‘¶Ý‚·‚é‚È‚çƒCƒ“ƒfƒbƒNƒX‚ðŽæ“¾‚µA
# ‘ÎÛ‚ª‘¶Ý‚µ‚È‚¢ê‡‚̓AƒNƒVƒ‡ƒ“‚ðƒNƒŠƒA
if battler != nil
@target_index = battler.index
else
clear
end
end
#------------------------------------------
# œ ƒ‰ƒXƒgƒ^[ƒQƒbƒg (ƒAƒNƒ^[—p)
#------------------------------------------
def decide_last_target_for_actor
# Œø‰Ê”͈͂ª–¡•û’P‘̂ȂçƒAƒNƒ^[A‚»‚êˆÈŠO‚È‚çƒGƒlƒ~[
if @target_index == -1
battler = nil
elsif for_one_friend?
battler = $game_party.actors[@target_index]
else
battler = $game_troop.enemies[@target_index]
end
# ‘ÎÛ‚ª‘¶Ý‚µ‚È‚¢ê‡‚̓AƒNƒVƒ‡ƒ“‚ðƒNƒŠƒA
if battler == nil or not battler.exist?
clear
end
end
#------------------------------------------
# œ ƒ‰ƒXƒgƒ^[ƒQƒbƒg (ƒGƒlƒ~[—p)
#------------------------------------------
def decide_last_target_for_enemy
# Œø‰Ê”͈͂ª–¡•û’P‘̂ȂçƒGƒlƒ~[A‚»‚êˆÈŠO‚È‚çƒAƒNƒ^[
if @target_index == -1
battler = nil
elsif for_one_friend?
battler = $game_troop.enemies[@target_index]
else
battler = $game_party.actors[@target_index]
end
# ‘ÎÛ‚ª‘¶Ý‚µ‚È‚¢ê‡‚̓AƒNƒVƒ‡ƒ“‚ðƒNƒŠƒA
if battler == nil or not battler.exist?
clear
end
end
end |
|