#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
#_/ ◆ 패시브 스킬 - KGC_PassiveSkill ◆ VX ◆
#_/ ◇ Last update : 2008/11/16 ◇
#_/----------------------------------------------------------------------------
#_/ 습득하는 것만으로 능력 가격인상승효과를 발휘하는 스킬을 작성합니다.
#_/============================================================================
#_/ 【기본 기능】≪200x/XP 기능 재현≫ 보다 아래에 도입해 주세요.
#_/ 【장비】≪장비품 옵션 추가≫ 보다 아래에 도입해 주세요.
#_/ 【장비】≪장비 확장≫ 보다 아래에 도입해 주세요.
#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
$imported = {} if $imported == nil
$imported["PassiveSkill"] = true
module KGC
module PassiveSkill
# 패시브 스킬용 파라미터 리스트
PARAMS = {
:maxhp => "MAXHP|최대HP",
:maxmp => "MAXMP|최대MP",
:atk => "ATK|공격력",
:def => "DEF|방어력",
:spi => "SPI|정신력",
:agi => "AGI|민첩성",
:hit => "HIT|명중율",
:eva => "EVA|회피율",
:cri => "CRI|위기율",
:odds => "ODDS|표적이 되기 쉬움",
}
# 패시브 스킬용 속성·스테이트 리스트
ARRAYS = {
:attack_element => "ATTACK_ELEMENT|공격 속성",
:plus_state => "PLUS_STATE|부가 스테이트",
:invalid_state => "INVALID_STATE|무효화 스테이트",
:auto_state => "AUTO_STATE|오토 스테이트",
}
# 패시브 스킬용 내성 리스트
RESISTANCES = {
# ≪장비품 옵션 추가≫
:element => "ELEMENT_RESISTANCE|속성 내성",
:state => "STATE_RESISTANCE|스테이트 내성",
}
# 패시브 스킬용 특수 효과 리스트
EFFECTS = {
# 데포
:two_swords_style => "TWO_SWORDS_STYLE|쌍수검",
:auto_battle => "AUTO_BATTLE|자동 전투",
:super_guard => "SUPER_GUARD|강력 방어",
:pharmacology => "PHARMACOLOGY|약의 지식",
:fast_attack => "FAST_ATTACK|턴내 선제",
:dual_attack => "DUAL_ATTACK|연속 공격",
:critical_bonus => "CRITICAL_BONUS|위기 빈발",
:prevent_critical => "PREVENT_CRITICAL|위기 방지",
:half_mp_cost => "HALF_MP_COST|소비MP반",
:double_exp_gain => "DOUBLE_EXP_GAIN|취득 경험치[22]배",
# ≪200x/XP 기능 재현≫
:whole_attack => "WHOLE_ATTACK|전체 공격",
:ignore_eva => "IGNORE_EVA|회피 무시",
# ≪장비품 옵션 추가≫
:multi_attack_count => '(d+)s*(?:TIMES_ATTACK|회공격)',
}
# 정규 표현
module Regexp
# 스킬
module Skill
# 패시브 스킬 개시
BEGIN_PASSIVE = /<(?:PASSIVE_SKILL|패시브 스킬)>/i
# 패시브 스킬 종료
END_PASSIVE = /</(?:PASSIVE_SKILL|패시브 스킬)>/i
# 파라미터 수정
# MAXHP +20 등
PASSIVE_PARAMS = /^s*([^:+-ds]+)s*([+-]d+)([%%])?s*$/
# 속성·스테이트 리스트
# 공격 속성 1,2,3 등
PASSIVE_ARRAYS = /^s*([^:+-ds]+)s*(d+(?:s*,s*d+)*)s*$/
# 내성
PASSIVE_RESISTANCES = /^s*([^:+-ds]+)s(d+):(-?d+)[%%]?s*$/
# 특수 효과
PASSIVE_EFFECTS = /^s*([^:+-ds]+)/
end
end
end
end
#★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★
#==============================================================================
# □ KGC::Commands
#==============================================================================
module KGC
module Commands
module_function
#--------------------------------------------------------------------------
# ○ 패시브 스킬의 수정치를 재설정
#--------------------------------------------------------------------------
def restore_passive_rev
(1...$data_actors.size).each { |i|
actor = $game_actors[i]
actor.restore_passive_rev
}
end
end
end
class Game_Interpreter
include KGC::Commands
end
#★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★
#==============================================================================
# ■ RPG::Skill
#==============================================================================
class RPG::Skill < RPG::UsableItem
#--------------------------------------------------------------------------
# ○ 패시브 스킬의 캐쉬를 생성
#--------------------------------------------------------------------------
def create_passive_skill_cache
@__passive = false
@__passive_params = {}
@__passive_params_rate = {}
@__passive_arrays = {}
@__passive_resistances = {}
@__passive_effects = { :multi_attack_count => 1 }
passive_flag = false
self.note.each_line { |line|
case line
when KGC::PassiveSkill::Regexp::Skill::BEGIN_PASSIVE
# 패시브 스킬 정의 개시
passive_flag = true
@__passive = true
when KGC::PassiveSkill::Regexp::Skill::END_PASSIVE
# 패시브 스킬 정의 종료
passive_flag = false
when KGC::PassiveSkill::Regexp::Skill::PASSIVE_PARAMS
# 능력치 수정
if passive_flag
apply_passive_params($1, $2.to_i, $3 != nil)
end
when KGC::PassiveSkill::Regexp::Skill::PASSIVE_ARRAYS
# 속성·스테이트
if passive_flag
apply_passive_arrays($1, $2.scan(/d+/))
end
when KGC::PassiveSkill::Regexp::Skill::PASSIVE_RESISTANCES
# 내성
if passive_flag
apply_passive_resistances($1, $2.to_i, $3.to_i)
end
else
# 특수 효과
if passive_flag
apply_passive_effects(line)
end
end
}
end
#--------------------------------------------------------------------------
# ○ 패시브 스킬의 능력치 수정을 적용
# param : 대상 파라미터
# value : 수정치
# rate : true (이)라면 % 지정
#--------------------------------------------------------------------------
def apply_passive_params(param, value, rate)
KGC::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
#--------------------------------------------------------------------------
# ○ 패시브 스킬의 추가 속성·스테이트를 적용
# param : 대상 파라미터
# list : 속성·스테이트 일람
#--------------------------------------------------------------------------
def apply_passive_arrays(param, list)
KGC::PassiveSkill::ARRAYS.each { |k, v|
if param =~ /(?:#{v})/i
values = []
list.each { |num| values << num.to_i }
@__passive_arrays[k] = [] if @__passive_arrays[k] == nil
@__passive_arrays[k] |= values
break
end
}
end
#--------------------------------------------------------------------------
# ○ 패시브 스킬의 내성을 적용
# param : 대상 파라미터
# id : 속성·스테이트 ID
# rate : 변동율
#--------------------------------------------------------------------------
def apply_passive_resistances(param, id, rate)
KGC::PassiveSkill::RESISTANCES.each { |k, v|
if param =~ /(?:#{v})/i
if @__passive_resistances[k] == nil
@__passive_resistances[k] = []
end
n = @__passive_resistances[k][id]
n = 100 if n == nil
@__passive_resistances[k][id] = n + rate - 100
break
end
}
end
#--------------------------------------------------------------------------
# ○ 패시브 스킬의 특수 효과를 적용
# effect : 대상 효과
#--------------------------------------------------------------------------
def apply_passive_effects(effect)
KGC::PassiveSkill::EFFECTS.each { |k, v|
if effect =~ /^s*(#{v})/i
case k
when :multi_attack_count
# 공격 회수
$1 =~ /#{v}/i
@__passive_effects[k] = [ $1.to_i, @__passive_effects[k] ].max
else
@__passive_effects[k] = true
end
break
end
}
end
#--------------------------------------------------------------------------
# ○ 패시브 스킬일까
#--------------------------------------------------------------------------
def passive
create_passive_skill_cache if @__passive == nil
return @__passive
end
#--------------------------------------------------------------------------
# ○ 패시브 스킬의 능력치 수정 (즉치)
#--------------------------------------------------------------------------
def passive_params
create_passive_skill_cache if @__passive_params == nil
return @__passive_params
end
#--------------------------------------------------------------------------
# ○ 패시브 스킬의 능력치 수정 (비율)
#--------------------------------------------------------------------------
def passive_params_rate
create_passive_skill_cache if @__passive_params_rate == nil
return @__passive_params_rate
end
#--------------------------------------------------------------------------
# ○ 패시브 스킬의 속성·스테이트 리스트
#--------------------------------------------------------------------------
def passive_arrays
create_passive_skill_cache if @__passive_arrays == nil
return @__passive_arrays
end
#--------------------------------------------------------------------------
# ○ 패시브 스킬의 내성 리스트
#--------------------------------------------------------------------------
def passive_resistances
create_passive_skill_cache if @__passive_resistances == nil
return @__passive_resistances
end
#--------------------------------------------------------------------------
# ○ 패시브 스킬의 특수 효과 리스트
#--------------------------------------------------------------------------
def passive_effects
create_passive_skill_cache if @__passive_effects == nil
return @__passive_effects
end
end
#★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★
#==============================================================================
# ■ Game_Actor
#==============================================================================
class Game_Actor < Game_Battler
#--------------------------------------------------------------------------
# ○ 클래스 변수
#--------------------------------------------------------------------------
@@passive_equip_test = false # 패시브 스킬용 장비 테스트 플래그
#--------------------------------------------------------------------------
# ● 셋업
# actor_id : 액터 ID
#--------------------------------------------------------------------------
alias setup_KGC_PassiveSkill setup
def setup(actor_id)
reset_passive_rev
setup_KGC_PassiveSkill(actor_id)
restore_passive_rev
end
#--------------------------------------------------------------------------
# ○ 패시브 스킬의 수정치를 초기화
#--------------------------------------------------------------------------
def reset_passive_rev
@passive_params = {}
@passive_params_rate = {}
@passive_arrays = {}
@passive_resistances = {}
@passive_effects = {}
KGC::PassiveSkill::PARAMS.each_key { |k|
@passive_params[k] = 0
@passive_params_rate[k] = 100
}
KGC::PassiveSkill::ARRAYS.each_key { |k| @passive_arrays[k] = [] }
KGC::PassiveSkill::RESISTANCES.each_key { |k| @passive_resistances[k] = [] }
KGC::PassiveSkill::EFFECTS.each_key { |k| @passive_effects[k] = false }
@passive_effects[:multi_attack_count] = 1
end
#--------------------------------------------------------------------------
# ○ 패시브 스킬의 수정치를 재설정
#--------------------------------------------------------------------------
def restore_passive_rev
return if @__passive_rev_restoring
# 수정전의 값을 보관 유지
last_effects = @passive_effects.clone if @passive_effects != nil
reset_passive_rev
# ≪스킬CP제≫ 의 병용을 고려해, 전투중 플래그를 일시적으로 온
last_in_battle = $game_temp.in_battle
$game_temp.in_battle = true
# 수정치를 취득
self.skills.each { |skill|
next unless skill.passive
skill.passive_params.each { |k, v| @passive_params[k] += v }
skill.passive_params_rate.each { |k, v| @passive_params_rate[k] += v }
skill.passive_arrays.each { |k, v| @passive_arrays[k] |= v }
skill.passive_resistances.each { |k, v|
v.each_with_index { |n, i|
next if n == nil
@passive_resistances[k][i] = 100 if @passive_resistances[k][i] == nil
@passive_resistances[k][i] += n - 100
}
}
skill.passive_effects.each { |k, v|
case k
when :multi_attack_count
@passive_effects[k] = [ v, @passive_effects[k] ].max
else
@passive_effects[k] |= v
end
}
}
$game_temp.in_battle = last_in_battle
@__passive_rev_restoring = true
# HP/MP (을)를 수정
self.hp = self.hp
self.mp = self.mp
# 쌍수검 위반을 수정
if !two_swords_style_KGC_PassiveSkill &&
last_effects[:two_swords_style] != nil &&
last_effects[:two_swords_style] != two_swords_style
@__one_time_two_swords_style = last_effects[:two_swords_style]
change_equip(1, nil, @@passive_equip_test)
@__one_time_two_swords_style = nil
end
@__passive_rev_restoring = nil
end
#--------------------------------------------------------------------------
# ○ 패시브 스킬에 의한 파라미터 수정치 (즉치)
#--------------------------------------------------------------------------
def passive_params
restore_passive_rev if @passive_params == nil
return @passive_params
end
#--------------------------------------------------------------------------
# ○ 패시브 스킬에 의한 파라미터 수정치 (비율)
#--------------------------------------------------------------------------
def passive_params_rate
restore_passive_rev if @passive_params_rate == nil
return @passive_params_rate
end
#--------------------------------------------------------------------------
# ○ 패시브 스킬에 의한 추가 속성·스테이트
#--------------------------------------------------------------------------
def passive_arrays
restore_passive_rev if @passive_arrays == nil
return @passive_arrays
end
#--------------------------------------------------------------------------
# ○ 패시브 스킬에 의한 내성
#--------------------------------------------------------------------------
def passive_resistances
restore_passive_rev if @passive_resistances == nil
return @passive_resistances
end
#--------------------------------------------------------------------------
# ○ 패시브 스킬에 의한 특수 효과
#--------------------------------------------------------------------------
def passive_effects
restore_passive_rev if @passive_effects == nil
return @passive_effects
end
#--------------------------------------------------------------------------
# ● 장비의 변경 (오브젝트로 지정)
# equip_type : 장비 부위 (0..4)
# item : 무기 or 방어구 (nil (이)라면 장비 해제)
# test : 테스트 플래그 (전투 테스트, 또는 장비 화면에서의 일시 장비)
#--------------------------------------------------------------------------
alias change_equip_KGC_PassiveSkill change_equip
def change_equip(equip_type, item, test = false)
@@passive_equip_test = test
change_equip_KGC_PassiveSkill(equip_type, item, test)
restore_passive_rev
@@passive_equip_test = false
end
#--------------------------------------------------------------------------
# ● 장비의 파기
# item : 파기하는 무기 or 방어구
# 무기/방어구의 증감으로 「장비품도 포함한다」 때 사용한다.
#--------------------------------------------------------------------------
alias discard_equip_KGC_PassiveSkill discard_equip
def discard_equip(item)
discard_equip_KGC_PassiveSkill(item)
restore_passive_rev
end
if $imported["AddEquipmentOptions"]
#--------------------------------------------------------------------------
# ○ 속성 내성의 취득
# element_id : 속성 ID
#--------------------------------------------------------------------------
alias element_resistance_KGC_PassiveSkill element_resistance
def element_resistance(element_id)
n = element_resistance_KGC_PassiveSkill(element_id)
rate = passive_resistances[:element][element_id]
n += (rate == nil ? 100 : rate) - 100
return n
end
#--------------------------------------------------------------------------
# ○ 스테이트 내성의 취득
# state_id : 스테이트 ID
#--------------------------------------------------------------------------
alias state_resistance_KGC_PassiveSkill state_resistance
def state_resistance(state_id)
n = state_resistance_KGC_PassiveSkill(state_id)
rate = passive_resistances[:state][state_id]
n += (rate == nil ? 100 : rate) - 100
return [n, 0].max
end
end # <-- if $imported["AddEquipmentOptions"]
#--------------------------------------------------------------------------
# ● 스테이트 무효화 판정
# state_id : 스테이트 ID
#--------------------------------------------------------------------------
alias state_resist_KGC_PassiveSkill? state_resist?
def state_resist?(state_id)
return true if passive_arrays[:invalid_state].include?(state_id)
return state_resist_KGC_PassiveSkill?(state_id)
end
#--------------------------------------------------------------------------
# ● 통상 공격의 속성 취득
#--------------------------------------------------------------------------
alias element_set_KGC_PassiveSkill element_set
def element_set
return (element_set_KGC_PassiveSkill | passive_arrays[:attack_element])
end
#--------------------------------------------------------------------------
# ● 통상 공격의 추가 효과 (스테이트 변화) 취득
#--------------------------------------------------------------------------
alias plus_state_set_KGC_PassiveSkill plus_state_set
def plus_state_set
return (plus_state_set_KGC_PassiveSkill | passive_arrays[:plus_state])
end
#--------------------------------------------------------------------------
# ● 기본 MaxHP 의 취득
#--------------------------------------------------------------------------
alias base_maxhp_KGC_PassiveSkill base_maxhp
def base_maxhp
n = base_maxhp_KGC_PassiveSkill + passive_params[:maxhp]
n = n * passive_params_rate[:maxhp] / 100
return n
end
#--------------------------------------------------------------------------
# ● 기본 MaxMP 의 취득
#--------------------------------------------------------------------------
alias base_maxmp_KGC_PassiveSkill base_maxmp
def base_maxmp
n = base_maxmp_KGC_PassiveSkill + passive_params[:maxmp]
n = n * passive_params_rate[:maxmp] / 100
return n
end
#--------------------------------------------------------------------------
# ● 기본 공격력의 취득
#--------------------------------------------------------------------------
alias base_atk_KGC_PassiveSkill base_atk
def base_atk
n = base_atk_KGC_PassiveSkill + passive_params[:atk]
n = n * passive_params_rate[:atk] / 100
return n
end
#--------------------------------------------------------------------------
# ● 기본 방어력의 취득
#--------------------------------------------------------------------------
alias base_def_KGC_PassiveSkill base_def
def base_def
n = base_def_KGC_PassiveSkill + passive_params[:def]
n = n * passive_params_rate[:def] / 100
return n
end
#--------------------------------------------------------------------------
# ● 기본 정신력의 취득
#--------------------------------------------------------------------------
alias base_spi_KGC_PassiveSkill base_spi
def base_spi
n = base_spi_KGC_PassiveSkill + passive_params[:spi]
n = n * passive_params_rate[:spi] / 100
return n
end
#--------------------------------------------------------------------------
# ● 기본 민첩성의 취득
#--------------------------------------------------------------------------
alias base_agi_KGC_PassiveSkill base_agi
def base_agi
n = base_agi_KGC_PassiveSkill + passive_params[:agi]
n = n * passive_params_rate[:agi] / 100
return n
end
#--------------------------------------------------------------------------
# ● 명중율의 취득
#--------------------------------------------------------------------------
alias hit_KGC_PassiveSkill hit
def hit
n = hit_KGC_PassiveSkill + passive_params[:hit]
n = n * passive_params_rate[:hit] / 100
return n
end
#--------------------------------------------------------------------------
# ● 회피율의 취득
#--------------------------------------------------------------------------
alias eva_KGC_PassiveSkill eva
def eva
n = eva_KGC_PassiveSkill + passive_params[:eva]
n = n * passive_params_rate[:eva] / 100
return n
end
#--------------------------------------------------------------------------
# ● 위기율의 취득
#--------------------------------------------------------------------------
alias cri_KGC_PassiveSkill cri
def cri
n = cri_KGC_PassiveSkill + passive_params[:cri]
n = n * passive_params_rate[:cri] / 100
n += 4 if passive_effects[:critical_bonus]
return n
end
#--------------------------------------------------------------------------
# ● 표적이 되기 쉬움의 취득
#--------------------------------------------------------------------------
alias odds_KGC_PassiveSkill odds
def odds
n = odds_KGC_PassiveSkill + passive_params[:odds]
n = n * passive_params_rate[:odds] / 100
return n
end
#--------------------------------------------------------------------------
# ● 옵션 [쌍수검] 의 취득
#--------------------------------------------------------------------------
alias two_swords_style_KGC_PassiveSkill two_swords_style
def two_swords_style
return @__one_time_two_swords_style if @__one_time_two_swords_style != nil
return (two_swords_style_KGC_PassiveSkill ||
passive_effects[:two_swords_style])
end
#--------------------------------------------------------------------------
# ● 옵션 [자동 전투] 의 취득
#--------------------------------------------------------------------------
alias auto_battle_KGC_PassiveSkill auto_battle
def auto_battle
return (auto_battle_KGC_PassiveSkill || passive_effects[:auto_battle])
end
#--------------------------------------------------------------------------
# ● 옵션 [강력 방어] 의 취득
#--------------------------------------------------------------------------
alias super_guard_KGC_PassiveSkill super_guard
def super_guard
return (super_guard_KGC_PassiveSkill || passive_effects[:super_guard])
end
#--------------------------------------------------------------------------
# ● 옵션 [약의 지식] 의 취득
#--------------------------------------------------------------------------
alias pharmacology_KGC_PassiveSkill pharmacology
def pharmacology
return (pharmacology_KGC_PassiveSkill || passive_effects[:pharmacology])
end
#--------------------------------------------------------------------------
# ● 무기 옵션 [턴내 선제] 의 취득
#--------------------------------------------------------------------------
alias fast_attack_KGC_PassiveSkill fast_attack
def fast_attack
return (fast_attack_KGC_PassiveSkill || passive_effects[:fast_attack])
end
#--------------------------------------------------------------------------
# ● 무기 옵션 [연속 공격] 의 취득
#--------------------------------------------------------------------------
alias dual_attack_KGC_PassiveSkill dual_attack
def dual_attack
if $imported["AddEquipmentOptions"]
# 2회 공격 이상이라면 무시
return false if passive_effects[:multi_attack_count] >= 2
end
return (dual_attack_KGC_PassiveSkill || passive_effects[:dual_attack])
end
#--------------------------------------------------------------------------
# ● 방어구 옵션 [위기 방지] 의 취득
#--------------------------------------------------------------------------
alias prevent_critical_KGC_PassiveSkill prevent_critical
def prevent_critical
return (prevent_critical_KGC_PassiveSkill ||
passive_effects[:prevent_critical])
end
#--------------------------------------------------------------------------
# ● 방어구 옵션 [소비 MP 반] 의 취득
#--------------------------------------------------------------------------
alias half_mp_cost_KGC_KGC_PassiveSkill half_mp_cost
def half_mp_cost
return (half_mp_cost_KGC_KGC_PassiveSkill ||
passive_effects[:half_mp_cost])
end
#--------------------------------------------------------------------------
# ● 방어구 옵션 [취득 경험치 2 배] 의 취득
#--------------------------------------------------------------------------
alias double_exp_gain_KGC_PassiveSkill double_exp_gain
def double_exp_gain
return (double_exp_gain_KGC_PassiveSkill ||
passive_effects[:double_exp_gain])
end
#--------------------------------------------------------------------------
# ● 스킬을 기억한다
# skill_id : 스킬 ID
#--------------------------------------------------------------------------
alias learn_skill_KGC_PassiveSkill learn_skill
def learn_skill(skill_id)
learn_skill_KGC_PassiveSkill(skill_id)
restore_passive_rev
end
#--------------------------------------------------------------------------
# ● 스킬을 잊는다
# skill_id : 스킬 ID
#--------------------------------------------------------------------------
alias forget_skill_KGC_PassiveSkill forget_skill
def forget_skill(skill_id)
forget_skill_KGC_PassiveSkill(skill_id)
restore_passive_rev
end
if $imported["ReproduceFunctions"]
#--------------------------------------------------------------------------
# ○ 오토 스테이트의 배열을 취득
# id_only : ID 만을 취득
#--------------------------------------------------------------------------
alias auto_states_KGC_PassiveSkill auto_states
def auto_states(id_only = false)
result = auto_states_KGC_PassiveSkill(id_only)
passive_arrays[:auto_state].each { |i|
result << (id_only ? i : $data_states[i])
}
result.uniq!
return result
end
#--------------------------------------------------------------------------
# ○ 장비 옵션 [전체 공격] 의 취득
#--------------------------------------------------------------------------
alias whole_attack_KGC_PassiveSkill whole_attack
def whole_attack
return (whole_attack_KGC_PassiveSkill || passive_effects[:whole_attack])
end
#--------------------------------------------------------------------------
# ○ 장비 옵션 [회피 무시] 의 취득
#--------------------------------------------------------------------------
alias ignore_eva_KGC_PassiveSkill ignore_eva
def ignore_eva
return (ignore_eva_KGC_PassiveSkill || passive_effects[:ignore_eva])
end
end # <-- if $imported["ReproduceFunctions"]
if $imported["AddEquipmentOptions"]
#--------------------------------------------------------------------------
# ○ 공격 회수의 취득
#--------------------------------------------------------------------------
alias multi_attack_count_KGC_PassiveSkill multi_attack_count
def multi_attack_count
n = multi_attack_count_KGC_PassiveSkill
return [ n, passive_effects[:multi_attack_count] ].max
end
end # <-- if $imported["AddEquipmentOptions"]
end # <-- class
#★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★
#==============================================================================
# ■ Window_EquipItem
#==============================================================================
class Window_EquipItem < Window_Item
#--------------------------------------------------------------------------
# ● 오브젝트 초기화
# x : 윈도우의 X 좌표
# y : 윈도우의 Y 좌표
# width : 윈도우의 폭
# height : 윈도우의 높이
# actor : 액터
# equip_type : 장비 부위 (04)
#--------------------------------------------------------------------------
alias initialize_KGC_PassiveSkill initialize unless $@
def initialize(x, y, width, height, actor, equip_type)
@original_equip_type = equip_type
initialize_KGC_PassiveSkill(x, y, width, height, actor, equip_type)
end
end
젝스님 요청으로 올립니다.
스킬 메모란에 이런식으로 작성
<PASSIVE_SKILL>
odds +5
ATK +5