スプライトや行動に関するメソッドを追加したバトラーのクラスです。このクラス は Game_Actor クラスと Game_Enemy クラスのスーパークラスとして使用されます。

Methods
A
B
C
D
E
F
I
L
M
N
O
P
R
S
U
Constants
EFFECT_RECOVER_HP = 11
 

定数(使用効果)

EFFECT_RECOVER_MP = 12
 
EFFECT_GAIN_TP = 13
 
EFFECT_ADD_STATE = 21
 
EFFECT_REMOVE_STATE = 22
 
EFFECT_ADD_BUFF = 31
 
EFFECT_ADD_DEBUFF = 32
 
EFFECT_REMOVE_BUFF = 33
 
EFFECT_REMOVE_DEBUFF = 34
 
EFFECT_SPECIAL = 41
 
EFFECT_GROW = 42
 
EFFECT_LEARN_SKILL = 43
 
EFFECT_COMMON_EVENT = 44
 
SPECIAL_EFFECT_ESCAPE = 0
 

定数(特殊効果)

Attributes
[R] action_times
[R] actions
[RW] animation_id
[RW] animation_mirror
[R] battler_hue
[R] battler_name

公開インスタンス変数

[RW] last_target_index
[R] result
[R] speed
[RW] sprite_effect_type
Class Public methods
new()

オブジェクト初期化

# File Game_Battler.rb, line 47
def initialize
  @battler_name = ""
  @battler_hue = 0
  @actions = []
  @speed = 0
  @result = Game_ActionResult.new(self)
  @last_target_index = 0
  @guarding = false
  clear_sprite_effects
  super
end
Instance Public methods
add_buff(param_id, turns)

能力強化

# File Game_Battler.rb, line 188
def add_buff(param_id, turns)
  return unless alive?
  @buffs[param_id] += 1 unless buff_max?(param_id)
  erase_buff(param_id) if debuff?(param_id)
  overwrite_buff_turns(param_id, turns)
  @result.added_buffs.push(param_id).uniq!
  refresh
end
add_debuff(param_id, turns)

能力弱体

# File Game_Battler.rb, line 200
def add_debuff(param_id, turns)
  return unless alive?
  @buffs[param_id] -= 1 unless debuff_max?(param_id)
  erase_buff(param_id) if buff?(param_id)
  overwrite_buff_turns(param_id, turns)
  @result.added_debuffs.push(param_id).uniq!
  refresh
end
add_new_state(state_id)

新しいステートの付加

# File Game_Battler.rb, line 119
def add_new_state(state_id)
  die if state_id == death_state_id
  @states.push(state_id)
  on_restrict if restriction > 0
  sort_states
  refresh
end
add_state(state_id)

ステートの付加

# File Game_Battler.rb, line 86
def add_state(state_id)
  if state_addable?(state_id)
    add_new_state(state_id) unless state?(state_id)
    reset_state_counts(state_id)
    @result.added_states.push(state_id).uniq!
  end
end
apply_critical(damage)

クリティカルの適用

# File Game_Battler.rb, line 424
def apply_critical(damage)
  damage * 3
end
apply_guard(damage)

防御修正の適用

# File Game_Battler.rb, line 440
def apply_guard(damage)
  damage / (damage > 0 && guard? ? 2 * grd : 1)
end
apply_variance(damage, variance)

分散度の適用

# File Game_Battler.rb, line 431
def apply_variance(damage, variance)
  amp = [damage.abs * variance / 100, 0].max.to_i
  var = rand(amp + 1) + rand(amp + 1) - amp
  damage >= 0 ? damage + var : damage - var
end
attack_apply(attacker)

通常攻撃の効果適用

# File Game_Battler.rb, line 549
def attack_apply(attacker)
  item_apply(attacker, $data_skills[attacker.attack_skill_id])
end
buff?(param_id)

能力強化状態の判定

# File Game_Battler.rb, line 232
def buff?(param_id)
  @buffs[param_id] > 0
end
buff_max?(param_id)

能力強化が最大の段階か否かを判定

# File Game_Battler.rb, line 246
def buff_max?(param_id)
  @buffs[param_id] == 2
end
charge_tp_by_damage(damage_rate)

被ダメージによる TP チャージ

# File Game_Battler.rb, line 820
def charge_tp_by_damage(damage_rate)
  self.tp += 50 * damage_rate * tcr
end
clear_actions()

