Class: Game_ActionResult

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

Overview

** Game_ActionResult


This class handles the results of battle actions. It is used internally for

the Game_Battler class.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(battler) ⇒ Game_ActionResult


  • Object Initialization




30
31
32
33
# File 'lib/rgss3_default_scripts/Game_ActionResult.rb', line 30

def initialize(battler)
  @battler = battler
  clear
end

Instance Attribute Details

#added_buffsObject

added buffs



24
25
26
# File 'lib/rgss3_default_scripts/Game_ActionResult.rb', line 24

def added_buffs
  @added_buffs
end

#added_debuffsObject

added debuffs



25
26
27
# File 'lib/rgss3_default_scripts/Game_ActionResult.rb', line 25

def added_debuffs
  @added_debuffs
end

#added_statesObject

added states



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

def added_states
  @added_states
end

#criticalObject

critical flag



15
16
17
# File 'lib/rgss3_default_scripts/Game_ActionResult.rb', line 15

def critical
  @critical
end

#evadedObject

evaded flag



14
15
16
# File 'lib/rgss3_default_scripts/Game_ActionResult.rb', line 14

def evaded
  @evaded
end

#hp_damageObject

HP damage



17
18
19
# File 'lib/rgss3_default_scripts/Game_ActionResult.rb', line 17

def hp_damage
  @hp_damage
end

#hp_drainObject

HP drain



20
21
22
# File 'lib/rgss3_default_scripts/Game_ActionResult.rb', line 20

def hp_drain
  @hp_drain
end

#missedObject

missed flag



13
14
15
# File 'lib/rgss3_default_scripts/Game_ActionResult.rb', line 13

def missed
  @missed
end

#mp_damageObject

MP damage



18
19
20
# File 'lib/rgss3_default_scripts/Game_ActionResult.rb', line 18

def mp_damage
  @mp_damage
end

#mp_drainObject

MP drain



21
22
23
# File 'lib/rgss3_default_scripts/Game_ActionResult.rb', line 21

def mp_drain
  @mp_drain
end

#removed_buffsObject

removed buffs/debuffs



26
27
28
# File 'lib/rgss3_default_scripts/Game_ActionResult.rb', line 26

def removed_buffs
  @removed_buffs
end

#removed_statesObject

removed states



23
24
25
# File 'lib/rgss3_default_scripts/Game_ActionResult.rb', line 23

def removed_states
  @removed_states
end

#successObject

success flag



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

def success
  @success
end

#tp_damageObject

TP damage



19
20
21
# File 'lib/rgss3_default_scripts/Game_ActionResult.rb', line 19

def tp_damage
  @tp_damage
end

#usedObject


  • Public Instance Variables




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

def used
  @used
end

Instance Method Details

#added_state_objectsObject


  • Get Added States as an Object Array




88
89
90
# File 'lib/rgss3_default_scripts/Game_ActionResult.rb', line 88

def added_state_objects
  @added_states.collect {|id| $data_states[id] }
end

#clearObject


  • Clear




37
38
39
40
41
# File 'lib/rgss3_default_scripts/Game_ActionResult.rb', line 37

def clear
  clear_hit_flags
  clear_damage_values
  clear_status_effects
end

#clear_damage_valuesObject


  • Clear Damage Values




55
56
57
58
59
60
61
# File 'lib/rgss3_default_scripts/Game_ActionResult.rb', line 55

def clear_damage_values
  @hp_damage = 0
  @mp_damage = 0
  @tp_damage = 0
  @hp_drain = 0
  @mp_drain = 0
end

#clear_hit_flagsObject


  • Clear Hit Flags




45
46
47
48
49
50
51
# File 'lib/rgss3_default_scripts/Game_ActionResult.rb', line 45

def clear_hit_flags
  @used = false
  @missed = false
  @evaded = false
  @critical = false
  @success = false
end

#clear_status_effectsObject


  • Clear Status Effects




78
79
80
81
82
83
84
# File 'lib/rgss3_default_scripts/Game_ActionResult.rb', line 78

def clear_status_effects
  @added_states = []
  @removed_states = []
  @added_buffs = []
  @added_debuffs = []
  @removed_buffs = []
