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