잡담

허걱님 요기요~~ㅋㅋ

by 카르와푸딩의아틀리에 posted Jul 22, 2009
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

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


#===================================================================
# Jens009's Critical Flash
# August 4, 2008
# Version 1.0
# Description: Screen Flash when attacker deals critical damage    
# Aliased used:
#   jens009_add_critical_flash make_attack_damage_value
# Compatibility:
#   All systems.
#=====================================================================
# Start Game_Battler_Edit
#====================================================================
class Game_Battler

alias jens009_add_critical_flash make_attack_damage_value
#===================================================================
# Start Method edit
#===================================================================
def make_attack_damage_value(attacker)
  # Call Original Method
    jens009_add_critical_flash(attacker)
  # Check Critical Flag
    if @critical == true
      # Screen Flash
      $game_troop.screen.start_flash(Color.new(255,83,119,200), 30)
    end # END CHECK
  end # END Method Edit
end # End Class Edit

 

 

↑위에꺼는 현재 쓰고있는 크리티컬시 플래쉬스크립트(VX용)

 

↓아래는 KGC배틀러 이펙트 스크립트 (XP용)

 

#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
#_/    ◆버틀러 효과 - KGC_BattlerEffect◆
#_/----------------------------------------------------------------------------
#_/  행동시나 피데미지시에 버틀러 그래픽을 다양하게 애니메이션 시킵니다.
#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

#==============================================================================
# ★ 커스터마이즈 항목 - Customize ★
#==============================================================================

module KGC
  # ◆방어시 효과 경감
  #  true (으)로 하면, 방어시는 효과가 작아진다.
  BE_GUARD_REDUCTION = true
  # ◆적효과역방향
  #  true (으)로 하면, 적의 효과는 역방향이 된다.
  #  (시이크·줌계는 그대로)
  BE_ENEMY_REVERSE = true

  # ◆시이크 회수
  #  1회에 대해4프레임
  BE_SHAKE_COUNT = 3

  # ◆줌인 시간 【단위:프레임】
  #  반드시 6 이상을 지정.
  BE_ZOOM_IN_FRAME = 20
  # ◆줌인 배율(소수점 사용가능)
  BE_ZOOM_IN_MGN = 1.5

  # ◆히트 백 시간 【단위:프레임】
  #  반드시 6 이상을 지정.
  BE_HITBACK_FRAME = 20
  # ◆히트 백 거리 【단위:피크셀(px)】
  #  너무 작으면 버그일지도.
  BE_HITBACK_DISTANCE = 50

  # ◆스텝 시간 【단위:프레임】
  #  반드시 6 이상을 지정.
  BE_STEP_F_FRAME = 10
  # ◆스텝 거리 【단위:피크셀(px)】
  #  너무 작으면 버그일지도.
  BE_STEP_F_DISTANCE = 20

  # ◆줌 아웃 시간 【단위:프레임】
  #  반드시 6 이상을 지정.
  BE_ZOOM_OUT_FRAME = 20
  # ◆줌 아웃 배율(소수점 사용가능)
  BE_ZOOM_OUT_MGN = 0.75

  # ◆사이드스텝 시간 【단위:프레임】
  #  반드시 6 이상을 지정.
  BE_SIDE_STEP_FRAME = 10
  # ◆사이드스텝 거리 【단위:피크셀(px)】
  #  너무 작으면 버그일지도.
  BE_SIDE_STEP_DISTANCE = 20
  # ◆사이드스텝 방향 【단위:각도(0~359)】
  #  0 (을)를 우측향으로서 반시계회전.
  #  (0 미만을 지정하면 랜덤화)
  BE_SIDE_STEP_ANGLE = -1

  # ◆대상 효과 개시 타이밍
  # 【0…데미지 표시시  1…대상 애니메이션 개시시】
  BE_TARGET_TIMING = 0
  # ◆행동시 효과 제한
  #  허가하는 행동을 배열로 해 대입.
  # 【0…기본 행동  1…스킬  2…아이템】
  BE_ACTION_PERMIT = [0]

  # ◆액터 데미지 효과
  # 【0…시이크  1…줌인  2…히트 백  3…스텝
  #   4…줌 아웃  5…사이드스텝
  #   그 외…아무것도 없음】
  #  (이하 같이)
  BE_ACTOR_DAMAGE = 2
  # ◆액터 행동 시효과
  BE_ACTOR_ACTION = 3

  # ◆에너미 데미지 효과
  BE_ENEMY_DAMAGE = 0
  # ◆에너미 행동 시효과
  BE_ENEMY_ACTION = 3
