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
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
data/Gemfile
ADDED
data/README.md
ADDED
data/Rakefile
ADDED
@@ -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
|