Class: Game_Unit

Inherits:
Object
  • Object
show all
Defined in:
lib/rgss3_default_scripts/Game_Unit.rb

Overview

** Game_Unit


This class handles units. It's used as a superclass of the Game_Party and

and Game_Troop classes.

Direct Known Subclasses

Game_Party, Game_Troop

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeGame_Unit


  • Object Initialization




16
17
18
# File 'lib/rgss3_default_scripts/Game_Unit.rb', line 16

def initialize
  @in_battle = false
end

Instance Attribute Details

#in_battleObject (readonly)


  • Public Instance Variables




12
13
14
# File 'lib/rgss3_default_scripts/Game_Unit.rb', line 12

def in_battle
  @in_battle
end

Instance Method Details

#agiObject


  • Calculate Average Value of Agility




52
53
54
55
# File 'lib/rgss3_default_scripts/Game_Unit.rb', line 52

def agi
  return 1 if members.size == 0
  members.inject(0) {|r, member| r += member.agi } / members.size
end

#alive_membersObject


  • Get Array of Living Members




28
29
30
# File 'lib/rgss3_default_scripts/Game_Unit.rb', line 28

def alive_members
  members.select {|member| member.alive? }
end

#all_dead?Boolean


  • Determine Everyone is Dead


Returns:

  • (Boolean)


122
123
124
# File 'lib/rgss3_default_scripts/Game_Unit.rb', line 122

def all_dead?
  alive_members.empty?
end

#clear_actionsObject


  • Clear all Members’ Battle Actions




46
47
48
# File 'lib/rgss3_default_scripts/Game_Unit.rb', line 46

def clear_actions
  members.each {|member| member.clear_actions }
end

#clear_resultsObject


  • Clear Action Results




96
97
98
# File 'lib/rgss3_default_scripts/Game_Unit.rb', line 96

def clear_results
  members.select {|member| member.result.clear }
end

#dead_membersObject


  • Get Array of Incapacitated Members




34
35
36
# File 'lib/rgss3_default_scripts/Game_Unit.rb', line 34

def dead_members
  members.select {|member| member.dead? }
end

#make_actionsObject


  • Create Battle Action




116
117
118
# File 'lib/rgss3_default_scripts/Game_Unit.rb', line 116

def make_actions
  members.each {|member| member.make_actions }
end

#membersObject


  • Get Members




22
23
24
# File 'lib/rgss3_default_scripts/Game_Unit.rb', line 22

def members
  return []
end

#movable_membersObject


  • Get Array of Movable Members




40
41
42
# File 'lib/rgss3_default_scripts/Game_Unit.rb', line 40

def movable_members
  members.select {|member| member.movable? }
end

#on_battle_endObject


  • Processing at End of Battle




109
110
111
112
# File 'lib/rgss3_default_scripts/Game_Unit.rb', line 109

def on_battle_end
  @in_battle = false
  members.each {|member| member.on_battle_end }
end

#on_battle_startObject


  • Processing at Start of Battle




102
103
104
105
# File 'lib/rgss3_default_scripts/Game_Unit.rb', line 102

def on_battle_start
  members.each {|member| member.on_battle_start }
  @in_battle = true
end

#random_dead_targetObject


  • Randomly Determine Target (K.O.)




76
77
78
# File 'lib/rgss3_default_scripts/Game_Unit.rb', line 76

def random_dead_target
  dead_members.empty? ? nil : dead_members[rand(dead_members.size)]
end

#random_targetObject


  • Random Selection of Target




65
66
67
68
69
70
71
72
# File 'lib/rgss3_default_scripts/Game_Unit.rb', line 65

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) ⇒ Object


  • Smooth Selection of Target (K.O.)




89
90
91
92
# File 'lib/rgss3_default_scripts/Game_Unit.rb', line 89

def smooth_dead_target(index)
  member = members[index]
  (member && member.dead?) ? member : dead_members[0]
end

#smooth_target(index) ⇒ Object


  • Smooth Selection of Target




82
83
84
85
# File 'lib/rgss3_default_scripts/Game_Unit.rb', line 82

def smooth_target(index)
  member = members[index]
  (member && member.alive?) ? member : alive_members[0]
end

#substitute_battlerObject


  • Get Substitute Battler




128
129
130
# File 'lib/rgss3_default_scripts/Game_Unit.rb', line 128

def substitute_battler
  members.find {|member| member.substitute? }
end

#tgr_sumObject


  • Calculate Total Target Rate




59
60
61
# File 'lib/rgss3_default_scripts/Game_Unit.rb', line 59

def tgr_sum
  alive_members.inject(0) {|r, member| r + member.tgr }
end