XP 스크립트

#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
#_/  ◆마법 반사 - KGC_SkillReflection◆
#_/----------------------------------------------------------------------------
#_/ 마법 반사 기능을 추가합니다.
#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

# 도입이 끝난 플래그를 온
$imported["SkillReflection"] = true

# 마법 반사용 스테이트 ID취득
for state in $data_states
  next if state == nil
  if state.name == "리후레크"
    $game_state_reflection = state.id
    break
  end
end

#==============================================================================
# ★ 커스터마이즈 항목 ★
#==============================================================================

class Scene_Battle
  # 리후레크용 애니메이션 ID
  REFLECTION_ANIM_ID = 101
end

#★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

#=== ===========================================================================
# ■ Game_Battler (분할 정의 2)
#------------------------------------------------------------------------------
#  버틀러를 취급하는 클래스입니다.이 클래스는 Game_Actor 클래스와 Game_Enemy 곳간
# 스의 슈퍼 클래스로서 사용됩니다.
#==============================================================================

class Game_Battler
#--------------------------------------------------------------------------
# ● 스테이트 [리후레크] 판정
# skill : 처리 대상의 스킬
#----------------------------------------------------------------- ---------
  def reflection?(skill)
    # 스테이트[리후레크]가 부가, 한편 스킬이 마법의 경우
    if @states.include?($game_state_reflection) &&
        skill.atk_f == 0 && skill.int_f > 0
      return true
    end
    return false
  end
end

#★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

#============================ ==================================================
# ■ Game_Battler (분할 정의 3)
#------------------------------------------------------------------------------
#  버틀러를 취급하는 클래스입니다.이 클래스는 Game_Actor 클래스와 Game_Enemy 곳간
# 스의 슈퍼 클래스로서 사용됩니다.
#==============================================================================

class Game_Battler
#--------------------------------------------------------------------------
# ● 스킬의 효과 적용
# user : 스킬의 사용자 (버틀러)
# skill : 스킬
#-------------------------------------------- ------------------------------
  alias skill_effect_KGC_SkillReflection skill_effect
  def skill_effect(user, skill)
    # 반사할 수 있는 경우는 돌아온다
    return false if user != self && self.reflection?(skill)

    # 원래의 처리를 실행
    return skill_effect_KGC_SkillReflection(user, skill)
  end
end

#★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

#==============================================================================
# ■ Scene_Battle (분할 정의 4)
#------------------------------------------------------------------------------
#  배틀 화면의 처리를 실시하는 클래스입니다.
#==============================================================================

class Scene_Battle
  #--------------------------------------------------------------------------
  # ● 스킬 액션 결과 작성
  #--------------------------------------------------------------------------
  alias make_skill_action_result_KGC_SkillReflection make_skill_action_result
  def make_skill_action_result
    # 원래의 처리를 실행
    make_skill_action_result_KGC_SkillReflection

    # 리후레크 발동 플래그를 오프
    @skill_reflected = false
    # 원래의 발동자 데미지를 초기화
    user_damage = 0
    for target in @target_battlers
      # 리후 레크 발동 판정
      if @skill != nil && target != @active_battler && target.reflection?(@skill)
        # 리후레크 발동 플래그를 온
        @skill_reflected = true
        # 발동자에게 뒤집는다
        @active_battler.skill_effect(@active_battler, @skill)
        # 데미지가 양쪽 모두 수치의 경우
        if user_damage.is_a?(Numeric) && @active_battler.damage.is_a?(Numeric)
          # 데미지를 가산
          user_damage += @active_battler.damage
        else
          # 그대로 설정
          user_damage = @active_battler.damage
        end
      end
    end
    # 최종적인 데미지를 적용
    @active_battler.damage = user_damage if @skill_reflected
  end
  #--------------------------------------------------------------------------
  # ● 프레임 갱신 (메인 국면 스텝 4 : 대상측 애니메이션)
  #--------------------------------------------------------------------------
  alias update_phase4_step4_KGC_SkillReflection update_phase4_step4
  def update_phase4_step4
    # 원래의 처리를 실행
    update_phase4_step4_KGC_SkillReflection

    # 리후레크가 발동했을 경우
    if @active_battler.current_action.kind == 1 && @skill_reflected
      # 대상측 애니메이션
      for target in @target_battlers
        # 대상의 리후레크가 발동했을 경우
        if target.reflection?(@skill)
          # 발동자에게 아니메이시 를 돌려준다
          @active_battler.animation_id = @animation2_id
          @active_battler.animation_hit = (target.damage != "Miss")
          # 타겟트후레크 발동 애니메이션을 설정
          target.animation_id = REFLECTION_ANIM_ID
          target.animation_hit = true
        end
      end
    end
  end
  #--------------------------------------------------------------------------
  # ● フレ?ム更新 (メインフェ?ズ ステップ 5 : ダメ?ジ表示)
  #--------------------------------------------------------------------------
  alias update_phase4_step5_KGC_SkillReflection update_phase4_step5
  def update_phase4_step5
    # 元の?理を?行
    update_phase4_step5_KGC_SkillReflection

    # リフレクが?動した場合
    if @skill_reflected
      # ?動者もダメ?ジ表示
      if @active_battler.damage != nil
        @active_battler.damage_pop = true
      end
      @skill_reflected = false
    end
  end
end

Who's *ps인간

?

Top mia

Comment '4'

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
공지 스크립트 자료 게시물 작성시 주의사항 습작 2012.12.24 6202
114 기타 어디에 쓰이는지 불확실한 스크립트 1 백호 2009.02.22 1063
113 기타 일본RPGXP게임에서 번역한 스크립트 입니다. 1 백호 2009.02.22 1735
112 기타 대화창 글자 한글자씩뜨는 스크립트 7 백호 2009.02.22 2185
111 기타 치트키 시스템 3 백호 2009.02.22 1594
110 기타 Crafting/Recipe system script by Axe Man Deke 백호 2009.02.22 829
109 기타 (T-RPG) 데미지 표시 시의 폰트를 설정 백호 2009.02.22 1349
108 기타 스테이터스 표시 플러스 1.00ver 백호 2009.02.22 1141
107 기타 메세지를 분출해 표시 백호 2009.02.22 1169
106 기타 레벨업시 전회복 by ccoa 8 백호 2009.02.22 2514
105 기타 Book Event v2 by Bruth 5 백호 2009.02.22 1694
104 기타 레벨, 능력치 무한 스크립트 3 백호 2009.02.22 1712
103 기타 광물캐기 스크립트 1 file 백호 2009.02.22 1850
102 기타 Defining Encounter Areas by RPG Advocate (사용법 첨부) file 백호 2009.02.22 1201
101 기타 풀스크린 스크립트 2 백호 2009.02.22 1407
100 기타 스크립트 자료 3 file 백호 2009.02.22 905
99 기타 Selected phyolomortis.com scripts 1 file 백호 2009.02.22 789
98 기타 창고 시스템 8 백호 2009.02.22 1763
97 기타 ID띄우기 스크립트(新) 3 백호 2009.02.22 1280
96 기타 제작한 게임의 파일을 모두 exe파일 하나에 쓸어담기 by sheefo@Creation Asylum 1 file 백호 2009.02.22 1240
95 기타 파노라마 스크롤 스크립트 개량판 by Guillaume777 1 백호 2009.02.22 896
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 11 12 13 Next
/ 13