戦闘行動のクリア

# File Game_Battler.rb, line 71
def clear_actions
  @actions.clear
end
clear_sprite_effects()

スプライトのエフェクトをクリア

# File Game_Battler.rb, line 62
def clear_sprite_effects
  @animation_id = 0
  @animation_mirror = false
  @sprite_effect_type = nil
end
clear_states()

ステート情報をクリア

# File Game_Battler.rb, line 78
def clear_states
  super
  @result.clear_status_effects
end
clear_tp()

TP のクリア

# File Game_Battler.rb, line 813
def clear_tp
  self.tp = 0
end
consume_item(item)

アイテムの消耗

# File Game_Battler.rb, line 470
def consume_item(item)
  $game_party.consume_item(item)
end
current_action()

現在の戦闘行動を取得

# File Game_Battler.rb, line 358
def current_action
  @actions[0]
end
debuff?(param_id)

能力弱体状態の判定

# File Game_Battler.rb, line 239
def debuff?(param_id)
  @buffs[param_id] < 0
end
debuff_max?(param_id)

能力弱体が最大の段階か否かを判定

# File Game_Battler.rb, line 253
def debuff_max?(param_id)
  @buffs[param_id] == -2
end
die()

戦闘不能になる

# File Game_Battler.rb, line 162
def die
  @hp = 0
  clear_states
  clear_buffs
end
elements_max_rate(elements)

属性の最大修正値の取得

elements : 属性 ID の配列 与えられた属性の中で最も有効な修正値を返す

# File Game_Battler.rb, line 417
def elements_max_rate(elements)
  elements.inject([0.0]) {|r, i| r.push(element_rate(i)) }.max
end
erase_buff(param_id)

能力強化/弱体の消去

# File Game_Battler.rb, line 224
def erase_buff(param_id)
  @buffs[param_id] = 0
  @buff_turns[param_id] = 0
end
escape()

逃げる

# File Game_Battler.rb, line 178
def escape
  hide if $game_party.in_battle
  clear_actions
  clear_states
  Sound.play_escape
end
execute_damage(user)

ダメージの処理

呼び出し前に `@result.hp_damage` `@result.mp_damage` @result.hp_drain `@result.mp_drain` が設定されていること。

# File Game_Battler.rb, line 449
def execute_damage(user)
  on_damage(@result.hp_damage) if @result.hp_damage > 0
  self.hp -= @result.hp_damage
  self.mp -= @result.mp_damage
  user.hp += @result.hp_drain
  user.mp += @result.mp_drain
end
force_action(skill_id, target_index)

戦闘行動の強制

# File Game_Battler.rb, line 372
def force_action(skill_id, target_index)
  clear_actions
  action = Game_Action.new(self, true)
  action.set_skill(skill_id)
  if target_index == -2
    action.target_index = last_target_index
  elsif target_index == -1
    action.decide_random_target
  else
    action.target_index = target_index
  end
  @actions.push(action)
end
init_tp()

TP の初期化

# File Game_Battler.rb, line 806
def init_tp
  self.tp = rand * 25
end
item_apply(user, item)

スキル/アイテムの効果適用

# File Game_Battler.rb, line 556
def item_apply(user, item)
  @result.clear
  @result.used = item_test(user, item)
  @result.missed = (@result.used && rand >= item_hit(user, item))
  @result.evaded = (!@result.missed && rand < item_eva(user, item))
  if @result.hit?
    unless item.damage.none?
      @result.critical = (rand < item_cri(user, item))
      make_damage_value(user, item)
      execute_damage(user)
    end
    item.effects.each {|effect| item_effect_apply(user, item, effect) }
    item_user_effect(user, item)
  end
end
item_cnt(user, item)

スキル/アイテムの反撃率計算

# File Game_Battler.rb, line 507
def item_cnt(user, item)
  return 0 unless item.physical?          # 命中タイプが物理ではない
  return 0 unless opposite?(user)         # 味方には反撃しない
  return cnt                              # 反撃率を返す
end
item_cri(user, item)

スキル/アイテムの会心率計算

# File Game_Battler.rb, line 542
def item_cri(user, item)
  item.damage.critical ? user.cri * (1 - cev) : 0
end
item_effect_add_buff(user, item, effect)

使用効果[能力強化]

# File Game_Battler.rb, line 711
def item_effect_add_buff(user, item, effect)
  add_buff(effect.data_id, effect.value1)
  @result.success = true
