기타

타격관계도 등의 한계돌파

by 시트르산 posted Sep 10, 2010
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄 수정 삭제

#출처 : http://daiambition.web.fc2.com/materialrgss2.html

 #- 이 스크립트는 한글 번역기를 통해 번역한 결과로서, 출처를 명확히 표기했습니다.

 #

#사용법 : 스크립트 복/붙 후

# 스킬·아이템의 메모란에 기입함으로서 작동

# 예 : 어떤 스킬의 타격 관계도 1000을 적용시킬 때

#        = > 해당 스킬의 메모란에

# <타격관계도 + ,1000 >

#  을 기입.

# 아래 스크립트의 주석에도 설명되어 있듯이, 데미지, 타격관계도, 정신관계도 ,속도보정, 무기방어구 능력치 변화량

# 스테이트의 능력치 변화율 등의 제한을 극복할 수 있는 스크립트.

# 아래부터 스크립트의 시작입니다.

 

=begin
■관계도등 한계 돌파 RGSS2 DAIpage■ v2.0

●기능●
 스킬·아이템의
 ·기본 데미지
 ·타격 관계도
 ·정신 관계도
 ·속도 보정치
 무기·방어구의 각 능력치 변화량
 스테이트의 각 능력치 변화율
 …(을)를 편집자로 설정할 수 있는 상한 이상으로 설정할 수 있습니다.

●사용법●
 스킬·아이템의 메모란에
 「 각 워드, 수치」와 같이 기입해 주세요.

 "에디터로 설정한 수치+메모에 기입한 수치"가 효과로서 반영됩니다.

 예:메모란에 이하와 같이 기입
 타격 관계도+,1000
 (본래의 타격 관계도+1000이 관계도로서 반영.)

  ◆스킬의 설정에 이용하는 워드◆
  "기본 데미지+"
  "타격 관계도+"
  "정신 관계도+"
  "속도 보정치+"
 
  ◆무기·방어구·스테이트의 설정에 이용하는 워드◆
  "공격력+"
  "방어력+"
  "정신력+"
  "민첩성+"

●재정의하고 있는 개소●
 module RPG내의 각 클래스를 앨리어스(alias)
 ※같은 개소를 변경하는 스크립트와 병용 했을 경우는 경합 할 가능성이 있습니다.

●갱신 이력●
09/03/21:버전 업.
     ·설정할 수 있는 항목을 큰폭으로 추가.명칭 변경.
     ·F12 리셋트 후의 에러 대책.
08/09/21:「관계도 한계 돌파」로서 공개.

=end
#==============================================================================
# ■ module DAI_RELATED
#==============================================================================
module DAI_RELATED
 
  #--------------------------------------------------------------------------
  # ● 워드 설정
  #--------------------------------------------------------------------------
 
  # 스킬·아이템
  BDM_WORD = "기본 데미지+"   # 판별용 문자열
  ATK_WORD = "타격 관계도+"     # 판별용 문자열
  SPI_WORD = "정신 관계도+"     # 판별용 문자열
  SPD_WORD = "속도 보정치+"     # 판별용 문자열
 
  # 무기·방어구·스테이트
  S_ATK_RE = "공격력+"   # 판별용 문자열
  S_DEF_RE = "방어력+"   # 판별용 문자열
  S_SPI_RE = "정신력+"   # 판별용 문자열
  S_AGI_RE = "민첩성+"   # 판별용 문자열
 
  #--------------------------------------------------------------------------
  # ● 메모란판별
  #--------------------------------------------------------------------------
  def dai_rel_note_include(text)
    self.note.each_line{|line|
      if line.include?(text)
        a = line.split(/s*,s*/)
        return a[1].to_i
      end
    }
    return 0
  end
end

