#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
#_/ ◆무적 상태 - KGC_Invincible◆
#_/----------------------------------------------------------------------------
#_/ 무적 상태가 되는 스테이트를 작성합니다.
#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
$imported["Invincible"] = true
# 무적 상태 스테이트ID취득
for state in $data_states.compact
if state.name == "무적"
$game_state_invincible = state.id
break
end
end
#==============================================================================
# ■ Game_Battler (분할 정의 2)
#==============================================================================
class Game_Battler
#--------------------------------------------------------------------------
# ● 스테이트 [무적] 판정
# act : 처리 대상
#--------------------------------------------------------------------------
def invincible?(act = nil)
# 스테이트[무적]이 부가되고 있는 경우
if self.states.include?($game_state_invincible)
# 처리 대상으로 분기
case act
when RPG::Skill
return true if act.scope == 1 || act.scope == 2
when RPG::Item
return true if act.scope == 1 || act.scope == 2
when nil
return true
end
end
return false
end
end
#★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★
#==============================================================================
# ■ Game_Battler (분할 정의 3)
#==============================================================================
class Game_Battler
#--------------------------------------------------------------------------
# ● 통상 공격의 효과 적용
#--------------------------------------------------------------------------
alias attack_effect_KGC_Invincible attack_effect
def attack_effect(attacker)
# 무적 상태의 경우
if self.invincible?
# 데미지에 "Miss" 를 설정
self.damage = "Miss"
# 위기 플래그를 클리어
self.critical = false
# 가짜를 돌려주는
return false
end
# 원의 처리를 실행
return attack_effect_KGC_Invincible(attacker)
end
#--------------------------------------------------------------------------
# ● 스킬의 효과 적용
#--------------------------------------------------------------------------
alias skill_effect_KGC_Invincible skill_effect
def skill_effect(user, skill)
# 무적 상태의 경우
if self.invincible?(skill)
# 데미지에 "Miss" 를 설정
self.damage = "Miss"
# 위기 플래그를 클리어
self.critical = false
# 가짜를 돌려주는
return false
end
# 원의 처리를 실행
return skill_effect_KGC_Invincible(user, skill)
end
#--------------------------------------------------------------------------
# ● 아이템의 효과 적용
#--------------------------------------------------------------------------
alias item_effect_KGC_Invincible item_effect
def item_effect(item)
# 무적 상태의 경우
if self.invincible?(item)
# 데미지에 "Miss" 를 설정
self.damage = "Miss"
# 위기 플래그를 클리어
self.critical = false
# 가짜를 돌려주는
return false
end
# 원의 처리를 실행
return item_effect_KGC_Invincible(item)
end
end
#_/ ◆무적 상태 - KGC_Invincible◆
#_/----------------------------------------------------------------------------
#_/ 무적 상태가 되는 스테이트를 작성합니다.
#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
$imported["Invincible"] = true
# 무적 상태 스테이트ID취득
for state in $data_states.compact
if state.name == "무적"
$game_state_invincible = state.id
break
end
end
#==============================================================================
# ■ Game_Battler (분할 정의 2)
#==============================================================================
class Game_Battler
#--------------------------------------------------------------------------
# ● 스테이트 [무적] 판정
# act : 처리 대상
#--------------------------------------------------------------------------
def invincible?(act = nil)
# 스테이트[무적]이 부가되고 있는 경우
if self.states.include?($game_state_invincible)
# 처리 대상으로 분기
case act
when RPG::Skill
return true if act.scope == 1 || act.scope == 2
when RPG::Item
return true if act.scope == 1 || act.scope == 2
when nil
return true
end
end
return false
end
end
#★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★
#==============================================================================
# ■ Game_Battler (분할 정의 3)
#==============================================================================
class Game_Battler
#--------------------------------------------------------------------------
# ● 통상 공격의 효과 적용
#--------------------------------------------------------------------------
alias attack_effect_KGC_Invincible attack_effect
def attack_effect(attacker)
# 무적 상태의 경우
if self.invincible?
# 데미지에 "Miss" 를 설정
self.damage = "Miss"
# 위기 플래그를 클리어
self.critical = false
# 가짜를 돌려주는
return false
end
# 원의 처리를 실행
return attack_effect_KGC_Invincible(attacker)
end
#--------------------------------------------------------------------------
# ● 스킬의 효과 적용
#--------------------------------------------------------------------------
alias skill_effect_KGC_Invincible skill_effect
def skill_effect(user, skill)
# 무적 상태의 경우
if self.invincible?(skill)
# 데미지에 "Miss" 를 설정
self.damage = "Miss"
# 위기 플래그를 클리어
self.critical = false
# 가짜를 돌려주는
return false
end
# 원의 처리를 실행
return skill_effect_KGC_Invincible(user, skill)
end
#--------------------------------------------------------------------------
# ● 아이템의 효과 적용
#--------------------------------------------------------------------------
alias item_effect_KGC_Invincible item_effect
def item_effect(item)
# 무적 상태의 경우
if self.invincible?(item)
# 데미지에 "Miss" 를 설정
self.damage = "Miss"
# 위기 플래그를 클리어
self.critical = false
# 가짜를 돌려주는
return false
end
# 원의 처리를 실행
return item_effect_KGC_Invincible(item)
end
end