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 6203
174 기타 멋진...제작자 정보를 그림으로 1 백호 2009.02.22 1233
173 기타 Near Fantastica's SDK Test Bed 3 file 백호 2009.02.22 885
172 기타 Text Scroll by Dubealex (Release 3) 2 file 백호 2009.02.22 940
171 기타 Multiple Currencies(여러 개의 통화단위 사용) 2 백호 2009.02.22 1124
170 기타 Terrain Encounter Areas by SephirothSpawn 백호 2009.02.22 778
169 기타 Random Character Generator by SephirothSpawn (SDK호환) 1 백호 2009.02.22 1041
168 기타 KGC - RMXP 스크립트 개발용 프로젝트 1.01 4 file 백호 2009.02.22 1515
167 기타 Dynamic Stores by Astro_mech@rmxp.net 1 file 백호 2009.02.22 878
166 기타 아래 스크립트에 대한 Guillaume777님의 개량판입니다. 백호 2009.02.22 880
165 기타 KGC 디버거 (최신 올라온 것에 비해 성능은 딸리지만) file 백호 2009.02.22 929
164 기타 일시정지 스크립트 2 file 백호 2009.02.22 1796
163 기타 Weather Script 1.02 by ccoa 1 file 백호 2009.02.22 810
162 기타 다중 파노라마 사용 by Guillaume777 file 백호 2009.02.22 886
161 기타 ABS 몬스터 HP 게이지 바 11 백호 2009.02.22 2485
160 기타 파노라마 스크롤 스크립트 개량판 by Guillaume777 1 백호 2009.02.22 896
159 기타 제작한 게임의 파일을 모두 exe파일 하나에 쓸어담기 by sheefo@Creation Asylum 1 file 백호 2009.02.22 1240
158 기타 ID띄우기 스크립트(新) 3 백호 2009.02.22 1280
157 기타 창고 시스템 8 백호 2009.02.22 1763
156 기타 Selected phyolomortis.com scripts 1 file 백호 2009.02.22 789
155 기타 스크립트 자료 3 file 백호 2009.02.22 905
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 11 12 13 Next
/ 13