rgss3_default_scripts 1.0.2

Sign up to get free protection for your applications and to get access to all the features.
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