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.
- 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,85 @@
|
|
|
1
|
+
#==============================================================================
|
|
2
|
+
# ** Scene_Gameover
|
|
3
|
+
#------------------------------------------------------------------------------
|
|
4
|
+
# This class performs game over screen processing.
|
|
5
|
+
#==============================================================================
|
|
6
|
+
|
|
7
|
+
class Scene_Gameover < Scene_Base
|
|
8
|
+
#--------------------------------------------------------------------------
|
|
9
|
+
# * Start Processing
|
|
10
|
+
#--------------------------------------------------------------------------
|
|
11
|
+
def start
|
|
12
|
+
super
|
|
13
|
+
play_gameover_music
|
|
14
|
+
fadeout_frozen_graphics
|
|
15
|
+
create_background
|
|
16
|
+
end
|
|
17
|
+
#--------------------------------------------------------------------------
|
|
18
|
+
# * Termination Processing
|
|
19
|
+
#--------------------------------------------------------------------------
|
|
20
|
+
def terminate
|
|
21
|
+
super
|
|
22
|
+
dispose_background
|
|
23
|
+
end
|
|
24
|
+
#--------------------------------------------------------------------------
|
|
25
|
+
# * Frame Update
|
|
26
|
+
#--------------------------------------------------------------------------
|
|
27
|
+
def update
|
|
28
|
+
super
|
|
29
|
+
goto_title if Input.trigger?(:C)
|
|
30
|
+
end
|
|
31
|
+
#--------------------------------------------------------------------------
|
|
32
|
+
# * Execute Transition
|
|
33
|
+
#--------------------------------------------------------------------------
|
|
34
|
+
def perform_transition
|
|
35
|
+
Graphics.transition(fadein_speed)
|
|
36
|
+
end
|
|
37
|
+
#--------------------------------------------------------------------------
|
|
38
|
+
# * Play Music on Game Over Screen
|
|
39
|
+
#--------------------------------------------------------------------------
|
|
40
|
+
def play_gameover_music
|
|
41
|
+
RPG::BGM.stop
|
|
42
|
+
RPG::BGS.stop
|
|
43
|
+
$data_system.gameover_me.play
|
|
44
|
+
end
|
|
45
|
+
#--------------------------------------------------------------------------
|
|
46
|
+
# * Fade Out Frozen Graphics
|
|
47
|
+
#--------------------------------------------------------------------------
|
|
48
|
+
def fadeout_frozen_graphics
|
|
49
|
+
Graphics.transition(fadeout_speed)
|
|
50
|
+
Graphics.freeze
|
|
51
|
+
end
|
|
52
|
+
#--------------------------------------------------------------------------
|
|
53
|
+
# * Create Background
|
|
54
|
+
#--------------------------------------------------------------------------
|
|
55
|
+
def create_background
|
|
56
|
+
@sprite = Sprite.new
|
|
57
|
+
@sprite.bitmap = Cache.system("GameOver")
|
|
58
|
+
end
|
|
59
|
+
#--------------------------------------------------------------------------
|
|
60
|
+
# * Free Background
|
|
61
|
+
#--------------------------------------------------------------------------
|
|
62
|
+
def dispose_background
|
|
63
|
+
@sprite.bitmap.dispose
|
|
64
|
+
@sprite.dispose
|
|
65
|
+
end
|
|
66
|
+
#--------------------------------------------------------------------------
|
|
67
|
+
# * Get Fade Out Speed
|
|
68
|
+
#--------------------------------------------------------------------------
|
|
69
|
+
def fadeout_speed
|
|
70
|
+
return 60
|
|
71
|
+
end
|
|
72
|
+
#--------------------------------------------------------------------------
|
|
73
|
+
# * Get Fade In Speed
|
|
74
|
+
#--------------------------------------------------------------------------
|
|
75
|
+
def fadein_speed
|
|
76
|
+
return 120
|
|
77
|
+
end
|
|
78
|
+
#--------------------------------------------------------------------------
|
|
79
|
+
# * Transition to Title Screen
|
|
80
|
+
#--------------------------------------------------------------------------
|
|
81
|
+
def goto_title
|
|
82
|
+
fadeout_all
|
|
83
|
+
SceneManager.goto(Scene_Title)
|
|
84
|
+
end
|
|
85
|
+
end
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
#==============================================================================
|
|
2
|
+
# ** Scene_Item
|
|
3
|
+
#------------------------------------------------------------------------------
|
|
4
|
+
# This class performs the item screen processing.
|
|
5
|
+
#==============================================================================
|
|
6
|
+
|
|
7
|
+
class Scene_Item < Scene_ItemBase
|
|
8
|
+
#--------------------------------------------------------------------------
|
|
9
|
+
# * Start Processing
|
|
10
|
+
#--------------------------------------------------------------------------
|
|
11
|
+
def start
|
|
12
|
+
super
|
|
13
|
+
create_help_window
|
|
14
|
+
create_category_window
|
|
15
|
+
create_item_window
|
|
16
|
+
end
|
|
17
|
+
#--------------------------------------------------------------------------
|
|
18
|
+
# * Create Category Window
|
|
19
|
+
#--------------------------------------------------------------------------
|
|
20
|
+
def create_category_window
|
|
21
|
+
@category_window = Window_ItemCategory.new
|
|
22
|
+
@category_window.viewport = @viewport
|
|
23
|
+
@category_window.help_window = @help_window
|
|
24
|
+
@category_window.y = @help_window.height
|
|
25
|
+
@category_window.set_handler(:ok, method(:on_category_ok))
|
|
26
|
+
@category_window.set_handler(:cancel, method(:return_scene))
|
|
27
|
+
end
|
|
28
|
+
#--------------------------------------------------------------------------
|
|
29
|
+
# * Create Item Window
|
|
30
|
+
#--------------------------------------------------------------------------
|
|
31
|
+
def create_item_window
|
|
32
|
+
wy = @category_window.y + @category_window.height
|
|
33
|
+
wh = Graphics.height - wy
|
|
34
|
+
@item_window = Window_ItemList.new(0, wy, Graphics.width, wh)
|
|
35
|
+
@item_window.viewport = @viewport
|
|
36
|
+
@item_window.help_window = @help_window
|
|
37
|
+
@item_window.set_handler(:ok, method(:on_item_ok))
|
|
38
|
+
@item_window.set_handler(:cancel, method(:on_item_cancel))
|
|
39
|
+
@category_window.item_window = @item_window
|
|
40
|
+
end
|
|
41
|
+
#--------------------------------------------------------------------------
|
|
42
|
+
# * Category [OK]
|
|
43
|
+
#--------------------------------------------------------------------------
|
|
44
|
+
def on_category_ok
|
|
45
|
+
@item_window.activate
|
|
46
|
+
@item_window.select_last
|
|
47
|
+
end
|
|
48
|
+
#--------------------------------------------------------------------------
|
|
49
|
+
# * Item [OK]
|
|
50
|
+
#--------------------------------------------------------------------------
|
|
51
|
+
def on_item_ok
|
|
52
|
+
$game_party.last_item.object = item
|
|
53
|
+
determine_item
|
|
54
|
+
end
|
|
55
|
+
#--------------------------------------------------------------------------
|
|
56
|
+
# * Item [Cancel]
|
|
57
|
+
#--------------------------------------------------------------------------
|
|
58
|
+
def on_item_cancel
|
|
59
|
+
@item_window.unselect
|
|
60
|
+
@category_window.activate
|
|
61
|
+
end
|
|
62
|
+
#--------------------------------------------------------------------------
|
|
63
|
+
# * Play SE When Using Item
|
|
64
|
+
#--------------------------------------------------------------------------
|
|
65
|
+
def play_se_for_item
|
|
66
|
+
Sound.play_use_item
|
|
67
|
+
end
|
|
68
|
+
#--------------------------------------------------------------------------
|
|
69
|
+
# * Use Item
|
|
70
|
+
#--------------------------------------------------------------------------
|
|
71
|
+
def use_item
|
|
72
|
+
super
|
|
73
|
+
@item_window.redraw_current_item
|
|
74
|
+
end
|
|
75
|
+
end
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
#==============================================================================
|
|
2
|
+
# ** Scene_ItemBase
|
|
3
|
+
#------------------------------------------------------------------------------
|
|
4
|
+
# This class performs common processing for the item screen and skill screen.
|
|
5
|
+
#==============================================================================
|
|
6
|
+
|
|
7
|
+
class Scene_ItemBase < Scene_MenuBase
|
|
8
|
+
#--------------------------------------------------------------------------
|
|
9
|
+
# * Start Processing
|
|
10
|
+
#--------------------------------------------------------------------------
|
|
11
|
+
def start
|
|
12
|
+
super
|
|
13
|
+
create_actor_window
|
|
14
|
+
end
|
|
15
|
+
#--------------------------------------------------------------------------
|
|
16
|
+
# * Create Actor Window
|
|
17
|
+
#--------------------------------------------------------------------------
|
|
18
|
+
def create_actor_window
|
|
19
|
+
@actor_window = Window_MenuActor.new
|
|
20
|
+
@actor_window.set_handler(:ok, method(:on_actor_ok))
|
|
21
|
+
@actor_window.set_handler(:cancel, method(:on_actor_cancel))
|
|
22
|
+
end
|
|
23
|
+
#--------------------------------------------------------------------------
|
|
24
|
+
# * Get Currently Selected Item
|
|
25
|
+
#--------------------------------------------------------------------------
|
|
26
|
+
def item
|
|
27
|
+
@item_window.item
|
|
28
|
+
end
|
|
29
|
+
#--------------------------------------------------------------------------
|
|
30
|
+
# * Get Item's User
|
|
31
|
+
#--------------------------------------------------------------------------
|
|
32
|
+
def user
|
|
33
|
+
$game_party.movable_members.max_by {|member| member.pha }
|
|
34
|
+
end
|
|
35
|
+
#--------------------------------------------------------------------------
|
|
36
|
+
# * Determine if Cursor Is in Left Column
|
|
37
|
+
#--------------------------------------------------------------------------
|
|
38
|
+
def cursor_left?
|
|
39
|
+
@item_window.index % 2 == 0
|
|
40
|
+
end
|
|
41
|
+
#--------------------------------------------------------------------------
|
|
42
|
+
# * Show Subwindow
|
|
43
|
+
#--------------------------------------------------------------------------
|
|
44
|
+
def show_sub_window(window)
|
|
45
|
+
width_remain = Graphics.width - window.width
|
|
46
|
+
window.x = cursor_left? ? width_remain : 0
|
|
47
|
+
@viewport.rect.x = @viewport.ox = cursor_left? ? 0 : window.width
|
|
48
|
+
@viewport.rect.width = width_remain
|
|
49
|
+
window.show.activate
|
|
50
|
+
end
|
|
51
|
+
#--------------------------------------------------------------------------
|
|
52
|
+
# * Hide Subwindow
|
|
53
|
+
#--------------------------------------------------------------------------
|
|
54
|
+
def hide_sub_window(window)
|
|
55
|
+
@viewport.rect.x = @viewport.ox = 0
|
|
56
|
+
@viewport.rect.width = Graphics.width
|
|
57
|
+
window.hide.deactivate
|
|
58
|
+
activate_item_window
|
|
59
|
+
end
|
|
60
|
+
#--------------------------------------------------------------------------
|
|
61
|
+
# * Actor [OK]
|
|
62
|
+
#--------------------------------------------------------------------------
|
|
63
|
+
def on_actor_ok
|
|
64
|
+
if item_usable?
|
|
65
|
+
use_item
|
|
66
|
+
else
|
|
67
|
+
Sound.play_buzzer
|
|
68
|
+
end
|
|
69
|
+
end
|
|
70
|
+
#--------------------------------------------------------------------------
|
|
71
|
+
# * Actor [Cancel]
|
|
72
|
+
#--------------------------------------------------------------------------
|
|
73
|
+
def on_actor_cancel
|
|
74
|
+
hide_sub_window(@actor_window)
|
|
75
|
+
end
|
|
76
|
+
#--------------------------------------------------------------------------
|
|
77
|
+
# * Confirm Item
|
|
78
|
+
#--------------------------------------------------------------------------
|
|
79
|
+
def determine_item
|
|
80
|
+
if item.for_friend?
|
|
81
|
+
show_sub_window(@actor_window)
|
|
82
|
+
@actor_window.select_for_item(item)
|
|
83
|
+
else
|
|
84
|
+
use_item
|
|
85
|
+
activate_item_window
|
|
86
|
+
end
|
|
87
|
+
end
|
|
88
|
+
#--------------------------------------------------------------------------
|
|
89
|
+
# * Activate Item Window
|
|
90
|
+
#--------------------------------------------------------------------------
|
|
91
|
+
def activate_item_window
|
|
92
|
+
@item_window.refresh
|
|
93
|
+
@item_window.activate
|
|
94
|
+
end
|
|
95
|
+
#--------------------------------------------------------------------------
|
|
96
|
+
# * Get Array of Actors Targeted by Item Use
|
|
97
|
+
#--------------------------------------------------------------------------
|
|
98
|
+
def item_target_actors
|
|
99
|
+
if !item.for_friend?
|
|
100
|
+
[]
|
|
101
|
+
elsif item.for_all?
|
|
102
|
+
$game_party.members
|
|
103
|
+
else
|
|
104
|
+
[$game_party.members[@actor_window.index]]
|
|
105
|
+
end
|
|
106
|
+
end
|
|
107
|
+
#--------------------------------------------------------------------------
|
|
108
|
+
# * Determine if Item is Usable
|
|
109
|
+
#--------------------------------------------------------------------------
|
|
110
|
+
def item_usable?
|
|
111
|
+
user.usable?(item) && item_effects_valid?
|
|
112
|
+
end
|
|
113
|
+
#--------------------------------------------------------------------------
|
|
114
|
+
# * Determine if Item Is Effective
|
|
115
|
+
#--------------------------------------------------------------------------
|
|
116
|
+
def item_effects_valid?
|
|
117
|
+
item_target_actors.any? do |target|
|
|
118
|
+
target.item_test(user, item)
|
|
119
|
+
end
|
|
120
|
+
end
|
|
121
|
+
#--------------------------------------------------------------------------
|
|
122
|
+
# * Use Item on Actor
|
|
123
|
+
#--------------------------------------------------------------------------
|
|
124
|
+
def use_item_to_actors
|
|
125
|
+
item_target_actors.each do |target|
|
|
126
|
+
item.repeats.times { target.item_apply(user, item) }
|
|
127
|
+
end
|
|
128
|
+
end
|
|
129
|
+
#--------------------------------------------------------------------------
|
|
130
|
+
# * Use Item
|
|
131
|
+
#--------------------------------------------------------------------------
|
|
132
|
+
def use_item
|
|
133
|
+
play_se_for_item
|
|
134
|
+
user.use_item(item)
|
|
135
|
+
use_item_to_actors
|
|
136
|
+
check_common_event
|
|
137
|
+
check_gameover
|
|
138
|
+
@actor_window.refresh
|
|
139
|
+
end
|
|
140
|
+
#--------------------------------------------------------------------------
|
|
141
|
+
# * Determine if Common Event Is Reserved
|
|
142
|
+
# Transition to the map screen if the event call is reserved.
|
|
143
|
+
#--------------------------------------------------------------------------
|
|
144
|
+
def check_common_event
|
|
145
|
+
SceneManager.goto(Scene_Map) if $game_temp.common_event_reserved?
|
|
146
|
+
end
|
|
147
|
+
end
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
#==============================================================================
|
|
2
|
+
# ** Scene_Load
|
|
3
|
+
#------------------------------------------------------------------------------
|
|
4
|
+
# This class performs load screen processing.
|
|
5
|
+
#==============================================================================
|
|
6
|
+
|
|
7
|
+
class Scene_Load < Scene_File
|
|
8
|
+
#--------------------------------------------------------------------------
|
|
9
|
+
# * Get Help Window Text
|
|
10
|
+
#--------------------------------------------------------------------------
|
|
11
|
+
def help_window_text
|
|
12
|
+
Vocab::LoadMessage
|
|
13
|
+
end
|
|
14
|
+
#--------------------------------------------------------------------------
|
|
15
|
+
# * Get File Index to Select First
|
|
16
|
+
#--------------------------------------------------------------------------
|
|
17
|
+
def first_savefile_index
|
|
18
|
+
DataManager.latest_savefile_index
|
|
19
|
+
end
|
|
20
|
+
#--------------------------------------------------------------------------
|
|
21
|
+
# * Confirm Save File
|
|
22
|
+
#--------------------------------------------------------------------------
|
|
23
|
+
def on_savefile_ok
|
|
24
|
+
super
|
|
25
|
+
if DataManager.load_game(@index)
|
|
26
|
+
on_load_success
|
|
27
|
+
else
|
|
28
|
+
Sound.play_buzzer
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
#--------------------------------------------------------------------------
|
|
32
|
+
# * Processing When Load Is Successful
|
|
33
|
+
#--------------------------------------------------------------------------
|
|
34
|
+
def on_load_success
|
|
35
|
+
Sound.play_load
|
|
36
|
+
fadeout_all
|
|
37
|
+
$game_system.on_after_load
|
|
38
|
+
SceneManager.goto(Scene_Map)
|
|
39
|
+
end
|
|
40
|
+
end
|
|
@@ -0,0 +1,276 @@
|
|
|
1
|
+
#==============================================================================
|
|
2
|
+
# ** Scene_Map
|
|
3
|
+
#------------------------------------------------------------------------------
|
|
4
|
+
# This class performs the map screen processing.
|
|
5
|
+
#==============================================================================
|
|
6
|
+
|
|
7
|
+
class Scene_Map < Scene_Base
|
|
8
|
+
#--------------------------------------------------------------------------
|
|
9
|
+
# * Start Processing
|
|
10
|
+
#--------------------------------------------------------------------------
|
|
11
|
+
def start
|
|
12
|
+
super
|
|
13
|
+
SceneManager.clear
|
|
14
|
+
$game_player.straighten
|
|
15
|
+
$game_map.refresh
|
|
16
|
+
$game_message.visible = false
|
|
17
|
+
create_spriteset
|
|
18
|
+
create_all_windows
|
|
19
|
+
@menu_calling = false
|
|
20
|
+
end
|
|
21
|
+
#--------------------------------------------------------------------------
|
|
22
|
+
# * Execute Transition
|
|
23
|
+
# Performs a fade in when the screen has been blacked out, such as
|
|
24
|
+
# immediately after a battle or load.
|
|
25
|
+
#--------------------------------------------------------------------------
|
|
26
|
+
def perform_transition
|
|
27
|
+
if Graphics.brightness == 0
|
|
28
|
+
Graphics.transition(0)
|
|
29
|
+
fadein(fadein_speed)
|
|
30
|
+
else
|
|
31
|
+
super
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
#--------------------------------------------------------------------------
|
|
35
|
+
# * Get Transition Speed
|
|
36
|
+
#--------------------------------------------------------------------------
|
|
37
|
+
def transition_speed
|
|
38
|
+
return 15
|
|
39
|
+
end
|
|
40
|
+
#--------------------------------------------------------------------------
|
|
41
|
+
# * Pre-Termination Processing
|
|
42
|
+
#--------------------------------------------------------------------------
|
|
43
|
+
def pre_terminate
|
|
44
|
+
super
|
|
45
|
+
pre_battle_scene if SceneManager.scene_is?(Scene_Battle)
|
|
46
|
+
pre_title_scene if SceneManager.scene_is?(Scene_Title)
|
|
47
|
+
end
|
|
48
|
+
#--------------------------------------------------------------------------
|
|
49
|
+
# * Termination Processing
|
|
50
|
+
#--------------------------------------------------------------------------
|
|
51
|
+
def terminate
|
|
52
|
+
super
|
|
53
|
+
SceneManager.snapshot_for_background
|
|
54
|
+
dispose_spriteset
|
|
55
|
+
perform_battle_transition if SceneManager.scene_is?(Scene_Battle)
|
|
56
|
+
end
|
|
57
|
+
#--------------------------------------------------------------------------
|
|
58
|
+
# * Frame Update
|
|
59
|
+
#--------------------------------------------------------------------------
|
|
60
|
+
def update
|
|
61
|
+
super
|
|
62
|
+
$game_map.update(true)
|
|
63
|
+
$game_player.update
|
|
64
|
+
$game_timer.update
|
|
65
|
+
@spriteset.update
|
|
66
|
+
update_scene if scene_change_ok?
|
|
67
|
+
end
|
|
68
|
+
#--------------------------------------------------------------------------
|
|
69
|
+
# * Determine if Scene Transition Is Possible
|
|
70
|
+
#--------------------------------------------------------------------------
|
|
71
|
+
def scene_change_ok?
|
|
72
|
+
!$game_message.busy? && !$game_message.visible
|
|
73
|
+
end
|
|
74
|
+
#--------------------------------------------------------------------------
|
|
75
|
+
# * Update Scene Transition
|
|
76
|
+
#--------------------------------------------------------------------------
|
|
77
|
+
def update_scene
|
|
78
|
+
check_gameover
|
|
79
|
+
update_transfer_player unless scene_changing?
|
|
80
|
+
update_encounter unless scene_changing?
|
|
81
|
+
update_call_menu unless scene_changing?
|
|
82
|
+
update_call_debug unless scene_changing?
|
|
83
|
+
end
|
|
84
|
+
#--------------------------------------------------------------------------
|
|
85
|
+
# * Update Frame (for Fade In)
|
|
86
|
+
#--------------------------------------------------------------------------
|
|
87
|
+
def update_for_fade
|
|
88
|
+
update_basic
|
|
89
|
+
$game_map.update(false)
|
|
90
|
+
@spriteset.update
|
|
91
|
+
end
|
|
92
|
+
#--------------------------------------------------------------------------
|
|
93
|
+
# * General-Purpose Fade Processing
|
|
94
|
+
#--------------------------------------------------------------------------
|
|
95
|
+
def fade_loop(duration)
|
|
96
|
+
duration.times do |i|
|
|
97
|
+
yield 255 * (i + 1) / duration
|
|
98
|
+
update_for_fade
|
|
99
|
+
end
|
|
100
|
+
end
|
|
101
|
+
#--------------------------------------------------------------------------
|
|
102
|
+
# * Fadein Screen
|
|
103
|
+
#--------------------------------------------------------------------------
|
|
104
|
+
def fadein(duration)
|
|
105
|
+
fade_loop(duration) {|v| Graphics.brightness = v }
|
|
106
|
+
end
|
|
107
|
+
#--------------------------------------------------------------------------
|
|
108
|
+
# * Fadeout Screen
|
|
109
|
+
#--------------------------------------------------------------------------
|
|
110
|
+
def fadeout(duration)
|
|
111
|
+
fade_loop(duration) {|v| Graphics.brightness = 255 - v }
|
|
112
|
+
end
|
|
113
|
+
#--------------------------------------------------------------------------
|
|
114
|
+
# * Screen Fade In (White)
|
|
115
|
+
#--------------------------------------------------------------------------
|
|
116
|
+
def white_fadein(duration)
|
|
117
|
+
fade_loop(duration) {|v| @viewport.color.set(255, 255, 255, 255 - v) }
|
|
118
|
+
end
|
|
119
|
+
#--------------------------------------------------------------------------
|
|
120
|
+
# * Screen Fade Out (White)
|
|
121
|
+
#--------------------------------------------------------------------------
|
|
122
|
+
def white_fadeout(duration)
|
|
123
|
+
fade_loop(duration) {|v| @viewport.color.set(255, 255, 255, v) }
|
|
124
|
+
end
|
|
125
|
+
#--------------------------------------------------------------------------
|
|
126
|
+
# * Create Sprite Set
|
|
127
|
+
#--------------------------------------------------------------------------
|
|
128
|
+
def create_spriteset
|
|
129
|
+
@spriteset = Spriteset_Map.new
|
|
130
|
+
end
|
|
131
|
+
#--------------------------------------------------------------------------
|
|
132
|
+
# * Free Sprite Set
|
|
133
|
+
#--------------------------------------------------------------------------
|
|
134
|
+
def dispose_spriteset
|
|
135
|
+
@spriteset.dispose
|
|
136
|
+
end
|
|
137
|
+
#--------------------------------------------------------------------------
|
|
138
|
+
# * Create All Windows
|
|
139
|
+
#--------------------------------------------------------------------------
|
|
140
|
+
def create_all_windows
|
|
141
|
+
create_message_window
|
|
142
|
+
create_scroll_text_window
|
|
143
|
+
create_location_window
|
|
144
|
+
end
|
|
145
|
+
#--------------------------------------------------------------------------
|
|
146
|
+
# * Create Message Window
|
|
147
|
+
#--------------------------------------------------------------------------
|
|
148
|
+
def create_message_window
|
|
149
|
+
@message_window = Window_Message.new
|
|
150
|
+
end
|
|
151
|
+
#--------------------------------------------------------------------------
|
|
152
|
+
# * Create Scrolling Text Window
|
|
153
|
+
#--------------------------------------------------------------------------
|
|
154
|
+
def create_scroll_text_window
|
|
155
|
+
@scroll_text_window = Window_ScrollText.new
|
|
156
|
+
end
|
|
157
|
+
#--------------------------------------------------------------------------
|
|
158
|
+
# * Create Map Name Window
|
|
159
|
+
#--------------------------------------------------------------------------
|
|
160
|
+
def create_location_window
|
|
161
|
+
@map_name_window = Window_MapName.new
|
|
162
|
+
end
|
|
163
|
+
#--------------------------------------------------------------------------
|
|
164
|
+
# * Update Player Transfer
|
|
165
|
+
#--------------------------------------------------------------------------
|
|
166
|
+
def update_transfer_player
|
|
167
|
+
perform_transfer if $game_player.transfer?
|
|
168
|
+
end
|
|
169
|
+
#--------------------------------------------------------------------------
|
|
170
|
+
# * Update Encounter
|
|
171
|
+
#--------------------------------------------------------------------------
|
|
172
|
+
def update_encounter
|
|
173
|
+
SceneManager.call(Scene_Battle) if $game_player.encounter
|
|
174
|
+
end
|
|
175
|
+
#--------------------------------------------------------------------------
|
|
176
|
+
# * Determine if Menu is Called due to Cancel Button
|
|
177
|
+
#--------------------------------------------------------------------------
|
|
178
|
+
def update_call_menu
|
|
179
|
+
if $game_system.menu_disabled || $game_map.interpreter.running?
|
|
180
|
+
@menu_calling = false
|
|
181
|
+
else
|
|
182
|
+
@menu_calling ||= Input.trigger?(:B)
|
|
183
|
+
call_menu if @menu_calling && !$game_player.moving?
|
|
184
|
+
end
|
|
185
|
+
end
|
|
186
|
+
#--------------------------------------------------------------------------
|
|
187
|
+
# * Call Menu Screen
|
|
188
|
+
#--------------------------------------------------------------------------
|
|
189
|
+
def call_menu
|
|
190
|
+
Sound.play_ok
|
|
191
|
+
SceneManager.call(Scene_Menu)
|
|
192
|
+
Window_MenuCommand::init_command_position
|
|
193
|
+
end
|
|
194
|
+
#--------------------------------------------------------------------------
|
|
195
|
+
# * Determine if Debug Call by F9 key
|
|
196
|
+
#--------------------------------------------------------------------------
|
|
197
|
+
def update_call_debug
|
|
198
|
+
SceneManager.call(Scene_Debug) if $TEST && Input.press?(:F9)
|
|
199
|
+
end
|
|
200
|
+
#--------------------------------------------------------------------------
|
|
201
|
+
# * Player Transfer Processing
|
|
202
|
+
#--------------------------------------------------------------------------
|
|
203
|
+
def perform_transfer
|
|
204
|
+
pre_transfer
|
|
205
|
+
$game_player.perform_transfer
|
|
206
|
+
post_transfer
|
|
207
|
+
end
|
|
208
|
+
#--------------------------------------------------------------------------
|
|
209
|
+
# * Preprocessing for Transferring Player
|
|
210
|
+
#--------------------------------------------------------------------------
|
|
211
|
+
def pre_transfer
|
|
212
|
+
@map_name_window.close
|
|
213
|
+
case $game_temp.fade_type
|
|
214
|
+
when 0
|
|
215
|
+
fadeout(fadeout_speed)
|
|
216
|
+
when 1
|
|
217
|
+
white_fadeout(fadeout_speed)
|
|
218
|
+
end
|
|
219
|
+
end
|
|
220
|
+
#--------------------------------------------------------------------------
|
|
221
|
+
# * Post Processing for Transferring Player
|
|
222
|
+
#--------------------------------------------------------------------------
|
|
223
|
+
def post_transfer
|
|
224
|
+
case $game_temp.fade_type
|
|
225
|
+
when 0
|
|
226
|
+
Graphics.wait(fadein_speed / 2)
|
|
227
|
+
fadein(fadein_speed)
|
|
228
|
+
when 1
|
|
229
|
+
Graphics.wait(fadein_speed / 2)
|
|
230
|
+
white_fadein(fadein_speed)
|
|
231
|
+
end
|
|
232
|
+
@map_name_window.open
|
|
233
|
+
end
|
|
234
|
+
#--------------------------------------------------------------------------
|
|
235
|
+
# * Preprocessing for Battle Screen Transition
|
|
236
|
+
#--------------------------------------------------------------------------
|
|
237
|
+
def pre_battle_scene
|
|
238
|
+
Graphics.update
|
|
239
|
+
Graphics.freeze
|
|
240
|
+
@spriteset.dispose_characters
|
|
241
|
+
BattleManager.save_bgm_and_bgs
|
|
242
|
+
BattleManager.play_battle_bgm
|
|
243
|
+
Sound.play_battle_start
|
|
244
|
+
end
|
|
245
|
+
#--------------------------------------------------------------------------
|
|
246
|
+
# * Preprocessing for Title Screen Transition
|
|
247
|
+
#--------------------------------------------------------------------------
|
|
248
|
+
def pre_title_scene
|
|
249
|
+
fadeout(fadeout_speed_to_title)
|
|
250
|
+
end
|
|
251
|
+
#--------------------------------------------------------------------------
|
|
252
|
+
# * Execute Pre-Battle Transition
|
|
253
|
+
#--------------------------------------------------------------------------
|
|
254
|
+
def perform_battle_transition
|
|
255
|
+
Graphics.transition(60, "Graphics/System/BattleStart", 100)
|
|
256
|
+
Graphics.freeze
|
|
257
|
+
end
|
|
258
|
+
#--------------------------------------------------------------------------
|
|
259
|
+
# * Get Fade Out Speed
|
|
260
|
+
#--------------------------------------------------------------------------
|
|
261
|
+
def fadeout_speed
|
|
262
|
+
return 30
|
|
263
|
+
end
|
|
264
|
+
#--------------------------------------------------------------------------
|
|
265
|
+
# * Get Fade In Speed
|
|
266
|
+
#--------------------------------------------------------------------------
|
|
267
|
+
def fadein_speed
|
|
268
|
+
return 30
|
|
269
|
+
end
|
|
270
|
+
#--------------------------------------------------------------------------
|
|
271
|
+
# * Get Fade Out Speed for Title Screen Transition
|
|
272
|
+
#--------------------------------------------------------------------------
|
|
273
|
+
def fadeout_speed_to_title
|
|
274
|
+
return 60
|
|
275
|
+
end
|
|
276
|
+
end
|