VX 스크립트

피격시 받은 대미지의 일정 퍼센티지만큼을 MP로 흡수하는 스테이트를 작성가능한 스크립트입니다.

MP로 흡수하는 수치만큼 HP대미지를 경감한다거나 하는 기능은 없습니다.

해당 기능이 필요하신 분은 리퀘스트 주시면 해당 사양이 실장된 스크립트를 따로 만들어드리겠습니다.

 

 

 

 

module DEST21C
  module Damage_MP_Absorb
    # 대미지 MP흡수로 사용할 스테이트ID
    DMA_ID = 21
    # 흡수율(%)
    DMA_Percent = 5
    # 스테이트ID2 및 흡수율 (DMA_ID가 nil이 아니라면 DMA_Percent도 nil이어선 안됨)
    DMA_ID2 = nil
    DMA_Percent2 = nil
  end
end

class Game_Battler
  alias DMA_make_attack_damage_value make_attack_damage_value
  def make_attack_damage_value(attacker)
    DMA_make_attack_damage_value(attacker)
    for state in self.states
      if state.id == DEST21C::Damage_MP_Absorb::DMA_ID and @hp_damage > 0
        @mp_damage -= @hp_damage * DEST21C::Damage_MP_Absorb::DMA_Percent / 100
      end
      unless DEST21C::Damage_MP_Absorb::DMA_ID2 == nil
        if state.id == DEST21C::Damage_MP_Absorb::DMA_ID2 and @hp_damage > 0
          @mp_damage -= @hp_damage * DEST21C::Damage_MP_Absorb::DMA_Percent2 / 100
        end
      end
    end
  end
  alias DMA_make_obj_damage_value make_obj_damage_value
  def make_obj_damage_value(user, obj)
    DMA_obj_attack_damage_value(attacker)
    for state in self.states
      if state.id == DEST21C::Damage_MP_Absorb::DMA_ID and @hp_damage > 0
        @mp_damage -= @hp_damage * DEST21C::Damage_MP_Absorb::DMA_Percent / 100
      end
      unless DEST21C::Damage_MP_Absorb::DMA_ID2 == nil
        if state.id == DEST21C::Damage_MP_Absorb::DMA_ID2 and @hp_damage > 0
          @mp_damage -= @hp_damage * DEST21C::Damage_MP_Absorb::DMA_Percent2 / 100
        end
      end
    end
  end
end

 

문제는 이것도 테스트 안해봤다는거

Comment '4'
  • ?
    달표범 2009.09.01 08:19

    저번에 올린 마나실드의 부분 버젼이군요!

  • ?
    Evangelista 2009.09.01 08:34

    마나쉴드는 MP가 까지면서 HP대미지를 MP가 대신받는 기능이고

    대미지MP흡수는 대미지의 일정 부분을 MP로 흡수해 MP가 회복되는 기능입니다.

  • ?
    Berylll 2009.10.18 13:59
    30번째 줄 오류나네요...
  • ?
    rpg xp admy 2011.07.04 22:35

    14번째 줄 오류입니다. ;;^^


List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
공지 스크립트 자료 게시물 작성시 주의사항 3 습작 2012.12.24 5398
517 장비 루시퍼님이올리신 rei의 보이는 장비 아주 조금 해석본 2 file 비류 2010.01.08 2184
516 기타 전투후 이어지는 베경음 9 비극ㆍ 2010.04.19 2190
515 전투 Slip_Damage_Ex - 슬립데미지 확장기능 (상태별 슬립데미지 적용) 7 허걱 2012.07.24 2194
514 메시지 Advanced Text System 3.0b by Modern Algebra 3 file Alkaid 2010.09.05 2206
513 기타 이벤트 제작용 소품 모음 스크립트 12 시트르산 2010.09.10 2209
512 메시지 문장 및 페이스 정렬 바꾸기 (Neonblack's Text Alignment and Face Flip script) MinaAubert 2012.09.19 2214
511 기타 Fullscreen++ by Zeus81 (VX/VXA) 2 Alkaid 2012.09.01 2230
510 변수/스위치 VX Script Fix - Variable Operation (by Yeyinde) 8 WMN 2008.04.06 2267
509 전투 오버 드라이브 프로블럼 2 Man... 2008.10.28 2268
508 기타 블록 미니게임 11 file 사람이라면? 2010.08.15 2269
507 타이틀/게임오버 타이틀에서 홈페이지 연결 17 비극ㆍ 2010.04.19 2271
» 전투 대미지%MP흡수 스크립트 4 Evangelista 2009.08.31 2279
505 AntiLag_1.2h 23 file RPGbooster 2008.10.08 2284
504 장비 YERD - Extra Equipment Options ReDONE 7 훈덕 2009.11.08 2287
503 기타 2 Players Engine 11 레이니케 2008.03.28 2294
502 메시지 Advanced Text System 3.0c by Modern Algebra 3 file Alkaid 2010.09.08 2302
501 메시지 Universal Message System 0.3.0(beta) by ccoa 3 file Alkaid 2010.09.08 2304
500 기타 스크립트로 커먼 이벤트 실행 [수정] 3 허걱 2009.08.17 2311
499 기타 (좀 이상한 or 쓸모없을 듯 한)화면상에 몬스터와 만나려면 몇걸음 남았는지 표시하는 스크립트! 2 루시페르 2009.06.06 2318
498 이동 및 탈것 스위치 on일때 못 움직이게...(이동고정) 6 허걱 2009.07.14 2322
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 ... 32 Next
/ 32