rgss3_default_scripts 1.0.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.gitignore +9 -0
- data/Gemfile +4 -0
- data/README.md +9 -0
- data/Rakefile +2 -0
- data/lib/rgss3_default_scripts.rb +109 -0
- data/lib/rgss3_default_scripts/BattleManager.rb +392 -0
- data/lib/rgss3_default_scripts/Cache.rb +134 -0
- data/lib/rgss3_default_scripts/DataManager.rb +267 -0
- data/lib/rgss3_default_scripts/Game_Action.rb +262 -0
- data/lib/rgss3_default_scripts/Game_ActionResult.rb +159 -0
- data/lib/rgss3_default_scripts/Game_Actor.rb +696 -0
- data/lib/rgss3_default_scripts/Game_Actors.rb +22 -0
- data/lib/rgss3_default_scripts/Game_BaseItem.rb +51 -0
- data/lib/rgss3_default_scripts/Game_Battler.rb +824 -0
- data/lib/rgss3_default_scripts/Game_BattlerBase.rb +731 -0
- data/lib/rgss3_default_scripts/Game_Character.rb +396 -0
- data/lib/rgss3_default_scripts/Game_CharacterBase.rb +443 -0
- data/lib/rgss3_default_scripts/Game_CommonEvent.rb +41 -0
- data/lib/rgss3_default_scripts/Game_Enemy.rb +264 -0
- data/lib/rgss3_default_scripts/Game_Event.rb +308 -0
- data/lib/rgss3_default_scripts/Game_Follower.rb +74 -0
- data/lib/rgss3_default_scripts/Game_Followers.rb +112 -0
- data/lib/rgss3_default_scripts/Game_Interpreter.rb +1413 -0
- data/lib/rgss3_default_scripts/Game_Map.rb +704 -0
- data/lib/rgss3_default_scripts/Game_Message.rb +101 -0
- data/lib/rgss3_default_scripts/Game_Party.rb +418 -0
- data/lib/rgss3_default_scripts/Game_Picture.rb +161 -0
- data/lib/rgss3_default_scripts/Game_Pictures.rb +28 -0
- data/lib/rgss3_default_scripts/Game_Player.rb +488 -0
- data/lib/rgss3_default_scripts/Game_Screen.rb +234 -0
- data/lib/rgss3_default_scripts/Game_SelfSwitches.rb +35 -0
- data/lib/rgss3_default_scripts/Game_Switches.rb +35 -0
- data/lib/rgss3_default_scripts/Game_System.rb +122 -0
- data/lib/rgss3_default_scripts/Game_Temp.rb +45 -0
- data/lib/rgss3_default_scripts/Game_Timer.rb +56 -0
- data/lib/rgss3_default_scripts/Game_Troop.rb +205 -0
- data/lib/rgss3_default_scripts/Game_Unit.rb +131 -0
- data/lib/rgss3_default_scripts/Game_Variables.rb +34 -0
- data/lib/rgss3_default_scripts/Game_Vehicle.rb +193 -0
- data/lib/rgss3_default_scripts/SceneManager.rb +94 -0
- data/lib/rgss3_default_scripts/Scene_Base.rb +132 -0
- data/lib/rgss3_default_scripts/Scene_Battle.rb +693 -0
- data/lib/rgss3_default_scripts/Scene_Debug.rb +87 -0
- data/lib/rgss3_default_scripts/Scene_End.rb +61 -0
- data/lib/rgss3_default_scripts/Scene_Equip.rb +144 -0
- data/lib/rgss3_default_scripts/Scene_File.rb +203 -0
- data/lib/rgss3_default_scripts/Scene_Gameover.rb +85 -0
- data/lib/rgss3_default_scripts/Scene_Item.rb +75 -0
- data/lib/rgss3_default_scripts/Scene_ItemBase.rb +147 -0
- data/lib/rgss3_default_scripts/Scene_Load.rb +40 -0
- data/lib/rgss3_default_scripts/Scene_Map.rb +276 -0
- data/lib/rgss3_default_scripts/Scene_Menu.rb +127 -0
- data/lib/rgss3_default_scripts/Scene_MenuBase.rb +63 -0
- data/lib/rgss3_default_scripts/Scene_Name.rb +32 -0
- data/lib/rgss3_default_scripts/Scene_Save.rb +38 -0
- data/lib/rgss3_default_scripts/Scene_Shop.rb +299 -0
- data/lib/rgss3_default_scripts/Scene_Skill.rb +108 -0
- data/lib/rgss3_default_scripts/Scene_Status.rb +25 -0
- data/lib/rgss3_default_scripts/Scene_Title.rb +137 -0
- data/lib/rgss3_default_scripts/Sound.rb +135 -0
- data/lib/rgss3_default_scripts/Sprite_Base.rb +232 -0
- data/lib/rgss3_default_scripts/Sprite_Battler.rb +231 -0
- data/lib/rgss3_default_scripts/Sprite_Character.rb +226 -0
- data/lib/rgss3_default_scripts/Sprite_Picture.rb +82 -0
- data/lib/rgss3_default_scripts/Sprite_Timer.rb +77 -0
- data/lib/rgss3_default_scripts/Spriteset_Battle.rb +389 -0
- data/lib/rgss3_default_scripts/Spriteset_Map.rb +273 -0
- data/lib/rgss3_default_scripts/Spriteset_Weather.rb +184 -0
- data/lib/rgss3_default_scripts/Vocab.rb +145 -0
- data/lib/rgss3_default_scripts/Window_ActorCommand.rb +78 -0
- data/lib/rgss3_default_scripts/Window_Base.rb +571 -0
- data/lib/rgss3_default_scripts/Window_BattleActor.rb +38 -0
- data/lib/rgss3_default_scripts/Window_BattleEnemy.rb +70 -0
- data/lib/rgss3_default_scripts/Window_BattleItem.rb +40 -0
- data/lib/rgss3_default_scripts/Window_BattleLog.rb +425 -0
- data/lib/rgss3_default_scripts/Window_BattleSkill.rb +34 -0
- data/lib/rgss3_default_scripts/Window_BattleStatus.rb +111 -0
- data/lib/rgss3_default_scripts/Window_ChoiceList.rb +88 -0
- data/lib/rgss3_default_scripts/Window_Command.rb +152 -0
- data/lib/rgss3_default_scripts/Window_DebugLeft.rb +104 -0
- data/lib/rgss3_default_scripts/Window_DebugRight.rb +119 -0
- data/lib/rgss3_default_scripts/Window_EquipCommand.rb +36 -0
- data/lib/rgss3_default_scripts/Window_EquipItem.rb +78 -0
- data/lib/rgss3_default_scripts/Window_EquipSlot.rb +111 -0
- data/lib/rgss3_default_scripts/Window_EquipStatus.rb +97 -0
- data/lib/rgss3_default_scripts/Window_GameEnd.rb +38 -0
- data/lib/rgss3_default_scripts/Window_Gold.rb +47 -0
- data/lib/rgss3_default_scripts/Window_Help.rb +43 -0
- data/lib/rgss3_default_scripts/Window_HorzCommand.rb +106 -0
- data/lib/rgss3_default_scripts/Window_ItemCategory.rb +54 -0
- data/lib/rgss3_default_scripts/Window_ItemList.rb +117 -0
- data/lib/rgss3_default_scripts/Window_KeyItem.rb +55 -0
- data/lib/rgss3_default_scripts/Window_MapName.rb +96 -0
- data/lib/rgss3_default_scripts/Window_MenuActor.rb +43 -0
- data/lib/rgss3_default_scripts/Window_MenuCommand.rb +106 -0
- data/lib/rgss3_default_scripts/Window_MenuStatus.rb +85 -0
- data/lib/rgss3_default_scripts/Window_Message.rb +397 -0
- data/lib/rgss3_default_scripts/Window_NameEdit.rb +129 -0
- data/lib/rgss3_default_scripts/Window_NameInput.rb +253 -0
- data/lib/rgss3_default_scripts/Window_NumberInput.rb +148 -0
- data/lib/rgss3_default_scripts/Window_PartyCommand.rb +47 -0
- data/lib/rgss3_default_scripts/Window_SaveFile.rb +69 -0
- data/lib/rgss3_default_scripts/Window_ScrollText.rb +90 -0
- data/lib/rgss3_default_scripts/Window_Selectable.rb +442 -0
- data/lib/rgss3_default_scripts/Window_ShopBuy.rb +115 -0
- data/lib/rgss3_default_scripts/Window_ShopCommand.rb +36 -0
- data/lib/rgss3_default_scripts/Window_ShopNumber.rb +137 -0
- data/lib/rgss3_default_scripts/Window_ShopSell.rb +27 -0
- data/lib/rgss3_default_scripts/Window_ShopStatus.rb +124 -0
- data/lib/rgss3_default_scripts/Window_SkillCommand.rb +76 -0
- data/lib/rgss3_default_scripts/Window_SkillList.rb +121 -0
- data/lib/rgss3_default_scripts/Window_SkillStatus.rb +38 -0
- data/lib/rgss3_default_scripts/Window_Status.rb +125 -0
- data/lib/rgss3_default_scripts/Window_TitleCommand.rb +45 -0
- data/rgss3_default_scripts.gemspec +23 -0
- 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
|