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,38 @@
|
|
|
1
|
+
#==============================================================================
|
|
2
|
+
# ** Window_BattleActor
|
|
3
|
+
#------------------------------------------------------------------------------
|
|
4
|
+
# This window is for selecting an actor's action target on the battle screen.
|
|
5
|
+
#==============================================================================
|
|
6
|
+
|
|
7
|
+
class Window_BattleActor < Window_BattleStatus
|
|
8
|
+
#--------------------------------------------------------------------------
|
|
9
|
+
# * Object Initialization
|
|
10
|
+
# info_viewport : Viewport for displaying information
|
|
11
|
+
#--------------------------------------------------------------------------
|
|
12
|
+
def initialize(info_viewport)
|
|
13
|
+
super()
|
|
14
|
+
self.y = info_viewport.rect.y
|
|
15
|
+
self.visible = false
|
|
16
|
+
self.openness = 255
|
|
17
|
+
@info_viewport = info_viewport
|
|
18
|
+
end
|
|
19
|
+
#--------------------------------------------------------------------------
|
|
20
|
+
# * Show Window
|
|
21
|
+
#--------------------------------------------------------------------------
|
|
22
|
+
def show
|
|
23
|
+
if @info_viewport
|
|
24
|
+
width_remain = Graphics.width - width
|
|
25
|
+
self.x = width_remain
|
|
26
|
+
@info_viewport.rect.width = width_remain
|
|
27
|
+
select(0)
|
|
28
|
+
end
|
|
29
|
+
super
|
|
30
|
+
end
|
|
31
|
+
#--------------------------------------------------------------------------
|
|
32
|
+
# * Hide Window
|
|
33
|
+
#--------------------------------------------------------------------------
|
|
34
|
+
def hide
|
|
35
|
+
@info_viewport.rect.width = Graphics.width if @info_viewport
|
|
36
|
+
super
|
|
37
|
+
end
|
|
38
|
+
end
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
#==============================================================================
|
|
2
|
+
# ** Window_BattleEnemy
|
|
3
|
+
#------------------------------------------------------------------------------
|
|
4
|
+
# Window for selecting the enemy who is the action target on the battle
|
|
5
|
+
# screen.
|
|
6
|
+
#==============================================================================
|
|
7
|
+
|
|
8
|
+
class Window_BattleEnemy < Window_Selectable
|
|
9
|
+
#--------------------------------------------------------------------------
|
|
10
|
+
# * Object Initialization
|
|
11
|
+
# info_viewport : Viewport for displaying information
|
|
12
|
+
#--------------------------------------------------------------------------
|
|
13
|
+
def initialize(info_viewport)
|
|
14
|
+
super(0, info_viewport.rect.y, window_width, fitting_height(4))
|
|
15
|
+
refresh
|
|
16
|
+
self.visible = false
|
|
17
|
+
@info_viewport = info_viewport
|
|
18
|
+
end
|
|
19
|
+
#--------------------------------------------------------------------------
|
|
20
|
+
# * Get Window Width
|
|
21
|
+
#--------------------------------------------------------------------------
|
|
22
|
+
def window_width
|
|
23
|
+
Graphics.width - 128
|
|
24
|
+
end
|
|
25
|
+
#--------------------------------------------------------------------------
|
|
26
|
+
# * Get Digit Count
|
|
27
|
+
#--------------------------------------------------------------------------
|
|
28
|
+
def col_max
|
|
29
|
+
return 2
|
|
30
|
+
end
|
|
31
|
+
#--------------------------------------------------------------------------
|
|
32
|
+
# * Get Number of Items
|
|
33
|
+
#--------------------------------------------------------------------------
|
|
34
|
+
def item_max
|
|
35
|
+
$game_troop.alive_members.size
|
|
36
|
+
end
|
|
37
|
+
#--------------------------------------------------------------------------
|
|
38
|
+
# * Get Enemy Object
|
|
39
|
+
#--------------------------------------------------------------------------
|
|
40
|
+
def enemy
|
|
41
|
+
$game_troop.alive_members[@index]
|
|
42
|
+
end
|
|
43
|
+
#--------------------------------------------------------------------------
|
|
44
|
+
# * Draw Item
|
|
45
|
+
#--------------------------------------------------------------------------
|
|
46
|
+
def draw_item(index)
|
|
47
|
+
change_color(normal_color)
|
|
48
|
+
name = $game_troop.alive_members[index].name
|
|
49
|
+
draw_text(item_rect_for_text(index), name)
|
|
50
|
+
end
|
|
51
|
+
#--------------------------------------------------------------------------
|
|
52
|
+
# * Show Window
|
|
53
|
+
#--------------------------------------------------------------------------
|
|
54
|
+
def show
|
|
55
|
+
if @info_viewport
|
|
56
|
+
width_remain = Graphics.width - width
|
|
57
|
+
self.x = width_remain
|
|
58
|
+
@info_viewport.rect.width = width_remain
|
|
59
|
+
select(0)
|
|
60
|
+
end
|
|
61
|
+
super
|
|
62
|
+
end
|
|
63
|
+
#--------------------------------------------------------------------------
|
|
64
|
+
# * Hide Window
|
|
65
|
+
#--------------------------------------------------------------------------
|
|
66
|
+
def hide
|
|
67
|
+
@info_viewport.rect.width = Graphics.width if @info_viewport
|
|
68
|
+
super
|
|
69
|
+
end
|
|
70
|
+
end
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
#==============================================================================
|
|
2
|
+
# ** Window_BattleItem
|
|
3
|
+
#------------------------------------------------------------------------------
|
|
4
|
+
# This window is for selecting items to use in the battle window.
|
|
5
|
+
#==============================================================================
|
|
6
|
+
|
|
7
|
+
class Window_BattleItem < Window_ItemList
|
|
8
|
+
#--------------------------------------------------------------------------
|
|
9
|
+
# * Object Initialization
|
|
10
|
+
# info_viewport : Viewport for displaying information
|
|
11
|
+
#--------------------------------------------------------------------------
|
|
12
|
+
def initialize(help_window, info_viewport)
|
|
13
|
+
y = help_window.height
|
|
14
|
+
super(0, y, Graphics.width, info_viewport.rect.y - y)
|
|
15
|
+
self.visible = false
|
|
16
|
+
@help_window = help_window
|
|
17
|
+
@info_viewport = info_viewport
|
|
18
|
+
end
|
|
19
|
+
#--------------------------------------------------------------------------
|
|
20
|
+
# * Include in Item List?
|
|
21
|
+
#--------------------------------------------------------------------------
|
|
22
|
+
def include?(item)
|
|
23
|
+
$game_party.usable?(item)
|
|
24
|
+
end
|
|
25
|
+
#--------------------------------------------------------------------------
|
|
26
|
+
# * Show Window
|
|
27
|
+
#--------------------------------------------------------------------------
|
|
28
|
+
def show
|
|
29
|
+
select_last
|
|
30
|
+
@help_window.show
|
|
31
|
+
super
|
|
32
|
+
end
|
|
33
|
+
#--------------------------------------------------------------------------
|
|
34
|
+
# * Hide Window
|
|
35
|
+
#--------------------------------------------------------------------------
|
|
36
|
+
def hide
|
|
37
|
+
@help_window.hide
|
|
38
|
+
super
|
|
39
|
+
end
|
|
40
|
+
end
|
|
@@ -0,0 +1,425 @@
|
|
|
1
|
+
#==============================================================================
|
|
2
|
+
# ** Window_BattleLog
|
|
3
|
+
#------------------------------------------------------------------------------
|
|
4
|
+
# This window is for displaying battle progress. No frame is displayed, but it
|
|
5
|
+
# is handled as a window for convenience.
|
|
6
|
+
#==============================================================================
|
|
7
|
+
|
|
8
|
+
class Window_BattleLog < Window_Selectable
|
|
9
|
+
#--------------------------------------------------------------------------
|
|
10
|
+
# * Object Initialization
|
|
11
|
+
#--------------------------------------------------------------------------
|
|
12
|
+
def initialize
|
|
13
|
+
super(0, 0, window_width, window_height)
|
|
14
|
+
self.z = 200
|
|
15
|
+
self.opacity = 0
|
|
16
|
+
@lines = []
|
|
17
|
+
@num_wait = 0
|
|
18
|
+
create_back_bitmap
|
|
19
|
+
create_back_sprite
|
|
20
|
+
refresh
|
|
21
|
+
end
|
|
22
|
+
#--------------------------------------------------------------------------
|
|
23
|
+
# * Free
|
|
24
|
+
#--------------------------------------------------------------------------
|
|
25
|
+
def dispose
|
|
26
|
+
super
|
|
27
|
+
dispose_back_bitmap
|
|
28
|
+
dispose_back_sprite
|
|
29
|
+
end
|
|
30
|
+
#--------------------------------------------------------------------------
|
|
31
|
+
# * Get Window Width
|
|
32
|
+
#--------------------------------------------------------------------------
|
|
33
|
+
def window_width
|
|
34
|
+
Graphics.width
|
|
35
|
+
end
|
|
36
|
+
#--------------------------------------------------------------------------
|
|
37
|
+
# * Get Window Height
|
|
38
|
+
#--------------------------------------------------------------------------
|
|
39
|
+
def window_height
|
|
40
|
+
fitting_height(max_line_number)
|
|
41
|
+
end
|
|
42
|
+
#--------------------------------------------------------------------------
|
|
43
|
+
# * Get Maximum Number of Lines
|
|
44
|
+
#--------------------------------------------------------------------------
|
|
45
|
+
def max_line_number
|
|
46
|
+
return 6
|
|
47
|
+
end
|
|
48
|
+
#--------------------------------------------------------------------------
|
|
49
|
+
# * Create Background Bitmap
|
|
50
|
+
#--------------------------------------------------------------------------
|
|
51
|
+
def create_back_bitmap
|
|
52
|
+
@back_bitmap = Bitmap.new(width, height)
|
|
53
|
+
end
|
|
54
|
+
#--------------------------------------------------------------------------
|
|
55
|
+
# * Create Background Sprite
|
|
56
|
+
#--------------------------------------------------------------------------
|
|
57
|
+
def create_back_sprite
|
|
58
|
+
@back_sprite = Sprite.new
|
|
59
|
+
@back_sprite.bitmap = @back_bitmap
|
|
60
|
+
@back_sprite.y = y
|
|
61
|
+
@back_sprite.z = z - 1
|
|
62
|
+
end
|
|
63
|
+
#--------------------------------------------------------------------------
|
|
64
|
+
# * Free Background Bitmap
|
|
65
|
+
#--------------------------------------------------------------------------
|
|
66
|
+
def dispose_back_bitmap
|
|
67
|
+
@back_bitmap.dispose
|
|
68
|
+
end
|
|
69
|
+
#--------------------------------------------------------------------------
|
|
70
|
+
# * Free Background Sprite
|
|
71
|
+
#--------------------------------------------------------------------------
|
|
72
|
+
def dispose_back_sprite
|
|
73
|
+
@back_sprite.dispose
|
|
74
|
+
end
|
|
75
|
+
#--------------------------------------------------------------------------
|
|
76
|
+
# * Clear
|
|
77
|
+
#--------------------------------------------------------------------------
|
|
78
|
+
def clear
|
|
79
|
+
@num_wait = 0
|
|
80
|
+
@lines.clear
|
|
81
|
+
refresh
|
|
82
|
+
end
|
|
83
|
+
#--------------------------------------------------------------------------
|
|
84
|
+
# * Get Number of Data Lines
|
|
85
|
+
#--------------------------------------------------------------------------
|
|
86
|
+
def line_number
|
|
87
|
+
@lines.size
|
|
88
|
+
end
|
|
89
|
+
#--------------------------------------------------------------------------
|
|
90
|
+
# * Go Back One Line
|
|
91
|
+
#--------------------------------------------------------------------------
|
|
92
|
+
def back_one
|
|
93
|
+
@lines.pop
|
|
94
|
+
refresh
|
|
95
|
+
end
|
|
96
|
+
#--------------------------------------------------------------------------
|
|
97
|
+
# * Return to Designated Line
|
|
98
|
+
#--------------------------------------------------------------------------
|
|
99
|
+
def back_to(line_number)
|
|
100
|
+
@lines.pop while @lines.size > line_number
|
|
101
|
+
refresh
|
|
102
|
+
end
|
|
103
|
+
#--------------------------------------------------------------------------
|
|
104
|
+
# * Add Text
|
|
105
|
+
#--------------------------------------------------------------------------
|
|
106
|
+
def add_text(text)
|
|
107
|
+
@lines.push(text)
|
|
108
|
+
refresh
|
|
109
|
+
end
|
|
110
|
+
#--------------------------------------------------------------------------
|
|
111
|
+
# * Replace Text
|
|
112
|
+
# Replaces the last line with different text.
|
|
113
|
+
#--------------------------------------------------------------------------
|
|
114
|
+
def replace_text(text)
|
|
115
|
+
@lines.pop
|
|
116
|
+
@lines.push(text)
|
|
117
|
+
refresh
|
|
118
|
+
end
|
|
119
|
+
#--------------------------------------------------------------------------
|
|
120
|
+
# * Get Text From Last Line
|
|
121
|
+
#--------------------------------------------------------------------------
|
|
122
|
+
def last_text
|
|
123
|
+
@lines[-1]
|
|
124
|
+
end
|
|
125
|
+
#--------------------------------------------------------------------------
|
|
126
|
+
# * Refresh
|
|
127
|
+
#--------------------------------------------------------------------------
|
|
128
|
+
def refresh
|
|
129
|
+
draw_background
|
|
130
|
+
contents.clear
|
|
131
|
+
@lines.size.times {|i| draw_line(i) }
|
|
132
|
+
end
|
|
133
|
+
#--------------------------------------------------------------------------
|
|
134
|
+
# * Draw Background
|
|
135
|
+
#--------------------------------------------------------------------------
|
|
136
|
+
def draw_background
|
|
137
|
+
@back_bitmap.clear
|
|
138
|
+
@back_bitmap.fill_rect(back_rect, back_color)
|
|
139
|
+
end
|
|
140
|
+
#--------------------------------------------------------------------------
|
|
141
|
+
# * Get Background Rectangle
|
|
142
|
+
#--------------------------------------------------------------------------
|
|
143
|
+
def back_rect
|
|
144
|
+
Rect.new(0, padding, width, line_number * line_height)
|
|
145
|
+
end
|
|
146
|
+
#--------------------------------------------------------------------------
|
|
147
|
+
# * Get Background Color
|
|
148
|
+
#--------------------------------------------------------------------------
|
|
149
|
+
def back_color
|
|
150
|
+
Color.new(0, 0, 0, back_opacity)
|
|
151
|
+
end
|
|
152
|
+
#--------------------------------------------------------------------------
|
|
153
|
+
# * Get Background Opacity
|
|
154
|
+
#--------------------------------------------------------------------------
|
|
155
|
+
def back_opacity
|
|
156
|
+
return 64
|
|
157
|
+
end
|
|
158
|
+
#--------------------------------------------------------------------------
|
|
159
|
+
# * Draw Line
|
|
160
|
+
#--------------------------------------------------------------------------
|
|
161
|
+
def draw_line(line_number)
|
|
162
|
+
rect = item_rect_for_text(line_number)
|
|
163
|
+
contents.clear_rect(rect)
|
|
164
|
+
draw_text_ex(rect.x, rect.y, @lines[line_number])
|
|
165
|
+
end
|
|
166
|
+
#--------------------------------------------------------------------------
|
|
167
|
+
# * Set Wait Method
|
|
168
|
+
#--------------------------------------------------------------------------
|
|
169
|
+
def method_wait=(method)
|
|
170
|
+
@method_wait = method
|
|
171
|
+
end
|
|
172
|
+
#--------------------------------------------------------------------------
|
|
173
|
+
# * Set Wait Method for Effect Execution
|
|
174
|
+
#--------------------------------------------------------------------------
|
|
175
|
+
def method_wait_for_effect=(method)
|
|
176
|
+
@method_wait_for_effect = method
|
|
177
|
+
end
|
|
178
|
+
#--------------------------------------------------------------------------
|
|
179
|
+
# * Wait
|
|
180
|
+
#--------------------------------------------------------------------------
|
|
181
|
+
def wait
|
|
182
|
+
@num_wait += 1
|
|
183
|
+
@method_wait.call(message_speed) if @method_wait
|
|
184
|
+
end
|
|
185
|
+
#--------------------------------------------------------------------------
|
|
186
|
+
# * Wait Until Effect Execution Ends
|
|
187
|
+
#--------------------------------------------------------------------------
|
|
188
|
+
def wait_for_effect
|
|
189
|
+
@method_wait_for_effect.call if @method_wait_for_effect
|
|
190
|
+
end
|
|
191
|
+
#--------------------------------------------------------------------------
|
|
192
|
+
# * Get Message Speed
|
|
193
|
+
#--------------------------------------------------------------------------
|
|
194
|
+
def message_speed
|
|
195
|
+
return 20
|
|
196
|
+
end
|
|
197
|
+
#--------------------------------------------------------------------------
|
|
198
|
+
# * Wait and Clear
|
|
199
|
+
# Clear after inputing minimum necessary wait for the message to be read.
|
|
200
|
+
#--------------------------------------------------------------------------
|
|
201
|
+
def wait_and_clear
|
|
202
|
+
wait while @num_wait < 2 if line_number > 0
|
|
203
|
+
clear
|
|
204
|
+
end
|
|
205
|
+
#--------------------------------------------------------------------------
|
|
206
|
+
# * Display Current State
|
|
207
|
+
#--------------------------------------------------------------------------
|
|
208
|
+
def display_current_state(subject)
|
|
209
|
+
unless subject.most_important_state_text.empty?
|
|
210
|
+
add_text(subject.name + subject.most_important_state_text)
|
|
211
|
+
wait
|
|
212
|
+
end
|
|
213
|
+
end
|
|
214
|
+
#--------------------------------------------------------------------------
|
|
215
|
+
# * Display Skill/Item Use
|
|
216
|
+
#--------------------------------------------------------------------------
|
|
217
|
+
def display_use_item(subject, item)
|
|
218
|
+
if item.is_a?(RPG::Skill)
|
|
219
|
+
add_text(subject.name + item.message1)
|
|
220
|
+
unless item.message2.empty?
|
|
221
|
+
wait
|
|
222
|
+
add_text(item.message2)
|
|
223
|
+
end
|
|
224
|
+
else
|
|
225
|
+
add_text(sprintf(Vocab::UseItem, subject.name, item.name))
|
|
226
|
+
end
|
|
227
|
+
end
|
|
228
|
+
#--------------------------------------------------------------------------
|
|
229
|
+
# * Display Counterattack
|
|
230
|
+
#--------------------------------------------------------------------------
|
|
231
|
+
def display_counter(target, item)
|
|
232
|
+
Sound.play_evasion
|
|
233
|
+
add_text(sprintf(Vocab::CounterAttack, target.name))
|
|
234
|
+
wait
|
|
235
|
+
back_one
|
|
236
|
+
end
|
|
237
|
+
#--------------------------------------------------------------------------
|
|
238
|
+
# * Display Reflection
|
|
239
|
+
#--------------------------------------------------------------------------
|
|
240
|
+
def display_reflection(target, item)
|
|
241
|
+
Sound.play_reflection
|
|
242
|
+
add_text(sprintf(Vocab::MagicReflection, target.name))
|
|
243
|
+
wait
|
|
244
|
+
back_one
|
|
245
|
+
end
|
|
246
|
+
#--------------------------------------------------------------------------
|
|
247
|
+
# * Display Substitute
|
|
248
|
+
#--------------------------------------------------------------------------
|
|
249
|
+
def display_substitute(substitute, target)
|
|
250
|
+
add_text(sprintf(Vocab::Substitute, substitute.name, target.name))
|
|
251
|
+
wait
|
|
252
|
+
back_one
|
|
253
|
+
end
|
|
254
|
+
#--------------------------------------------------------------------------
|
|
255
|
+
# * Display Action Results
|
|
256
|
+
#--------------------------------------------------------------------------
|
|
257
|
+
def display_action_results(target, item)
|
|
258
|
+
if target.result.used
|
|
259
|
+
last_line_number = line_number
|
|
260
|
+
display_critical(target, item)
|
|
261
|
+
display_damage(target, item)
|
|
262
|
+
display_affected_status(target, item)
|
|
263
|
+
display_failure(target, item)
|
|
264
|
+
wait if line_number > last_line_number
|
|
265
|
+
back_to(last_line_number)
|
|
266
|
+
end
|
|
267
|
+
end
|
|
268
|
+
#--------------------------------------------------------------------------
|
|
269
|
+
# * Display Failure
|
|
270
|
+
#--------------------------------------------------------------------------
|
|
271
|
+
def display_failure(target, item)
|
|
272
|
+
if target.result.hit? && !target.result.success
|
|
273
|
+
add_text(sprintf(Vocab::ActionFailure, target.name))
|
|
274
|
+
wait
|
|
275
|
+
end
|
|
276
|
+
end
|
|
277
|
+
#--------------------------------------------------------------------------
|
|
278
|
+
# * Display Critical Hit
|
|
279
|
+
#--------------------------------------------------------------------------
|
|
280
|
+
def display_critical(target, item)
|
|
281
|
+
if target.result.critical
|
|
282
|
+
text = target.actor? ? Vocab::CriticalToActor : Vocab::CriticalToEnemy
|
|
283
|
+
add_text(text)
|
|
284
|
+
wait
|
|
285
|
+
end
|
|
286
|
+
end
|
|
287
|
+
#--------------------------------------------------------------------------
|
|
288
|
+
# * Display Damage
|
|
289
|
+
#--------------------------------------------------------------------------
|
|
290
|
+
def display_damage(target, item)
|
|
291
|
+
if target.result.missed
|
|
292
|
+
display_miss(target, item)
|
|
293
|
+
elsif target.result.evaded
|
|
294
|
+
display_evasion(target, item)
|
|
295
|
+
else
|
|
296
|
+
display_hp_damage(target, item)
|
|
297
|
+
display_mp_damage(target, item)
|
|
298
|
+
display_tp_damage(target, item)
|
|
299
|
+
end
|
|
300
|
+
end
|
|
301
|
+
#--------------------------------------------------------------------------
|
|
302
|
+
# * Display Miss
|
|
303
|
+
#--------------------------------------------------------------------------
|
|
304
|
+
def display_miss(target, item)
|
|
305
|
+
if !item || item.physical?
|
|
306
|
+
fmt = target.actor? ? Vocab::ActorNoHit : Vocab::EnemyNoHit
|
|
307
|
+
Sound.play_miss
|
|
308
|
+
else
|
|
309
|
+
fmt = Vocab::ActionFailure
|
|
310
|
+
end
|
|
311
|
+
add_text(sprintf(fmt, target.name))
|
|
312
|
+
wait
|
|
313
|
+
end
|
|
314
|
+
#--------------------------------------------------------------------------
|
|
315
|
+
# * Display Evasion
|
|
316
|
+
#--------------------------------------------------------------------------
|
|
317
|
+
def display_evasion(target, item)
|
|
318
|
+
if !item || item.physical?
|
|
319
|
+
fmt = Vocab::Evasion
|
|
320
|
+
Sound.play_evasion
|
|
321
|
+
else
|
|
322
|
+
fmt = Vocab::MagicEvasion
|
|
323
|
+
Sound.play_magic_evasion
|
|
324
|
+
end
|
|
325
|
+
add_text(sprintf(fmt, target.name))
|
|
326
|
+
wait
|
|
327
|
+
end
|
|
328
|
+
#--------------------------------------------------------------------------
|
|
329
|
+
# * Display HP Damage
|
|
330
|
+
#--------------------------------------------------------------------------
|
|
331
|
+
def display_hp_damage(target, item)
|
|
332
|
+
return if target.result.hp_damage == 0 && item && !item.damage.to_hp?
|
|
333
|
+
if target.result.hp_damage > 0 && target.result.hp_drain == 0
|
|
334
|
+
target.perform_damage_effect
|
|
335
|
+
end
|
|
336
|
+
Sound.play_recovery if target.result.hp_damage < 0
|
|
337
|
+
add_text(target.result.hp_damage_text)
|
|
338
|
+
wait
|
|
339
|
+
end
|
|
340
|
+
#--------------------------------------------------------------------------
|
|
341
|
+
# * Display MP Damage
|
|
342
|
+
#--------------------------------------------------------------------------
|
|
343
|
+
def display_mp_damage(target, item)
|
|
344
|
+
return if target.dead? || target.result.mp_damage == 0
|
|
345
|
+
Sound.play_recovery if target.result.mp_damage < 0
|
|
346
|
+
add_text(target.result.mp_damage_text)
|
|
347
|
+
wait
|
|
348
|
+
end
|
|
349
|
+
#--------------------------------------------------------------------------
|
|
350
|
+
# * Display TP Damage
|
|
351
|
+
#--------------------------------------------------------------------------
|
|
352
|
+
def display_tp_damage(target, item)
|
|
353
|
+
return if target.dead? || target.result.tp_damage == 0
|
|
354
|
+
Sound.play_recovery if target.result.tp_damage < 0
|
|
355
|
+
add_text(target.result.tp_damage_text)
|
|
356
|
+
wait
|
|
357
|
+
end
|
|
358
|
+
#--------------------------------------------------------------------------
|
|
359
|
+
# * Display Affected Status
|
|
360
|
+
#--------------------------------------------------------------------------
|
|
361
|
+
def display_affected_status(target, item)
|
|
362
|
+
if target.result.status_affected?
|
|
363
|
+
add_text("") if line_number < max_line_number
|
|
364
|
+
display_changed_states(target)
|
|
365
|
+
display_changed_buffs(target)
|
|
366
|
+
back_one if last_text.empty?
|
|
367
|
+
end
|
|
368
|
+
end
|
|
369
|
+
#--------------------------------------------------------------------------
|
|
370
|
+
# * Display Automatically Affected Status
|
|
371
|
+
#--------------------------------------------------------------------------
|
|
372
|
+
def display_auto_affected_status(target)
|
|
373
|
+
if target.result.status_affected?
|
|
374
|
+
display_affected_status(target, nil)
|
|
375
|
+
wait if line_number > 0
|
|
376
|
+
end
|
|
377
|
+
end
|
|
378
|
+
#--------------------------------------------------------------------------
|
|
379
|
+
# * Display Added/Removed State
|
|
380
|
+
#--------------------------------------------------------------------------
|
|
381
|
+
def display_changed_states(target)
|
|
382
|
+
display_added_states(target)
|
|
383
|
+
display_removed_states(target)
|
|
384
|
+
end
|
|
385
|
+
#--------------------------------------------------------------------------
|
|
386
|
+
# * Display Added State
|
|
387
|
+
#--------------------------------------------------------------------------
|
|
388
|
+
def display_added_states(target)
|
|
389
|
+
target.result.added_state_objects.each do |state|
|
|
390
|
+
state_msg = target.actor? ? state.message1 : state.message2
|
|
391
|
+
target.perform_collapse_effect if state.id == target.death_state_id
|
|
392
|
+
next if state_msg.empty?
|
|
393
|
+
replace_text(target.name + state_msg)
|
|
394
|
+
wait
|
|
395
|
+
wait_for_effect
|
|
396
|
+
end
|
|
397
|
+
end
|
|
398
|
+
#--------------------------------------------------------------------------
|
|
399
|
+
# * Display Removed State
|
|
400
|
+
#--------------------------------------------------------------------------
|
|
401
|
+
def display_removed_states(target)
|
|
402
|
+
target.result.removed_state_objects.each do |state|
|
|
403
|
+
next if state.message4.empty?
|
|
404
|
+
replace_text(target.name + state.message4)
|
|
405
|
+
wait
|
|
406
|
+
end
|
|
407
|
+
end
|
|
408
|
+
#--------------------------------------------------------------------------
|
|
409
|
+
# * Display Buff/Debuff
|
|
410
|
+
#--------------------------------------------------------------------------
|
|
411
|
+
def display_changed_buffs(target)
|
|
412
|
+
display_buffs(target, target.result.added_buffs, Vocab::BuffAdd)
|
|
413
|
+
display_buffs(target, target.result.added_debuffs, Vocab::DebuffAdd)
|
|
414
|
+
display_buffs(target, target.result.removed_buffs, Vocab::BuffRemove)
|
|
415
|
+
end
|
|
416
|
+
#--------------------------------------------------------------------------
|
|
417
|
+
# * Display Buff/Debuff (Individual)
|
|
418
|
+
#--------------------------------------------------------------------------
|
|
419
|
+
def display_buffs(target, buffs, fmt)
|
|
420
|
+
buffs.each do |param_id|
|
|
421
|
+
replace_text(sprintf(fmt, target.name, Vocab::param(param_id)))
|
|
422
|
+
wait
|
|
423
|
+
end
|
|
424
|
+
end
|
|
425
|
+
end
|