This class handles units. It’s used as a superclass of the Game_Party and and Game_Troop classes.

Methods
A
C
D
M
N
O
R
S
T
Attributes
[R] in_battle

Public Instance Variables

Class Public methods
new()

Object Initialization

# File Game_Unit.rb, line 16
def initialize
  @in_battle = false
end
Instance Public methods
agi()

Calculate Average Value of Agility

# File Game_Unit.rb, line 58
def agi
  return 1 if members.size == 0
  members.inject(0) {|r, member| r += member.agi } / members.size
end
alive_members()

Get Array of Living Members

# File Game_Unit.rb, line 30
def alive_members
  members.select {|member| member.alive? }
end
all_dead?()

Determine Everyone is Dead

# File Game_Unit.rb, line 138
def all_dead?
  alive_members.empty?
end
clear_actions()

Clear all Members’ Battle Actions

# File Game_Unit.rb, line 51
def clear_actions
  members.each {|member| member.clear_actions }
end
clear_results()

Clear Action Results

# File Game_Unit.rb, line 108
def clear_results
  members.select {|member| member.result.clear }
end
dead_members()

Get Array of Incapacitated Members

# File Game_Unit.rb, line 37
def dead_members
  members.select {|member| member.dead? }
end
make_actions()

Create Battle Action

# File Game_Unit.rb, line 131
def make_actions
  members.each {|member| member.make_actions }
end
members()

Get Members

# File Game_Unit.rb, line 23
def members
  return []
end
movable_members()

Get Array of Movable Members

# File Game_Unit.rb, line 44
def movable_members
  members.select {|member| member.movable? }
end
on_battle_end()

Processing at End of Battle

# File Game_Unit.rb, line 123
def on_battle_end
  @in_battle = false
  members.each {|member| member.on_battle_end }
end
on_battle_start()

Processing at Start of Battle

# File Game_Unit.rb, line 115
def on_battle_start
  members.each {|member| member.on_battle_start }
  @in_battle = true
end
random_dead_target()

Randomly Determine Target (K.O.)

# File Game_Unit.rb, line 85
def random_dead_target
  dead_members.empty? ? nil : dead_members[rand(dead_members.size)]
end
random_target()

Random Selection of Target

# File Game_Unit.rb, line 73
def random_target
  tgr_rand = rand * tgr_sum
  alive_members.each do |member|
    tgr_rand -= member.tgr
    return member if tgr_rand < 0
  end
  alive_members[0]
end
smooth_dead_target(index)

Smooth Selection of Target (K.O.)

# File Game_Unit.rb, line 100
def smooth_dead_target(index)
  member = members[index]
  (member && member.dead?) ? member : dead_members[0]
end
smooth_target(index)

Smooth Selection of Target

# File Game_Unit.rb, line 92
def smooth_target(index)
  member = members[index]
  (member && member.alive?) ? member : alive_members[0]
end
substitute_battler()

Get Substitute Battler

# File Game_Unit.rb, line 145
def substitute_battler
  members.find {|member| member.substitute? }
end
tgr_sum()

Calculate Total Target Rate

# File Game_Unit.rb, line 66
def tgr_sum
  alive_members.inject(0) {|r, member| r + member.tgr }
end