rgss3_default_scripts 1.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (117) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +9 -0
  3. data/Gemfile +4 -0
  4. data/README.md +9 -0
  5. data/Rakefile +2 -0
  6. data/lib/rgss3_default_scripts.rb +109 -0
  7. data/lib/rgss3_default_scripts/BattleManager.rb +392 -0
  8. data/lib/rgss3_default_scripts/Cache.rb +134 -0
  9. data/lib/rgss3_default_scripts/DataManager.rb +267 -0
  10. data/lib/rgss3_default_scripts/Game_Action.rb +262 -0
  11. data/lib/rgss3_default_scripts/Game_ActionResult.rb +159 -0
  12. data/lib/rgss3_default_scripts/Game_Actor.rb +696 -0
  13. data/lib/rgss3_default_scripts/Game_Actors.rb +22 -0
  14. data/lib/rgss3_default_scripts/Game_BaseItem.rb +51 -0
  15. data/lib/rgss3_default_scripts/Game_Battler.rb +824 -0
  16. data/lib/rgss3_default_scripts/Game_BattlerBase.rb +731 -0
  17. data/lib/rgss3_default_scripts/Game_Character.rb +396 -0
  18. data/lib/rgss3_default_scripts/Game_CharacterBase.rb +443 -0
  19. data/lib/rgss3_default_scripts/Game_CommonEvent.rb +41 -0
  20. data/lib/rgss3_default_scripts/Game_Enemy.rb +264 -0
  21. data/lib/rgss3_default_scripts/Game_Event.rb +308 -0
  22. data/lib/rgss3_default_scripts/Game_Follower.rb +74 -0
  23. data/lib/rgss3_default_scripts/Game_Followers.rb +112 -0
  24. data/lib/rgss3_default_scripts/Game_Interpreter.rb +1413 -0
  25. data/lib/rgss3_default_scripts/Game_Map.rb +704 -0
  26. data/lib/rgss3_default_scripts/Game_Message.rb +101 -0
  27. data/lib/rgss3_default_scripts/Game_Party.rb +418 -0
  28. data/lib/rgss3_default_scripts/Game_Picture.rb +161 -0
  29. data/lib/rgss3_default_scripts/Game_Pictures.rb +28 -0
  30. data/lib/rgss3_default_scripts/Game_Player.rb +488 -0
  31. data/lib/rgss3_default_scripts/Game_Screen.rb +234 -0
  32. data/lib/rgss3_default_scripts/Game_SelfSwitches.rb +35 -0
  33. data/lib/rgss3_default_scripts/Game_Switches.rb +35 -0
  34. data/lib/rgss3_default_scripts/Game_System.rb +122 -0
  35. data/lib/rgss3_default_scripts/Game_Temp.rb +45 -0
  36. data/lib/rgss3_default_scripts/Game_Timer.rb +56 -0
  37. data/lib/rgss3_default_scripts/Game_Troop.rb +205 -0
  38. data/lib/rgss3_default_scripts/Game_Unit.rb +131 -0
  39. data/lib/rgss3_default_scripts/Game_Variables.rb +34 -0
  40. data/lib/rgss3_default_scripts/Game_Vehicle.rb +193 -0
  41. data/lib/rgss3_default_scripts/SceneManager.rb +94 -0
  42. data/lib/rgss3_default_scripts/Scene_Base.rb +132 -0
  43. data/lib/rgss3_default_scripts/Scene_Battle.rb +693 -0
  44. data/lib/rgss3_default_scripts/Scene_Debug.rb +87 -0
  45. data/lib/rgss3_default_scripts/Scene_End.rb +61 -0
  46. data/lib/rgss3_default_scripts/Scene_Equip.rb +144 -0
  47. data/lib/rgss3_default_scripts/Scene_File.rb +203 -0
  48. data/lib/rgss3_default_scripts/Scene_Gameover.rb +85 -0
  49. data/lib/rgss3_default_scripts/Scene_Item.rb +75 -0
  50. data/lib/rgss3_default_scripts/Scene_ItemBase.rb +147 -0
  51. data/lib/rgss3_default_scripts/Scene_Load.rb +40 -0
  52. data/lib/rgss3_default_scripts/Scene_Map.rb +276 -0
  53. data/lib/rgss3_default_scripts/Scene_Menu.rb +127 -0
  54. data/lib/rgss3_default_scripts/Scene_MenuBase.rb +63 -0
  55. data/lib/rgss3_default_scripts/Scene_Name.rb +32 -0
  56. data/lib/rgss3_default_scripts/Scene_Save.rb +38 -0
  57. data/lib/rgss3_default_scripts/Scene_Shop.rb +299 -0
  58. data/lib/rgss3_default_scripts/Scene_Skill.rb +108 -0
  59. data/lib/rgss3_default_scripts/Scene_Status.rb +25 -0
  60. data/lib/rgss3_default_scripts/Scene_Title.rb +137 -0
  61. data/lib/rgss3_default_scripts/Sound.rb +135 -0
  62. data/lib/rgss3_default_scripts/Sprite_Base.rb +232 -0
  63. data/lib/rgss3_default_scripts/Sprite_Battler.rb +231 -0
  64. data/lib/rgss3_default_scripts/Sprite_Character.rb +226 -0
  65. data/lib/rgss3_default_scripts/Sprite_Picture.rb +82 -0
  66. data/lib/rgss3_default_scripts/Sprite_Timer.rb +77 -0
  67. data/lib/rgss3_default_scripts/Spriteset_Battle.rb +389 -0
  68. data/lib/rgss3_default_scripts/Spriteset_Map.rb +273 -0
  69. data/lib/rgss3_default_scripts/Spriteset_Weather.rb +184 -0
  70. data/lib/rgss3_default_scripts/Vocab.rb +145 -0
  71. data/lib/rgss3_default_scripts/Window_ActorCommand.rb +78 -0
  72. data/lib/rgss3_default_scripts/Window_Base.rb +571 -0
  73. data/lib/rgss3_default_scripts/Window_BattleActor.rb +38 -0
  74. data/lib/rgss3_default_scripts/Window_BattleEnemy.rb +70 -0
  75. data/lib/rgss3_default_scripts/Window_BattleItem.rb +40 -0
  76. data/lib/rgss3_default_scripts/Window_BattleLog.rb +425 -0
  77. data/lib/rgss3_default_scripts/Window_BattleSkill.rb +34 -0
  78. data/lib/rgss3_default_scripts/Window_BattleStatus.rb +111 -0
  79. data/lib/rgss3_default_scripts/Window_ChoiceList.rb +88 -0
  80. data/lib/rgss3_default_scripts/Window_Command.rb +152 -0
  81. data/lib/rgss3_default_scripts/Window_DebugLeft.rb +104 -0
  82. data/lib/rgss3_default_scripts/Window_DebugRight.rb +119 -0
  83. data/lib/rgss3_default_scripts/Window_EquipCommand.rb +36 -0
  84. data/lib/rgss3_default_scripts/Window_EquipItem.rb +78 -0
  85. data/lib/rgss3_default_scripts/Window_EquipSlot.rb +111 -0
  86. data/lib/rgss3_default_scripts/Window_EquipStatus.rb +97 -0
  87. data/lib/rgss3_default_scripts/Window_GameEnd.rb +38 -0
  88. data/lib/rgss3_default_scripts/Window_Gold.rb +47 -0
  89. data/lib/rgss3_default_scripts/Window_Help.rb +43 -0
  90. data/lib/rgss3_default_scripts/Window_HorzCommand.rb +106 -0
  91. data/lib/rgss3_default_scripts/Window_ItemCategory.rb +54 -0
  92. data/lib/rgss3_default_scripts/Window_ItemList.rb +117 -0
  93. data/lib/rgss3_default_scripts/Window_KeyItem.rb +55 -0
  94. data/lib/rgss3_default_scripts/Window_MapName.rb +96 -0
  95. data/lib/rgss3_default_scripts/Window_MenuActor.rb +43 -0
  96. data/lib/rgss3_default_scripts/Window_MenuCommand.rb +106 -0
  97. data/lib/rgss3_default_scripts/Window_MenuStatus.rb +85 -0
  98. data/lib/rgss3_default_scripts/Window_Message.rb +397 -0
  99. data/lib/rgss3_default_scripts/Window_NameEdit.rb +129 -0
  100. data/lib/rgss3_default_scripts/Window_NameInput.rb +253 -0
  101. data/lib/rgss3_default_scripts/Window_NumberInput.rb +148 -0
  102. data/lib/rgss3_default_scripts/Window_PartyCommand.rb +47 -0
  103. data/lib/rgss3_default_scripts/Window_SaveFile.rb +69 -0
  104. data/lib/rgss3_default_scripts/Window_ScrollText.rb +90 -0
  105. data/lib/rgss3_default_scripts/Window_Selectable.rb +442 -0
  106. data/lib/rgss3_default_scripts/Window_ShopBuy.rb +115 -0
  107. data/lib/rgss3_default_scripts/Window_ShopCommand.rb +36 -0
  108. data/lib/rgss3_default_scripts/Window_ShopNumber.rb +137 -0
  109. data/lib/rgss3_default_scripts/Window_ShopSell.rb +27 -0
  110. data/lib/rgss3_default_scripts/Window_ShopStatus.rb +124 -0
  111. data/lib/rgss3_default_scripts/Window_SkillCommand.rb +76 -0
  112. data/lib/rgss3_default_scripts/Window_SkillList.rb +121 -0
  113. data/lib/rgss3_default_scripts/Window_SkillStatus.rb +38 -0
  114. data/lib/rgss3_default_scripts/Window_Status.rb +125 -0
  115. data/lib/rgss3_default_scripts/Window_TitleCommand.rb +45 -0
  116. data/rgss3_default_scripts.gemspec +23 -0
  117. metadata +186 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 2c36f974a8270aeb5df04d5863c999b5d5491d0f