end
item_effect_add_debuff(user, item, effect)

使用効果[能力弱体]

# File Game_Battler.rb, line 719
def item_effect_add_debuff(user, item, effect)
  chance = debuff_rate(effect.data_id) * luk_effect_rate(user)
  if rand < chance
    add_debuff(effect.data_id, effect.value1)
    @result.success = true
  end
end
item_effect_add_state(user, item, effect)

使用効果[ステート付加]

# File Game_Battler.rb, line 660
def item_effect_add_state(user, item, effect)
  if effect.data_id == 0
    item_effect_add_state_attack(user, item, effect)
  else
    item_effect_add_state_normal(user, item, effect)
  end
end
item_effect_add_state_attack(user, item, effect)

使用効果[ステート付加]:通常攻撃

# File Game_Battler.rb, line 671
def item_effect_add_state_attack(user, item, effect)
  user.atk_states.each do |state_id|
    chance = effect.value1
    chance *= state_rate(state_id)
    chance *= user.atk_states_rate(state_id)
    chance *= luk_effect_rate(user)
    if rand < chance
      add_state(state_id)
      @result.success = true
    end
  end
end
item_effect_add_state_normal(user, item, effect)

使用効果[ステート付加]:通常

# File Game_Battler.rb, line 687
def item_effect_add_state_normal(user, item, effect)
  chance = effect.value1
  chance *= state_rate(effect.data_id) if opposite?(user)
  chance *= luk_effect_rate(user)      if opposite?(user)
  if rand < chance
    add_state(effect.data_id)
    @result.success = true
  end
end
item_effect_apply(user, item, effect)

使用効果の適用

# File Game_Battler.rb, line 603
def item_effect_apply(user, item, effect)
  method_table = {
    EFFECT_RECOVER_HP    => :item_effect_recover_hp,
    EFFECT_RECOVER_MP    => :item_effect_recover_mp,
    EFFECT_GAIN_TP       => :item_effect_gain_tp,
    EFFECT_ADD_STATE     => :item_effect_add_state,
    EFFECT_REMOVE_STATE  => :item_effect_remove_state,
    EFFECT_ADD_BUFF      => :item_effect_add_buff,
    EFFECT_ADD_DEBUFF    => :item_effect_add_debuff,
    EFFECT_REMOVE_BUFF   => :item_effect_remove_buff,
    EFFECT_REMOVE_DEBUFF => :item_effect_remove_debuff,
    EFFECT_SPECIAL       => :item_effect_special,
    EFFECT_GROW          => :item_effect_grow,
    EFFECT_LEARN_SKILL   => :item_effect_learn_skill,
    EFFECT_COMMON_EVENT  => :item_effect_common_event,
  }
  method_name = method_table[effect.code]
  send(method_name, user, item, effect) if method_name
end
item_effect_common_event(user, item, effect)

使用効果[コモンイベント]

# File Game_Battler.rb, line 773
def item_effect_common_event(user, item, effect)
end
item_effect_gain_tp(user, item, effect)

使用効果[TP 増加]

# File Game_Battler.rb, line 650
def item_effect_gain_tp(user, item, effect)
  value = effect.value1.to_i
  @result.tp_damage -= value
  @result.success = true if value != 0
  self.tp += value
end
item_effect_grow(user, item, effect)

使用効果[成長]

# File Game_Battler.rb, line 757
def item_effect_grow(user, item, effect)
  add_param(effect.data_id, effect.value1.to_i)
  @result.success = true
end
item_effect_learn_skill(user, item, effect)

使用効果[スキル習得]

# File Game_Battler.rb, line 765
def item_effect_learn_skill(user, item, effect)
  learn_skill(effect.data_id) if actor?
  @result.success = true
end
item_effect_recover_hp(user, item, effect)

使用効果[HP 回復]

# File Game_Battler.rb, line 626
def item_effect_recover_hp(user, item, effect)
  value = (mhp * effect.value1 + effect.value2) * rec
  value *= user.pha if item.is_a?(RPG::Item)
  value = value.to_i
  @result.hp_damage -= value
  @result.success = true
  self.hp += value
end
item_effect_recover_mp(user, item, effect)

使用効果[MP 回復]

