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,127 @@
1
+ #==============================================================================
2
+ # ** Scene_Menu
3
+ #------------------------------------------------------------------------------
4
+ # This class performs the menu screen processing.
5
+ #==============================================================================
6
+
7
+ class Scene_Menu < Scene_MenuBase
8
+ #--------------------------------------------------------------------------
9
+ # * Start Processing
10
+ #--------------------------------------------------------------------------
11
+ def start
12
+ super
13
+ create_command_window
14
+ create_gold_window
15
+ create_status_window
16
+ end
17
+ #--------------------------------------------------------------------------
18
+ # * Create Command Window
19
+ #--------------------------------------------------------------------------
20
+ def create_command_window
21
+ @command_window = Window_MenuCommand.new
22
+ @command_window.set_handler(:item, method(:command_item))
23
+ @command_window.set_handler(:skill, method(:command_personal))
24
+ @command_window.set_handler(:equip, method(:command_personal))
25
+ @command_window.set_handler(:status, method(:command_personal))
26
+ @command_window.set_handler(:formation, method(:command_formation))
27
+ @command_window.set_handler(:save, method(:command_save))
28
+ @command_window.set_handler(:game_end, method(:command_game_end))
29
+ @command_window.set_handler(:cancel, method(:return_scene))
30
+ end
31
+ #--------------------------------------------------------------------------
32
+ # * Create Gold Window
33
+ #--------------------------------------------------------------------------
34
+ def create_gold_window
35
+ @gold_window = Window_Gold.new
36
+ @gold_window.x = 0
37
+ @gold_window.y = Graphics.height - @gold_window.height
38
+ end
39
+ #--------------------------------------------------------------------------
40
+ # * Create Status Window
41
+ #--------------------------------------------------------------------------
42
+ def create_status_window
43
+ @status_window = Window_MenuStatus.new(@command_window.width, 0)
44
+ end
45
+ #--------------------------------------------------------------------------
46
+ # * [Item] Command
47
+ #--------------------------------------------------------------------------
48
+ def command_item
49
+ SceneManager.call(Scene_Item)
50
+ end
51
+ #--------------------------------------------------------------------------
52
+ # * [Skill], [Equipment] and [Status] Commands
53
+ #--------------------------------------------------------------------------
54
+ def command_personal
55
+ @status_window.select_last
56
+ @status_window.activate
57
+ @status_window.set_handler(:ok, method(:on_personal_ok))
58
+ @status_window.set_handler(:cancel, method(:on_personal_cancel))
59
+ end
60
+ #--------------------------------------------------------------------------
61
+ # * [Formation] Command
62
+ #--------------------------------------------------------------------------
63
+ def command_formation
64
+ @status_window.select_last
65
+ @status_window.activate
66
+ @status_window.set_handler(:ok, method(:on_formation_ok))
67
+ @status_window.set_handler(:cancel, method(:on_formation_cancel))
68
+ end
69
+ #--------------------------------------------------------------------------
70
+ # * [Save] Command
71
+ #--------------------------------------------------------------------------
72
+ def command_save
73
+ SceneManager.call(Scene_Save)
74
+ end
75
+ #--------------------------------------------------------------------------
76
+ # * [Exit Game] Command
77
+ #--------------------------------------------------------------------------
78
+ def command_game_end
79
+ SceneManager.call(Scene_End)
80
+ end
81
+ #--------------------------------------------------------------------------
82
+ # * [OK] Personal Command
83
+ #--------------------------------------------------------------------------
84
+ def on_personal_ok
85
+ case @command_window.current_symbol
86
+ when :skill
87
+ SceneManager.call(Scene_Skill)
88
+ when :equip
89
+ SceneManager.call(Scene_Equip)
90
+ when :status
91
+ SceneManager.call(Scene_Status)
92
+ end
93
+ end
94
+ #--------------------------------------------------------------------------
95
+ # * [Cancel] Personal Command
96
+ #--------------------------------------------------------------------------
97
+ def on_personal_cancel
98
+ @status_window.unselect
99
+ @command_window.activate
100
+ end
101
+ #--------------------------------------------------------------------------
102
+ # * Formation [OK]
103
+ #--------------------------------------------------------------------------
104
+ def on_formation_ok
105
+ if @status_window.pending_index >= 0
106
+ $game_party.swap_order(@status_window.index,
107
+ @status_window.pending_index)
108
+ @status_window.pending_index = -1
109
+ @status_window.redraw_item(@status_window.index)
110
+ else
111
+ @status_window.pending_index = @status_window.index
112
+ end
113
+ @status_window.activate
114
+ end
115
+ #--------------------------------------------------------------------------
116
+ # * Formation [Cancel]
117
+ #--------------------------------------------------------------------------
118
+ def on_formation_cancel
119
+ if @status_window.pending_index >= 0
120
+ @status_window.pending_index = -1
121
+ @status_window.activate
122
+ else
123
+ @status_window.unselect
124
+ @command_window.activate
125
+ end
126
+ end
127
+ end
@@ -0,0 +1,63 @@
1
+ #==============================================================================
2
+ # ** Scene_MenuBase
3
+ #------------------------------------------------------------------------------
4
+ # This class performs basic processing related to the menu screen.
5
+ #==============================================================================
6
+
7
+ class Scene_MenuBase < Scene_Base
8
+ #--------------------------------------------------------------------------
9
+ # * Start Processing
10
+ #--------------------------------------------------------------------------
11
+ def start
12
+ super
13
+ create_background
14
+ @actor = $game_party.menu_actor
15
+ end
16
+ #--------------------------------------------------------------------------
17
+ # * Termination Processing
18
+ #--------------------------------------------------------------------------
19
+ def terminate
20
+ super
21
+ dispose_background
22
+ end
23
+ #--------------------------------------------------------------------------
24
+ # * Create Background
25
+ #--------------------------------------------------------------------------
26
+ def create_background
27
+ @background_sprite = Sprite.new
28
+ @background_sprite.bitmap = SceneManager.background_bitmap
29
+ @background_sprite.color.set(16, 16, 16, 128)
30
+ end
31
+ #--------------------------------------------------------------------------
32
+ # * Free Background
33
+ #--------------------------------------------------------------------------
34
+ def dispose_background
35
+ @background_sprite.dispose
36
+ end
37
+ #--------------------------------------------------------------------------
38
+ # * Create Help Window
39
+ #--------------------------------------------------------------------------
40
+ def create_help_window
41
+ @help_window = Window_Help.new
42
+ @help_window.viewport = @viewport
43
+ end
44
+ #--------------------------------------------------------------------------
45
+ # * Switch to Next Actor
46
+ #--------------------------------------------------------------------------
47
+ def next_actor
48
+ @actor = $game_party.menu_actor_next
49
+ on_actor_change
50
+ end
51
+ #--------------------------------------------------------------------------
52
+ # * Switch to Previous Actor
53
+ #--------------------------------------------------------------------------
54
+ def prev_actor
55
+ @actor = $game_party.menu_actor_prev
56
+ on_actor_change
57
+ end
58
+ #--------------------------------------------------------------------------
59
+ # * Change Actors
60
+ #--------------------------------------------------------------------------
61
+ def on_actor_change
62
+ end
63
+ end
@@ -0,0 +1,32 @@
1
+ #==============================================================================
2
+ # ** Scene_Name
3
+ #------------------------------------------------------------------------------
4
+ # This class performs name input screen processing.
5
+ #==============================================================================
6
+
7
+ class Scene_Name < Scene_MenuBase
8
+ #--------------------------------------------------------------------------
9
+ # * Prepare
10
+ #--------------------------------------------------------------------------
11
+ def prepare(actor_id, max_char)
12
+ @actor_id = actor_id
13
+ @max_char = max_char
14
+ end
15
+ #--------------------------------------------------------------------------
16
+ # * Start Processing
17
+ #--------------------------------------------------------------------------
18
+ def start
19
+ super
20
+ @actor = $game_actors[@actor_id]
21
+ @edit_window = Window_NameEdit.new(@actor, @max_char)
22
+ @input_window = Window_NameInput.new(@edit_window)
23
+ @input_window.set_handler(:ok, method(:on_input_ok))
24
+ end
25
+ #--------------------------------------------------------------------------
26
+ # * Input [OK]
27
+ #--------------------------------------------------------------------------
28
+ def on_input_ok
29
+ @actor.name = @edit_window.name
30
+ return_scene
31
+ end
32
+ end
@@ -0,0 +1,38 @@
1
+ #==============================================================================
2
+ # ** Scene_Save
3
+ #------------------------------------------------------------------------------
4
+ # This class performs save screen processing.
5
+ #==============================================================================
6
+
7
+ class Scene_Save < Scene_File
8
+ #--------------------------------------------------------------------------
9
+ # * Get Help Window Text
10
+ #--------------------------------------------------------------------------
11
+ def help_window_text
12
+ Vocab::SaveMessage
13
+ end
14
+ #--------------------------------------------------------------------------
15
+ # * Get File Index to Select First
16
+ #--------------------------------------------------------------------------
17
+ def first_savefile_index
18
+ DataManager.last_savefile_index
19
+ end
20
+ #--------------------------------------------------------------------------
21
+ # * Confirm Save File
22
+ #--------------------------------------------------------------------------
23
+ def on_savefile_ok
24
+ super
25
+ if DataManager.save_game(@index)
26
+ on_save_success
27
+ else
28
+ Sound.play_buzzer
29
+ end
30
+ end
31
+ #--------------------------------------------------------------------------
32
+ # * Processing When Save Is Successful
33
+ #--------------------------------------------------------------------------
34
+ def on_save_success
35
+ Sound.play_save
36
+ return_scene
37
+ end
38
+ end
@@ -0,0 +1,299 @@
1
+ #==============================================================================
2
+ # ** Scene_Shop
3
+ #------------------------------------------------------------------------------
4
+ # This class performs shop screen processing.
5
+ #==============================================================================
6
+
7
+ class Scene_Shop < Scene_MenuBase
8
+ #--------------------------------------------------------------------------
9
+ # * Prepare
10
+ #--------------------------------------------------------------------------
11
+ def prepare(goods, purchase_only)
12
+ @goods = goods
13
+ @purchase_only = purchase_only
14
+ end
15
+ #--------------------------------------------------------------------------
16
+ # * Start Processing
17
+ #--------------------------------------------------------------------------
18
+ def start
19
+ super
20
+ create_help_window
21
+ create_gold_window
22
+ create_command_window
23
+ create_dummy_window
24
+ create_number_window
25
+ create_status_window
26
+ create_buy_window
27
+ create_category_window
28
+ create_sell_window
29
+ end
30
+ #--------------------------------------------------------------------------
31
+ # * Create Gold Window
32
+ #--------------------------------------------------------------------------
33
+ def create_gold_window
34
+ @gold_window = Window_Gold.new
35
+ @gold_window.viewport = @viewport
36
+ @gold_window.x = Graphics.width - @gold_window.width
37
+ @gold_window.y = @help_window.height
38
+ end
39
+ #--------------------------------------------------------------------------
40
+ # * Create Command Window
41
+ #--------------------------------------------------------------------------
42
+ def create_command_window
43
+ @command_window = Window_ShopCommand.new(@gold_window.x, @purchase_only)
44
+ @command_window.viewport = @viewport
45
+ @command_window.y = @help_window.height
46
+ @command_window.set_handler(:buy, method(:command_buy))
47
+ @command_window.set_handler(:sell, method(:command_sell))
48
+ @command_window.set_handler(:cancel, method(:return_scene))
49
+ end
50
+ #--------------------------------------------------------------------------
51
+ # * Create Dummy Window
52
+ #--------------------------------------------------------------------------
53
+ def create_dummy_window
54
+ wy = @command_window.y + @command_window.height
55
+ wh = Graphics.height - wy
56
+ @dummy_window = Window_Base.new(0, wy, Graphics.width, wh)
57
+ @dummy_window.viewport = @viewport
58
+ end
59
+ #--------------------------------------------------------------------------
60
+ # * Create Quantity Input Window
61
+ #--------------------------------------------------------------------------
62
+ def create_number_window
63
+ wy = @dummy_window.y
64
+ wh = @dummy_window.height
65
+ @number_window = Window_ShopNumber.new(0, wy, wh)
66
+ @number_window.viewport = @viewport
67
+ @number_window.hide
68
+ @number_window.set_handler(:ok, method(:on_number_ok))
69
+ @number_window.set_handler(:cancel, method(:on_number_cancel))
70
+ end
71
+ #--------------------------------------------------------------------------
72
+ # * Create Status Window
73
+ #--------------------------------------------------------------------------
74
+ def create_status_window
75
+ wx = @number_window.width
76
+ wy = @dummy_window.y
77
+ ww = Graphics.width - wx
78
+ wh = @dummy_window.height
79
+ @status_window = Window_ShopStatus.new(wx, wy, ww, wh)
80
+ @status_window.viewport = @viewport
81
+ @status_window.hide
82
+ end
83
+ #--------------------------------------------------------------------------
84
+ # * Create Purchase Window
85
+ #--------------------------------------------------------------------------
86
+ def create_buy_window
87
+ wy = @dummy_window.y
88
+ wh = @dummy_window.height
89
+ @buy_window = Window_ShopBuy.new(0, wy, wh, @goods)
90
+ @buy_window.viewport = @viewport
91
+ @buy_window.help_window = @help_window
92
+ @buy_window.status_window = @status_window
93
+ @buy_window.hide
94
+ @buy_window.set_handler(:ok, method(:on_buy_ok))
95
+ @buy_window.set_handler(:cancel, method(:on_buy_cancel))
96
+ end
97
+ #--------------------------------------------------------------------------
98
+ # * Create Category Window
99
+ #--------------------------------------------------------------------------
100
+ def create_category_window
101
+ @category_window = Window_ItemCategory.new
102
+ @category_window.viewport = @viewport
103
+ @category_window.help_window = @help_window
104
+ @category_window.y = @dummy_window.y
105
+ @category_window.hide.deactivate
106
+ @category_window.set_handler(:ok, method(:on_category_ok))
107
+ @category_window.set_handler(:cancel, method(:on_category_cancel))
108
+ end
109
+ #--------------------------------------------------------------------------
110
+ # * Create Sell Window
111
+ #--------------------------------------------------------------------------
112
+ def create_sell_window
113
+ wy = @category_window.y + @category_window.height
114
+ wh = Graphics.height - wy
115
+ @sell_window = Window_ShopSell.new(0, wy, Graphics.width, wh)
116
+ @sell_window.viewport = @viewport
117
+ @sell_window.help_window = @help_window
118
+ @sell_window.hide
119
+ @sell_window.set_handler(:ok, method(:on_sell_ok))
120
+ @sell_window.set_handler(:cancel, method(:on_sell_cancel))
121
+ @category_window.item_window = @sell_window
122
+ end
123
+ #--------------------------------------------------------------------------
124
+ # * Activate Purchase Window
125
+ #--------------------------------------------------------------------------
126
+ def activate_buy_window
127
+ @buy_window.money = money
128
+ @buy_window.show.activate
129
+ @status_window.show
130
+ end
131
+ #--------------------------------------------------------------------------
132
+ # * Activate Sell Window
133
+ #--------------------------------------------------------------------------
134
+ def activate_sell_window
135
+ @category_window.show
136
+ @sell_window.refresh
137
+ @sell_window.show.activate
138
+ @status_window.hide
139
+ end
140
+ #--------------------------------------------------------------------------
141
+ # * [Buy] Command
142
+ #--------------------------------------------------------------------------
143
+ def command_buy
144
+ @dummy_window.hide
145
+ activate_buy_window
146
+ end
147
+ #--------------------------------------------------------------------------
148
+ # * [Sell] Command
149
+ #--------------------------------------------------------------------------
150
+ def command_sell
151
+ @dummy_window.hide
152
+ @category_window.show.activate
153
+ @sell_window.show
154
+ @sell_window.unselect
155
+ @sell_window.refresh
156
+ end
157
+ #--------------------------------------------------------------------------
158
+ # * Buy [OK]
159
+ #--------------------------------------------------------------------------
160
+ def on_buy_ok
161
+ @item = @buy_window.item
162
+ @buy_window.hide
163
+ @number_window.set(@item, max_buy, buying_price, currency_unit)
164
+ @number_window.show.activate
165
+ end
166
+ #--------------------------------------------------------------------------
167
+ # * Buy [Cancel]
168
+ #--------------------------------------------------------------------------
169
+ def on_buy_cancel
170
+ @command_window.activate
171
+ @dummy_window.show
172
+ @buy_window.hide
173
+ @status_window.hide
174
+ @status_window.item = nil
175
+ @help_window.clear
176
+ end
177
+ #--------------------------------------------------------------------------
178
+ # * Category [OK]
179
+ #--------------------------------------------------------------------------
180
+ def on_category_ok
181
+ activate_sell_window
182
+ @sell_window.select(0)
183
+ end
184
+ #--------------------------------------------------------------------------
185
+ # * Category [Cancel]
186
+ #--------------------------------------------------------------------------
187
+ def on_category_cancel
188
+ @command_window.activate
189
+ @dummy_window.show
190
+ @category_window.hide
191
+ @sell_window.hide
192
+ end
193
+ #--------------------------------------------------------------------------
194
+ # * Sell [OK]
195
+ #--------------------------------------------------------------------------
196
+ def on_sell_ok
197
+ @item = @sell_window.item
198
+ @status_window.item = @item
199
+ @category_window.hide
200
+ @sell_window.hide
201
+ @number_window.set(@item, max_sell, selling_price, currency_unit)
202
+ @number_window.show.activate
203
+ @status_window.show
204
+ end
205
+ #--------------------------------------------------------------------------
206
+ # * Sell [Cancel]
207
+ #--------------------------------------------------------------------------
208
+ def on_sell_cancel
209
+ @sell_window.unselect
210
+ @category_window.activate
211
+ @status_window.item = nil
212
+ @help_window.clear
213
+ end
214
+ #--------------------------------------------------------------------------
215
+ # * Quantity Input [OK]
216
+ #--------------------------------------------------------------------------
217
+ def on_number_ok
218
+ Sound.play_shop
219
+ case @command_window.current_symbol
220
+ when :buy
221
+ do_buy(@number_window.number)
222
+ when :sell
223
+ do_sell(@number_window.number)
224
+ end
225
+ end_number_input
226
+ @gold_window.refresh
227
+ @status_window.refresh
228
+ end
229
+ #--------------------------------------------------------------------------
230
+ # * Quantity Input [Cancel]
231
+ #--------------------------------------------------------------------------
232
+ def on_number_cancel
233
+ Sound.play_cancel
234
+ end_number_input
235
+ end
236
+ #--------------------------------------------------------------------------
237
+ # * Execute Purchase
238
+ #--------------------------------------------------------------------------
239
+ def do_buy(number)
240
+ $game_party.lose_gold(number * buying_price)
241
+ $game_party.gain_item(@item, number)
242
+ end
243
+ #--------------------------------------------------------------------------
244
+ # * Execute Sale
245
+ #--------------------------------------------------------------------------
246
+ def do_sell(number)
247
+ $game_party.gain_gold(number * selling_price)
248
+ $game_party.lose_item(@item, number)
249
+ end
250
+ #--------------------------------------------------------------------------
251
+ # * Exit Quantity Input
252
+ #--------------------------------------------------------------------------
253
+ def end_number_input
254
+ @number_window.hide
255
+ case @command_window.current_symbol
256
+ when :buy
257
+ activate_buy_window
258
+ when :sell
259
+ activate_sell_window
260
+ end
261
+ end
262
+ #--------------------------------------------------------------------------
263
+ # * Get Maximum Quantity Buyable
264
+ #--------------------------------------------------------------------------
265
+ def max_buy
266
+ max = $game_party.max_item_number(@item) - $game_party.item_number(@item)
267
+ buying_price == 0 ? max : [max, money / buying_price].min
268
+ end
269
+ #--------------------------------------------------------------------------
270
+ # * Get Maximum Quantity Sellable
271
+ #--------------------------------------------------------------------------
272
+ def max_sell
273
+ $game_party.item_number(@item)
274
+ end
275
+ #--------------------------------------------------------------------------
276
+ # * Get Party Gold
277
+ #--------------------------------------------------------------------------
278
+ def money
279
+ @gold_window.value
280
+ end
281
+ #--------------------------------------------------------------------------
282
+ # Get Currency Unit
283
+ #--------------------------------------------------------------------------
284
+ def currency_unit
285
+ @gold_window.currency_unit
286
+ end
287
+ #--------------------------------------------------------------------------
288
+ # * Get Purchase Price
289
+ #--------------------------------------------------------------------------
290
+ def buying_price
291
+ @buy_window.price(@item)
292
+ end
293
+ #--------------------------------------------------------------------------
294
+ # * Get Sale Price
295
+ #--------------------------------------------------------------------------
296
+ def selling_price
297
+ @item.price / 2
298
+ end
299
+ end