#============================================================================== # ■ Game_Actor #============================================================================== class Game_Actor < Game_Battler #-------------------------------------------------------------------------- # ○ AP 獲得 #-------------------------------------------------------------------------- alias kzr_skill_set_gain_ap gain_ap def gain_ap(ap, show) last_full_ap_skills = full_ap_skills kzr_skill_set_gain_ap(ap, show) if last_full_ap_skills != full_ap_skills for skill in (full_ap_skills - last_full_ap_skills) next if @skill_list.include?(skill.id) @skill_list.push(skill.id) end end end #-------------------------------------------------------------------------- # ● 装備の変更 (オブジェクトで指定) #-------------------------------------------------------------------------- alias kzr_skill_list_change_equip change_equip def change_equip(equip_type, item, test = false) unless test if change_item = equips[equip_type] equip_skill = get_item_skills(change_item) for equip in equips.compact next if change_item == equip equip_skill -= get_item_skills(equip) end for skill in (skills_KGC_EquipLearnSkill + full_ap_skills) equip_skill.delete(skill.id) end @skill_list -= equip_skill end end kzr_skill_list_change_equip(equip_type, item, test) unless test if change_item = equips[equip_type] @skill_list |= get_item_skills(change_item) end end end #-------------------------------------------------------------------------- # ● 装備品から習得可能なスキルを取得する #-------------------------------------------------------------------------- def get_item_skills(item) result = [] if include_learnable_equipment?(item) item.learn_skills.each { |i| skill = $data_skills[i] next unless include_equipment_skill?(skill) if KGC::EquipLearnSkill::NEED_FULL_AP next unless skill.need_ap == 0 || ap_full?(skill) end result << skill.id } end return result end end