# File Game_Battler.rb, line 638
def item_effect_recover_mp(user, item, effect)
  value = (mmp * effect.value1 + effect.value2) * rec
  value *= user.pha if item.is_a?(RPG::Item)
  value = value.to_i
  @result.mp_damage -= value
  @result.success = true if value != 0
  self.mp += value
end
item_effect_remove_buff(user, item, effect)

使用効果[能力強化の解除]

# File Game_Battler.rb, line 730
def item_effect_remove_buff(user, item, effect)
  remove_buff(effect.data_id) if @buffs[effect.data_id] > 0
  @result.success = true
end
item_effect_remove_debuff(user, item, effect)

使用効果[能力弱体の解除]

# File Game_Battler.rb, line 738
def item_effect_remove_debuff(user, item, effect)
  remove_buff(effect.data_id) if @buffs[effect.data_id] < 0
  @result.success = true
end
item_effect_remove_state(user, item, effect)

使用効果[ステート解除]

# File Game_Battler.rb, line 700
def item_effect_remove_state(user, item, effect)
  chance = effect.value1
  if rand < chance
    remove_state(effect.data_id)
    @result.success = true
  end
end
item_effect_special(user, item, effect)

使用効果[特殊効果]

# File Game_Battler.rb, line 746
def item_effect_special(user, item, effect)
  case effect.data_id
  when SPECIAL_EFFECT_ESCAPE
    escape
  end
  @result.success = true
end
item_effect_test(user, item, effect)

使用効果のテスト

# File Game_Battler.rb, line 575
def item_effect_test(user, item, effect)
  case effect.code
  when EFFECT_RECOVER_HP
    hp < mhp || effect.value1 < 0 || effect.value2 < 0
  when EFFECT_RECOVER_MP
    mp < mmp || effect.value1 < 0 || effect.value2 < 0
  when EFFECT_ADD_STATE
    !state?(effect.data_id)
  when EFFECT_REMOVE_STATE
    state?(effect.data_id)
  when EFFECT_ADD_BUFF
    !buff_max?(effect.data_id)
  when EFFECT_ADD_DEBUFF
    !debuff_max?(effect.data_id)
  when EFFECT_REMOVE_BUFF
    buff?(effect.data_id)
  when EFFECT_REMOVE_DEBUFF
    debuff?(effect.data_id)
  when EFFECT_LEARN_SKILL
    actor? && !skills.include?($data_skills[effect.data_id])
  else
    true
  end
end
item_element_rate(user, item)

スキル/アイテムの属性修正値を取得

# File Game_Battler.rb, line 404
def item_element_rate(user, item)
  if item.damage.element_id < 0
    user.atk_elements.empty? ? 1.0 : elements_max_rate(user.atk_elements)
  else
    element_rate(item.damage.element_id)
  end
end
item_eva(user, item)

スキル/アイテムの回避率計算

# File Game_Battler.rb, line 533
def item_eva(user, item)
  return eva if item.physical?            # 物理攻撃なら回避率を返す
  return mev if item.magical?             # 魔法攻撃なら魔法回避率を返す
  return 0
end
item_global_effect_apply(effect)

使用対象以外に対する使用効果の適用

# File Game_Battler.rb, line 477
def item_global_effect_apply(effect)
  if effect.code == EFFECT_COMMON_EVENT
    $game_temp.reserve_common_event(effect.data_id)
  end
end
item_has_any_valid_effects?(user, item)

スキル/アイテムに有効な使用効果が一つでもあるかを判定

# File Game_Battler.rb, line 500
def item_has_any_valid_effects?(user, item)
  item.effects.any? {|effect| item_effect_test(user, item, effect) }
end
item_hit(user, item)

スキル/アイテムの命中率計算

# File Game_Battler.rb, line 524
def item_hit(user, item)
  rate = item.success_rate * 0.01         # 成功率を取得
  rate *= user.hit if item.physical?      # 物理攻撃:命中率を乗算
  return rate                             # 計算した命中率を返す
end
item_mrf(user, item)

スキル/アイテムの反射率計算

# File Game_Battler.rb, line 516
def item_mrf(user, item)
  return mrf if item.magical?             # 魔法攻撃なら魔法反射率を返す
  return 0
end
item_test(user, item)

スキル/アイテムの適用テスト

使用対象が全快しているときの回復禁止などを判定する。