end

#hit?Boolean


  • Determine Final Hit


Returns:

  • (Boolean)


107
108
109
# File 'lib/rgss3_default_scripts/Game_ActionResult.rb', line 107

def hit?
  @used && !@missed && !@evaded
end

#hp_damage_textObject


  • Get Text for HP Damage




113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
# File 'lib/rgss3_default_scripts/Game_ActionResult.rb', line 113

def hp_damage_text
  if @hp_drain > 0
    fmt = @battler.actor? ? Vocab::ActorDrain : Vocab::EnemyDrain
    sprintf(fmt, @battler.name, Vocab::hp, @hp_drain)
  elsif @hp_damage > 0
    fmt = @battler.actor? ? Vocab::ActorDamage : Vocab::EnemyDamage
    sprintf(fmt, @battler.name, @hp_damage)
  elsif @hp_damage < 0
    fmt = @battler.actor? ? Vocab::ActorRecovery : Vocab::EnemyRecovery
    sprintf(fmt, @battler.name, Vocab::hp, -hp_damage)
  else
    fmt = @battler.actor? ? Vocab::ActorNoDamage : Vocab::EnemyNoDamage
    sprintf(fmt, @battler.name)
  end
end

#make_damage(value, item) ⇒ Object


  • Create Damage




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

def make_damage(value, item)
  @critical = false if value == 0
  @hp_damage = value if item.damage.to_hp?
  @mp_damage = value if item.damage.to_mp?
  @mp_damage = [@battler.mp, @mp_damage].min
  @hp_drain = @hp_damage if item.damage.drain?
  @mp_drain = @mp_damage if item.damage.drain?
  @hp_drain = [@battler.hp, @hp_drain].min
  @success = true if item.damage.to_hp? || @mp_damage != 0
end

#mp_damage_textObject


  • Get Text for MP Damage




131
132
133
134
135
136
137
138
139
140
141
142
143
144
# File 'lib/rgss3_default_scripts/Game_ActionResult.rb', line 131

def mp_damage_text
  if @mp_drain > 0
    fmt = @battler.actor? ? Vocab::ActorDrain : Vocab::EnemyDrain
    sprintf(fmt, @battler.name, Vocab::mp, @mp_drain)
  elsif @mp_damage > 0
    fmt = @battler.actor? ? Vocab::ActorLoss : Vocab::EnemyLoss
    sprintf(fmt, @battler.name, Vocab::mp, @mp_damage)
  elsif @mp_damage < 0
    fmt = @battler.actor? ? Vocab::ActorRecovery : Vocab::EnemyRecovery
    sprintf(fmt, @battler.name, Vocab::mp, -@mp_damage)
  else
    ""
  end
end

#removed_state_objectsObject


  • Get Removed States as an Object Array




94
95
96
# File 'lib/rgss3_default_scripts/Game_ActionResult.rb', line 94

def removed_state_objects
  @removed_states.collect {|id| $data_states[id] }
end

#status_affected?Boolean


  • Determine Whether Some Sort of Status (Parameter or State) Was Affected


Returns:

  • (Boolean)


100
101
102
103
# File 'lib/rgss3_default_scripts/Game_ActionResult.rb', line 100

def status_affected?
  !(@added_states.empty? && @removed_states.empty? &&
    @added_buffs.empty? && @added_debuffs.empty? && @removed_buffs.empty?)
end

#tp_damage_textObject


  • Get Text for TP Damage




148
149
150
151
152
153
154
155
156
157
158
# File 'lib/rgss3_default_scripts/Game_ActionResult.rb', line 148

def tp_damage_text
  if @tp_damage > 0
    fmt = @battler.actor? ? Vocab::ActorLoss : Vocab::EnemyLoss
    sprintf(fmt, @battler.name, Vocab::tp, @tp_damage)
  elsif @tp_damage < 0
    fmt = @battler.actor? ? Vocab::ActorGain : Vocab::EnemyGain
    sprintf(fmt, @battler.name, Vocab::tp, -@tp_damage)
  else
    ""
  end
end