rgss3_default_scripts 1.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (117) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +9 -0
  3. data/Gemfile +4 -0
  4. data/README.md +9 -0
  5. data/Rakefile +2 -0
  6. data/lib/rgss3_default_scripts.rb +109 -0
  7. data/lib/rgss3_default_scripts/BattleManager.rb +392 -0
  8. data/lib/rgss3_default_scripts/Cache.rb +134 -0
  9. data/lib/rgss3_default_scripts/DataManager.rb +267 -0
  10. data/lib/rgss3_default_scripts/Game_Action.rb +262 -0
  11. data/lib/rgss3_default_scripts/Game_ActionResult.rb +159 -0
  12. data/lib/rgss3_default_scripts/Game_Actor.rb +696 -0
  13. data/lib/rgss3_default_scripts/Game_Actors.rb +22 -0
  14. data/lib/rgss3_default_scripts/Game_BaseItem.rb +51 -0
  15. data/lib/rgss3_default_scripts/Game_Battler.rb +824 -0
  16. data/lib/rgss3_default_scripts/Game_BattlerBase.rb +731 -0
  17. data/lib/rgss3_default_scripts/Game_Character.rb +396 -0
  18. data/lib/rgss3_default_scripts/Game_CharacterBase.rb +443 -0
  19. data/lib/rgss3_default_scripts/Game_CommonEvent.rb +41 -0
  20. data/lib/rgss3_default_scripts/Game_Enemy.rb +264 -0
  21. data/lib/rgss3_default_scripts/Game_Event.rb +308 -0
  22. data/lib/rgss3_default_scripts/Game_Follower.rb +74 -0
  23. data/lib/rgss3_default_scripts/Game_Followers.rb +112 -0
  24. data/lib/rgss3_default_scripts/Game_Interpreter.rb +1413 -0
  25. data/lib/rgss3_default_scripts/Game_Map.rb +704 -0
  26. data/lib/rgss3_default_scripts/Game_Message.rb +101 -0
  27. data/lib/rgss3_default_scripts/Game_Party.rb +418 -0
  28. data/lib/rgss3_default_scripts/Game_Picture.rb +161 -0
  29. data/lib/rgss3_default_scripts/Game_Pictures.rb +28 -0
  30. data/lib/rgss3_default_scripts/Game_Player.rb +488 -0
  31. data/lib/rgss3_default_scripts/Game_Screen.rb +234 -0
  32. data/lib/rgss3_default_scripts/Game_SelfSwitches.rb +35 -0
  33. data/lib/rgss3_default_scripts/Game_Switches.rb +35 -0
  34. data/lib/rgss3_default_scripts/Game_System.rb +122 -0
  35. data/lib/rgss3_default_scripts/Game_Temp.rb +45 -0
  36. data/lib/rgss3_default_scripts/Game_Timer.rb +56 -0
  37. data/lib/rgss3_default_scripts/Game_Troop.rb +205 -0
  38. data/lib/rgss3_default_scripts/Game_Unit.rb +131 -0
  39. data/lib/rgss3_default_scripts/Game_Variables.rb +34 -0
  40. data/lib/rgss3_default_scripts/Game_Vehicle.rb +193 -0
  41. data/lib/rgss3_default_scripts/SceneManager.rb +94 -0
  42. data/lib/rgss3_default_scripts/Scene_Base.rb +132 -0
  43. data/lib/rgss3_default_scripts/Scene_Battle.rb +693 -0
  44. data/lib/rgss3_default_scripts/Scene_Debug.rb +87 -0
  45. data/lib/rgss3_default_scripts/Scene_End.rb +61 -0
  46. data/lib/rgss3_default_scripts/Scene_Equip.rb +144 -0
  47. data/lib/rgss3_default_scripts/Scene_File.rb +203 -0
  48. data/lib/rgss3_default_scripts/Scene_Gameover.rb +85 -0
  49. data/lib/rgss3_default_scripts/Scene_Item.rb +75 -0
  50. data/lib/rgss3_default_scripts/Scene_ItemBase.rb +147 -0
  51. data/lib/rgss3_default_scripts/Scene_Load.rb +40 -0
  52. data/lib/rgss3_default_scripts/Scene_Map.rb +276 -0
  53. data/lib/rgss3_default_scripts/Scene_Menu.rb +127 -0
  54. data/lib/rgss3_default_scripts/Scene_MenuBase.rb +63 -0
  55. data/lib/rgss3_default_scripts/Scene_Name.rb +32 -0
  56. data/lib/rgss3_default_scripts/Scene_Save.rb +38 -0
  57. data/lib/rgss3_default_scripts/Scene_Shop.rb +299 -0
  58. data/lib/rgss3_default_scripts/Scene_Skill.rb +108 -0
  59. data/lib/rgss3_default_scripts/Scene_Status.rb +25 -0
  60. data/lib/rgss3_default_scripts/Scene_Title.rb +137 -0
  61. data/lib/rgss3_default_scripts/Sound.rb +135 -0
  62. data/lib/rgss3_default_scripts/Sprite_Base.rb +232 -0
  63. data/lib/rgss3_default_scripts/Sprite_Battler.rb +231 -0
  64. data/lib/rgss3_default_scripts/Sprite_Character.rb +226 -0
  65. data/lib/rgss3_default_scripts/Sprite_Picture.rb +82 -0
  66. data/lib/rgss3_default_scripts/Sprite_Timer.rb +77 -0
  67. data/lib/rgss3_default_scripts/Spriteset_Battle.rb +389 -0
  68. data/lib/rgss3_default_scripts/Spriteset_Map.rb +273 -0
  69. data/lib/rgss3_default_scripts/Spriteset_Weather.rb +184 -0
  70. data/lib/rgss3_default_scripts/Vocab.rb +145 -0
  71. data/lib/rgss3_default_scripts/Window_ActorCommand.rb +78 -0
  72. data/lib/rgss3_default_scripts/Window_Base.rb +571 -0
  73. data/lib/rgss3_default_scripts/Window_BattleActor.rb +38 -0
  74. data/lib/rgss3_default_scripts/Window_BattleEnemy.rb +70 -0
  75. data/lib/rgss3_default_scripts/Window_BattleItem.rb +40 -0
  76. data/lib/rgss3_default_scripts/Window_BattleLog.rb +425 -0
  77. data/lib/rgss3_default_scripts/Window_BattleSkill.rb +34 -0
  78. data/lib/rgss3_default_scripts/Window_BattleStatus.rb +111 -0
  79. data/lib/rgss3_default_scripts/Window_ChoiceList.rb +88 -0
  80. data/lib/rgss3_default_scripts/Window_Command.rb +152 -0
  81. data/lib/rgss3_default_scripts/Window_DebugLeft.rb +104 -0
  82. data/lib/rgss3_default_scripts/Window_DebugRight.rb +119 -0
  83. data/lib/rgss3_default_scripts/Window_EquipCommand.rb +36 -0
  84. data/lib/rgss3_default_scripts/Window_EquipItem.rb +78 -0
  85. data/lib/rgss3_default_scripts/Window_EquipSlot.rb +111 -0
  86. data/lib/rgss3_default_scripts/Window_EquipStatus.rb +97 -0
  87. data/lib/rgss3_default_scripts/Window_GameEnd.rb +38 -0
  88. data/lib/rgss3_default_scripts/Window_Gold.rb +47 -0
  89. data/lib/rgss3_default_scripts/Window_Help.rb +43 -0
  90. data/lib/rgss3_default_scripts/Window_HorzCommand.rb +106 -0
  91. data/lib/rgss3_default_scripts/Window_ItemCategory.rb +54 -0
  92. data/lib/rgss3_default_scripts/Window_ItemList.rb +117 -0
  93. data/lib/rgss3_default_scripts/Window_KeyItem.rb +55 -0
  94. data/lib/rgss3_default_scripts/Window_MapName.rb +96 -0
  95. data/lib/rgss3_default_scripts/Window_MenuActor.rb +43 -0
  96. data/lib/rgss3_default_scripts/Window_MenuCommand.rb +106 -0
  97. data/lib/rgss3_default_scripts/Window_MenuStatus.rb +85 -0
  98. data/lib/rgss3_default_scripts/Window_Message.rb +397 -0
  99. data/lib/rgss3_default_scripts/Window_NameEdit.rb +129 -0
  100. data/lib/rgss3_default_scripts/Window_NameInput.rb +253 -0
  101. data/lib/rgss3_default_scripts/Window_NumberInput.rb +148 -0
  102. data/lib/rgss3_default_scripts/Window_PartyCommand.rb +47 -0
  103. data/lib/rgss3_default_scripts/Window_SaveFile.rb +69 -0
  104. data/lib/rgss3_default_scripts/Window_ScrollText.rb +90 -0
  105. data/lib/rgss3_default_scripts/Window_Selectable.rb +442 -0
  106. data/lib/rgss3_default_scripts/Window_ShopBuy.rb +115 -0
  107. data/lib/rgss3_default_scripts/Window_ShopCommand.rb +36 -0
  108. data/lib/rgss3_default_scripts/Window_ShopNumber.rb +137 -0
  109. data/lib/rgss3_default_scripts/Window_ShopSell.rb +27 -0
  110. data/lib/rgss3_default_scripts/Window_ShopStatus.rb +124 -0
  111. data/lib/rgss3_default_scripts/Window_SkillCommand.rb +76 -0
  112. data/lib/rgss3_default_scripts/Window_SkillList.rb +121 -0
  113. data/lib/rgss3_default_scripts/Window_SkillStatus.rb +38 -0
  114. data/lib/rgss3_default_scripts/Window_Status.rb +125 -0
  115. data/lib/rgss3_default_scripts/Window_TitleCommand.rb +45 -0
  116. data/rgss3_default_scripts.gemspec +23 -0
  117. metadata +186 -0