4
+ data.tar.gz: 8fda48e8030318f43f34515002d420ef3f87b214
5
+ SHA512:
6
+ metadata.gz: 52eeafc6ca3d0fb20515ec42d488c84e60087d8254fcad457452d17f9b04495bc1537ae284198d5637a6f51b0cd31182be95cca2bac7f231276a3bf6cc17ea8a
7
+ data.tar.gz: 1743f20ed0ef4ac6258bfa50f883cb5a46fa141b926f5fc18b819cb56eb9ef02960237d60df3e80828bc9a9993aa558d04b3ce6b21fe2ad22648c57d602dba47
data/.gitignore ADDED
@@ -0,0 +1,9 @@
1
+ /.bundle/
2
+ /.yardoc
3
+ /Gemfile.lock
4
+ /_yardoc/
5
+ /coverage/
6
+ /doc/
7
+ /pkg/
8
+ /spec/reports/
9
+ /tmp/
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # Specify your gem's dependencies in rgss3_default_scripts.gemspec
4
+ gemspec
data/README.md ADDED
@@ -0,0 +1,9 @@
1
+ # rgss3_default_scripts
2
+
3
+ Default scripts in RGSS3. Copyrights are owned by KADOKAWA.
4
+
5
+ This gem can be used as a reference. Requiring it will probably cause an exception.
6
+
7
+ ## License
8
+
9
+ Go and ask KADOKAWA.
data/Rakefile ADDED
@@ -0,0 +1,2 @@
1
+ require "bundler/gem_tasks"
2
+ task :default => :spec
@@ -0,0 +1,109 @@
1
+ require_relative 'rgss3_default_scripts/Vocab'
2
+ require_relative 'rgss3_default_scripts/Sound'
3
+ require_relative 'rgss3_default_scripts/Cache'
4
+ require_relative 'rgss3_default_scripts/DataManager'
5
+ require_relative 'rgss3_default_scripts/SceneManager'
6
+ require_relative 'rgss3_default_scripts/BattleManager'
7
+ require_relative 'rgss3_default_scripts/Game_Temp'
8
+ require_relative 'rgss3_default_scripts/Game_System'
9
+ require_relative 'rgss3_default_scripts/Game_Timer'
10
+ require_relative 'rgss3_default_scripts/Game_Message'
11
+ require_relative 'rgss3_default_scripts/Game_Switches'
12
+ require_relative 'rgss3_default_scripts/Game_Variables'
13
+ require_relative 'rgss3_default_scripts/Game_SelfSwitches'
14
+ require_relative 'rgss3_default_scripts/Game_Screen'
15
+ require_relative 'rgss3_default_scripts/Game_Picture'
16
+ require_relative 'rgss3_default_scripts/Game_Pictures'
17
+ require_relative 'rgss3_default_scripts/Game_BaseItem'
18
+ require_relative 'rgss3_default_scripts/Game_Action'
19
+ require_relative 'rgss3_default_scripts/Game_ActionResult'
20
+ require_relative 'rgss3_default_scripts/Game_BattlerBase'
21
+ require_relative 'rgss3_default_scripts/Game_Battler'
22
+ require_relative 'rgss3_default_scripts/Game_Actor'
23
+ require_relative 'rgss3_default_scripts/Game_Enemy'
24
+ require_relative 'rgss3_default_scripts/Game_Actors'
25
+ require_relative 'rgss3_default_scripts/Game_Unit'
26
+ require_relative 'rgss3_default_scripts/Game_Party'
27
+ require_relative 'rgss3_default_scripts/Game_Troop'
28
+ require_relative 'rgss3_default_scripts/Game_Map'
29
+ require_relative 'rgss3_default_scripts/Game_CommonEvent'
30
+ require_relative 'rgss3_default_scripts/Game_CharacterBase'
31
+ require_relative 'rgss3_default_scripts/Game_Character'
32
+ require_relative 'rgss3_default_scripts/Game_Player'
33
+ require_relative 'rgss3_default_scripts/Game_Follower'
34
+ require_relative 'rgss3_default_scripts/Game_Followers'
35
+ require_relative 'rgss3_default_scripts/Game_Vehicle'
36
+ require_relative 'rgss3_default_scripts/Game_Event'
37
+ require_relative 'rgss3_default_scripts/Game_Interpreter'
38
+ require_relative 'rgss3_default_scripts/Sprite_Base'
39
+ require_relative 'rgss3_default_scripts/Sprite_Character'
40
+ require_relative 'rgss3_default_scripts/Sprite_Battler'
41
+ require_relative 'rgss3_default_scripts/Sprite_Picture'
42
+ require_relative 'rgss3_default_scripts/Sprite_Timer'
43
+ require_relative 'rgss3_default_scripts/Spriteset_Weather'
44
+ require_relative 'rgss3_default_scripts/Spriteset_Map'
45
+ require_relative 'rgss3_default_scripts/Spriteset_Battle'
46
+ require_relative 'rgss3_default_scripts/Window_Base'
47
+ require_relative 'rgss3_default_scripts/Window_Selectable'
48
+ require_relative 'rgss3_default_scripts/Window_Command'
49
+ require_relative 'rgss3_default_scripts/Window_HorzCommand'
50
+ require_relative 'rgss3_default_scripts/Window_Help'
51
+ require_relative 'rgss3_default_scripts/Window_Gold'
52
+ require_relative 'rgss3_default_scripts/Window_MenuCommand'
53
+ require_relative 'rgss3_default_scripts/Window_MenuStatus'
54
+ require_relative 'rgss3_default_scripts/Window_MenuActor'
55
+ require_relative 'rgss3_default_scripts/Window_ItemCategory'
56
+ require_relative 'rgss3_default_scripts/Window_ItemList'
57
+ require_relative 'rgss3_default_scripts/Window_SkillCommand'
58
+ require_relative 'rgss3_default_scripts/Window_SkillStatus'
59
+ require_relative 'rgss3_default_scripts/Window_SkillList'
60
+ require_relative 'rgss3_default_scripts/Window_EquipStatus'
61
+ require_relative 'rgss3_default_scripts/Window_EquipCommand'
62
+ require_relative 'rgss3_default_scripts/Window_EquipSlot'
63
+ require_relative 'rgss3_default_scripts/Window_EquipItem'
64
+ require_relative 'rgss3_default_scripts/Window_Status'
65
+ require_relative 'rgss3_default_scripts/Window_SaveFile'
66
+ require_relative 'rgss3_default_scripts/Window_ShopCommand'
67
+ require_relative 'rgss3_default_scripts/Window_ShopBuy'
68
+ require_relative 'rgss3_default_scripts/Window_ShopSell'
69
+ require_relative 'rgss3_default_scripts/Window_ShopNumber'
70
+ require_relative 'rgss3_default_scripts/Window_ShopStatus'
71
+ require_relative 'rgss3_default_scripts/Window_NameEdit'
72
+ require_relative 'rgss3_default_scripts/Window_NameInput'
73
+ require_relative 'rgss3_default_scripts/Window_ChoiceList'
74
+ require_relative 'rgss3_default_scripts/Window_NumberInput'
75
+ require_relative 'rgss3_default_scripts/Window_KeyItem'
76
+ require_relative 'rgss3_default_scripts/Window_Message'
77
+ require_relative 'rgss3_default_scripts/Window_ScrollText'
78
+ require_relative 'rgss3_default_scripts/Window_MapName'
79
+ require_relative 'rgss3_default_scripts/Window_BattleLog'
80
+ require_relative 'rgss3_default_scripts/Window_PartyCommand'
81
+ require_relative 'rgss3_default_scripts/Window_ActorCommand'
82
+ require_relative 'rgss3_default_scripts/Window_BattleStatus'
83
+ require_relative 'rgss3_default_scripts/Window_BattleActor'
84
+ require_relative 'rgss3_default_scripts/Window_BattleEnemy'
85
+ require_relative 'rgss3_default_scripts/Window_BattleSkill'
86
+ require_relative 'rgss3_default_scripts/Window_BattleItem'
87
+ require_relative 'rgss3_default_scripts/Window_TitleCommand'
88
+ require_relative 'rgss3_default_scripts/Window_GameEnd'
89
+ require_relative 'rgss3_default_scripts/Window_DebugLeft'
90
+ require_relative 'rgss3_default_scripts/Window_DebugRight'
91
+ require_relative 'rgss3_default_scripts/Scene_Base'
92
+ require_relative 'rgss3_default_scripts/Scene_Title'
93
+ require_relative 'rgss3_default_scripts/Scene_Map'
94
+ require_relative 'rgss3_default_scripts/Scene_MenuBase'
95
+ require_relative 'rgss3_default_scripts/Scene_Menu'
96
+ require_relative 'rgss3_default_scripts/Scene_ItemBase'
97
+ require_relative 'rgss3_default_scripts/Scene_Item'
98
+ require_relative 'rgss3_default_scripts/Scene_Skill'
99
+ require_relative 'rgss3_default_scripts/Scene_Equip'
100
+ require_relative 'rgss3_default_scripts/Scene_Status'
101
+ require_relative 'rgss3_default_scripts/Scene_File'
102
+ require_relative 'rgss3_default_scripts/Scene_Save'
103
+ require_relative 'rgss3_default_scripts/Scene_Load'
104
+ require_relative 'rgss3_default_scripts/Scene_End'
105
+ require_relative 'rgss3_default_scripts/Scene_Shop'
106
+ require_relative 'rgss3_default_scripts/Scene_Name'
107
+ require_relative 'rgss3_default_scripts/Scene_Debug'
108
+ require_relative 'rgss3_default_scripts/Scene_Battle'
109
+ require_relative 'rgss3_default_scripts/Scene_Gameover'
@@ -0,0 +1,392 @@
1
+ #==============================================================================
2
+ # ** BattleManager
3
+ #------------------------------------------------------------------------------
4
+ # This module manages battle progress.
5
+ #==============================================================================
6
+
7
+ module BattleManager
8
+ #--------------------------------------------------------------------------
9
+ # * Setup
10
+ #--------------------------------------------------------------------------
11
+ def self.setup(troop_id, can_escape = true, can_lose = false)
12
+ init_members
13
+ $game_troop.setup(troop_id)
14
+ @can_escape = can_escape
15
+ @can_lose = can_lose
16
+ make_escape_ratio
17
+ end
18
+ #--------------------------------------------------------------------------
19
+ # * Initialize Member Variables
20
+ #--------------------------------------------------------------------------
21
+ def self.init_members
22
+ @phase = :init # Battle Progress Phase
23
+ @can_escape = false # Can Escape Flag
24
+ @can_lose = false # Can Lose Flag
25
+ @event_proc = nil # Event Callback
26
+ @preemptive = false # Preemptive Attack Flag
27
+ @surprise = false # Surprise Flag
28
+ @actor_index = -1 # Actor for Which Command Is Being Entered
29
+ @action_forced = nil # Force Action
30
+ @map_bgm = nil # For Memorizing Pre-Battle BGM
31
+ @map_bgs = nil # For Memorizing Pre-Battle BGS
32
+ @action_battlers = [] # Action Order List
33
+ end
34
+ #--------------------------------------------------------------------------
35
+ # * Processing at Encounter Time
36
+ #--------------------------------------------------------------------------
37
+ def self.on_encounter
38
+ @preemptive = (rand < rate_preemptive)
39
+ @surprise = (rand < rate_surprise && !@preemptive)
40
+ end
41
+ #--------------------------------------------------------------------------
42
+ # * Get Probability of Preemptive Attack
43
+ #--------------------------------------------------------------------------
44
+ def self.rate_preemptive
45
+ $game_party.rate_preemptive($game_troop.agi)
46
+ end
47
+ #--------------------------------------------------------------------------
48
+ # * Get Probability of Surprise
49
+ #--------------------------------------------------------------------------
50
+ def self.rate_surprise
51
+ $game_party.rate_surprise($game_troop.agi)
52
+ end
53
+ #--------------------------------------------------------------------------
54
+ # * Save BGM and BGS
55
+ #--------------------------------------------------------------------------
56
+ def self.save_bgm_and_bgs
57
+ @map_bgm = RPG::BGM.last
58
+ @map_bgs = RPG::BGS.last
59
+ end
60
+ #--------------------------------------------------------------------------
61
+ # * Play Battle BGM
62
+ #--------------------------------------------------------------------------
63
+ def self.play_battle_bgm
64
+ $game_system.battle_bgm.play
65
+ RPG::BGS.stop
66
+ end
67
+ #--------------------------------------------------------------------------
68
+ # * Play Battle End ME
69
+ #--------------------------------------------------------------------------
70
+ def self.play_battle_end_me
71
+ $game_system.battle_end_me.play
72
+ end
73
+ #--------------------------------------------------------------------------
74
+ # * Resume BGM and BGS
75
+ #--------------------------------------------------------------------------
76
+ def self.replay_bgm_and_bgs
77
+ @map_bgm.replay unless $BTEST
78
+ @map_bgs.replay unless $BTEST
79
+ end
80
+ #--------------------------------------------------------------------------
81
+ # * Create Escape Success Probability
82
+ #--------------------------------------------------------------------------
83
+ def self.make_escape_ratio
84
+ @escape_ratio = 1.5 - 1.0 * $game_troop.agi / $game_party.agi
85
+ end
86
+ #--------------------------------------------------------------------------
87
+ # * Determine if Turn Is Executing
88
+ #--------------------------------------------------------------------------
89
+ def self.in_turn?
90
+ @phase == :turn
91
+ end
92
+ #--------------------------------------------------------------------------
93
+ # * Determine if Turn Is Ending
94
+ #--------------------------------------------------------------------------
95
+ def self.turn_end?
96
+ @phase == :turn_end
97
+ end
98
+ #--------------------------------------------------------------------------
99
+ # * Determine if Battle Is Aborting
100
+ #--------------------------------------------------------------------------
101
+ def self.aborting?
102
+ @phase == :aborting
103
+ end
104
+ #--------------------------------------------------------------------------
105
+ # * Get Whether Escape Is Possible
106
+ #--------------------------------------------------------------------------
107
+ def self.can_escape?
108
+ @can_escape
109
+ end
110
+ #--------------------------------------------------------------------------
111
+ # * Get Actor for Which Command Is Being Entered
112
+ #--------------------------------------------------------------------------
113
+ def self.actor
114
+ @actor_index >= 0 ? $game_party.members[@actor_index] : nil
115
+ end
116
+ #--------------------------------------------------------------------------
117
+ # * Clear Actor for Which Command Is Being Entered
118
+ #--------------------------------------------------------------------------
119
+ def self.clear_actor
120
+ @actor_index = -1
121
+ end
122
+ #--------------------------------------------------------------------------
123
+ # * To Next Command Input
124
+ #--------------------------------------------------------------------------
125
+ def self.next_command
126
+ begin
127
+ if !actor || !actor.next_command
128
+ @actor_index += 1
129
+ return false if @actor_index >= $game_party.members.size
130
+ end
131
+ end until actor.inputable?
132
+ return true
133
+ end
134
+ #--------------------------------------------------------------------------
135
+ # * To Previous Command Input
136
+ #--------------------------------------------------------------------------
137
+ def self.prior_command
138
+ begin
139
+ if !actor || !actor.prior_command
140
+ @actor_index -= 1
141
+ return false if @actor_index < 0
142
+ end
143
+ end until actor.inputable?
144
+ return true
145
+ end
146
+ #--------------------------------------------------------------------------
147
+ # * Set Proc for Callback to Event
148
+ #--------------------------------------------------------------------------
149
+ def self.event_proc=(proc)
150
+ @event_proc = proc
151
+ end
152
+ #--------------------------------------------------------------------------
153
+ # * Set Wait Method
154
+ #--------------------------------------------------------------------------
155
+ def self.method_wait_for_message=(method)
156
+ @method_wait_for_message = method
157
+ end
158
+ #--------------------------------------------------------------------------
159
+ # * Wait Until Message Display has Finished
160
+ #--------------------------------------------------------------------------
161
+ def self.wait_for_message
162
+ @method_wait_for_message.call if @method_wait_for_message
163
+ end
164
+ #--------------------------------------------------------------------------
165
+ # * Battle Start
166
+ #--------------------------------------------------------------------------
167
+ def self.battle_start
168
+ $game_system.battle_count += 1
169
+ $game_party.on_battle_start
170
+ $game_troop.on_battle_start
171
+ $game_troop.enemy_names.each do |name|
172
+ $game_message.add(sprintf(Vocab::Emerge, name))
173
+ end
174
+ if @preemptive
175
+ $game_message.add(sprintf(Vocab::Preemptive, $game_party.name))
176
+ elsif @surprise
177
+ $game_message.add(sprintf(Vocab::Surprise, $game_party.name))
178
+ end
179
+ wait_for_message
180
+ end
181
+ #--------------------------------------------------------------------------
182
+ # * Battle Abort
183
+ #--------------------------------------------------------------------------
184
+ def self.abort
185
+ @phase = :aborting
186
+ end
187
+ #--------------------------------------------------------------------------
188
+ # * Determine Win/Loss Results
189
+ #--------------------------------------------------------------------------
190
+ def self.judge_win_loss
191
+ if @phase
192
+ return process_abort if $game_party.members.empty?
193
+ return process_defeat if $game_party.all_dead?
194
+ return process_victory if $game_troop.all_dead?
195
+ return process_abort if aborting?
196
+ end
197
+ return false
198
+ end
199
+ #--------------------------------------------------------------------------
200
+ # * Victory Processing
201
+ #--------------------------------------------------------------------------
202
+ def self.process_victory
203
+ play_battle_end_me
204
+ replay_bgm_and_bgs
205
+ $game_message.add(sprintf(Vocab::Victory, $game_party.name))
206
+ display_exp
207
+ gain_gold
208
+ gain_drop_items
209
+ gain_exp
210
+ SceneManager.return
211
+ battle_end(0)
212
+ return true
213
+ end
214
+ #--------------------------------------------------------------------------
215
+ # * Escape Processing
216
+ #--------------------------------------------------------------------------
217
+ def self.process_escape
218
+ $game_message.add(sprintf(Vocab::EscapeStart, $game_party.name))
219
+ success = @preemptive ? true : (rand < @escape_ratio)
220
+ Sound.play_escape
221
+ if success
222
+ process_abort
223
+ else
224
+ @escape_ratio += 0.1
225
+ $game_message.add('\.' + Vocab::EscapeFailure)
226
+ $game_party.clear_actions
227
+ end
228
+ wait_for_message
229
+ return success
230
+ end
231
+ #--------------------------------------------------------------------------
232
+ # * Abort Processing
233
+ #--------------------------------------------------------------------------
234
+ def self.process_abort
235
+ replay_bgm_and_bgs
236
+ SceneManager.return
237
+ battle_end(1)
238
+ return true
239
+ end
240
+ #--------------------------------------------------------------------------
241
+ # * Defeat Processing
242
+ #--------------------------------------------------------------------------
243
+ def self.process_defeat
244
+ $game_message.add(sprintf(Vocab::Defeat, $game_party.name))
245
+ wait_for_message
246
+ if @can_lose
247
+ revive_battle_members
248
+ replay_bgm_and_bgs
249
+ SceneManager.return
250
+ else
251
+ SceneManager.goto(Scene_Gameover)
252
+ end
253
+ battle_end(2)
254
+ return true
255
+ end
256
+ #--------------------------------------------------------------------------
257
+ # * Revive Battle Members (When Defeated)
258
+ #--------------------------------------------------------------------------
259
+ def self.revive_battle_members
260
+ $game_party.battle_members.each do |actor|
261
+ actor.hp = 1 if actor.dead?
262
+ end
263
+ end
264
+ #--------------------------------------------------------------------------
265
+ # * End Battle
266
+ # result : Result (0: Win 1: Escape 2: Lose)
267
+ #--------------------------------------------------------------------------
268
+ def self.battle_end(result)
269
+ @phase = nil
270
+ @event_proc.call(result) if @event_proc
271
+ $game_party.on_battle_end
272
+ $game_troop.on_battle_end
273
+ SceneManager.exit if $BTEST
274
+ end
275
+ #--------------------------------------------------------------------------
276
+ # * Start Command Input
277
+ #--------------------------------------------------------------------------
278
+ def self.input_start
279
+ if @phase != :input
280
+ @phase = :input
281
+ $game_party.make_actions
282
+ $game_troop.make_actions
283
+ clear_actor
284
+ end
285
+ return !@surprise && $game_party.inputable?
286
+ end
287
+ #--------------------------------------------------------------------------
288
+ # * Start Turn
289
+ #--------------------------------------------------------------------------
290
+ def self.turn_start
291
+ @phase = :turn
292
+ clear_actor
293
+ $game_troop.increase_turn
294
+ make_action_orders
295
+ end
296
+ #--------------------------------------------------------------------------
297
+ # * End Turn
298
+ #--------------------------------------------------------------------------
299
+ def self.turn_end
300
+ @phase = :turn_end
301
+ @preemptive = false
302
+ @surprise = false
303
+ end
304
+ #--------------------------------------------------------------------------
305
+ # * Display EXP Earned
306
+ #--------------------------------------------------------------------------
307
+ def self.display_exp
308
+ if $game_troop.exp_total > 0
309
+ text = sprintf(Vocab::ObtainExp, $game_troop.exp_total)
310
+ $game_message.add('\.' + text)
311
+ end
312
+ end
313
+ #--------------------------------------------------------------------------
314
+ # * Gold Acquisition and Display
315
+ #--------------------------------------------------------------------------
316
+ def self.gain_gold
317
+ if $game_troop.gold_total > 0
318
+ text = sprintf(Vocab::ObtainGold, $game_troop.gold_total)
319
+ $game_message.add('\.' + text)
320
+ $game_party.gain_gold($game_troop.gold_total)
321
+ end
322
+ wait_for_message
323
+ end
324
+ #--------------------------------------------------------------------------
325
+ # * Dropped Item Acquisition and Display
326
+ #--------------------------------------------------------------------------
327
+ def self.gain_drop_items
328
+ $game_troop.make_drop_items.each do |item|
329
+ $game_party.gain_item(item, 1)
330
+ $game_message.add(sprintf(Vocab::ObtainItem, item.name))
331
+ end
332
+ wait_for_message
333
+ end
334
+ #--------------------------------------------------------------------------
335
+ # * EXP Acquisition and Level Up Display
336
+ #--------------------------------------------------------------------------
337
+ def self.gain_exp
338
+ $game_party.all_members.each do |actor|
339
+ actor.gain_exp($game_troop.exp_total)
340
+ end
341
+ wait_for_message
342
+ end
343
+ #--------------------------------------------------------------------------
344
+ # * Create Action Order
345
+ #--------------------------------------------------------------------------
346
+ def self.make_action_orders
347
+ @action_battlers = []
348
+ @action_battlers += $game_party.members unless @surprise
349
+ @action_battlers += $game_troop.members unless @preemptive
350
+ @action_battlers.each {|battler| battler.make_speed }
351
+ @action_battlers.sort! {|a,b| b.speed - a.speed }
352
+ end
353
+ #--------------------------------------------------------------------------
354
+ # * Force Action
355
+ #--------------------------------------------------------------------------
356
+ def self.force_action(battler)
357
+ @action_forced = battler
358
+ @action_battlers.delete(battler)
359
+ end
360
+ #--------------------------------------------------------------------------
361
+ # * Get Forced State of Battle Action
362
+ #--------------------------------------------------------------------------
363
+ def self.action_forced?
364
+ @action_forced != nil
365
+ end
366
+ #--------------------------------------------------------------------------
367
+ # * Get Battler Subjected to Forced Action
368
+ #--------------------------------------------------------------------------
369
+ def self.action_forced_battler
370
+ @action_forced
371
+ end
372
+ #--------------------------------------------------------------------------
373
+ # * Clear Forcing of Battle Action
374
+ #--------------------------------------------------------------------------
375
+ def self.clear_action_force
376
+ @action_forced = nil
377
+ end
378
+ #--------------------------------------------------------------------------
379
+ # * Get Next Action Subject
380
+ # Get the battler from the beginning of the action order list.
381
+ # If an actor not currently in the party is obtained (occurs when index
382
+ # is nil, immediately after escaping in battle events etc.), skip them.
383
+ #--------------------------------------------------------------------------
384
+ def self.next_subject
385
+ loop do
386
+ battler = @action_battlers.shift
387
+ return nil unless battler
388
+ next unless battler.index && battler.alive?
389
+ return battler
390
+ end
391
+ end
392
+ end