#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ #_/ ¡ßÍô??àõàâïÒ £­ KGC_SetAttackElement¡ß #_/---------------------------------------------------------------------------- #_/ «­«ã«é«¯«¿??ªËÍô??àõªòàâïÒª¹ªëѦÒöªòõÚÊ¥ª·ªÞª¹¡£ #_/ ¡Ø[Íô??àõ?ã¯]ªòÞÅéĪ¹ªëíÞùêªÏ[RemoveElements]ªèªêù»ªËÓôìýª·ªÆª¯ªÀªµª¤¡£ #_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ #============================================================================== # ¡Ú «««¹«¿«Þ«¤«ºú£ÙÍ ¡Ú #============================================================================== module KGC # ¡ß«¢«¯«¿?£ºôøÑ¢?÷¾ªÎÍô??àõ # ÛÕÖªªÎôÕí®ª¬«¢«¯«¿?IDªÈ??¡£nil ªËª¹ªëªÈÙí?àõ¡£ # ÛÕÖªªËªèªÃªÆÜÜ?ªÎÍô??àõªòò¦ïÒʦÒö¡£ SAE_ACTOR = [] # ¡çª³ªìªÏἪµªÊª¤ªèª¦ªË # <ÖÇ>«¢«ë«·«§«¹ªÎÍô?ªòæú?ù¦?àõªËª¹ªëíÞùê #SAE_ACTOR[1] = [1, 6] # ¡ß«¨«Í«ß?£ºôøÑ¢?÷¾ªÎÍô??àõ # àâïÒÛ°ÛöªÏ«¢«¯«¿?ªÈÔÒª¸¡£ SAE_ENEMY = [] end #¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú $imported = {} if $imported == nil $imported["SetAttackElement"] = true if $game_special_elements == nil $game_special_elements = {} $data_system = load_data("Data/System.rxdata") end # Íô??àõ?ã¯éÄ?àõ $game_special_elements["inherit_attack_element"] = $data_system.elements.index("Íô??àõ?ã¯") #============================================================================== # ¡á Game_Battler (ÝÂùÜïÒëù 3) #============================================================================== class Game_Battler #-------------------------------------------------------------------------- # ¡Ü ÷×ßÈÍô?ªÎ?ÍýîêéÄ #-------------------------------------------------------------------------- alias attack_effect_KGC_SetAttackElement attack_effect def attack_effect(attacker) @skill_user = nil # ꪪÎ?×âªò?ú¼ return attack_effect_KGC_SetAttackElement(attacker) end #-------------------------------------------------------------------------- # ¡Ü «¹«­«ëªÎ?ÍýîêéÄ #-------------------------------------------------------------------------- alias skill_effect_KGC_SetAttackElement skill_effect def skill_effect(user, skill) # «¹«­«ëÞÅéÄíºªòÜÁðí @skill_user = user # ꪪÎ?×âªò?ú¼ return skill_effect_KGC_SetAttackElement(user, skill) end #-------------------------------------------------------------------------- # ¡Ü «¢«¤«Æ«àªÎ?ÍýîêéÄ #-------------------------------------------------------------------------- alias item_effect_KGC_SetAttackElement item_effect def item_effect(item) @skill_user = nil # ꪪÎ?×âªò?ú¼ return item_effect_KGC_SetAttackElement(item) end #-------------------------------------------------------------------------- # ¡Ü ?àõáóïáªÎͪߩ #-------------------------------------------------------------------------- alias elements_correct_KGC_SetAttackElement elements_correct def elements_correct(element_set) # ?àõªò«³«Ô? result_elements = element_set.dup # ú¼ÔѪ¬«¹«­«ëªÎíÞùê if @skill_user != nil && @skill_user.current_action.kind == 1 skill = $data_skills[@skill_user.current_action.skill_id] # Íô??àõªò?㯠if skill.element_set.include?($game_special_elements["inherit_attack_element"]) result_elements |= @skill_user.element_set end end @skill_user = nil # ꪪÎ?×âªò?ú¼ return elements_correct_KGC_SetAttackElement(result_elements) end end #¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú #============================================================================== # ¡á Game_Actor #============================================================================== class Game_Actor < Game_Battler #-------------------------------------------------------------------------- # ¡Ü ÍëËÒ«¤«ó«¹«¿«ó«¹?? #-------------------------------------------------------------------------- attr_accessor :attack_elements # Íô??àõ #-------------------------------------------------------------------------- # ¡Ü «»«Ã«È«¢«Ã«× #-------------------------------------------------------------------------- alias setup_KGC_SetAttackElement setup def setup(actor_id) setup_KGC_SetAttackElement(actor_id) # Íô??àõ @attack_elements = [] end #-------------------------------------------------------------------------- # ¡Ü ÷×ßÈÍô?ªÎ?àõö¢Ôð #-------------------------------------------------------------------------- def element_set return get_attack_elements end #-------------------------------------------------------------------------- # ¡Ü Íô??àõö¢Ôð #-------------------------------------------------------------------------- def get_attack_elements if $imported["EquipExtension"] weapons = equip_weapon_list else weapons = [$data_weapons[self.weapon_id]].compact end elements = [] weapons.each { |weapon| elements |= weapon.element_set.dup } if KGC::SAE_ACTOR[self.id] != nil elements |= KGC::SAE_ACTOR[self.id].dup end if @attack_elements != nil && @attack_elements.size > 0 elements |= @attack_elements.dup end return elements.compact end end #¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú #============================================================================== # ¡á Game_Enemy #============================================================================== class Game_Enemy < Game_Battler #-------------------------------------------------------------------------- # ¡Ü ÍëËÒ«¤«ó«¹«¿«ó«¹?? #-------------------------------------------------------------------------- attr_accessor :attack_elements # Íô??àõ #-------------------------------------------------------------------------- # ¡Ü «ª«Ö«¸«§«¯«ÈôøÑ¢ûù #-------------------------------------------------------------------------- alias initialize_KGC_SetAttackElement initialize def initialize(troop_id, member_index) # ꪪÎ?×âªò?ú¼ initialize_KGC_SetAttackElement(troop_id, member_index) # Íô??àõ @attack_elements = [] end #-------------------------------------------------------------------------- # ¡Ü ÷×ßÈÍô?ªÎ?àõö¢Ôð #-------------------------------------------------------------------------- def element_set return get_attack_elements end #-------------------------------------------------------------------------- # ¡Ü Íô??àõö¢Ôð #-------------------------------------------------------------------------- def get_attack_elements elements = [] if KGC::SAE_ENEMY[self.id] != nil elements |= KGC::SAE_ENEMY[self.id].dup end if @attack_elements != nil && @attack_elements.size > 0 elements |= @attack_elements.dup end return elements.compact end end