#==============================================================================
# ■ RPG
#==============================================================================
module RPG
  #============================================================================
  # ■ RPG::BaseItem
  #============================================================================
  class BaseItem
    include DAI_RELATED
  end
  #============================================================================
  # ■ RPG::UsableItem
  #============================================================================
  class UsableItem < BaseItem
    #--------------------------------------------------------------------------
    # ● 기본 데미지
    #--------------------------------------------------------------------------
    alias dai_base_damage base_damage unless $@
    def base_damage
      return dai_base_damage + dai_rel_note_include(BDM_WORD)
    end
    #--------------------------------------------------------------------------
    # ● 타격 관계도
    #--------------------------------------------------------------------------
    alias dai_atk_f atk_f unless $@
    def atk_f
      return dai_atk_f + dai_rel_note_include(ATK_WORD)
    end
    #--------------------------------------------------------------------------
    # ● 정신 관계도
    #--------------------------------------------------------------------------
    alias dai_spi_f spi_f unless $@
    def spi_f
      return dai_spi_f + dai_rel_note_include(SPI_WORD)
    end
    #--------------------------------------------------------------------------
    # ● 속도 보정치
    #--------------------------------------------------------------------------
    alias dai_speed speed unless $@
    def speed
      return dai_speed + dai_rel_note_include(SPD_WORD)
    end
  end
  #============================================================================
  # ■ RPG::Weapon
  #============================================================================
  class Weapon < BaseItem
    #--------------------------------------------------------------------------
    # ● 공격력
    #--------------------------------------------------------------------------
    alias dai_atk atk unless $@
    def atk
      return dai_atk + dai_rel_note_include(S_ATK_RE)
    end
    #--------------------------------------------------------------------------
    # ● 방어력
    #--------------------------------------------------------------------------
    alias dai_def def unless $@
    def def
      return dai_def + dai_rel_note_include(S_DEF_RE)
    end
    #--------------------------------------------------------------------------
    # ● 정신력
    #--------------------------------------------------------------------------
    alias dai_spi spi unless $@
    def spi
      return dai_spi + dai_rel_note_include(S_SPI_RE)
    end
    #--------------------------------------------------------------------------
    # ● 민첩성
    #--------------------------------------------------------------------------
    alias dai_agi agi unless $@
    def agi
      return dai_agi + dai_rel_note_include(S_AGI_RE)
    end
  end
  #============================================================================
  # ■ RPG::Armor
  #============================================================================
  class Armor < BaseItem
    #--------------------------------------------------------------------------
    # ● 공격력
    #--------------------------------------------------------------------------
    alias dai_atk atk unless $@
    def atk
      return dai_atk + dai_rel_note_include(S_ATK_RE)
    end
    #--------------------------------------------------------------------------
    # ● 방어력
    #--------------------------------------------------------------------------
    alias dai_def def unless $@
    def def
      return dai_def + dai_rel_note_include(S_DEF_RE)
    end
    #--------------------------------------------------------------------------
    # ● 정신력
    #--------------------------------------------------------------------------
    alias dai_spi spi unless $@
    def spi
      return dai_spi + dai_rel_note_include(S_SPI_RE)
    end
    #--------------------------------------------------------------------------
    # ● 민첩성
    #--------------------------------------------------------------------------
    alias dai_agi agi unless $@
    def agi
      return dai_agi + dai_rel_note_include(S_AGI_RE)
    end
  end
  #============================================================================
  # ■ RPG::State
  #============================================================================
  class State
    include DAI_RELATED
    #--------------------------------------------------------------------------
    # ● 공격력 %
    #--------------------------------------------------------------------------
    alias dai_atk_rate atk_rate unless $@
    def atk_rate
      return dai_atk_rate + dai_rel_note_include(S_ATK_RE)
    end
    #--------------------------------------------------------------------------
    # ● 방어력 %
    #--------------------------------------------------------------------------
    alias dai_def_rate def_rate unless $@
    def def_rate
      return dai_def_rate + dai_rel_note_include(S_DEF_RE)
    end
    #--------------------------------------------------------------------------
    # ● 정신력 %
    #--------------------------------------------------------------------------
    alias dai_spi_rate spi_rate unless $@
    def spi_rate
      return dai_spi_rate + dai_rel_note_include(S_SPI_RE)
    end
    #--------------------------------------------------------------------------
    # ● 민첩성 %
    #--------------------------------------------------------------------------
    alias dai_agi_rate agi_rate unless $@
    def agi_rate
      return dai_agi_rate + dai_rel_note_include(S_AGI_RE)
    end
  end
end