@@ -0,0 +1,38 @@
1
+ #==============================================================================
2
+ # ** Window_BattleActor
3
+ #------------------------------------------------------------------------------
4
+ # This window is for selecting an actor's action target on the battle screen.
5
+ #==============================================================================
6
+
7
+ class Window_BattleActor < Window_BattleStatus
8
+ #--------------------------------------------------------------------------
9
+ # * Object Initialization
10
+ # info_viewport : Viewport for displaying information
11
+ #--------------------------------------------------------------------------
12
+ def initialize(info_viewport)
13
+ super()
14
+ self.y = info_viewport.rect.y
15
+ self.visible = false
16
+ self.openness = 255
17
+ @info_viewport = info_viewport
18
+ end
19
+ #--------------------------------------------------------------------------
20
+ # * Show Window
21
+ #--------------------------------------------------------------------------
22
+ def show
23
+ if @info_viewport
24
+ width_remain = Graphics.width - width
25
+ self.x = width_remain
26
+ @info_viewport.rect.width = width_remain
27
+ select(0)
28
+ end
29
+ super
30
+ end
31
+ #--------------------------------------------------------------------------
32
+ # * Hide Window
33
+ #--------------------------------------------------------------------------
34
+ def hide
35
+ @info_viewport.rect.width = Graphics.width if @info_viewport
36
+ super
37
+ end
38
+ end
@@ -0,0 +1,70 @@
1
+ #==============================================================================
2
+ # ** Window_BattleEnemy
3
+ #------------------------------------------------------------------------------
4
+ # Window for selecting the enemy who is the action target on the battle
5
+ # screen.
6
+ #==============================================================================
7
+
8
+ class Window_BattleEnemy < Window_Selectable
9
+ #--------------------------------------------------------------------------
10
+ # * Object Initialization
11
+ # info_viewport : Viewport for displaying information
12
+ #--------------------------------------------------------------------------
13
+ def initialize(info_viewport)
14
+ super(0, info_viewport.rect.y, window_width, fitting_height(4))
15
+ refresh
16
+ self.visible = false
17
+ @info_viewport = info_viewport
18
+ end
19
+ #--------------------------------------------------------------------------
20
+ # * Get Window Width
21
+ #--------------------------------------------------------------------------
22
+ def window_width
23
+ Graphics.width - 128
24
+ end
25
+ #--------------------------------------------------------------------------
26
+ # * Get Digit Count
27
+ #--------------------------------------------------------------------------
28
+ def col_max
29
+ return 2
30
+ end
31
+ #--------------------------------------------------------------------------
32
+ # * Get Number of Items
33
+ #--------------------------------------------------------------------------
34
+ def item_max
35
+ $game_troop.alive_members.size
36
+ end
37
+ #--------------------------------------------------------------------------
38
+ # * Get Enemy Object
39
+ #--------------------------------------------------------------------------
40
+ def enemy
41
+ $game_troop.alive_members[@index]
42
+ end
43
+ #--------------------------------------------------------------------------
44
+ # * Draw Item
45
+ #--------------------------------------------------------------------------
46
+ def draw_item(index)
47
+ change_color(normal_color)
48
+ name = $game_troop.alive_members[index].name
49
+ draw_text(item_rect_for_text(index), name)
50
+ end
51
+ #--------------------------------------------------------------------------
52
+ # * Show Window
53
+ #--------------------------------------------------------------------------
54
+ def show
55
+ if @info_viewport
56
+ width_remain = Graphics.width - width
57
+ self.x = width_remain
58
+ @info_viewport.rect.width = width_remain
59
+ select(0)
60
+ end
61
+ super
62
+ end
63
+ #--------------------------------------------------------------------------
64
+ # * Hide Window
65
+ #--------------------------------------------------------------------------
66
+ def hide
67
+ @info_viewport.rect.width = Graphics.width if @info_viewport
68
+ super
69
+ end
70
+ end
@@ -0,0 +1,40 @@
1
+ #==============================================================================
2
+ # ** Window_BattleItem
3
+ #------------------------------------------------------------------------------
4
+ # This window is for selecting items to use in the battle window.
5
+ #==============================================================================
6
+
7
+ class Window_BattleItem < Window_ItemList
8
+ #--------------------------------------------------------------------------
9
+ # * Object Initialization
10
+ # info_viewport : Viewport for displaying information
11
+ #--------------------------------------------------------------------------
12
+ def initialize(help_window, info_viewport)
13
+ y = help_window.height
14
+ super(0, y, Graphics.width, info_viewport.rect.y - y)
15
+ self.visible = false
16
+ @help_window = help_window
17
+ @info_viewport = info_viewport
18
+ end
19
+ #--------------------------------------------------------------------------
20
+ # * Include in Item List?
21
+ #--------------------------------------------------------------------------
22
+ def include?(item)
23
+ $game_party.usable?(item)
24
+ end
25
+ #--------------------------------------------------------------------------
26
+ # * Show Window
27
+ #--------------------------------------------------------------------------
28
+ def show
29
+ select_last
30
+ @help_window.show
31
+ super
32
+ end
33
+ #--------------------------------------------------------------------------
34
+ # * Hide Window
35
+ #--------------------------------------------------------------------------
36
+ def hide
37
+ @help_window.hide
38
+ super
39
+ end
40
+ end
@@ -0,0 +1,425 @@
1
+ #==============================================================================
2
+ # ** Window_BattleLog
3
+ #------------------------------------------------------------------------------
4
+ # This window is for displaying battle progress. No frame is displayed, but it
5
+ # is handled as a window for convenience.
6
+ #==============================================================================
7
+
8
+ class Window_BattleLog < Window_Selectable
9
+ #--------------------------------------------------------------------------
10
+ # * Object Initialization
11
+ #--------------------------------------------------------------------------
12
+ def initialize
13
+ super(0, 0, window_width, window_height)
14
+ self.z = 200
15
+ self.opacity = 0
16
+ @lines = []
17
+ @num_wait = 0
18
+ create_back_bitmap
19
+ create_back_sprite
20
+ refresh
21
+ end
22
+ #--------------------------------------------------------------------------
23
+ # * Free
24
+ #--------------------------------------------------------------------------
25
+ def dispose
26
+ super
27
+ dispose_back_bitmap
28
+ dispose_back_sprite
29
+ end
30
+ #--------------------------------------------------------------------------
31
+ # * Get Window Width
32
+ #--------------------------------------------------------------------------
33
+ def window_width
34
+ Graphics.width
35
+ end
36
+ #--------------------------------------------------------------------------
37
+ # * Get Window Height
38
+ #--------------------------------------------------------------------------
39
+ def window_height
40
+ fitting_height(max_line_number)
41
+ end
42
+ #--------------------------------------------------------------------------
43
+ # * Get Maximum Number of Lines
44
+ #--------------------------------------------------------------------------
45
+ def max_line_number
46
+ return 6
47
+ end
48
+ #--------------------------------------------------------------------------
49
+ # * Create Background Bitmap
50
+ #--------------------------------------------------------------------------
51
+ def create_back_bitmap
52
+ @back_bitmap = Bitmap.new(width, height)
53
+ end
54
+ #--------------------------------------------------------------------------
55
+ # * Create Background Sprite
56
+ #--------------------------------------------------------------------------
57
+ def create_back_sprite
58
+ @back_sprite = Sprite.new
59
+ @back_sprite.bitmap = @back_bitmap
60
+ @back_sprite.y = y
61
+ @back_sprite.z = z - 1
62
+ end
63
+ #--------------------------------------------------------------------------
64
+ # * Free Background Bitmap
65
+ #--------------------------------------------------------------------------
66
+ def dispose_back_bitmap
67
+ @back_bitmap.dispose
68
+ end
69
+ #--------------------------------------------------------------------------
70
+ # * Free Background Sprite
71
+ #--------------------------------------------------------------------------
72
+ def dispose_back_sprite
73
+ @back_sprite.dispose
74
+ end
75
+ #--------------------------------------------------------------------------
76
+ # * Clear
77
+ #--------------------------------------------------------------------------
78
+ def clear
79
+ @num_wait = 0
80
+ @lines.clear
81
+ refresh
82
+ end
83
+ #--------------------------------------------------------------------------
84
+ # * Get Number of Data Lines
85
+ #--------------------------------------------------------------------------
86
+ def line_number
87
+ @lines.size
88
+ end
89
+ #--------------------------------------------------------------------------
90
+ # * Go Back One Line
91
+ #--------------------------------------------------------------------------
92
+ def back_one
93
+ @lines.pop
94
+ refresh
95
+ end
96
+ #--------------------------------------------------------------------------
97
+ # * Return to Designated Line
98
+ #--------------------------------------------------------------------------
99
+ def back_to(line_number)
100
+ @lines.pop while @lines.size > line_number
101
+ refresh
102
+ end
103
+ #--------------------------------------------------------------------------
104
+ # * Add Text
105
+ #--------------------------------------------------------------------------
106
+ def add_text(text)
107
+ @lines.push(text)
108
+ refresh
109
+ end
110
+ #--------------------------------------------------------------------------
111
+ # * Replace Text
112
+ # Replaces the last line with different text.
113
+ #--------------------------------------------------------------------------
114
+ def replace_text(text)
115
+ @lines.pop
116
+ @lines.push(text)
117
+ refresh
118
+ end
119
+ #--------------------------------------------------------------------------
120
+ # * Get Text From Last Line
121
+ #--------------------------------------------------------------------------
122
+ def last_text
123
+ @lines[-1]
124
+ end
125
+ #--------------------------------------------------------------------------
126
+ # * Refresh
127
+ #--------------------------------------------------------------------------
128
+ def refresh
129
+ draw_background
130
+ contents.clear
131
+ @lines.size.times {|i| draw_line(i) }
132
+ end
133
+ #--------------------------------------------------------------------------
134
+ # * Draw Background
135
+ #--------------------------------------------------------------------------
136
+ def draw_background
137
+ @back_bitmap.clear
138
+ @back_bitmap.fill_rect(back_rect, back_color)
139
+ end
140
+ #--------------------------------------------------------------------------
141
+ # * Get Background Rectangle
142
+ #--------------------------------------------------------------------------
143
+ def back_rect
144
+ Rect.new(0, padding, width, line_number * line_height)
145
+ end
146
+ #--------------------------------------------------------------------------
147
+ # * Get Background Color
148
+ #--------------------------------------------------------------------------
149
+ def back_color
150
+ Color.new(0, 0, 0, back_opacity)
151
+ end
152
+ #--------------------------------------------------------------------------
153
+ # * Get Background Opacity
154
+ #--------------------------------------------------------------------------
155
+ def back_opacity
156
+ return 64
157
+ end
158
+ #--------------------------------------------------------------------------
159
+ # * Draw Line
160
+ #--------------------------------------------------------------------------
161
+ def draw_line(line_number)
162
+ rect = item_rect_for_text(line_number)
163
+ contents.clear_rect(rect)
164
+ draw_text_ex(rect.x, rect.y, @lines[line_number])
165
+ end
166
+ #--------------------------------------------------------------------------
167
+ # * Set Wait Method
168
+ #--------------------------------------------------------------------------
169
+ def method_wait=(method)
170
+ @method_wait = method
171
+ end
172
+ #--------------------------------------------------------------------------
173
+ # * Set Wait Method for Effect Execution
174
+ #--------------------------------------------------------------------------
175
+ def method_wait_for_effect=(method)
176
+ @method_wait_for_effect = method
177
+ end
178
+ #--------------------------------------------------------------------------
179
+ # * Wait
180
+ #--------------------------------------------------------------------------
181
+ def wait
182
+ @num_wait += 1
183
+ @method_wait.call(message_speed) if @method_wait
184
+ end
185
+ #--------------------------------------------------------------------------
186
+ # * Wait Until Effect Execution Ends
187
+ #--------------------------------------------------------------------------
188
+ def wait_for_effect
189
+ @method_wait_for_effect.call if @method_wait_for_effect
190
+ end
191
+ #--------------------------------------------------------------------------
192
+ # * Get Message Speed
193
+ #--------------------------------------------------------------------------
194
+ def message_speed
195
+ return 20
196
+ end
197
+ #--------------------------------------------------------------------------
198
+ # * Wait and Clear
199
+ # Clear after inputing minimum necessary wait for the message to be read.
200
+ #--------------------------------------------------------------------------
201
+ def wait_and_clear
202
+ wait while @num_wait < 2 if line_number > 0
203
+ clear
204
+ end
205
+ #--------------------------------------------------------------------------
206
+ # * Display Current State
207
+ #--------------------------------------------------------------------------
208
+ def display_current_state(subject)
209
+ unless subject.most_important_state_text.empty?
210
+ add_text(subject.name + subject.most_important_state_text)
211
+ wait
212
+ end
213
+ end
214
+ #--------------------------------------------------------------------------
215
+ # * Display Skill/Item Use
216
+ #--------------------------------------------------------------------------
217
+ def display_use_item(subject, item)
218
+ if item.is_a?(RPG::Skill)
219
+ add_text(subject.name + item.message1)
220
+ unless item.message2.empty?
221
+ wait
222
+ add_text(item.message2)
223
+ end
224
+ else
225
+ add_text(sprintf(Vocab::UseItem, subject.name, item.name))
226
+ end
227
+ end
228
+ #--------------------------------------------------------------------------
229
+ # * Display Counterattack
230
+ #--------------------------------------------------------------------------
231
+ def display_counter(target, item)
232
+ Sound.play_evasion
233
+ add_text(sprintf(Vocab::CounterAttack, target.name))
234
+ wait
235
+ back_one
236
+ end
237
+ #--------------------------------------------------------------------------
238
+ # * Display Reflection
239
+ #--------------------------------------------------------------------------
240
+ def display_reflection(target, item)
241
+ Sound.play_reflection
242
+ add_text(sprintf(Vocab::MagicReflection, target.name))
243
+ wait
244
+ back_one
245
+ end
246
+ #--------------------------------------------------------------------------
247
+ # * Display Substitute
248
+ #--------------------------------------------------------------------------
249
+ def display_substitute(substitute, target)
250
+ add_text(sprintf(Vocab::Substitute, substitute.name, target.name))
251
+ wait
252
+ back_one
253
+ end
254
+ #--------------------------------------------------------------------------
255
+ # * Display Action Results
256
+ #--------------------------------------------------------------------------
257
+ def display_action_results(target, item)
258
+ if target.result.used
259
+ last_line_number = line_number
260
+ display_critical(target, item)
261
+ display_damage(target, item)
262
+ display_affected_status(target, item)
263
+ display_failure(target, item)
264
+ wait if line_number > last_line_number
265
+ back_to(last_line_number)
266
+ end
267
+ end
268
+ #--------------------------------------------------------------------------
269
+ # * Display Failure
270
+ #--------------------------------------------------------------------------
271
+ def display_failure(target, item)
272
+ if target.result.hit? && !target.result.success
273
+ add_text(sprintf(Vocab::ActionFailure, target.name))
274
+ wait
275
+ end
276
+ end
277
+ #--------------------------------------------------------------------------
278
+ # * Display Critical Hit
279
+ #--------------------------------------------------------------------------
280
+ def display_critical(target, item)
281
+ if target.result.critical
282
+ text = target.actor? ? Vocab::CriticalToActor : Vocab::CriticalToEnemy
283
+ add_text(text)
284
+ wait
285
+ end
286
+ end
287
+ #--------------------------------------------------------------------------
288
+ # * Display Damage
289
+ #--------------------------------------------------------------------------
290
+ def display_damage(target, item)
291
+ if target.result.missed
292
+ display_miss(target, item)
293
+ elsif target.result.evaded
294
+ display_evasion(target, item)
295
+ else
296
+ display_hp_damage(target, item)
297
+ display_mp_damage(target, item)
298
+ display_tp_damage(target, item)
299
+ end
300
+ end
301
+ #--------------------------------------------------------------------------
302
+ # * Display Miss
303
+ #--------------------------------------------------------------------------
304
+ def display_miss(target, item)
305
+ if !item || item.physical?
306
+ fmt = target.actor? ? Vocab::ActorNoHit : Vocab::EnemyNoHit
307
+ Sound.play_miss
308
+ else
309
+ fmt = Vocab::ActionFailure
310
+ end
311
+ add_text(sprintf(fmt, target.name))
312
+ wait
313
+ end
314
+ #--------------------------------------------------------------------------
315
+ # * Display Evasion
316
+ #--------------------------------------------------------------------------
317
+ def display_evasion(target, item)
318
+ if !item || item.physical?
319
+ fmt = Vocab::Evasion
320
+ Sound.play_evasion
321
+ else
322
+ fmt = Vocab::MagicEvasion
323
+ Sound.play_magic_evasion
324
+ end
325
+ add_text(sprintf(fmt, target.name))
326
+ wait
327
+ end
328
+ #--------------------------------------------------------------------------
329
+ # * Display HP Damage
330
+ #--------------------------------------------------------------------------
331
+ def display_hp_damage(target, item)
332
+ return if target.result.hp_damage == 0 && item && !item.damage.to_hp?
333
+ if target.result.hp_damage > 0 && target.result.hp_drain == 0
334
+ target.perform_damage_effect
335
+ end
336
+ Sound.play_recovery if target.result.hp_damage < 0
337
+ add_text(target.result.hp_damage_text)
338
+ wait
339
+ end
340
+ #--------------------------------------------------------------------------
341
+ # * Display MP Damage
342
+ #--------------------------------------------------------------------------
343
+ def display_mp_damage(target, item)
344
+ return if target.dead? || target.result.mp_damage == 0
345
+ Sound.play_recovery if target.result.mp_damage < 0
346
+ add_text(target.result.mp_damage_text)
347
+ wait
348
+ end
349
+ #--------------------------------------------------------------------------
350
+ # * Display TP Damage
351
+ #--------------------------------------------------------------------------
352
+ def display_tp_damage(target, item)
353
+ return if target.dead? || target.result.tp_damage == 0
354
+ Sound.play_recovery if target.result.tp_damage < 0
355
+ add_text(target.result.tp_damage_text)
356
+ wait
357
+ end
358
+ #--------------------------------------------------------------------------
359
+ # * Display Affected Status
360
+ #--------------------------------------------------------------------------
361
+ def display_affected_status(target, item)
362
+ if target.result.status_affected?
363
+ add_text("") if line_number < max_line_number
364
+ display_changed_states(target)
365
+ display_changed_buffs(target)
366
+ back_one if last_text.empty?
367
+ end
368
+ end
369
+ #--------------------------------------------------------------------------
370
+ # * Display Automatically Affected Status
371
+ #--------------------------------------------------------------------------
372
+ def display_auto_affected_status(target)
373
+ if target.result.status_affected?
374
+ display_affected_status(target, nil)
375
+ wait if line_number > 0
376
+ end
377
+ end
378
+ #--------------------------------------------------------------------------
379
+ # * Display Added/Removed State
380
+ #--------------------------------------------------------------------------
381
+ def display_changed_states(target)
382
+ display_added_states(target)
383
+ display_removed_states(target)
384
+ end
385
+ #--------------------------------------------------------------------------
386
+ # * Display Added State
387
+ #--------------------------------------------------------------------------
388
+ def display_added_states(target)
389
+ target.result.added_state_objects.each do |state|
390
+ state_msg = target.actor? ? state.message1 : state.message2
391
+ target.perform_collapse_effect if state.id == target.death_state_id
392
+ next if state_msg.empty?
393
+ replace_text(target.name + state_msg)
394
+ wait
395
+ wait_for_effect
396
+ end
397
+ end
398
+ #--------------------------------------------------------------------------
399
+ # * Display Removed State
400
+ #--------------------------------------------------------------------------
401
+ def display_removed_states(target)
402
+ target.result.removed_state_objects.each do |state|
403
+ next if state.message4.empty?
404
+ replace_text(target.name + state.message4)
405
+ wait
406
+ end
407
+ end
408
+ #--------------------------------------------------------------------------
409
+ # * Display Buff/Debuff
410
+ #--------------------------------------------------------------------------
411
+ def display_changed_buffs(target)
412
+ display_buffs(target, target.result.added_buffs, Vocab::BuffAdd)
413
+ display_buffs(target, target.result.added_debuffs, Vocab::DebuffAdd)
414
+ display_buffs(target, target.result.removed_buffs, Vocab::BuffRemove)
415
+ end
416
+ #--------------------------------------------------------------------------
417
+ # * Display Buff/Debuff (Individual)
418
+ #--------------------------------------------------------------------------
419
+ def display_buffs(target, buffs, fmt)
420
+ buffs.each do |param_id|
421
+ replace_text(sprintf(fmt, target.name, Vocab::param(param_id)))
422
+ wait
423
+ end
424
+ end
425
+ end