조회 수 311 추천 수 1 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
#_/    ◆마법 반사 - KGC_SkillReflection◆
#_/----------------------------------------------------------------------------
#_/  마법 반사 기능을 추가합니다.
#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

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

module KGC
  # ◆반사시 애니메이션 ID
  REFLECTION_ANIM_ID = 101
  # ◆반사 스테이트명
  REFLECTION_STATE_NAME = "리후레크"
end

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

$imported = {} if $imported == nil
$imported["SkillReflection"] = true

if $game_special_states == nil
  $game_special_states = {}
  $data_states = load_data("Data/States.rxdata")
end
# 마법 반사용 스테이트 ID취득
state = $data_states.compact.find { |s| s.name == KGC::REFLECTION_STATE_NAME }
$game_special_states["reflection"] = (state != nil ? state.id : 0)

#==============================================================================
# ■ Game_Battler (분할 정의 2)
#==============================================================================

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

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

#==============================================================================
# ■ Game_Battler (분할 정의 3)
#==============================================================================

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 = KGC::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















설명부분 이에요 ^^

다음에, 「리후레크」라고 하는 이름의 스테이트를 만듭니다.
(스테이트명은 커스터마이즈 항목으로 변경 가능)
이 스테이트는[저항하지 않는][배틀 종료시에 해제]를 체크해 둡니다.
그 외의 설정은 기호에 맞추어 주세요.
스킬의[공격력 F]를 1으로 하면, 반사 불가능한 마법을 표현할 수 있습니다.
?

  1. @brrsim_7텔레그램 선불유심내구제 급전 뽀로로통신 선불유심매입 뽀로로통신 선불유심현금화하는업체 선불유심구매 간편무서류소액급전

    Date2026.07.07 By선불유심내구제뽀로로통신 Views72
    Read More
  2. 선불유심내구제 텔레그램@brrsim_7 선불유심매입 선불유심구매 뽀로로통신 급전 대학생내구제 비상금 연체자바로소액급전 주말소액급전

    Date2026.07.07 By선불유심내구제뽀로로통신 Views97
    Read More
  3. @brrsim_7텔레그램 선불유심내구제 선불유심매입 선불폰내구제 뽀로로통신 급전 선불유심현금화하는업체 선불유심구매 무직신불자소액급전

    Date2026.07.07 By선불유심내구제뽀로로통신 Views69
    Read More
  4. 선불유심내구제 텔레그램@brrsim_7 급전 선불유심매입 뽀로로통신 청년비상금급전 내구제소액 소액급전 정식업체 선불유심구매

    Date2026.07.07 By선불유심내구제뽀로로통신 Views85
    Read More
  5. 선불유심내구제 텔레그램@brrsim_7 뽀로로통신 급전 선불유심매입 신불자소액내구제 연체자바로소액급전 선불유심구매 바로모바일급전

    Date2026.07.07 By선불유심내구제뽀로로통신 Views86
    Read More
  6. 선불유심삽니다 텔레그램@brrsim_7 선불유심내구제 뽀로로통신 선불유심매입 선불유심구매 소액내구제 급전 연체대납 바로소액급전 법인소액작업급전

    Date2026.07.07 By선불유심내구제뽀로로통신 Views92
    Read More
  7. @brrsim_7텔레그램 선불폰유심내구제 선불유심매입 뽀로로통신 급전 선불유심내구제 급전해결내구제 선불유심현금화하는업체 선불유심구매 바로무직자급전

    Date2026.07.07 By선불유심내구제뽀로로통신 Views72
    Read More
  8. 선불유심매입 텔레그램@brrsim_7 선불유심내구제 뽀로로통신 바로소액내구제급전 선불유심구매 급전 선불유심매입 바로소액급전 무서류무방문급전

    Date2026.07.07 By선불유심내구제뽀로로통신 Views91
    Read More
  9. @brrsim_7텔레그램 선불유심내구제 선불유심매입 뽀로로통신 급전 선불유심현금화하는업체 선불유심구매 백수바로급전내구제

    Date2026.07.07 By선불유심내구제뽀로로통신 Views90
    Read More
  10. 선불유심내구제 텔레그램@brrsim_7 선불유심매입 뽀로로통신 소액급전내구제 급전 연체자바로소액급전 선불유심구매 대학생용돈

    Date2026.07.07 By선불유심내구제뽀로로통신 Views83
    Read More
  11. @brrsim_7텔레그램 선불유심내구제 뽀로로통신 급전 선불유심매입 유심현금화하는업체 무직비상금바로급전 선불유심구매

    Date2026.07.07 By선불유심내구제뽀로로통신 Views79
    Read More
  12. 선불유심내구제 정식업체 텔레그램@brrsim_7선불유심매입 뽀로로통신 소상공인긴급생활안정자금 급전 선불유심구매 선불유심내구제 소액급전대출 바로신불급전가능

    Date2026.07.07 By선불유심내구제뽀로로통신 Views70
    Read More
  13. @brrsim_7텔레그램 선불유심매입 선불유심내구제 뽀로로통신 선불유심현금화하는업체 프리랜서소액급전 선불폰유심매입합니다 급전 선불유심구매 바로정산

    Date2026.07.07 By선불유심내구제뽀로로통신 Views88
    Read More
  14. @brrsim_7텔레그램 선불유심내구제 선불유심매입 뽀로로통신 급전 선불유심현금화하는업체 선불유심구매 백수바로급전내구제

    Date2026.07.06 By선불유심내구제뽀로로통신 Views121
    Read More
  15. 쯔꾸르 mv 게임을 apk 파일로 변환했는데...

    Date2023.01.14 By박하맛 Views2256
    Read More
  16. 쯔꾸르 젖소이야기 결혼 방법좀 알려주세요...

    Date2021.12.20 By백지씨 Views3711
    Read More
  17. apk포팅 승인 어케 하나요?

    Date2021.11.29 Bygame메이커xp Views2135
    Read More
  18. Yanfly님의 Action Sequence Pack 질문드립니다

    Date2021.07.15 ByNeuromancer Views2674
    Read More
  19. 싸게 MV 를 먼저? 아니면 돈을 더 들어서라도 MZ?

    Date2021.07.06 ByXatra Views2914
    Read More
  20. RMMV - 스탯창과 대화창 변견 관련 질문입니다. (초보입니다 도움좀 주세요 ㅜㅜ)

    Date2021.01.22 Byscribble Views2505
    Read More
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 443 Next
/ 443


[개인정보취급방침] | [이용약관] | [제휴문의] | [후원창구] | [인디사이드연혁]

Copyright © 1999 - 2016 INdiSide.com/(주)씨엘쓰리디 All Rights Reserved.
인디사이드 운영자 : 천무(이지선) | kernys(김원배) | 사신지(김병국)