############################### =begin E3 target enemy n friend made by EuclidE(ItsMe) ############################### =end # CUSTOMIZE # module E3 module Target_Enemy_N_Friend #button that exchange target list between enemy n friend when using skill or item #Ÿ°Ù â¿¡¼­ ¾Æ±º°ú Àû±º ½ºÀ§Ä¡ ÇÒ ¹öÆ° KEY = Input::A #skill or item with this keyword in note attacks(effects) all of characters(enemy & friend) #½ºÅ³À̳ª ¾ÆÀÌÅÛÀÇ ³ëÆ®¿¡ ÇØ´ç Å°¿öµå°¡ ÀÖÀ»°æ¿ì ¸ðµçij¸¯ÅÍ¿¡°Ô °ø°Ý TARGET_ALL = '' end end ############################### class Game_BattleAction include E3::Target_Enemy_N_Friend def make_obj_targets(obj) targets = [] if obj.note.scan(TARGET_ALL)[0] != nil targets += opponents_unit.existing_members targets += friends_unit.existing_members elsif $target_both == 0 #¾Æ±ºÀ϶§ if obj.for_dead_friend? if obj.for_one? # ¾Æ±º ´Üü (ÀüÅõ ºÒ´É) targets.push(friends_unit.smooth_dead_target(@target_index)) else # ¾Æ±º Àüü (ÀüÅõ ºÒ´É) targets += friends_unit.dead_members end elsif obj.for_friend? if obj.for_one? # ¾Æ±º ´Üü targets.push(friends_unit.smooth_target(@target_index)) else # ¾Æ±º Àüü targets += friends_unit.existing_members end end elsif $target_both == 1 # Àû±ºÀ϶§ if obj.for_random? if obj.for_one? # Àû´Üü ·£´ý number_of_targets = 1 elsif obj.for_two? # Àû2°¡Áö °³Ã¼ ·£´ý number_of_targets = 2 else # Àû»ïü ·£´ý number_of_targets = 3 end number_of_targets.times do targets.push(opponents_unit.random_target) end elsif obj.dual? # Àû´Üü ¿¬¼Ó targets.push(opponents_unit.smooth_target(@target_index)) targets += targets elsif obj.for_one? # Àû´Üü targets.push(opponents_unit.smooth_target(@target_index)) else # ÀûÀüü targets += opponents_unit.existing_members end elsif obj.for_opponent? if obj.for_random? if obj.for_one? # Àû´Üü ·£´ý number_of_targets = 1 elsif obj.for_two? # Àû2°¡Áö °³Ã¼ ·£´ý number_of_targets = 2 else # Àû»ïü ·£´ý number_of_targets = 3 end number_of_targets.times do targets.push(opponents_unit.random_target) end elsif obj.dual? # Àû´Üü ¿¬¼Ó targets.push(opponents_unit.smooth_target(@target_index)) targets += targets elsif obj.for_one? # Àû´Üü targets.push(opponents_unit.smooth_target(@target_index)) else # ÀûÀüü targets += opponents_unit.existing_members end elsif obj.for_user? # »ç¿ëÀÚ targets.push(battler) elsif obj.for_dead_friend? if obj.for_one? # ¾Æ±º ´Üü (ÀüÅõ ºÒ´É) targets.push(friends_unit.smooth_dead_target(@target_index)) else # ¾Æ±º Àüü (ÀüÅõ ºÒ´É) targets += friends_unit.dead_members end elsif obj.for_friend? if obj.for_one? # ¾Æ±º ´Üü targets.push(friends_unit.smooth_target(@target_index)) else # ¾Æ±º Àüü targets += friends_unit.existing_members end end $target_both = nil return targets.compact end end ############################### class Scene_Battle include E3::Target_Enemy_N_Friend def update_target_enemy_selection @target_enemy_window.update if Input.trigger?(KEY) $target_both = 0 end_target_enemy_selection start_target_actor_selection elsif Input.trigger?(Input::B) Sound.play_cancel end_target_enemy_selection elsif Input.trigger?(Input::C) Sound.play_decision @active_battler.action.target_index = @target_enemy_window.enemy.index end_target_enemy_selection end_skill_selection end_item_selection next_actor end end def update_target_actor_selection @target_actor_window.update if Input.trigger?(KEY) $target_both = 1 end_target_actor_selection start_target_enemy_selection elsif Input.trigger?(Input::B) Sound.play_cancel end_target_actor_selection elsif Input.trigger?(Input::C) Sound.play_decision @active_battler.action.target_index = @target_actor_window.index end_target_actor_selection end_skill_selection end_item_selection next_actor end end end