end


#### BE_GUARD_REDUCTION
## Reduces scale of effect when guarding.

#### BE_ENEMY_REVERSE
## Reverses enemy's effect direction.

#### BE_SHAKE_COUNT
## Number of shake. (4 frames per 1 shake)


#### BE_ZOOM_IN_FRAME
## Zoom in duration. {Unit : frame}
# Should be 6 or more.

#### BE_ZOOM_IN_MGN
## Zoom magnification. (Can use decimal point.)


#### BE_HITBACK_FRAME
## Hitback duration. {Unit : frame}
# Should be 6 or more.

#### BE_HITBACK_DISTANCE
## Hitback distance. {Unit : pixel}


#### BE_STEP_F_FRAME
## Step duration. {Unit : frame}
# Should be 6 or more.

#### BE_STEP_F_DISTANCE
## Step distance. {Unit : pixel}


#### BE_ZOOM_OUT_FRAME
## Zoom out duration. {Unit : frame}
# Should be 6 or more.

#### BE_ZOOM_OUT_MGN
## Zoom magnification. (Can use decimal point.)


#### BE_SIDE_STEP_FRAME
## Side step duration. {Unit : frame}
# Should be 6 or more.

#### BE_SIDE_STEP_DISTANCE
## Side step distance. {Unit : pixel}

#### BE_SIDE_STEP_ANGLE
## Side step direction. {Unit : degree (0..359)}


#### BE_ACTOR_DAMAGE
## Actor's damage effect.
# << 0..Shake  1..Zoom in  2..Hitback  3..Step
#    4..Zoom out  5..Side Step
#    Others..None >>
#### BE_ACTOR_ACTION
## Actor's action effect.


#### BE_ENEMY_DAMAGE
## Enemy's damage effect.
#### BE_ENEMY_ACTION
## Enemy's action effect.

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

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

if $game_special_elements == nil
  $game_special_elements = {}
  $data_system = load_data("Data/System.rxdata")
end
# 효과 강제 속성
$game_special_elements["battler_effect_force_attacker"] = /행동자 효과(d+)/
$game_special_elements["battler_effect_force_target"] = /대상 효과(d+)/

#==============================================================================
# ■ Game_Battler (분할 정의 1)
#==============================================================================

class Game_Battler
  #--------------------------------------------------------------------------
  # ● 공개 인스턴스 변수
  #--------------------------------------------------------------------------
  attr_accessor :shake                    # 시이크후라그
  attr_accessor :zoom_in                  # 줌인 플래그
  attr_accessor :hitback                  # 히트 백 플래그
  attr_accessor :step_f                   # 스텝 플래그
  attr_accessor :zoom_out                 # 줌 아웃 플래그
  attr_accessor :side_step                # 사이드스텝후라그
  #--------------------------------------------------------------------------
  # ● 오브젝트 초기화
  #--------------------------------------------------------------------------
  alias initialize_KGC_BattlerEffect initialize
  def initialize
    # 원래의 처리를 실행
    initialize_KGC_BattlerEffect

    self.effect_reset
  end
  #--------------------------------------------------------------------------
  # ● 효과 리셋트
  #--------------------------------------------------------------------------
  def effect_reset
    @shake = false
    @zoom_in = false
    @hitback = false
    @step_f = false
    @zoom_out = false
    @side_step = false
  end
end

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

#==============================================================================
# ■ Sprite_Battler
#==============================================================================

