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