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,231 @@
1
+ #==============================================================================
2
+ # ** Sprite_Battler
3
+ #------------------------------------------------------------------------------
4
+ # This sprite is used to display battlers. It observes an instance of the
5
+ # Game_Battler class and automatically changes sprite states.
6
+ #==============================================================================
7
+
8
+ class Sprite_Battler < Sprite_Base
9
+ #--------------------------------------------------------------------------
10
+ # * Public Instance Variables
11
+ #--------------------------------------------------------------------------
12
+ attr_accessor :battler
13
+ #--------------------------------------------------------------------------
14
+ # * Object Initialization
15
+ #--------------------------------------------------------------------------
16
+ def initialize(viewport, battler = nil)
17
+ super(viewport)
18
+ @battler = battler
19
+ @battler_visible = false
20
+ @effect_type = nil
21
+ @effect_duration = 0
22
+ end
23
+ #--------------------------------------------------------------------------
24
+ # * Free
25
+ #--------------------------------------------------------------------------
26
+ def dispose
27
+ bitmap.dispose if bitmap
28
+ super
29
+ end
30
+ #--------------------------------------------------------------------------
31
+ # * Frame Update
32
+ #--------------------------------------------------------------------------
33
+ def update
34
+ super
35
+ if @battler
36
+ @use_sprite = @battler.use_sprite?
37
+ if @use_sprite
38
+ update_bitmap
39
+ update_origin
40
+ update_position
41
+ end
42
+ setup_new_effect
43
+ setup_new_animation
44
+ update_effect
45
+ else
46
+ self.bitmap = nil
47
+ @effect_type = nil
48
+ end
49
+ end
50
+ #--------------------------------------------------------------------------
51
+ # * Update Transfer Origin Bitmap
52
+ #--------------------------------------------------------------------------
53
+ def update_bitmap
54
+ new_bitmap = Cache.battler(@battler.battler_name, @battler.battler_hue)
55
+ if bitmap != new_bitmap
56
+ self.bitmap = new_bitmap
57
+ init_visibility
58
+ end
59
+ end
60
+ #--------------------------------------------------------------------------
61
+ # * Initialize Visibility
62
+ #--------------------------------------------------------------------------
63
+ def init_visibility
64
+ @battler_visible = @battler.alive?
65
+ self.opacity = 0 unless @battler_visible
66
+ end
67
+ #--------------------------------------------------------------------------
68
+ # * Update Origin
69
+ #--------------------------------------------------------------------------
70
+ def update_origin
71
+ if bitmap
72
+ self.ox = bitmap.width / 2
73
+ self.oy = bitmap.height
74
+ end
75
+ end
76
+ #--------------------------------------------------------------------------
77
+ # * Update Position
78
+ #--------------------------------------------------------------------------
79
+ def update_position
80
+ self.x = @battler.screen_x
81
+ self.y = @battler.screen_y
82
+ self.z = @battler.screen_z
83
+ end
84
+ #--------------------------------------------------------------------------
85
+ # * Set New Effect
86
+ #--------------------------------------------------------------------------
87
+ def setup_new_effect
88
+ if !@battler_visible && @battler.alive?
89
+ start_effect(:appear)
90
+ elsif @battler_visible && @battler.hidden?
91
+ start_effect(:disappear)
92
+ end
93
+ if @battler_visible && @battler.sprite_effect_type
94
+ start_effect(@battler.sprite_effect_type)
95
+ @battler.sprite_effect_type = nil
96
+ end
97
+ end
98
+ #--------------------------------------------------------------------------
99
+ # * Start Effect
100
+ #--------------------------------------------------------------------------
101
+ def start_effect(effect_type)
102
+ @effect_type = effect_type
103
+ case @effect_type
104
+ when :appear
105
+ @effect_duration = 16
106
+ @battler_visible = true
107
+ when :disappear
108
+ @effect_duration = 32
109
+ @battler_visible = false
110
+ when :whiten
111
+ @effect_duration = 16
112
+ @battler_visible = true
113
+ when :blink
114
+ @effect_duration = 20
115
+ @battler_visible = true
116
+ when :collapse
117
+ @effect_duration = 48
118
+ @battler_visible = false
119
+ when :boss_collapse
120
+ @effect_duration = bitmap.height
121
+ @battler_visible = false
122
+ when :instant_collapse
123
+ @effect_duration = 16
124
+ @battler_visible = false
125
+ end
126
+ revert_to_normal
127
+ end
128
+ #--------------------------------------------------------------------------
129
+ # * Revert to Normal Settings
130
+ #--------------------------------------------------------------------------
131
+ def revert_to_normal
132
+ self.blend_type = 0
133
+ self.color.set(0, 0, 0, 0)
134
+ self.opacity = 255
135
+ self.ox = bitmap.width / 2 if bitmap
136
+ self.src_rect.y = 0
137
+ end
138
+ #--------------------------------------------------------------------------
139
+ # * Set New Animation
140
+ #--------------------------------------------------------------------------
141
+ def setup_new_animation
142
+ if @battler.animation_id > 0
143
+ animation = $data_animations[@battler.animation_id]
144
+ mirror = @battler.animation_mirror
145
+ start_animation(animation, mirror)
146
+ @battler.animation_id = 0
147
+ end
148
+ end
149
+ #--------------------------------------------------------------------------
150
+ # * Determine if Effect Is Executing
151
+ #--------------------------------------------------------------------------
152
+ def effect?
153
+ @effect_type != nil
154
+ end
155
+ #--------------------------------------------------------------------------
156
+ # * Update Effect
157
+ #--------------------------------------------------------------------------
158
+ def update_effect
159
+ if @effect_duration > 0
160
+ @effect_duration -= 1
161
+ case @effect_type
162
+ when :whiten
163
+ update_whiten
164
+ when :blink
165
+ update_blink
166
+ when :appear
167
+ update_appear
168
+ when :disappear
169
+ update_disappear
170
+ when :collapse
171
+ update_collapse
172
+ when :boss_collapse
173
+ update_boss_collapse
174
+ when :instant_collapse
175
+ update_instant_collapse
176
+ end
177
+ @effect_type = nil if @effect_duration == 0
178
+ end
179
+ end
180
+ #--------------------------------------------------------------------------
181
+ # * Update White Flash Effect
182
+ #--------------------------------------------------------------------------
183
+ def update_whiten
184
+ self.color.set(255, 255, 255, 0)
185
+ self.color.alpha = 128 - (16 - @effect_duration) * 10
186
+ end
187
+ #--------------------------------------------------------------------------
188
+ # * Update Blink Effect
189
+ #--------------------------------------------------------------------------
190
+ def update_blink
191
+ self.opacity = (@effect_duration % 10 < 5) ? 255 : 0
192
+ end
193
+ #--------------------------------------------------------------------------
194
+ # * Update Appearance Effect
195
+ #--------------------------------------------------------------------------
196
+ def update_appear
197
+ self.opacity = (16 - @effect_duration) * 16
198
+ end
199
+ #--------------------------------------------------------------------------
200
+ # * Updated Disappear Effect
201
+ #--------------------------------------------------------------------------
202
+ def update_disappear
203
+ self.opacity = 256 - (32 - @effect_duration) * 10
204
+ end
205
+ #--------------------------------------------------------------------------
206
+ # * Update Collapse Effect
207
+ #--------------------------------------------------------------------------
208
+ def update_collapse
209
+ self.blend_type = 1
210
+ self.color.set(255, 128, 128, 128)
211
+ self.opacity = 256 - (48 - @effect_duration) * 6
212
+ end
213
+ #--------------------------------------------------------------------------
214
+ # * Update Boss Collapse Effect
215
+ #--------------------------------------------------------------------------
216
+ def update_boss_collapse
217
+ alpha = @effect_duration * 120 / bitmap.height
218
+ self.ox = bitmap.width / 2 + @effect_duration % 2 * 4 - 2
219
+ self.blend_type = 1
220
+ self.color.set(255, 255, 255, 255 - alpha)
221
+ self.opacity = alpha
222
+ self.src_rect.y -= 1
223
+ Sound.play_boss_collapse2 if @effect_duration % 20 == 19
224
+ end
225
+ #--------------------------------------------------------------------------
226
+ # * Update Instant Collapse Effect
227
+ #--------------------------------------------------------------------------
228
+ def update_instant_collapse
229
+ self.opacity = 0
230
+ end
231
+ end
@@ -0,0 +1,226 @@
1
+ #==============================================================================
2
+ # ** Sprite_Character
3
+ #------------------------------------------------------------------------------
4
+ # This sprite is used to display characters. It observes an instance of the
5
+ # Game_Character class and automatically changes sprite state.
6
+ #==============================================================================
7
+
8
+ class Sprite_Character < Sprite_Base
9
+ #--------------------------------------------------------------------------
10
+ # * Public Instance Variables
11
+ #--------------------------------------------------------------------------
12
+ attr_accessor :character
13
+ #--------------------------------------------------------------------------
14
+ # * Object Initialization
15
+ # character : Game_Character
16
+ #--------------------------------------------------------------------------
17
+ def initialize(viewport, character = nil)
18
+ super(viewport)
19
+ @character = character
20
+ @balloon_duration = 0
21
+ update
22
+ end
23
+ #--------------------------------------------------------------------------
24
+ # * Free
25
+ #--------------------------------------------------------------------------
26
+ def dispose
27
+ end_animation
28
+ end_balloon
29
+ super
30
+ end
31
+ #--------------------------------------------------------------------------
32
+ # * Frame Update
33
+ #--------------------------------------------------------------------------
34
+ def update
35
+ super
36
+ update_bitmap
37
+ update_src_rect
38
+ update_position
39
+ update_other
40
+ update_balloon
41
+ setup_new_effect
42
+ end
43
+ #--------------------------------------------------------------------------
44
+ # * Get Tileset Image That Includes the Designated Tile
45
+ #--------------------------------------------------------------------------
46
+ def tileset_bitmap(tile_id)
47
+ Cache.tileset($game_map.tileset.tileset_names[5 + tile_id / 256])
48
+ end
49
+ #--------------------------------------------------------------------------
50
+ # * Update Transfer Origin Bitmap
51
+ #--------------------------------------------------------------------------
52
+ def update_bitmap
53
+ if graphic_changed?
54
+ @tile_id = @character.tile_id
55
+ @character_name = @character.character_name
56
+ @character_index = @character.character_index
57
+ if @tile_id > 0
58
+ set_tile_bitmap
59
+ else
60
+ set_character_bitmap
61
+ end
62
+ end
63
+ end
64
+ #--------------------------------------------------------------------------
65
+ # * Determine if Graphic Changed
66
+ #--------------------------------------------------------------------------
67
+ def graphic_changed?
68
+ @tile_id != @character.tile_id ||
69
+ @character_name != @character.character_name ||
70
+ @character_index != @character.character_index
71
+ end
72
+ #--------------------------------------------------------------------------
73
+ # * Set Tile Bitmap
74
+ #--------------------------------------------------------------------------
75
+ def set_tile_bitmap
76
+ sx = (@tile_id / 128 % 2 * 8 + @tile_id % 8) * 32;
77
+ sy = @tile_id % 256 / 8 % 16 * 32;
78
+ self.bitmap = tileset_bitmap(@tile_id)
79
+ self.src_rect.set(sx, sy, 32, 32)
80
+ self.ox = 16
81
+ self.oy = 32
82
+ end
83
+ #--------------------------------------------------------------------------
84
+ # * Set Character Bitmap
85
+ #--------------------------------------------------------------------------
86
+ def set_character_bitmap
87
+ self.bitmap = Cache.character(@character_name)
88
+ sign = @character_name[/^[\!\$]./]
89
+ if sign && sign.include?('$')
90
+ @cw = bitmap.width / 3
91
+ @ch = bitmap.height / 4
92
+ else
93
+ @cw = bitmap.width / 12
94
+ @ch = bitmap.height / 8
95
+ end
96
+ self.ox = @cw / 2
97
+ self.oy = @ch
98
+ end
99
+ #--------------------------------------------------------------------------
100
+ # * Update Transfer Origin Rectangle
101
+ #--------------------------------------------------------------------------
102
+ def update_src_rect
103
+ if @tile_id == 0
104
+ index = @character.character_index
105
+ pattern = @character.pattern < 3 ? @character.pattern : 1
106
+ sx = (index % 4 * 3 + pattern) * @cw
107
+ sy = (index / 4 * 4 + (@character.direction - 2) / 2) * @ch
108
+ self.src_rect.set(sx, sy, @cw, @ch)
109
+ end
110
+ end
111
+ #--------------------------------------------------------------------------
112
+ # * Update Position
113
+ #--------------------------------------------------------------------------
114
+ def update_position
115
+ move_animation(@character.screen_x - x, @character.screen_y - y)
116
+ self.x = @character.screen_x
117
+ self.y = @character.screen_y
118
+ self.z = @character.screen_z
119
+ end
120
+ #--------------------------------------------------------------------------
121
+ # * Update Other
122
+ #--------------------------------------------------------------------------
123
+ def update_other
124
+ self.opacity = @character.opacity
125
+ self.blend_type = @character.blend_type
126
+ self.bush_depth = @character.bush_depth
127
+ self.visible = !@character.transparent
128
+ end
129
+ #--------------------------------------------------------------------------
130
+ # * Set New Effect
131
+ #--------------------------------------------------------------------------
132
+ def setup_new_effect
133
+ if !animation? && @character.animation_id > 0
134
+ animation = $data_animations[@character.animation_id]
135
+ start_animation(animation)
136
+ end
137
+ if !@balloon_sprite && @character.balloon_id > 0
138
+ @balloon_id = @character.balloon_id
139
+ start_balloon
140
+ end
141
+ end
142
+ #--------------------------------------------------------------------------
143
+ # * Move Animation
144
+ #--------------------------------------------------------------------------
145
+ def move_animation(dx, dy)
146
+ if @animation && @animation.position != 3
147
+ @ani_ox += dx
148
+ @ani_oy += dy
149
+ @ani_sprites.each do |sprite|
150
+ sprite.x += dx
151
+ sprite.y += dy
152
+ end
153
+ end
154
+ end
155
+ #--------------------------------------------------------------------------
156
+ # * End Animation
157
+ #--------------------------------------------------------------------------
158
+ def end_animation
159
+ super
160
+ @character.animation_id = 0
161
+ end
162
+ #--------------------------------------------------------------------------
163
+ # * Start Balloon Icon Display
164
+ #--------------------------------------------------------------------------
165
+ def start_balloon
166
+ dispose_balloon
167
+ @balloon_duration = 8 * balloon_speed + balloon_wait
168
+ @balloon_sprite = ::Sprite.new(viewport)
169
+ @balloon_sprite.bitmap = Cache.system("Balloon")
170
+ @balloon_sprite.ox = 16
171
+ @balloon_sprite.oy = 32
172
+ update_balloon
173
+ end
174
+ #--------------------------------------------------------------------------
175
+ # * Free Balloon Icon
176
+ #--------------------------------------------------------------------------
177
+ def dispose_balloon
178
+ if @balloon_sprite
179
+ @balloon_sprite.dispose
180
+ @balloon_sprite = nil
181
+ end
182
+ end
183
+ #--------------------------------------------------------------------------
184
+ # * Update Balloon Icon
185
+ #--------------------------------------------------------------------------
186
+ def update_balloon
187
+ if @balloon_duration > 0
188
+ @balloon_duration -= 1
189
+ if @balloon_duration > 0
190
+ @balloon_sprite.x = x
191
+ @balloon_sprite.y = y - height
192
+ @balloon_sprite.z = z + 200
193
+ sx = balloon_frame_index * 32
194
+ sy = (@balloon_id - 1) * 32
195
+ @balloon_sprite.src_rect.set(sx, sy, 32, 32)
196
+ else
197
+ end_balloon
198
+ end
199
+ end
200
+ end
201
+ #--------------------------------------------------------------------------
202
+ # * End Balloon Icon
203
+ #--------------------------------------------------------------------------
204
+ def end_balloon
205
+ dispose_balloon
206
+ @character.balloon_id = 0
207
+ end
208
+ #--------------------------------------------------------------------------
209
+ # * Balloon Icon Display Speed
210
+ #--------------------------------------------------------------------------
211
+ def balloon_speed
212
+ return 8
213
+ end
214
+ #--------------------------------------------------------------------------
215
+ # * Wait Time for Last Frame of Balloon
216
+ #--------------------------------------------------------------------------
217
+ def balloon_wait
218
+ return 12
219
+ end
220
+ #--------------------------------------------------------------------------
221
+ # * Frame Number of Balloon Icon
222
+ #--------------------------------------------------------------------------
223
+ def balloon_frame_index
224
+ return 7 - [(@balloon_duration - balloon_wait) / balloon_speed, 0].max
225
+ end
226
+ end