class Sprite_Battler < RPG::Sprite
  #--------------------------------------------------------------------------
  # ● 오브젝트 초기화
  #     viewport : 뷰포트
  #     battler  : 버틀러 (Game_Battler)
  #--------------------------------------------------------------------------
  alias initialize_KGC_BattlerEffect initialize
  def initialize(viewport, battler = nil)
    initialize_KGC_BattlerEffect(viewport, battler)

    @_effect_reduction = false
    @_shake_duration = 0
    @_shake_count = 0
    @_shake_x = 0
    @_shake_y = 0
    @_zoom_in_duration = 0
    @_hitback_duration = 0
    @_step_f_duration = 0
    @_zoom_out_duration = 0
    @_side_step_duration = 0
    @_side_step_x = 0
    @_side_step_y = 0
  end
  #--------------------------------------------------------------------------
  # ● 시이크 개시
  #--------------------------------------------------------------------------
  def shake
    @_effect_reduction = KGC::BE_GUARD_REDUCTION ? @battler.guarding? : false
    @_shake_duration = 4
    @_shake_count = KGC::BE_SHAKE_COUNT
    @_shake_x = (@_effect_reduction ? rand(3) : rand(5)) + 1
    @_shake_y = (@_effect_reduction ? rand(3) : rand(5)) + 1
    @_shake_x *= -1 if rand(2) == 0
    @_shake_y *= -1 if rand(2) == 0
  end
  #--------------------------------------------------------------------------
  # ● 줌인 개시
  #--------------------------------------------------------------------------
  def zoom_in
    @_effect_reduction = KGC::BE_GUARD_REDUCTION ? @battler.guarding? : false
    @_zoom_in_duration = KGC::BE_ZOOM_IN_FRAME
  end
  #--------------------------------------------------------------------------
  # ● 히트 백 개시
  #--------------------------------------------------------------------------
  def hitback
    @_effect_reduction = KGC::BE_GUARD_REDUCTION ? @battler.guarding? : false
    @_hitback_duration = KGC::BE_HITBACK_FRAME
    @_default_y = self.y
  end
  #--------------------------------------------------------------------------
  # ● 스텝 개시
  #--------------------------------------------------------------------------
  def step_f
    @_effect_reduction = KGC::BE_GUARD_REDUCTION ? @battler.guarding? : false
    @_step_f_duration = KGC::BE_STEP_F_FRAME
    @_default_y = self.y
  end
  #--------------------------------------------------------------------------
  # ● 줌 아웃 개시
  #--------------------------------------------------------------------------
  def zoom_out
    @_effect_reduction = KGC::BE_GUARD_REDUCTION ? @battler.guarding? : false
    @_zoom_out_duration = KGC::BE_ZOOM_OUT_FRAME
  end
  #--------------------------------------------------------------------------
  # ● 사이드스텝 개시
  #--------------------------------------------------------------------------
  def side_step
    @_effect_reduction = KGC::BE_GUARD_REDUCTION ? @battler.guarding? : false
    @_side_step_duration = KGC::BE_SIDE_STEP_FRAME
    if KGC::BE_SIDE_STEP_ANGLE < 0
      ang = rand(360)
    else
      ang = KGC::BE_SIDE_STEP_ANGLE
    end
    rad = Math::PI * ang / 180
    @_side_step_x = KGC::BE_SIDE_STEP_DISTANCE * Math.cos(rad)
    @_side_step_y = KGC::BE_SIDE_STEP_DISTANCE * Math.sin(rad)
    if @_effect_reduction
      @_side_step_x /= 2
      @_side_step_y /= 2
    end
    if @battler.is_a?(Game_Enemy) && KGC::BE_ENEMY_REVERSE
      @_side_step_x *= -1
      @_side_step_y *= -1
    end
  end
  #--------------------------------------------------------------------------
  # ● 프레임 갱신
  #--------------------------------------------------------------------------
  alias update_KGC_BattlerEffect update
  def update
    update_KGC_BattlerEffect

    # 가시의 경우
    if @battler != nil && @battler_visible
      apply_effect
    end

    # Shake효과
    if @_shake_duration > 0
      update_shake
    end
    # ZoomIn효과
    if @_zoom_in_duration > 0
      update_zoom_in
    end
    # HitBack효과
    if @_hitback_duration > 0
      update_hitback
    end
    # Step효과
    if @_step_f_duration > 0
      update_step
    end
    # ZoomOut효과
    if @_zoom_out_duration > 0
      update_zoom_out
    end
    # SideStep효과
    if @_side_step_duration > 0
      update_side_step
    end
  end
  #--------------------------------------------------------------------------
  # ● 효과 적용
  #--------------------------------------------------------------------------
  def apply_effect
    # 시이크
    if @battler.shake
      shake
      @battler.shake = false
    end
    # 줌인
    if @battler.zoom_in
      zoom_in
      @battler.zoom_in = false
    end
    # 히트 백
    if @battler.hitback
      hitback
      @battler.hitback = false
    end
    # 스텝
    if @battler.step_f
      step_f
      @battler.step_f = false
    end
    # 줌 아웃
    if @battler.zoom_out
      zoom_out
      @battler.zoom_out = false
    end
    # 사이드스텝
    if @battler.side_step
      side_step
      @battler.side_step = false
    end
  end
  #--------------------------------------------------------------------------
  # ● 시이크 갱신
  #--------------------------------------------------------------------------
  def update_shake
    @_shake_duration -= 1
    case @_shake_duration
    when 3
      self.x -= @_shake_x
      self.y -= @_shake_y
    when 1..2
      self.x += @_shake_x
      self.y += @_shake_y
    when 0
      self.x -= @_shake_x
      self.y -= @_shake_y
    end
    if @_shake_duration == 0 && @_shake_count > 0
      @_shake_count -= 1
      @_shake_duration = 4
      @_shake_x = (@_effect_reduction ? rand(3) : rand(5)) + 1
      @_shake_y = (@_effect_reduction ? rand(3) : rand(5)) + 1
      @_shake_x *= -1 if rand(2) == 0
      @_shake_y *= -1 if rand(2) == 0
    end
  end
  #--------------------------------------------------------------------------
  # ● 줌인 갱신
  #--------------------------------------------------------------------------
  def update_zoom_in
    @_zoom_in_duration -= 1
    magnification = KGC::BE_ZOOM_IN_MGN * (@_effect_reduction ? 0.5 : 1.0)
    case @_zoom_in_duration
    when (KGC::BE_ZOOM_IN_FRAME - 3)...KGC::BE_ZOOM_IN_FRAME
      self.zoom_x += (magnification - 1.0) / 3.0
      self.zoom_y += (magnification - 1.0) / 3.0
      self.oy = self.bitmap.height -
        (self.bitmap.height * self.zoom_y - self.bitmap.height) / 4
    when 1...(KGC::BE_ZOOM_IN_FRAME - 3)
      self.zoom_x -= (magnification - 1.0) / (KGC::BE_ZOOM_IN_FRAME - 5)
      self.zoom_y -= (magnification - 1.0) / (KGC::BE_ZOOM_IN_FRAME - 5)
      self.oy = self.bitmap.height -
        (self.bitmap.height * self.zoom_y - self.bitmap.height) / 4
    when 0
      self.zoom_x = 1.0
      self.zoom_y = 1.0
      self.oy = self.bitmap.height
    end
  end
  #--------------------------------------------------------------------------
  # ● 히트 백 갱신
  #--------------------------------------------------------------------------
  def update_hitback
    @_hitback_duration -= 1
    hitback_y = KGC::BE_HITBACK_DISTANCE * (@_effect_reduction ? 0.5 : 1.0)
    hitback_y *= -1 if @battler.is_a?(Game_Enemy) && KGC::BE_ENEMY_REVERSE
    case @_hitback_duration
    when (KGC::BE_HITBACK_FRAME - 3)...KGC::BE_HITBACK_FRAME
      self.oy -= hitback_y / 3.0
    when 1...(KGC::BE_HITBACK_FRAME - 3)
      self.oy += hitback_y / (KGC::BE_HITBACK_FRAME - 5)
    when 0
      self.oy = self.bitmap.height
    end
  end
  #--------------------------------------------------------------------------
  # ● 스텝 갱신
  #--------------------------------------------------------------------------
  def update_step
    @_step_f_duration -= 1
    step_f_y = KGC::BE_STEP_F_DISTANCE * (@_effect_reduction ? 0.5 : 1.0)
    step_f_y *= -1 if @battler.is_a?(Game_Enemy) && KGC::BE_ENEMY_REVERSE
    case @_step_f_duration
    when (KGC::BE_STEP_F_FRAME - 3)...KGC::BE_STEP_F_FRAME
      self.oy += step_f_y / 3.0
    when 1...(KGC::BE_STEP_F_FRAME - 3)
      self.oy -= step_f_y / (KGC::BE_STEP_F_FRAME - 5)
    when 0
      self.oy = self.bitmap.height
    end
  end
  #--------------------------------------------------------------------------
  # ● 줌 아웃 갱신
  #--------------------------------------------------------------------------
  def update_zoom_out
    @_zoom_out_duration -= 1
    magnification = KGC::BE_ZOOM_OUT_MGN * (@_effect_reduction ? 0.5 : 1.0)
    case @_zoom_out_duration
    when (KGC::BE_ZOOM_OUT_FRAME - 3)...KGC::BE_ZOOM_OUT_FRAME
      self.zoom_x += (magnification - 1.0) / 3.0
      self.zoom_y += (magnification - 1.0) / 3.0
      self.oy = self.bitmap.height -
        (self.bitmap.height * self.zoom_y - self.bitmap.height) / 4
    when 1...(KGC::BE_ZOOM_OUT_FRAME - 3)
      self.zoom_x -= (magnification - 1.0) / (KGC::BE_ZOOM_OUT_FRAME - 5)
      self.zoom_y -= (magnification - 1.0) / (KGC::BE_ZOOM_OUT_FRAME - 5)
      self.oy = self.bitmap.height -
        (self.bitmap.height * self.zoom_y - self.bitmap.height) / 4
    when 0
      self.zoom_x = 1.0
      self.zoom_y = 1.0
      self.oy = self.bitmap.height
    end
  end
  #--------------------------------------------------------------------------
  # ● 사이드스텝 갱신
  #--------------------------------------------------------------------------
  def update_side_step
    @_side_step_duration -= 1
    case @_side_step_duration
    when (KGC::BE_SIDE_STEP_FRAME - 3)...KGC::BE_SIDE_STEP_FRAME
      self.ox += @_side_step_x / 3.0
      self.oy += @_side_step_y / 3.0
    when 1...(KGC::BE_SIDE_STEP_FRAME - 3)
      self.ox -= @_side_step_x / (KGC::BE_SIDE_STEP_FRAME - 5)
      self.oy -= @_side_step_y / (KGC::BE_SIDE_STEP_FRAME - 5)
    when 0
      self.ox = self.bitmap.width / 2
      self.oy = self.bitmap.height
    end
  end
