# ÆÐ½Ãºê ½ºÅ³À» ¸¸µé¾îº¸ÀÚ. module PassiveSkill # ÆÐ½Ãºê ½ºÅ³¿ë ÆĶó¹ÌÅÍ ¸®½ºÆ® PARAMS = { :mhp => "MHP|ÃÖ´ëHP", :mmp => "MMP|ÃÖ´ëMP", :atk => "ATK|°ø°Ý·Â", :def => "DEF|¹æ¾î·Â", :mat => "MAT|¸¶¹ý·Â", :mdf => "MDF|¸¶¹ý¹æ¾î", :agi => "AGI|¹Îø¼º", :luk => "LUK|¿î", } XPARAMS = { :hit => "HIT|¸íÁßÀ²", :eva => "EVA|ȸÇÇÀ²", :cri => "CRI|ȸ½ÉÀ²", :cev => "CEV|ȸ½ÉȸÇÇ", :mev => "MEV|¸¶¹ýȸÇÇ", :mrf => "MRF|¸¶¹ý¹Ý»ç", :cnt => "CNT|¹Ý°ÝÀ²", :hrg => "HRG|HPÀç»ý", :mrg => "MRG|MPÀç»ý", :trg => "TRG|TPÀç»ý", } SPARAMS = { :tgr => "TGR|Ç¥ÀûÀ²", :grd => "GRD|¹æ¾îÈ¿°ú", :rec => "REC|ȸº¹È¿°ú", :pha => "PHA|¾àÀÇÁö½Ä", :mcr => "MCR|MP¼Òºñ", :tcr => "TCR|TP¼Òºñ", :pdr => "PDR|¹°¸®ÇÇÇØ", :mdr => "MDR|¸¶¹ýÇÇÇØ", :fdr => "FDR|¸¶·çÇÇÇØ", :exr => "EXR|°æÇèȹµæ", } RESIST = { :elre => "ELRE|¼Ó¼ºÀ¯È¿", :bfre => "BFRE|¾àÈ­À¯È¿", :stre => "STRE|»óÅÂÀ¯È¿", :stno => "STNO|»óŹ«È¿È­", :atel => "ATEL|°ø°Ý¼Ó¼º", :atst => "ATST|°ø°Ý»óÅÂ", :atsp => "ATSP|°ø°Ý¼Óµµ", :atnu => "ATNU|°ø°ÝȽ¼ö", } OPTION = { :skty => "SKTY|½ºÅ³Å¸ÀÔ", :skts => "SKTS|½ºÅ³Å¸ÀÔºÀÀÎ", :skpl => "SKPL|½ºÅ³Ãß°¡", :skse => "SKSE|½ºÅ³ºÀÀÎ", :wety => "WETY|¹«±âŸÀÔ", :arty => "ARTY|¹æ¾î±¸Å¸ÀÔ", :eqfx => "EQFX|Àåºñ°íÁ¤", :eqse => "EQSE|ÀåºñºÀÀÎ", :dbwp => "DBWP|À̵µ·ù", :wpm => "WPM|¿þÆù¸¶½ºÅ͸®", :arm => "ARM|¾Æ¸Ó¸¶½ºÅ͸®", } # Á¤±Ô Ç¥Çö module Regexp # ½ºÅ³ module Skill # ÆÐ½Ãºê ½ºÅ³ °³½Ã BEGIN_PASSIVE = /<(?:PASSIVE|Æнúê)>/i # ÆÐ½Ãºê ½ºÅ³ Á¾·á END_PASSIVE = /<\/(?:PASSIVE|Æнúê)>/i # ÆĶó¹ÌÅÍ ¼öÁ¤ 'Str +Dec' + '%' ÇüÅ exa) MHP +20% µî PASSIVE_PARAMS = /^\s*([^:\+\-\d\s]+)\s*([\+\-]\d+)([%%])?\s*$/ # ³»¼º/°ø°Ý ¼öÁ¤ 'Str Dec +Dec' ÇüÅ exa) ELRE 1 +20 # STNO 1 +0 µî PASSIVE_RESIST = /^\s*([^:\+\-\d\s]+)\s*(\d+)\s*([\+\-]\d+)\s*$/ # ½ºÅ³/Àåºñ/±×¿Ü ¼öÁ¤ 'Str +Dec' ÇüÅ exa) SKPL 20 µî PASSIVE_OPTION = /^\s*([^:\+\-\d\s]+)\s*(\d+)\s*$/ end end end module IMIR_Commands module_function #-------------------------------------------------------------------------- # ¡Û ÆÐ½Ãºê ½ºÅ³ÀÇ ¼öÁ¤Ä¡¸¦ Àç¼³Á¤ #-------------------------------------------------------------------------- def restore_passive_rev (1...$data_actors.size).each { |i| actor = $game_actors[i] actor.restore_passive_rev } end end #============================================================================== # ¡á Game_Interpreter #============================================================================== class Game_Interpreter include IMIR_Commands end #============================================================================== # ¡á RPG::Skill #============================================================================== class RPG::Skill < RPG::UsableItem #-------------------------------------------------------------------------- # ¡Û ÆÐ½Ãºê ½ºÅ³ÀÇ Ä³½¬¸¦ »ý¼º #-------------------------------------------------------------------------- def create_passive_skill_cache @_passive = false @_passive_params = {} @_passive_params_rate = {} @_passive_xparams = {} @_passive_sparams = {} @_passive_elre = {} @_passive_bfre = {} @_passive_stre = {} @_passive_stno = {} @_passive_atel = {} @_passive_atst = {} @_passive_atsp = 0 @_passive_atnu = 0 @_passive_skty = {} @_passive_skts = {} @_passive_skpl = {} @_passive_skse = {} @_passive_wety = {} @_passive_arty = {} @_passive_eqfx = {} @_passive_eqse = {} @_passive_dbwp = 0 @_passive_wpm = false @_passive_wpm_set = {} @_passive_arm = false @_passive_arm_set = {} set_up_cache end #-------------------------------------------------------------------------- # ¡Û ÆÐ½Ãºê ½ºÅ³ÀÇ Ä³½¬¸¦ ¼ÂÆà #-------------------------------------------------------------------------- def set_up_cache passive_flag = false self.note.each_line { |line| case line when PassiveSkill::Regexp::Skill::BEGIN_PASSIVE # ÆÐ½Ãºê ½ºÅ³ Á¤ÀÇ °³½Ã passive_flag = true @_passive = true when PassiveSkill::Regexp::Skill::END_PASSIVE # ÆÐ½Ãºê ½ºÅ³ Á¤ÀÇ Á¾·á passive_flag = false when PassiveSkill::Regexp::Skill::PASSIVE_PARAMS # param ¼öÁ¤ if passive_flag apply_passive_params($1, $2.to_i, $3 != nil) apply_passive_xparams($1, $2.to_i, $3 != nil) apply_passive_sparams($1, $2.to_i, $3 != nil) end when PassiveSkill::Regexp::Skill::PASSIVE_RESIST # ³»¼º ¼öÁ¤ if passive_flag apply_passive_resist($1, $2.to_i, $3.to_i) end when PassiveSkill::Regexp::Skill::PASSIVE_OPTION if passive_flag apply_passive_option($1, $2.to_i) end else break end } end #-------------------------------------------------------------------------- # ¡Û ÆÐ½Ãºê ½ºÅ³ÀÇ param ¼öÁ¤À» Àû¿ë # param : ´ë»ó ÆĶó¹ÌÅÍ # value : ¼öÁ¤Ä¡ # rate : true (ÀÌ)¶ó¸é % ÁöÁ¤ #-------------------------------------------------------------------------- def apply_passive_params(param, value, rate) PassiveSkill::PARAMS.each { |k, v| if param =~ /(?:#{v})/i if rate @_passive_params_rate[k] = 0 if @_passive_params_rate[k] == nil @_passive_params_rate[k] += value else @_passive_params[k] = 0 if @_passive_params[k] == nil @_passive_params[k] += value end break end } end #-------------------------------------------------------------------------- # ¡Û ÆÐ½Ãºê ½ºÅ³ÀÇ xparam ¼öÁ¤À» Àû¿ë # param : ´ë»ó ÆĶó¹ÌÅÍ # value : ¼öÁ¤Ä¡ # rate : true (ÀÌ)¶ó¸é % ÁöÁ¤ #-------------------------------------------------------------------------- def apply_passive_xparams(param, value, rate) PassiveSkill::XPARAMS.each { |k, v| if param =~ /(?:#{v})/i @_passive_xparams[k] = 0 if @_passive_xparams[k] == nil @_passive_xparams[k] += value break end } end #-------------------------------------------------------------------------- # ¡Û ÆÐ½Ãºê ½ºÅ³ÀÇ sparam ¼öÁ¤À» Àû¿ë # param : ´ë»ó ÆĶó¹ÌÅÍ # value : ¼öÁ¤Ä¡ # rate : true (ÀÌ)¶ó¸é % ÁöÁ¤ #-------------------------------------------------------------------------- def apply_passive_sparams(param, value, rate) PassiveSkill::SPARAMS.each { |k, v| if param =~ /(?:#{v})/i @_passive_sparams[k] = 0 if @_passive_sparams[k] == nil @_passive_sparams[k] += value break end } end #-------------------------------------------------------------------------- # ¡Û ÆÐ½Ãºê ½ºÅ³ÀÇ ³»¼º ¼öÁ¤À» Àû¿ë # resist : ´ë»ó ³»¼º # obj : ¸ñÇ¥ id exa) :elre ¼Ó¼ºid, :bfre param_id, # value : ¼öÁ¤Ä¡ :stre, :stno »óÅÂid # :atel ¼Ó¼ºid , :atst »óÅÂid :atsp °ø°Ý¼Óµµ :atnu °ø°ÝȽ¼ö #-------------------------------------------------------------------------- def apply_passive_resist(resist, obj, value) PassiveSkill::RESIST.each { |k, v| if resist =~ /(?:#{v})/i case k when :elre @_passive_elre[obj] = 0 if @_passive_elre[obj] == nil @_passive_elre[obj] += value when :bfre @_passive_bfre[obj] = 0 if @_passive_bfre[obj] == nil @_passive_bfre[obj] += value when :stre @_passive_stre[obj] = 0 if @_passive_stre[obj] == nil @_passive_stre[obj] += value when :stno @_passive_stno[obj] = 0 if @_passive_stno[obj] == nil @_passive_stno[obj] += 1 when :atel @_passive_atel[obj] = 0 if @_passive_atel[obj] == nil @_passive_atel[obj] += 1 when :atst @_passive_atst[obj] = 0 if @_passive_atst[obj] == nil @_passive_atst[obj] += value when :atsp @_passive_atsp = 0 if @_passive_atsp == nil @_passive_atsp += value when :atnu @_passive_atnu = 0 if @_passive_atnu == nil @_passive_atnu += value end break end } end #-------------------------------------------------------------------------- # ¡Û ÆÐ½Ãºê ½ºÅ³ÀÇ ½ºÅ³¿É¼Ç ¼öÁ¤À» Àû¿ë # aim : ´ë»ó ¹®±¸ :skty ½ºÅ³Å¸ÀÔ :skts ½ºÅ³Å¸ÀÔºÀÀÎ # value : ¼öÁ¤Ä¡ :skpl ½ºÅ³Ãß°¡ :skse ½ºÅ³ºÀÀÎ # :wety ¹«±âŸÀÔ :arty ¹æ¾î±¸Å¸ÀÔ :eqfx Àåºñ°íÁ¤ :eqse ÀåºñºÀÀÎ # :dbwp À̵µ·ù :copl ÇൿÃß°¡È®·ü :spfl Ư¼öÇ÷¡±× :paab ÆÄƼ´É·Â # :wpm ¿þÆù¸¶½ºÅ͸® :arm ¾Æ¸Ó¸¶½ºÅ͸® #-------------------------------------------------------------------------- def apply_passive_option(aim, value) PassiveSkill::OPTION.each { |k, v| if aim =~ /(?:#{v})/i case k when :skty @_passive_skty[value] = 0 if @_passive_skty[value] == nil @_passive_skty[value] += 1 when :skts @_passive_skts[value] = 0 if @_passive_skty[value] == nil @_passive_skts[value] += 1 when :skpl @_passive_skpl[value] = 0 if @_passive_skpl[value] == nil @_passive_skpl[value] += 1 when :skse @_passive_skse[value] = 0 if @_passive_skse[value] == nil @_passive_skse[value] += 1 when :wety @_passive_wety[value] = 0 if @_passive_wety[value] == nil @_passive_wety[value] += 1 when :arty @_passive_arty[value] = 0 if @_passive_arty[value] == nil @_passive_arty[value] += 1 when :eqfx @_passive_eqfx[value] = 0 if @_passive_eqfx[value] == nil @_passive_eqfx[value] += 1 when :eqse @_passive_eqse[value] = 0 if @_passive_eqse[value] == nil @_passive_eqse[value] += 1 when :dbwp @_passive_dbwp = 0 if @_passive_dbwp == nil @_passive_dbwp += 1 when :wpm @_passive_wpm_set[value] = 0 if @_passive_wpm_set[value] == nil @_passive_wpm_set[value] += 1 @_passive_wpm = true when :arm @_passive_arm_set[value] = 0 if @_passive_arm_set[value] == nil @_passive_arm_set[value] += 1 @_passive_arm = true end break end } end #-------------------------------------------------------------------------- # ¡Û ÆÐ½Ãºê ½ºÅ³Àϱî #-------------------------------------------------------------------------- def passive create_passive_skill_cache if @_passive == nil return @_passive end #-------------------------------------------------------------------------- # ¡Û ÆÐ½Ãºê ½ºÅ³ÀÇ param ¼öÁ¤ (ÁïÄ¡) #-------------------------------------------------------------------------- def passive_params create_passive_skill_cache if @_passive_params == nil return @_passive_params end #-------------------------------------------------------------------------- # ¡Û ÆÐ½Ãºê ½ºÅ³ÀÇ param ¼öÁ¤ (ºñÀ²) #-------------------------------------------------------------------------- def passive_params_rate create_passive_skill_cache if @_passive_params_rate == nil return @_passive_params_rate end #-------------------------------------------------------------------------- # ¡Û ÆÐ½Ãºê ½ºÅ³ÀÇ xparam ¼öÁ¤ #-------------------------------------------------------------------------- def passive_xparams create_passive_skill_cache if @_passive_xparams == nil return @_passive_xparams end #-------------------------------------------------------------------------- # ¡Û ÆÐ½Ãºê ½ºÅ³ÀÇ sparam ¼öÁ¤ #-------------------------------------------------------------------------- def passive_sparams create_passive_skill_cache if @_passive_sparams == nil return @_passive_sparams end #-------------------------------------------------------------------------- # ¡Û ÆÐ½Ãºê ½ºÅ³ÀÇ ¼Ó¼º³»¼º #-------------------------------------------------------------------------- def passive_elre create_passive_skill_cache if @_passive_elre == nil return @_passive_elre end #-------------------------------------------------------------------------- # ¡Û ÆÐ½Ãºê ½ºÅ³ÀÇ ¾àÈ­³»¼º #-------------------------------------------------------------------------- def passive_bfre create_passive_skill_cache if @_passive_bfre == nil return @_passive_bfre end #-------------------------------------------------------------------------- # ¡Û ÆÐ½Ãºê ½ºÅ³ÀÇ »óų»¼º #-------------------------------------------------------------------------- def passive_stre create_passive_skill_cache if @_passive_stre == nil return @_passive_stre end #-------------------------------------------------------------------------- # ¡Û ÆÐ½Ãºê ½ºÅ³ÀÇ »óŹ«È¿ #-------------------------------------------------------------------------- def passive_stno create_passive_skill_cache if @_passive_stno == nil return @_passive_stno end #-------------------------------------------------------------------------- # ¡Û ÆÐ½Ãºê ½ºÅ³ÀÇ °ø°Ý¼Ó¼º #-------------------------------------------------------------------------- def passive_atel create_passive_skill_cache if @_passive_atel == nil return @_passive_atel end #-------------------------------------------------------------------------- # ¡Û ÆÐ½Ãºê ½ºÅ³ÀÇ °ø°Ý»óÅ #-------------------------------------------------------------------------- def passive_atst create_passive_skill_cache if @_passive_atst == nil return @_passive_atst end #-------------------------------------------------------------------------- # ¡Û ÆÐ½Ãºê ½ºÅ³ÀÇ °ø°Ý¼Óµµ #-------------------------------------------------------------------------- def passive_atsp create_passive_skill_cache if @_passive_atsp == nil return @_passive_atsp end #-------------------------------------------------------------------------- # ¡Û ÆÐ½Ãºê ½ºÅ³ÀÇ °ø°ÝȽ¼ö #-------------------------------------------------------------------------- def passive_atnu create_passive_skill_cache if @_passive_atnu == nil return @_passive_atnu end #-------------------------------------------------------------------------- # ¡Û ÆÐ½Ãºê ½ºÅ³ÀÇ ½ºÅ³Å¸ÀÔ Ãß°¡ #-------------------------------------------------------------------------- def passive_skty create_passive_skill_cache if @_passive_skty == nil return @_passive_skty end #-------------------------------------------------------------------------- # ¡Û ÆÐ½Ãºê ½ºÅ³ÀÇ ½ºÅ³Å¸ÀÔ ºÀÀÎ #-------------------------------------------------------------------------- def passive_skts create_passive_skill_cache if @_passive_skts == nil return @_passive_skts end #-------------------------------------------------------------------------- # ¡Û ÆÐ½Ãºê ½ºÅ³ÀÇ ½ºÅ³Ãß°¡ #-------------------------------------------------------------------------- def passive_skpl create_passive_skill_cache if @_passive_skpl == nil return @_passive_skpl end #-------------------------------------------------------------------------- # ¡Û ÆÐ½Ãºê ½ºÅ³ÀÇ ½ºÅ³ºÀÀÎ #-------------------------------------------------------------------------- def passive_skse create_passive_skill_cache if @_passive_skse == nil return @_passive_skse end #-------------------------------------------------------------------------- # ¡Û ÆÐ½Ãºê ½ºÅ³ÀÇ ¹«±âŸÀÔ #-------------------------------------------------------------------------- def passive_wety create_passive_skill_cache if @_passive_wety == nil return @_passive_wety end #-------------------------------------------------------------------------- # ¡Û ÆÐ½Ãºê ½ºÅ³ÀÇ ¹æ¾î±¸Å¸ÀÔ #-------------------------------------------------------------------------- def passive_arty create_passive_skill_cache if @_passive_arty == nil return @_passive_arty end #-------------------------------------------------------------------------- # ¡Û ÆÐ½Ãºê ½ºÅ³ÀÇ Àåºñ°íÁ¤ #-------------------------------------------------------------------------- def passive_eqfx create_passive_skill_cache if @_passive_eqfx == nil return @_passive_eqfx end #-------------------------------------------------------------------------- # ¡Û ÆÐ½Ãºê ½ºÅ³ÀÇ ÀåºñºÀÀÎ #-------------------------------------------------------------------------- def passive_eqse create_passive_skill_cache if @_passive_eqse == nil return @_passive_eqse end #-------------------------------------------------------------------------- # ¡Û ÆÐ½Ãºê ½ºÅ³ÀÇ À̵µ·ù #-------------------------------------------------------------------------- def passive_dbwp create_passive_skill_cache if @_passive_dbwp == nil return @_passive_dbwp end #-------------------------------------------------------------------------- # ¡Û ÆÐ½Ãºê ½ºÅ³ÀÇ ¿þÆù¸¶½ºÅ͸® #-------------------------------------------------------------------------- def passive_wpm create_passive_skill_cache if @_passive_wpm == nil return @_passive_wpm end #-------------------------------------------------------------------------- # ¡Û ÆÐ½Ãºê ½ºÅ³ÀÇ ¾Æ¸Ó¸¶½ºÅ͸® #-------------------------------------------------------------------------- def passive_arm create_passive_skill_cache if @_passive_arm == nil return @_passive_arm end #-------------------------------------------------------------------------- # ¡Û ÆÐ½Ãºê ½ºÅ³ÀÇ ¿þÆù¸¶½ºÅ͸® #-------------------------------------------------------------------------- def passive_wpm_set create_passive_skill_cache if @_passive_wpm_set == nil return @_passive_wpm_set end #-------------------------------------------------------------------------- # ¡Û ÆÐ½Ãºê ½ºÅ³ÀÇ ¾Æ¸Ó¸¶½ºÅ͸® #-------------------------------------------------------------------------- def passive_arm_set create_passive_skill_cache if @_passive_arm_set == nil return @_passive_arm_set end end #============================================================================== # ¡á Game_BattlerBase #============================================================================== class Game_BattlerBase #-------------------------------------------------------------------------- # ¡Ü Åë»ó ´É·ÂÄ¡ÀÇ Ãëµæ #-------------------------------------------------------------------------- def param(param_id) value = param_base(param_id) + param_plus(param_id) value *= passive_param_rate_base(param_id) value += passive_param_base(param_id) value *= param_rate(param_id) * param_buff_rate(param_id) [[value, param_max(param_id)].min, param_min(param_id)].max.to_i end #-------------------------------------------------------------------------- # ¡Ü Ãß°¡ ´É·ÂÄ¡ÀÇ Ãëµæ #-------------------------------------------------------------------------- alias p_xparam xparam def xparam(xparam_id) n = p_xparam(xparam_id) n += passive_xparam_base(xparam_id)/100 return n end #-------------------------------------------------------------------------- # ¡Ü Ư¼ö ´É·ÂÄ¡ÀÇ Ãëµæ #-------------------------------------------------------------------------- alias p_sparam sparam def sparam(sparam_id) n = p_sparam(sparam_id) n += passive_sparam_base(sparam_id)/100 return n end #-------------------------------------------------------------------------- # ¡Ü ¼Ó¼º À¯È¿µµÀÇ Ãëµæ #-------------------------------------------------------------------------- alias p_element_rate element_rate def element_rate(element_id) n = p_element_rate(element_id) n += passive_element_rate(element_id)/100 return n end #-------------------------------------------------------------------------- # ¡Ü ¾àü À¯È¿µµÀÇ Ãëµæ #-------------------------------------------------------------------------- alias p_debuff_rate debuff_rate def debuff_rate(param_id) n = p_debuff_rate(param_id) n += passive_debuff_rate(param_id)/100 return n end #-------------------------------------------------------------------------- # ¡Ü ½ºÅ×ÀÌÆ® À¯È¿µµÀÇ Ãëµæ #-------------------------------------------------------------------------- alias p_state_rate state_rate def state_rate(state_id) n = p_state_rate(state_id) n += passive_state_rate(state_id)/100 return n end #-------------------------------------------------------------------------- # ¡Ü ¹«È¿È­ÇÏ´Â ½ºÅ×ÀÌÆ®ÀÇ ¹è¿­À» Ãëµæ #-------------------------------------------------------------------------- alias p_state_resist_set state_resist_set def state_resist_set obj_set = p_state_resist_set.dup if passive_state_resist != [] passive_state_resist.each { |k| obj_set.push(k) } end return obj_set end #-------------------------------------------------------------------------- # ¡Ü °ø°Ý½Ã ¼Ó¼ºÀÇ Ãëµæ #-------------------------------------------------------------------------- alias p_atk_elements atk_elements def atk_elements obj_set = p_atk_elements.dup if passive_atk_element != [] passive_atk_element.each { |k| obj_set.push(k) } end return obj_set end #-------------------------------------------------------------------------- # ¡Ü °ø°Ý½Ã ½ºÅ×ÀÌÆ®ÀÇ Ãëµæ #-------------------------------------------------------------------------- alias p_atk_states atk_states def atk_states obj_set = p_atk_states.dup if passive_atk_state != [] passive_atk_state.each { |k| obj_set.push(k) } end return obj_set end #-------------------------------------------------------------------------- # ¡Ü °ø°Ý½Ã ½ºÅ×ÀÌÆ®ÀÇ ¹ßµ¿À² Ãëµæ #-------------------------------------------------------------------------- alias p_atk_states_rate atk_states_rate def atk_states_rate(state_id) obj = p_atk_states_rate(state_id) obj += passive_atk_state_rate(state_id) return obj end #-------------------------------------------------------------------------- # ¡Ü °ø°Ý ¼Óµµ º¸Á¤ÀÇ Ãëµæ #-------------------------------------------------------------------------- alias p_atk_speed atk_speed def atk_speed n = p_atk_speed n += passive_atsp return n end #-------------------------------------------------------------------------- # ¡Ü °ø°Ý Ãß°¡ ȸ¼öÀÇ Ãëµæ #-------------------------------------------------------------------------- alias p_atk_times_add atk_times_add def atk_times_add n = p_atk_times_add n += passive_atnu return n end #-------------------------------------------------------------------------- # ¡Ü Ãß°¡ ½ºÅ³ ŸÀÔÀÇ Ãëµæ #-------------------------------------------------------------------------- alias p_added_skill_types added_skill_types def added_skill_types obj_set = p_added_skill_types.dup if passive_added_stypes != nil passive_added_stypes.each { |k| obj_set.push(k) } end return obj_set end #-------------------------------------------------------------------------- # ¡Ü ½ºÅ³ ŸÀÔ ºÀÀÎ ¼Â #-------------------------------------------------------------------------- def skill_type_sealed features_set(FEATURE_STYPE_SEAL) end #-------------------------------------------------------------------------- # ¡Ü ½ºÅ³ ŸÀÔ ºÀÀÎÀÇ ÆÇÁ¤ #-------------------------------------------------------------------------- def skill_type_sealed?(stype_id) obj_set = skill_type_sealed.dup if passive_stypes_sealed != nil passive_stypes_sealed.each { |k| obj_set.push(k) } end return obj_set.include?(stype_id) end #-------------------------------------------------------------------------- # ¡Ü Ãß°¡ ½ºÅ³ÀÇ Ãëµæ #-------------------------------------------------------------------------- alias p_added_skills added_skills def added_skills obj_set = p_added_skills.dup if passive_added_skills != nil passive_added_skills.each { |k| obj_set.push(k) } end return obj_set end #-------------------------------------------------------------------------- # ¡Ü ½ºÅ³ ºÀÀÎ ¼Â #-------------------------------------------------------------------------- def skill_sealed features_set(FEATURE_SKILL_SEAL) end #-------------------------------------------------------------------------- # ¡Ü ½ºÅ³ ºÀÀÎÀÇ ÆÇÁ¤ #-------------------------------------------------------------------------- def skill_sealed?(skill_id) obj_set = skill_sealed.dup if passive_skill_sealed != nil passive_skill_sealed.each { |k| obj_set.push(k) } end return obj_set.include?(skill_id) end #-------------------------------------------------------------------------- # ¡Ü ¹«±â Àåºñ °¡´ÉÀÇ ¼Â #-------------------------------------------------------------------------- def equip_wtype_set features_set(FEATURE_EQUIP_WTYPE) end #-------------------------------------------------------------------------- # ¡Ü ¹«±â Àåºñ °¡´ÉÀÇ ÆÇÁ¤ #-------------------------------------------------------------------------- def equip_wtype_ok?(wtype_id) obj_set = equip_wtype_set.dup if passive_wtype != nil passive_wtype.each { |k| obj_set.push(k) } end return obj_set.include?(wtype_id) end #-------------------------------------------------------------------------- # ¡Ü ¹æ¾î±¸ Àåºñ °¡´ÉÀÇ ¼Â #-------------------------------------------------------------------------- def equip_atype_set features_set(FEATURE_EQUIP_ATYPE) end #-------------------------------------------------------------------------- # ¡Ü ¹æ¾î±¸ Àåºñ °¡´ÉÀÇ ÆÇÁ¤ #-------------------------------------------------------------------------- def equip_atype_ok?(atype_id) obj_set = equip_atype_set.dup if passive_atype != nil passive_atype.each { |k| obj_set.push(k) } end return obj_set.include?(atype_id) end #-------------------------------------------------------------------------- # ¡Ü Àåºñ °íÁ¤ÀÇ ¼Â #-------------------------------------------------------------------------- def equip_type_fixed_set features_set(FEATURE_EQUIP_FIX) end #-------------------------------------------------------------------------- # ¡Ü Àåºñ °íÁ¤ÀÇ ÆÇÁ¤ #-------------------------------------------------------------------------- def equip_type_fixed?(etype_id) obj_set = equip_type_fixed_set.dup if passive_efixed != nil passive_efixed.each { |k| obj_set.push(k) } end return obj_set.include?(etype_id) end #-------------------------------------------------------------------------- # ¡Ü Àåºñ ºÀÀÎÀÇ ¼Â #-------------------------------------------------------------------------- def equip_type_sealed_set features_set(FEATURE_EQUIP_SEAL) end #-------------------------------------------------------------------------- # ¡Ü Àåºñ ºÀÀÎÀÇ ÆÇÁ¤ #-------------------------------------------------------------------------- def equip_type_sealed?(etype_id) obj_set = equip_type_sealed_set.dup if passive_esealed != nil passive_esealed.each { |k| obj_set.push(k) } end return obj_set.include?(etype_id) end #-------------------------------------------------------------------------- # ¡Ü ½Ö¼ö°ËÀÇ ÆÇÁ¤ #-------------------------------------------------------------------------- def dual_wield? return true if passive_dbwp != 0 return slot_type == 1 end end #============================================================================== # ¡á Game_Actor #============================================================================== class Game_Actor < Game_Battler #-------------------------------------------------------------------------- # ¡Ü ¿ÀºêÁ§Æ® ÃʱâÈ­ #-------------------------------------------------------------------------- alias setup_IMIR_PassiveSkill setup def setup(actor_id) reset_passive_rev setup_IMIR_PassiveSkill(actor_id) restore_passive_rev end #-------------------------------------------------------------------------- # ¡Û ÆÐ½Ãºê ½ºÅ³ÀÇ ¼öÁ¤Ä¡¸¦ ÃʱâÈ­ #-------------------------------------------------------------------------- def reset_passive_rev @passive_params = {} @passive_params_rate = {} @passive_xparams = {} @passive_sparams = {} @passive_elre = {} @passive_bfre = {} @passive_stre = {} @passive_stno = {} @passive_atel = {} @passive_atst = {} @passive_atsp = 0 @passive_atnu = 0 @passive_skty = {} @passive_skts = {} @passive_skpl = {} @passive_skse = {} @passive_wety = {} @passive_arty = {} @passive_eqfx = {} @passive_eqse = {} @passive_dbwp = 0 PassiveSkill::PARAMS.each_key { |k| @passive_params[k] = 0 @passive_params_rate[k] = 0 } PassiveSkill::XPARAMS.each_key { |k| @passive_xparams[k] = 0 } PassiveSkill::SPARAMS.each_key { |k| @passive_sparams[k] = 0 } for i in 1..$data_system.elements.size @passive_elre[i] = 0 @passive_atel[i] = 0 end for i in 0..7 @passive_bfre[i] = 0 end for i in 1..$data_states.size @passive_stre[i] = 0 @passive_stno[i] = 0 @passive_atst[i] = 0 end for i in 1..$data_system.skill_types.size @passive_skty[i] = 0 @passive_skts[i] = 0 end for i in 1..$data_skills.size @passive_skpl[i] = 0 @passive_skse[i] = 0 end for i in 1..$data_system.weapon_types.size @passive_wety[i] = 0 end for i in 1..$data_system.armor_types.size @passive_arty[i] = 0 end for i in 0..4 #.equip_slots.size @passive_eqfx[i] = 0 @passive_eqse[i] = 0 end end #-------------------------------------------------------------------------- # ¡Û ÆÐ½Ãºê ½ºÅ³ÀÇ ¼öÁ¤Ä¡¸¦ Àç¼³Á¤ #-------------------------------------------------------------------------- def restore_passive_rev reset_passive_rev # ¼öÁ¤Ä¡¸¦ Ãëµæ skills.each { |skill| next unless skill.passive next if skill.passive_wpm and not weapon_mastery?(skill) next if skill.passive_arm and not armor_mastery?(skill) skill.passive_params.each { |k, v| @passive_params[k] += v } skill.passive_params_rate.each { |k, v| @passive_params_rate[k] += v } skill.passive_xparams.each { |k, v| @passive_xparams[k] += v } skill.passive_sparams.each { |k, v| @passive_sparams[k] += v } skill.passive_elre.each{ |k, v| @passive_elre[k] += v } skill.passive_bfre.each{ |k, v| @passive_bfre[k] += v } skill.passive_stre.each{ |k, v| @passive_stre[k] += v } skill.passive_stno.each{ |k, v| @passive_stno[k] += v } skill.passive_atel.each{ |k, v| @passive_atel[k] += v } skill.passive_atst.each{ |k, v| @passive_atst[k] += v } @passive_atsp += skill.passive_atsp @passive_atnu += skill.passive_atnu skill.passive_skty.each{ |k, v| @passive_skty[k] += v } skill.passive_skts.each{ |k, v| @passive_skts[k] += v } skill.passive_skpl.each{ |k, v| @passive_skpl[k] += v } skill.passive_skse.each{ |k, v| @passive_skse[k] += v } skill.passive_wety.each{ |k, v| @passive_wety[k] += v } skill.passive_arty.each{ |k, v| @passive_arty[k] += v } skill.passive_eqfx.each{ |k, v| @passive_eqfx[k] += v } skill.passive_eqse.each{ |k, v| @passive_eqse[k] += v } @passive_dbwp += skill.passive_dbwp } end #-------------------------------------------------------------------------- # ¡Û ¿þÆù ¸¶½ºÅ͸®Àΰ¡? #-------------------------------------------------------------------------- def weapon_mastery?(skill) wpm = [] skill.passive_wpm_set.each { |k, v| wpm.push(k) if v != 0 } wpm_ans = false wpm.each { |k| wpm_ans = true if wtype_equipped?(k) } return wpm_ans end #-------------------------------------------------------------------------- # ¡Ü ¹æ¾î±¸Å¸ÀÔÀ» ÀåÂøÇÏ°í Àִ°¡? #-------------------------------------------------------------------------- def atype_equipped?(atype_id) armors.any? {|armor| armor.atype_id == atype_id } end #-------------------------------------------------------------------------- # ¡Û ¾Æ¸Ó ¸¶½ºÅ͸®Àΰ¡? #-------------------------------------------------------------------------- def armor_mastery?(skill) arm = [] skill.passive_arm_set.each { |k, v| arm.push(k) if v != 0 } arm_ans = false arm.each { |k| arm_ans = true if atype_equipped?(k) } return arm_ans end #-------------------------------------------------------------------------- # ¡Û ÆÐ½Ãºê ½ºÅ³¿¡ ÀÇÇÑ param ¼öÁ¤Ä¡ (ÁïÄ¡) #-------------------------------------------------------------------------- def passive_params restore_passive_rev if @passive_params == nil return @passive_params end #-------------------------------------------------------------------------- # ¡Û ÆÐ½Ãºê ½ºÅ³¿¡ ÀÇÇÑ param ¼öÁ¤Ä¡ (ºñÀ²) #-------------------------------------------------------------------------- def passive_params_rate restore_passive_rev if @passive_params_rate == nil return @passive_params_rate end #-------------------------------------------------------------------------- # ¡Û ÆÐ½Ãºê ½ºÅ³¿¡ ÀÇÇÑ xparam ¼öÁ¤Ä¡ (ÁïÄ¡) #-------------------------------------------------------------------------- def passive_xparams restore_passive_rev if @passive_xparams == nil return @passive_xparams end #-------------------------------------------------------------------------- # ¡Û ÆÐ½Ãºê ½ºÅ³¿¡ ÀÇÇÑ param ¼öÁ¤Ä¡ (ÁïÄ¡) #-------------------------------------------------------------------------- def passive_sparams restore_passive_rev if @passive_sparams == nil return @passive_sparams end #-------------------------------------------------------------------------- # ¡Û ÆÐ½Ãºê ½ºÅ³ÀÇ ¼Ó¼º³»¼º #-------------------------------------------------------------------------- def passive_elre restore_passive_rev if @passive_elre == nil return @passive_elre end #-------------------------------------------------------------------------- # ¡Û ÆÐ½Ãºê ½ºÅ³ÀÇ ¾àÈ­³»¼º #-------------------------------------------------------------------------- def passive_bfre restore_passive_rev if @passive_bfre == nil return @passive_bfre end #-------------------------------------------------------------------------- # ¡Û ÆÐ½Ãºê ½ºÅ³ÀÇ »óų»¼º #-------------------------------------------------------------------------- def passive_stre restore_passive_rev if @passive_stre == nil return @passive_stre end #-------------------------------------------------------------------------- # ¡Û ÆÐ½Ãºê ½ºÅ³ÀÇ »óŹ«È¿ #-------------------------------------------------------------------------- def passive_stno restore_passive_rev if @passive_stno == nil return @passive_stno end #-------------------------------------------------------------------------- # ¡Û ÆÐ½Ãºê ½ºÅ³ÀÇ °ø°Ý¼Ó¼º #-------------------------------------------------------------------------- def passive_atel restore_passive_rev if @passive_atel == nil return @passive_atel end #-------------------------------------------------------------------------- # ¡Û ÆÐ½Ãºê ½ºÅ³ÀÇ °ø°Ý»óÅ #-------------------------------------------------------------------------- def passive_atst restore_passive_rev if @passive_atst == nil return @passive_atst end #-------------------------------------------------------------------------- # ¡Û ÆÐ½Ãºê ½ºÅ³ÀÇ °ø°Ý¼Óµµ #-------------------------------------------------------------------------- def passive_atsp restore_passive_rev if @passive_atsp == nil return @passive_atsp end #-------------------------------------------------------------------------- # ¡Û ÆÐ½Ãºê ½ºÅ³ÀÇ °ø°ÝȽ¼ö #-------------------------------------------------------------------------- def passive_atnu restore_passive_rev if @passive_atnu == nil return @passive_atnu end #-------------------------------------------------------------------------- # ¡Û ÆÐ½Ãºê ½ºÅ³ÀÇ ½ºÅ³Å¸ÀÔ Ãß°¡ #-------------------------------------------------------------------------- def passive_skty restore_passive_rev if @passive_skty == nil return @passive_skty end #-------------------------------------------------------------------------- # ¡Û ÆÐ½Ãºê ½ºÅ³ÀÇ ½ºÅ³Å¸ÀÔ ºÀÀÎ #-------------------------------------------------------------------------- def passive_skts restore_passive_rev if @passive_skts == nil return @passive_skts end #-------------------------------------------------------------------------- # ¡Û ÆÐ½Ãºê ½ºÅ³ÀÇ ½ºÅ³Ãß°¡ #-------------------------------------------------------------------------- def passive_skpl restore_passive_rev if @passive_skpl == nil return @passive_skpl end #-------------------------------------------------------------------------- # ¡Û ÆÐ½Ãºê ½ºÅ³ÀÇ ½ºÅ³ºÀÀÎ #-------------------------------------------------------------------------- def passive_skse restore_passive_rev if @passive_skse == nil return @passive_skse end #-------------------------------------------------------------------------- # ¡Û ÆÐ½Ãºê ½ºÅ³ÀÇ ¹«±âŸÀÔ #-------------------------------------------------------------------------- def passive_wety restore_passive_rev if @passive_wety == nil return @passive_wety end #-------------------------------------------------------------------------- # ¡Û ÆÐ½Ãºê ½ºÅ³ÀÇ ¹æ¾î±¸Å¸ÀÔ #-------------------------------------------------------------------------- def passive_arty restore_passive_rev if @passive_arty == nil return @passive_arty end #-------------------------------------------------------------------------- # ¡Û ÆÐ½Ãºê ½ºÅ³ÀÇ Àåºñ°íÁ¤ #-------------------------------------------------------------------------- def passive_eqfx restore_passive_rev if @passive_eqfx == nil return @passive_eqfx end #-------------------------------------------------------------------------- # ¡Û ÆÐ½Ãºê ½ºÅ³ÀÇ ÀåºñºÀÀÎ #-------------------------------------------------------------------------- def passive_eqse restore_passive_rev if @passive_eqse == nil return @passive_eqse end #-------------------------------------------------------------------------- # ¡Û ÆÐ½Ãºê ½ºÅ³ÀÇ À̵µ·ù #-------------------------------------------------------------------------- def passive_dbwp restore_passive_rev if @passive_dbwp == nil return @passive_dbwp end #-------------------------------------------------------------------------- # ¡Ü Æнúê paramÀÇ Ãëµæ #-------------------------------------------------------------------------- def passive_param_base(param_id) n = 0 case param_id when 0; n += passive_params[:mhp] when 1; n += passive_params[:mmp] when 2; n += passive_params[:atk] when 3; n += passive_params[:def] when 4; n += passive_params[:mat] when 5; n += passive_params[:mdf] when 6; n += passive_params[:agi] when 7; n += passive_params[:luk] end return n end #-------------------------------------------------------------------------- # ¡Ü Æнúê param ºñÀ²ÀÇ Ãëµæ #-------------------------------------------------------------------------- def passive_param_rate_base(param_id) n = 100 case param_id when 0; n += passive_params_rate[:mhp] when 1; n += passive_params_rate[:mmp] when 2; n += passive_params_rate[:atk] when 3; n += passive_params_rate[:def] when 4; n += passive_params_rate[:mat] when 5; n += passive_params_rate[:mdf] when 6; n += passive_params_rate[:agi] when 7; n += passive_params_rate[:luk] end return n/100.to_f end #-------------------------------------------------------------------------- # ¡Ü Æнúê xparamÀÇ Ãëµæ #-------------------------------------------------------------------------- def passive_xparam_base(xparam_id) n = 0 case xparam_id when 0; n += passive_xparams[:hit] when 1; n += passive_xparams[:eva] when 2; n += passive_xparams[:cri] when 3; n += passive_xparams[:cev] when 4; n += passive_xparams[:mev] when 5; n += passive_xparams[:mrf] when 6; n += passive_xparams[:cnt] when 7; n += passive_xparams[:hrg] when 8; n += passive_xparams[:mrg] when 9; n += passive_xparams[:trg] end return n.to_f end #-------------------------------------------------------------------------- # ¡Ü Æнúê sparamÀÇ Ãëµæ #-------------------------------------------------------------------------- def passive_sparam_base(sparam_id) n = 0 case sparam_id when 0; n += passive_sparams[:tgr] when 1; n += passive_sparams[:grd] when 2; n += passive_sparams[:rec] when 3; n += passive_sparams[:pha] when 4; n += passive_sparams[:mcr] when 5; n += passive_sparams[:tcr] when 6; n += passive_sparams[:pdr] when 7; n += passive_sparams[:mdr] when 8; n += passive_sparams[:fdr] when 9; n += passive_sparams[:exr] end return n.to_f end #-------------------------------------------------------------------------- # ¡Ü ¼Ó¼º À¯È¿µµÀÇ Ãëµæ #-------------------------------------------------------------------------- def passive_element_rate(element_id) n = 0 n += passive_elre[element_id] if passive_elre[element_id] return n.to_f end #-------------------------------------------------------------------------- # ¡Ü ¾àü À¯È¿µµÀÇ Ãëµæ #-------------------------------------------------------------------------- def passive_debuff_rate(param_id) n = 0 n += passive_bfre[param_id] if passive_bfre[param_id] return n.to_f end #-------------------------------------------------------------------------- # ¡Ü ½ºÅ×ÀÌÆ® À¯È¿µµÀÇ Ãëµæ #-------------------------------------------------------------------------- def passive_state_rate(state_id) n = 0 n += passive_stre[state_id] if passive_stre[state_id] return n.to_f end #-------------------------------------------------------------------------- # ¡Ü »óÅ ¹«È¿È­ÀÇ ¹è¿­À» Ãëµæ #-------------------------------------------------------------------------- def passive_state_resist n_set = [] for i in 1..$data_states.size n_set.push(i) if passive_stno[i] != 0 end return n_set end #-------------------------------------------------------------------------- # ¡Ü °ø°Ý ¼Ó¼ºÀÇ ¹è¿­À» Ãëµæ #-------------------------------------------------------------------------- def passive_atk_element n_set = [] for i in 1..$data_system.elements.size n_set.push(i) if passive_atel[i] != 0 end return n_set end #-------------------------------------------------------------------------- # ¡Ü °ø°Ý»óÅÂÀÇ ¹è¿­À» Ãëµæ #-------------------------------------------------------------------------- def passive_atk_state n_set = [] for i in 1..$data_states.size n_set.push(i) if passive_atst[i] != 0 end return n_set end #-------------------------------------------------------------------------- # ¡Ü °ø°Ý»óÅÂÀÇ ¹ßµ¿À² Ãëµæ #-------------------------------------------------------------------------- def passive_atk_state_rate(state_id) n = 0 n += passive_atst[state_id] return n.to_f end #-------------------------------------------------------------------------- # ¡Ü Ãß°¡ ½ºÅ³ ŸÀÔÀÇ Ãëµæ #-------------------------------------------------------------------------- def passive_added_stypes n_set = [] for i in 1..$data_system.skill_types.size n_set.push(i) if passive_skty[i] != 0 end return n_set end #-------------------------------------------------------------------------- # ¡Ü ½ºÅ³ ŸÀÔ ºÀÀÎÀÇ Ãëµæ #-------------------------------------------------------------------------- def passive_stypes_sealed n_set = [] for i in 1..$data_system.skill_types.size n_set.push(i) if passive_skts[i] != 0 end return n_set end #-------------------------------------------------------------------------- # ¡Ü Ãß°¡ ½ºÅ³ÀÇ Ãëµæ #-------------------------------------------------------------------------- def passive_added_skills n_set = [] for i in 1..$data_skills.size n_set.push(i) if passive_skpl[i] != 0 end return n_set end #-------------------------------------------------------------------------- # ¡Ü ½ºÅ³ ŸÀÔ ºÀÀÎÀÇ Ãëµæ #-------------------------------------------------------------------------- def passive_skill_sealed n_set = [] for i in 1..$data_skills.size n_set.push(i) if passive_skse[i] != 0 end return n_set end #-------------------------------------------------------------------------- # ¡Ü ¹«±â Àåºñ °¡´ÉÀÇ ¼Â #-------------------------------------------------------------------------- def passive_wtype n_set = [] for i in 1..$data_system.weapon_types.size n_set.push(i) if passive_wety[i] != 0 end return n_set end #-------------------------------------------------------------------------- # ¡Ü ¹æ¾î±¸ Àåºñ °¡´ÉÀÇ ¼Â #-------------------------------------------------------------------------- def passive_atype n_set = [] for i in 1..$data_system.armor_types.size n_set.push(i) if passive_arty[i] != 0 end return n_set end #-------------------------------------------------------------------------- # ¡Ü Àåºñ °íÁ¤ÀÇ ¼Â #-------------------------------------------------------------------------- def passive_efixed n_set = [] for i in 0..4 #.equip_slots.size n_set.push(i) if passive_eqfx[i] != 0 end return n_set end #-------------------------------------------------------------------------- # ¡Ü Àåºñ ºÀÀÎÀÇ ¼Â #-------------------------------------------------------------------------- def passive_esealed n_set = [] for i in 0..4 #.equip_slots.size n_set.push(i) if passive_eqse[i] != 0 end return n_set end #-------------------------------------------------------------------------- # ¡Ü ½ºÅ³À» ±â¾ïÇÑ´Ù # skill_id : ½ºÅ³ ID #-------------------------------------------------------------------------- alias learn_skill_IMIR_PassiveSkill learn_skill def learn_skill(skill_id) learn_skill_IMIR_PassiveSkill(skill_id) restore_passive_rev end #-------------------------------------------------------------------------- # ¡Ü ½ºÅ³À» Àش´٠# skill_id : ½ºÅ³ ID #-------------------------------------------------------------------------- alias forget_skill_IMIR_PassiveSkill forget_skill def forget_skill(skill_id) forget_skill_IMIR_PassiveSkill(skill_id) restore_passive_rev end #-------------------------------------------------------------------------- # ¡Ü ÀåºñÀÇ º¯°æ # slot_id : Àåºñ½½·Ô ID # item : ¹«±â£¯¹æ¾î±¸£¨nil ÀåºñÇØÁ¦£© #-------------------------------------------------------------------------- alias p_change_equip change_equip def change_equip(slot_id, item) p_change_equip(slot_id, item) restore_passive_rev end #-------------------------------------------------------------------------- # ¡Ü ÀåºñÀÇ °­Á¦º¯°æ # slot_id : Àåºñ½½·Ô ID # item : ¹«±â£¯¹æ¾î±¸£¨nil ÀåºñÇØÁ¦£© #-------------------------------------------------------------------------- alias p_force_change_equip force_change_equip def force_change_equip(slot_id, item) p_force_change_equip(slot_id, item) restore_passive_rev end #-------------------------------------------------------------------------- # ¡Ü ÀåºñÀÇ º¯°æ£¨ID·Î ¼³Á¤£© # slot_id : Àåºñ½½·Ô ID # item_id : ¹«±â£¯¹æ¾î±¸ ID #-------------------------------------------------------------------------- alias p_change_equip_by_id change_equip_by_id def change_equip_by_id(slot_id, item_id) p_change_equip_by_id(slot_id, item_id) restore_passive_rev end #-------------------------------------------------------------------------- # ¡Ü ÀåºñÀÇ Æıâ # item : ÆıâÇÒ ¹«±â£¯Àå¾î±¸ #-------------------------------------------------------------------------- alias p_discard_equip discard_equip def discard_equip(item) p_discard_equip(item) restore_passive_rev end #-------------------------------------------------------------------------- # ¡Ü Àåºñ ÇÒ ¼ö ¾ø´Â ÀåºñÇ°À» Á¦¿ÜÇÑ´Ù # item_gain : Á¦¿ÜÇÑ ÀåºñÇ°À» ÆÄƼ¿¡ µÇµ¹¸°´Ù #-------------------------------------------------------------------------- alias p_release_unequippable_items release_unequippable_items def release_unequippable_items(item_gain = true) p_release_unequippable_items(item_gain = true) restore_passive_rev end #-------------------------------------------------------------------------- # ¡Ü Àåºñ¸¦ ¸ðµÎ Á¦¿ÜÇÑ´Ù #-------------------------------------------------------------------------- alias p_clear_equipments clear_equipments def clear_equipments p_clear_equipments restore_passive_rev end #-------------------------------------------------------------------------- # ¡Ü ÃÖ°­Àåºñ #-------------------------------------------------------------------------- alias p_optimize_equipments optimize_equipments def optimize_equipments p_optimize_equipments restore_passive_rev end end #============================================================================== # ¡á Game_Enemy #============================================================================== class Game_Enemy < Game_Battler #-------------------------------------------------------------------------- # ¡Ü Æнúê paramÀÇ Ãëµæ #-------------------------------------------------------------------------- def passive_param_base(param_id) return 0 end #-------------------------------------------------------------------------- # ¡Ü Æнúê param ºñÀ²ÀÇ Ãëµæ #-------------------------------------------------------------------------- def passive_param_rate_base(param_id) return 1 end #-------------------------------------------------------------------------- # ¡Ü Æнúê xparamÀÇ Ãëµæ #-------------------------------------------------------------------------- def passive_xparam_base(xparam_id) return 0 end #-------------------------------------------------------------------------- # ¡Ü Æнúê sparamÀÇ Ãëµæ #-------------------------------------------------------------------------- def passive_sparam_base(sparam_id) return 0 end #-------------------------------------------------------------------------- # ¡Ü ¼Ó¼º À¯È¿µµÀÇ Ãëµæ #-------------------------------------------------------------------------- def passive_element_rate(element_id) return 0 end #-------------------------------------------------------------------------- # ¡Ü ¾àü À¯È¿µµÀÇ Ãëµæ #-------------------------------------------------------------------------- def passive_debuff_rate(param_id) return 0 end #-------------------------------------------------------------------------- # ¡Ü ½ºÅ×ÀÌÆ® À¯È¿µµÀÇ Ãëµæ #-------------------------------------------------------------------------- def passive_state_rate(state_id) return 0 end #-------------------------------------------------------------------------- # ¡Ü ¹«È¿È­ÇÏ´Â ½ºÅ×ÀÌÆ®ÀÇ ¹è¿­À» Ãëµæ #-------------------------------------------------------------------------- def passive_state_resist return [] end #-------------------------------------------------------------------------- # ¡Ü °ø°Ý¼Ó¼ºÀÇ ¹è¿­À» Ãëµæ #-------------------------------------------------------------------------- def passive_atk_element return [] end #-------------------------------------------------------------------------- # ¡Ü °ø°Ý»óÅÂÀÇ ¹è¿­À» Ãëµæ #-------------------------------------------------------------------------- def passive_atk_state return [] end #-------------------------------------------------------------------------- # ¡Ü °ø°Ý»óÅÂÀÇ ¹ßµ¿À² Ãëµæ #-------------------------------------------------------------------------- def passive_atk_state_rate(state_id) return 0 end #-------------------------------------------------------------------------- # ¡Ü °ø°Ý¼ÓµµÀÇ ¹ßµ¿À² Ãëµæ #-------------------------------------------------------------------------- def passive_atsp return 0 end #-------------------------------------------------------------------------- # ¡Ü °ø°ÝȽ¼öÀÇ ¹ßµ¿À² Ãëµæ #-------------------------------------------------------------------------- def passive_atnu return 0 end #-------------------------------------------------------------------------- # ¡Û ÆÐ½Ãºê ½ºÅ³ÀÇ ½ºÅ³Å¸ÀÔ Ãß°¡ #-------------------------------------------------------------------------- def passive_added_stypes return [] end #-------------------------------------------------------------------------- # ¡Û ÆÐ½Ãºê ½ºÅ³ÀÇ ½ºÅ³Å¸ÀÔ ºÀÀÎ #-------------------------------------------------------------------------- def passive_stypes_sealed return [] end #-------------------------------------------------------------------------- # ¡Û ÆÐ½Ãºê ½ºÅ³ÀÇ ½ºÅ³Ãß°¡ #-------------------------------------------------------------------------- def passive_added_skills return [] end #-------------------------------------------------------------------------- # ¡Û ÆÐ½Ãºê ½ºÅ³ÀÇ ½ºÅ³ºÀÀÎ #-------------------------------------------------------------------------- def passive_skill_sealed return [] end #-------------------------------------------------------------------------- # ¡Ü ¹«±â Àåºñ °¡´ÉÀÇ ÆÇÁ¤ #-------------------------------------------------------------------------- def passive_wtype return [] end #-------------------------------------------------------------------------- # ¡Ü ¹æ¾î±¸ Àåºñ °¡´ÉÀÇ ÆÇÁ¤ #-------------------------------------------------------------------------- def passive_atype return [] end #-------------------------------------------------------------------------- # ¡Ü Àåºñ °íÁ¤ÀÇ ÆÇÁ¤ #-------------------------------------------------------------------------- def passive_efixed return [] end #-------------------------------------------------------------------------- # ¡Ü Àåºñ ºÀÀÎÀÇ ÆÇÁ¤ #-------------------------------------------------------------------------- def passive_esealed return [] end #-------------------------------------------------------------------------- # ¡Ü À̵µ·ùÀÇ ÆÇÁ¤ #-------------------------------------------------------------------------- def passive_dbwp return 0 end end