기타

KGC 리버스 데미지!

by 루시페르 posted Apr 13, 2009
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

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

이 스크립트는 회복을 데미지로 바꾸어 버리는 스테이트(속성)을 작성할 수 있는 스크립
트 입니다~ 그러니까 스테이트의 메모창에 <리버스 데미지>라고 설정을 하시면
이 상태에 걸린 플레이어에게는 포션을 먹어도, 힐을 걸어주어도 무조건
데미지로 돌아와버리는 저주받은(?) 스크립트인 것입니다~

아래서부터 복사해주세요. 번역을 "네이버/ 인조이 재팬"의 도움을 받았습니다.

#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
#_/    ◆ 리버스 데미지 - KGC_ReverseDamage ◆ VX ◆
#_/    ◇ Last update : 2009/04/11 ◇
#_/----------------------------------------------------------------------------
#_/  데미지·회복의 효과를 반전시키는 스테이트를 작성합니다.
#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

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

module KGC
module ReverseDamage
  module Regexp
    module State
      # 리버스 데미지
      REVERSE_DAMAGE = /<(?:REVERSE_DAMAGE|리버스 데미지)>/i
    end
  end
end
end

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

#==============================================================================
# ■ RPG::State
#==============================================================================

class RPG::State
  #--------------------------------------------------------------------------
  # ○ 리버스 스테이트의 캐쉬 생성
  #--------------------------------------------------------------------------
  def create_reverse_damage_cache
    @__reverse_damage = false

    self.note.each_line { |line|
      case line
      when KGC::ReverseDamage::Regexp::State::REVERSE_DAMAGE  # 리버스 데미지
        @__reverse_damage = true
      end
    }
  end
  #--------------------------------------------------------------------------
  # ○ 리버스 데미지
  #--------------------------------------------------------------------------
  def reverse_damage?
    create_reverse_damage_cache if @__reverse_damage == nil
    return @__reverse_damage
  end
end

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

#==============================================================================
# ■ Game_Battler
#==============================================================================

class Game_Battler
  #--------------------------------------------------------------------------
  # ○ 리버스 상태 판정
  #--------------------------------------------------------------------------
  def reverse_damage?
    self.states.each { |state|
      return true if state.reverse_damage?
    }
    return false
  end
  #--------------------------------------------------------------------------
  # ● 데미지의 반영
  #     user : 스킬이나 아이템의 사용자
  #    호출전에 @hp_damage,@mp_damage,@absorbed 하지만 설정되어 있는 것.
  #--------------------------------------------------------------------------
  alias execute_damage_KGC_ReverseDamage execute_damage
  def execute_damage(user)
    if reverse_damage?
      @hp_damage = -@hp_damage
      @mp_damage = -@mp_damage
    end

    execute_damage_KGC_ReverseDamage(user)
  end
end

유용하게 사용하시길 바라고 혹시 궁금하신점 있으면 댓글달아주세요!
그리고

댓글안달고 막 퍼가는 사람 저주받습니다아~
-by LUCIFER