# File Game_Battler.rb, line 487
def item_test(user, item)
  return false if item.for_dead_friend? != dead?
  return true if $game_party.in_battle
  return true if item.for_opponent?
  return true if item.damage.recover? && item.damage.to_hp? && hp < mhp
  return true if item.damage.recover? && item.damage.to_mp? && mp < mmp
  return true if item_has_any_valid_effects?(user, item)
  return false
end
item_user_effect(user, item)

スキル/アイテムの使用者側への効果

# File Game_Battler.rb, line 779
def item_user_effect(user, item)
  user.tp += item.tp_gain * user.tcr
end
luk_effect_rate(user)

運による有効度変化率の取得

# File Game_Battler.rb, line 786
def luk_effect_rate(user)
  [1.0 + (user.luk - luk) * 0.001, 0.0].max
end
make_action_times()

行動回数の決定

# File Game_Battler.rb, line 335
def make_action_times
  action_plus_set.inject(1) {|r, p| rand < p ? r + 1 : r }
end
make_actions()

戦闘行動の作成

# File Game_Battler.rb, line 342
def make_actions
  clear_actions
  return unless movable?
  @actions = Array.new(make_action_times) { Game_Action.new(self) }
end
make_damage_value(user, item)

ダメージ計算

# File Game_Battler.rb, line 389
def make_damage_value(user, item)
  value = item.damage.eval(user, self, $game_variables)
  value *= item_element_rate(user, item)
  value *= pdr if item.physical?
  value *= mdr if item.magical?
  value *= rec if item.damage.recover?
  value = apply_critical(value) if @result.critical
  value = apply_variance(value, item.damage.variance)
  value = apply_guard(value)
  @result.make_damage(value.to_i, item)
end
make_speed()

行動速度の決定

# File Game_Battler.rb, line 351
def make_speed
  @speed = @actions.collect {|action| action.speed }.min || 0
end
max_slip_damage()

スリップダメージの最大値を取得

# File Game_Battler.rb, line 837
def max_slip_damage
  $data_system.opt_slip_death ? hp : [hp - 1, 0].max
end
on_action_end()

戦闘行動終了時の処理

# File Game_Battler.rb, line 877
def on_action_end
  @result.clear
  remove_states_auto(1)
  remove_buffs_auto
end
on_battle_end()

戦闘終了処理

# File Game_Battler.rb, line 897
def on_battle_end
  @result.clear
  remove_battle_states
  remove_all_buffs
  clear_actions
  clear_tp unless preserve_tp?
  appear
end
on_battle_start()

戦闘開始処理

# File Game_Battler.rb, line 870
def on_battle_start
  init_tp unless preserve_tp?
end
on_damage(value)

被ダメージ時の処理

# File Game_Battler.rb, line 909
def on_damage(value)
  remove_states_by_damage
  charge_tp_by_damage(value.to_f / mhp)
end
on_restrict()

行動制約が生じたときの処理

# File Game_Battler.rb, line 130
def on_restrict
  clear_actions
  states.each do |state|
    remove_state(state.id) if state.remove_by_restriction
  end
end
on_turn_end()

ターン終了処理

# File Game_Battler.rb, line 886
def on_turn_end
  @result.clear
  regenerate_all
  update_state_turns
  update_buff_turns
  remove_states_auto(2)
end
opposite?(battler)

敵対関係の判定

# File Game_Battler.rb, line 793
def opposite?(battler)
  actor? != battler.actor?
end
overwrite_buff_turns(param_id, turns)

能力強化/弱体のターン数上書き

ターン数が短くなる場合は上書きしない。

# File Game_Battler.rb, line 261
def overwrite_buff_turns(param_id, turns)
  @buff_turns[param_id] = turns if @buff_turns[param_id].to_i < turns
end
perform_map_damage_effect()

マップ上でダメージを受けたときの効果

# File Game_Battler.rb, line 800
def perform_map_damage_effect
end
regenerate_all()

全ての再生

# File Game_Battler.rb, line 859
def regenerate_all
  if alive?
    regenerate_hp
    regenerate_mp
    regenerate_tp
  end
end
regenerate_hp()

HP の再生

# File Game_Battler.rb, line 827
def regenerate_hp
  damage = -(mhp * hrg).to_i
  perform_map_damage_effect if $game_party.in_battle && damage > 0
  @result.hp_damage = [damage, max_slip_damage].min
  self.hp -= @result.hp_damage
end
regenerate_mp()

MP の再生