end

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

#==============================================================================
# ■ Scene_Battle (분할 정의 4)
#==============================================================================

class Scene_Battle
  #--------------------------------------------------------------------------
  # ● 프레임 갱신 (메인 국면 스텝 3 : 행동측 애니메이션)
  #--------------------------------------------------------------------------
  alias update_phase4_step3_KGC_BattlerEffect update_phase4_step3
  def update_phase4_step3
    # 원래의 처리를 실행
    update_phase4_step3_KGC_BattlerEffect

    # 행동시 효과를 적용
    if KGC::BE_ACTION_PERMIT.include?(@active_battler.current_action.kind)
      apply_action_effect(@active_battler, @active_battler.current_action.kind)
    end
  end
  #--------------------------------------------------------------------------
  # ● 행동측 효과 적용
  #--------------------------------------------------------------------------
  def apply_action_effect(battler, kind)
    effect = -1
    # 통상 공격
    if kind == 0 && battler.current_action.basic == 0
      if battler.is_a?(Game_Actor)
        # 공격시 사용 무기 취득
        if $imported["EquipExtension"] && battler.two_swords?
          weapon = $data_weapons[battler.weapon_id(battler.attack_count)]
        else
          weapon = $data_weapons[battler.weapon_id]
        end
        if weapon != nil
          # 효과 강제 속성 판정
          weapon.element_set.each { |element|
            if $data_system.elements[element] =~
                $game_special_elements["battler_effect_force_attacker"]
              effect = $1.to_i
              break
            end
          }
        end
      else
        # 방어 속성 판정
        enemy = $data_enemies[battler.id]
        (1...$data_system.elements.size).each { |i|
          if $data_system.elements[i] =~
              $game_special_elements["battler_effect_force_attacker"] &&
              enemy.element_ranks[i] < 3
            effect = $1.to_i
            break
          end
        }
      end
    # 스킬
    elsif kind == 1
      if @skill != nil
        # 효과 강제 속성 판정
        @skill.element_set.each { |element|
          if $data_system.elements[element] =~
              $game_special_elements["battler_effect_force_attacker"]
            effect = $1.to_i
            break
          end
        }
      end
    # 아이템
    elsif kind == 2
      if @item != nil
        # 효과 강제 속성 판정
        @item.element_set.each { |element|
          if $data_system.elements[element] =~
              $game_special_elements["battler_effect_force_attacker"]
            effect = $1.to_i
            break
          end
        }
      end
    end
    if effect == -1
      effect = battler.is_a?(Game_Actor) ?
        KGC::BE_ACTOR_ACTION : KGC::BE_ENEMY_ACTION
    end
    # 효과 적용
    apply_effect(battler, effect)
  end
  #--------------------------------------------------------------------------
  # ● 효과 적용
  #--------------------------------------------------------------------------
  def apply_effect(battler, type)
    case type
    when 0  # 시이크
      battler.shake = true
    when 1  # 줌인
      battler.zoom_in = true
    when 2  # 히트 백
      battler.hitback = true
    when 3  # 스텝
      battler.step_f = true
    when 4  # 줌 아웃
      battler.zoom_out = true
    when 5  # 사이드스텝
      battler.side_step = true
    end
  end
  #--------------------------------------------------------------------------
  # ● 프레임 갱신 (메인 국면 스텝 4 : 대상측 애니메이션)
  #--------------------------------------------------------------------------
  alias update_phase4_step4_KGC_BattlerEffect update_phase4_step4
  def update_phase4_step4
    # 원래의 처리를 실행
    update_phase4_step4_KGC_BattlerEffect

    # 공격 애니메이션 개시시의 경우는 버틀러 효과 적용
    apply_target_effect if KGC::BE_TARGET_TIMING == 1
  end
  #--------------------------------------------------------------------------
  # ● 프레임 갱신 (메인 국면 스텝 5 : 데미지 표시)
  #--------------------------------------------------------------------------
  alias update_phase4_step5_KGC_BattlerEffect update_phase4_step5
  def update_phase4_step5
    # 원래의 처리를 실행
    update_phase4_step5_KGC_BattlerEffect

    # 데미지시의 경우는 버틀러 효과 적용
    apply_target_effect if KGC::BE_TARGET_TIMING == 0
  end
  #--------------------------------------------------------------------------
  # ● 대상측 효과 적용
  #--------------------------------------------------------------------------
  def apply_target_effect
    # 피데미지 효과 발동
    ($game_party.actors + $game_troop.enemies).each { |battler|
      # 데미지를 받았을 경우
      if battler.damage != nil && battler.damage.is_a?(Numeric) &&
          battler.damage > 0
        effect = -1
        # 통상 공격
        if @active_battler.current_action.kind == 0 &&
            @active_battler.current_action.basic == 0
          if @active_battler.is_a?(Game_Actor)
            # 공격시 사용 무기 취득
            if $imported["EquipExtension"] && @active_battler.two_swords?
              weapon = $data_weapons[@active_battler.weapon_id(@active_battler.attack_count)]
            else
              weapon = $data_weapons[@active_battler.weapon_id]
            end
            if weapon != nil
              # 효과 강제 속성 판정
              weapon.element_set.each { |element|
                if $data_system.elements[element] =~
                    $game_special_elements["battler_effect_force_target"]
                  effect = $1.to_i
                  break
                end
              }
            end
          else
            # 방어 속성 판정
            enemy = $data_enemies[@active_battler.id]
            (1...$data_system.elements.size).each { |i|
              if $data_system.elements[i] =~
                  $game_special_elements["battler_effect_force_target"] &&
                  enemy.element_ranks[i] < 3
                effect = $1.to_i
                break
              end
            }
          end
        # 스킬
        elsif @active_battler.current_action.kind == 1
          if @skill != nil
            # 효과 강제 속성 판정
            @skill.element_set.each { |element|
              if $data_system.elements[element] =~
                  $game_special_elements["battler_effect_force_target"]
                effect = $1.to_i
                break
              end
            }
          end
        # 아이템
        elsif @active_battler.current_action.kind == 2
          if @item != nil
            # 효과 강제 속성 판정
            @item.element_set.each { |element|
              if $data_system.elements[element] =~
                  $game_special_elements["battler_effect_force_target"]
                effect = $1.to_i
                break
              end
            }
          end
        end
        if effect == -1
          effect = battler.is_a?(Game_Actor) ?
            KGC::BE_ACTOR_DAMAGE : KGC::BE_ENEMY_DAMAGE
        end
        # 효과 적용
        apply_effect(battler, effect)
      end
    }
  end
end


 

TAG •

Who's 카르와푸딩의아틀리에

profile

엘카르디아 제작자 (현재 MV로 리메이크중)

유튜브

https://www.youtube.com/channel/UCMwirNTR-pOEzJNB0jL3y_g

트위터

https://twitter.com/karsis98

블로그

https://blog.naver.com/karsis98