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 7316
1021 메시지 Taylor's Simple Message System 2000 Alkaid 2020.07.05 315
1020 제작도구 [XP/VX/VXA] Doodad's Editor by newold Alkaid 2020.07.12 463
1019 이름입력 한글조합입력기(영어가능) file 조규진1 2019.11.10 589
1018 기타 [All RGSS] FileTest (Unicode) file Cheapmunk 2014.12.29 659
1017 전투 전투중에 장비들 교체하기 file 레이스89 2017.08.19 682
1016 기타 에어리어 설정 by RPG Advocate 백호 2009.02.22 735
1015 기타 Boat Script 백호 2009.02.21 751
1014 기타 Materia System file 백호 2009.02.21 767
1013 기타 Localization by ForeverZer0, KK20 습작 2013.04.26 767
1012 기타 killer님 요청하신 스크립트 두번째입니다. 나뚜루 2009.02.21 772
1011 스킬 SG_Escape Only Skills by sandgolem (SDK호환) 백호 2009.02.22 772
1010 기타 Letter by Letter Message Window by slipknot@rmxp.org (SDK호환) 1 file 백호 2009.02.22 775
1009 기타 Real-Time Day Night 3 백호 2009.02.22 777
1008 맵/타일 맵연결 스크립트 (데모첨부) file 게임애호가 2018.06.15 777
1007 스킬 Skill Requirements by SephirothSpawn (SDK호환) file 백호 2009.02.22 781
1006 기타 AMS-Advanced Message Script Edited by Dubleax 3 file 백호 2009.02.21 783
1005 기타 Sphere Grid System file 백호 2009.02.21 786
1004 기타 Activation_system file 백호 2009.02.22 787
1003 기타 Terrain Encounter Areas by SephirothSpawn 백호 2009.02.22 792
1002 전투 전투 관련 횟수 취득 스크립트 백호 2009.02.21 793
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 ... 52 Next
/ 52