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,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