# File Game_Battler.rb, line 844
def regenerate_mp
  @result.mp_damage = -(mmp * mrg).to_i
  self.mp -= @result.mp_damage
end
regenerate_tp()

TP の再生

# File Game_Battler.rb, line 852
def regenerate_tp
  self.tp += 100 * trg
end
remove_all_buffs()

強化/弱体の全解除

# File Game_Battler.rb, line 295
def remove_all_buffs
  @buffs.size.times {|param_id| remove_buff(param_id) }
end
remove_battle_states()

戦闘用ステートの解除

# File Game_Battler.rb, line 286
def remove_battle_states
  states.each do |state|
    remove_state(state.id) if state.remove_at_battle_end
  end
end
remove_buff(param_id)

能力強化/弱体の解除

# File Game_Battler.rb, line 212
def remove_buff(param_id)
  return unless alive?
  return if @buffs[param_id] == 0
  erase_buff(param_id)
  @buff_turns.delete(param_id)
  @result.removed_buffs.push(param_id).uniq!
  refresh
end
remove_buffs_auto()

強化/弱体の自動解除

# File Game_Battler.rb, line 314
def remove_buffs_auto
  @buffs.size.times do |param_id|
    next if @buffs[param_id] == 0 || @buff_turns[param_id] > 0
    remove_buff(param_id)
  end
end
remove_current_action()

現在の戦闘行動を除去

# File Game_Battler.rb, line 365
def remove_current_action
  @actions.shift
end
remove_state(state_id)

ステートの解除

# File Game_Battler.rb, line 150
def remove_state(state_id)
  if state?(state_id)
    revive if state_id == death_state_id
    erase_state(state_id)
    refresh
    @result.removed_states.push(state_id).uniq!
  end
end
remove_states_auto(timing)

ステート自動解除

timing : タイミング(1:行動終了 2:ターン終了)

# File Game_Battler.rb, line 303
def remove_states_auto(timing)
  states.each do |state|
    if @state_turns[state.id] == 0 && state.auto_removal_timing == timing
      remove_state(state.id)
    end
  end
end
remove_states_by_damage()

ダメージによるステート解除

# File Game_Battler.rb, line 324
def remove_states_by_damage
  states.each do |state|
    if state.remove_by_damage && rand(100) < state.chance_by_damage
      remove_state(state.id)
    end
  end
end
reset_state_counts(state_id)

ステートのカウント(ターン数および歩数)をリセット

# File Game_Battler.rb, line 140
def reset_state_counts(state_id)
  state = $data_states[state_id]
  variance = 1 + [state.max_turns - state.min_turns, 0].max
  @state_turns[state_id] = state.min_turns + rand(variance)
  @state_steps[state_id] = state.steps_to_remove
end
revive()

戦闘不能から復活

# File Game_Battler.rb, line 171
def revive
  @hp = 1 if @hp == 0
end
state_addable?(state_id)

ステートの付加可能判定

# File Game_Battler.rb, line 97
def state_addable?(state_id)
  alive? && $data_states[state_id] && !state_resist?(state_id) &&
    !state_removed?(state_id) && !state_restrict?(state_id)
end
state_removed?(state_id)

同一行動内で解除済みのステートを判定

# File Game_Battler.rb, line 105
def state_removed?(state_id)
  @result.removed_states.include?(state_id)
end
state_restrict?(state_id)

行動制約によって無効化されるステートを判定

# File Game_Battler.rb, line 112
def state_restrict?(state_id)
  $data_states[state_id].remove_by_restriction && restriction > 0
end
update_buff_turns()

強化/弱体のターンカウント更新

# File Game_Battler.rb, line 277
def update_buff_turns
  @buff_turns.keys.each do |param_id|
    @buff_turns[param_id] -= 1 if @buff_turns[param_id] > 0
  end
end
update_state_turns()

ステートのターンカウント更新

# File Game_Battler.rb, line 268
def update_state_turns
  states.each do |state|
    @state_turns[state.id] -= 1 if @state_turns[state.id] > 0
  end
end
use_item(item)

スキル/アイテムの使用

行動側に対して呼び出され、使用対象以外に対する効果を適用する。

# File Game_Battler.rb, line 461
def use_item(item)
  pay_skill_cost(item) if item.is_a?(RPG::Skill)
  consume_item(item)   if item.is_a?(RPG::Item)
  item.effects.each {|effect| item_global_effect_apply(effect) }
end