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
@@ -0,0 +1,115 @@
1
+ #==============================================================================
2
+ # ** Window_ShopBuy
3
+ #------------------------------------------------------------------------------
4
+ # This window displays a list of buyable goods on the shop screen.
5
+ #==============================================================================
6
+
7
+ class Window_ShopBuy < Window_Selectable
8
+ #--------------------------------------------------------------------------
9
+ # * Public Instance Variables
10
+ #--------------------------------------------------------------------------
11
+ attr_reader :status_window # Status window
12
+ #--------------------------------------------------------------------------
13
+ # * Object Initialization
14
+ #--------------------------------------------------------------------------
15
+ def initialize(x, y, height, shop_goods)
16
+ super(x, y, window_width, height)
17
+ @shop_goods = shop_goods
18
+ @money = 0
19
+ refresh
20
+ select(0)
21
+ end
22
+ #--------------------------------------------------------------------------
23
+ # * Get Window Width
24
+ #--------------------------------------------------------------------------
25
+ def window_width
26
+ return 304
27
+ end
28
+ #--------------------------------------------------------------------------
29
+ # * Get Number of Items
30
+ #--------------------------------------------------------------------------
31
+ def item_max
32
+ @data ? @data.size : 1
33
+ end
34
+ #--------------------------------------------------------------------------
35
+ # * Get Item
36
+ #--------------------------------------------------------------------------
37
+ def item
38
+ @data[index]
39
+ end
40
+ #--------------------------------------------------------------------------
41
+ # * Set Party Gold
42
+ #--------------------------------------------------------------------------
43
+ def money=(money)
44
+ @money = money
45
+ refresh
46
+ end
47
+ #--------------------------------------------------------------------------
48
+ # * Get Activation State of Selection Item
49
+ #--------------------------------------------------------------------------
50
+ def current_item_enabled?
51
+ enable?(@data[index])
52
+ end
53
+ #--------------------------------------------------------------------------
54
+ # * Get Price of Item
55
+ #--------------------------------------------------------------------------
56
+ def price(item)
57
+ @price[item]
58
+ end
59
+ #--------------------------------------------------------------------------
60
+ # * Display in Enabled State?
61
+ #--------------------------------------------------------------------------
62
+ def enable?(item)
63
+ item && price(item) <= @money && !$game_party.item_max?(item)
64
+ end
65
+ #--------------------------------------------------------------------------
66
+ # * Refresh
67
+ #--------------------------------------------------------------------------
68
+ def refresh
69
+ make_item_list
70
+ create_contents
71
+ draw_all_items
72
+ end
73
+ #--------------------------------------------------------------------------
74
+ # * Create Item List
75
+ #--------------------------------------------------------------------------
76
+ def make_item_list
77
+ @data = []
78
+ @price = {}
79
+ @shop_goods.each do |goods|
80
+ case goods[0]
81
+ when 0; item = $data_items[goods[1]]
82
+ when 1; item = $data_weapons[goods[1]]
83
+ when 2; item = $data_armors[goods[1]]
84
+ end
85
+ if item
86
+ @data.push(item)
87
+ @price[item] = goods[2] == 0 ? item.price : goods[3]
88
+ end
89
+ end
90
+ end
91
+ #--------------------------------------------------------------------------
92
+ # * Draw Item
93
+ #--------------------------------------------------------------------------
94
+ def draw_item(index)
95
+ item = @data[index]
96
+ rect = item_rect(index)
97
+ draw_item_name(item, rect.x, rect.y, enable?(item))
98
+ rect.width -= 4
99
+ draw_text(rect, price(item), 2)
100
+ end
101
+ #--------------------------------------------------------------------------
102
+ # * Set Status Window
103
+ #--------------------------------------------------------------------------
104
+ def status_window=(status_window)
105
+ @status_window = status_window
106
+ call_update_help
107
+ end
108
+ #--------------------------------------------------------------------------
109
+ # * Update Help Text
110
+ #--------------------------------------------------------------------------
111
+ def update_help
112
+ @help_window.set_item(item) if @help_window
113
+ @status_window.item = item if @status_window
114
+ end
115
+ end
@@ -0,0 +1,36 @@
1
+ #==============================================================================
2
+ # ** Window_ShopCommand
3
+ #------------------------------------------------------------------------------
4
+ # This window is for selecting buy/sell on the shop screen.
5
+ #==============================================================================
6
+
7
+ class Window_ShopCommand < Window_HorzCommand
8
+ #--------------------------------------------------------------------------
9
+ # * Object Initialization
10
+ #--------------------------------------------------------------------------
11
+ def initialize(window_width, purchase_only)
12
+ @window_width = window_width
13
+ @purchase_only = purchase_only
14
+ super(0, 0)
15
+ end
16
+ #--------------------------------------------------------------------------
17
+ # * Get Window Width
18
+ #--------------------------------------------------------------------------
19
+ def window_width
20
+ @window_width
21
+ end
22
+ #--------------------------------------------------------------------------
23
+ # * Get Digit Count
24
+ #--------------------------------------------------------------------------
25
+ def col_max
26
+ return 3
27
+ end
28
+ #--------------------------------------------------------------------------
29
+ # * Create Command List
30
+ #--------------------------------------------------------------------------
31
+ def make_command_list
32
+ add_command(Vocab::ShopBuy, :buy)
33
+ add_command(Vocab::ShopSell, :sell, !@purchase_only)
34
+ add_command(Vocab::ShopCancel, :cancel)
35
+ end
36
+ end
@@ -0,0 +1,137 @@
1
+ #==============================================================================
2
+ # ** Window_ShopNumber
3
+ #------------------------------------------------------------------------------
4
+ # This window is for inputting quantity of items to buy or sell on the shop
5
+ # screen.
6
+ #==============================================================================
7
+
8
+ class Window_ShopNumber < Window_Selectable
9
+ #--------------------------------------------------------------------------
10
+ # * Public Instance Variables
11
+ #--------------------------------------------------------------------------
12
+ attr_reader :number # quantity entered
13
+ #--------------------------------------------------------------------------
14
+ # * Object Initialization
15
+ #--------------------------------------------------------------------------
16
+ def initialize(x, y, height)
17
+ super(x, y, window_width, height)
18
+ @item = nil
19
+ @max = 1
20
+ @price = 0
21
+ @number = 1
22
+ @currency_unit = Vocab::currency_unit
23
+ end
24
+ #--------------------------------------------------------------------------
25
+ # * Get Window Width
26
+ #--------------------------------------------------------------------------
27
+ def window_width
28
+ return 304
29
+ end
30
+ #--------------------------------------------------------------------------
31
+ # * Set Item, Max Quantity, Price, and Currency Unit
32
+ #--------------------------------------------------------------------------
33
+ def set(item, max, price, currency_unit = nil)
34
+ @item = item
35
+ @max = max
36
+ @price = price
37
+ @currency_unit = currency_unit if currency_unit
38
+ @number = 1
39
+ refresh
40
+ end
41
+ #--------------------------------------------------------------------------
42
+ # * Set Currency Unit
43
+ #--------------------------------------------------------------------------
44
+ def currency_unit=(currency_unit)
45
+ @currency_unit = currency_unit
46
+ refresh
47
+ end
48
+ #--------------------------------------------------------------------------
49
+ # * Refresh
50
+ #--------------------------------------------------------------------------
51
+ def refresh
52
+ contents.clear
53
+ draw_item_name(@item, 0, item_y)
54
+ draw_number
55
+ draw_total_price
56
+ end
57
+ #--------------------------------------------------------------------------
58
+ # * Draw Quantity
59
+ #--------------------------------------------------------------------------
60
+ def draw_number
61
+ change_color(normal_color)
62
+ draw_text(cursor_x - 28, item_y, 22, line_height, "×")
63
+ draw_text(cursor_x, item_y, cursor_width - 4, line_height, @number, 2)
64
+ end
65
+ #--------------------------------------------------------------------------
66
+ # * Draw Total Price
67
+ #--------------------------------------------------------------------------
68
+ def draw_total_price
69
+ width = contents_width - 8
70
+ draw_currency_value(@price * @number, @currency_unit, 4, price_y, width)
71
+ end
72
+ #--------------------------------------------------------------------------
73
+ # * Y Coordinate of Item Name Display Line
74
+ #--------------------------------------------------------------------------
75
+ def item_y
76
+ contents_height / 2 - line_height * 3 / 2
77
+ end
78
+ #--------------------------------------------------------------------------
79
+ # * Y Coordinate of Price Display Line
80
+ #--------------------------------------------------------------------------
81
+ def price_y
82
+ contents_height / 2 + line_height / 2
83
+ end
84
+ #--------------------------------------------------------------------------
85
+ # * Get Cursor Width
86
+ #--------------------------------------------------------------------------
87
+ def cursor_width
88
+ figures * 10 + 12
89
+ end
90
+ #--------------------------------------------------------------------------
91
+ # * Get X Coordinate of Cursor
92
+ #--------------------------------------------------------------------------
93
+ def cursor_x
94
+ contents_width - cursor_width - 4
95
+ end
96
+ #--------------------------------------------------------------------------
97
+ # * Get Maximum Number of Digits for Quantity Display
98
+ #--------------------------------------------------------------------------
99
+ def figures
100
+ return 2
101
+ end
102
+ #--------------------------------------------------------------------------
103
+ # * Frame Update
104
+ #--------------------------------------------------------------------------
105
+ def update
106
+ super
107
+ if active
108
+ last_number = @number
109
+ update_number
110
+ if @number != last_number
111
+ Sound.play_cursor
112
+ refresh
113
+ end
114
+ end
115
+ end
116
+ #--------------------------------------------------------------------------
117
+ # * Update Quantity
118
+ #--------------------------------------------------------------------------
119
+ def update_number
120
+ change_number(1) if Input.repeat?(:RIGHT)
121
+ change_number(-1) if Input.repeat?(:LEFT)
122
+ change_number(10) if Input.repeat?(:UP)
123
+ change_number(-10) if Input.repeat?(:DOWN)
124
+ end
125
+ #--------------------------------------------------------------------------
126
+ # * Change Quantity
127
+ #--------------------------------------------------------------------------
128
+ def change_number(amount)
129
+ @number = [[@number + amount, @max].min, 1].max
130
+ end
131
+ #--------------------------------------------------------------------------
132
+ # * Update Cursor
133
+ #--------------------------------------------------------------------------
134
+ def update_cursor
135
+ cursor_rect.set(cursor_x, item_y, cursor_width, line_height)
136
+ end
137
+ end
@@ -0,0 +1,27 @@
1
+ #==============================================================================
2
+ # ** Window_ShopSell
3
+ #------------------------------------------------------------------------------
4
+ # This window displays a list of items in possession for selling on the shop
5
+ # screen.
6
+ #==============================================================================
7
+
8
+ class Window_ShopSell < Window_ItemList
9
+ #--------------------------------------------------------------------------
10
+ # * Object Initialization
11
+ #--------------------------------------------------------------------------
12
+ def initialize(x, y, width, height)
13
+ super(x, y, width, height)
14
+ end
15
+ #--------------------------------------------------------------------------
16
+ # * Get Activation State of Selection Item
17
+ #--------------------------------------------------------------------------
18
+ def current_item_enabled?
19
+ enable?(@data[index])
20
+ end
21
+ #--------------------------------------------------------------------------
22
+ # * Display in Enabled State?
23
+ #--------------------------------------------------------------------------
24
+ def enable?(item)
25
+ item && item.price > 0
26
+ end
27
+ end
@@ -0,0 +1,124 @@
1
+ #==============================================================================
2
+ # ** Window_ShopStatus
3
+ #------------------------------------------------------------------------------
4
+ # This window displays number of items in possession and the actor's
5
+ # equipment on the shop screen.
6
+ #==============================================================================
7
+
8
+ class Window_ShopStatus < Window_Base
9
+ #--------------------------------------------------------------------------
10
+ # * Object Initialization
11
+ #--------------------------------------------------------------------------
12
+ def initialize(x, y, width, height)
13
+ super(x, y, width, height)
14
+ @item = nil
15
+ @page_index = 0
16
+ refresh
17
+ end
18
+ #--------------------------------------------------------------------------
19
+ # * Refresh
20
+ #--------------------------------------------------------------------------
21
+ def refresh
22
+ contents.clear
23
+ draw_possession(4, 0)
24
+ draw_equip_info(4, line_height * 2) if @item.is_a?(RPG::EquipItem)
25
+ end
26
+ #--------------------------------------------------------------------------
27
+ # * Set Item
28
+ #--------------------------------------------------------------------------
29
+ def item=(item)
30
+ @item = item
31
+ refresh
32
+ end
33
+ #--------------------------------------------------------------------------
34
+ # * Draw Quantity Possessed
35
+ #--------------------------------------------------------------------------
36
+ def draw_possession(x, y)
37
+ rect = Rect.new(x, y, contents.width - 4 - x, line_height)
38
+ change_color(system_color)
39
+ draw_text(rect, Vocab::Possession)
40
+ change_color(normal_color)
41
+ draw_text(rect, $game_party.item_number(@item), 2)
42
+ end
43
+ #--------------------------------------------------------------------------
44
+ # * Draw Equipment Information
45
+ #--------------------------------------------------------------------------
46
+ def draw_equip_info(x, y)
47
+ status_members.each_with_index do |actor, i|
48
+ draw_actor_equip_info(x, y + line_height * (i * 2.4), actor)
49
+ end
50
+ end
51
+ #--------------------------------------------------------------------------
52
+ # * Array of Actors for Which to Draw Equipment Information
53
+ #--------------------------------------------------------------------------
54
+ def status_members
55
+ $game_party.members[@page_index * page_size, page_size]
56
+ end
57
+ #--------------------------------------------------------------------------
58
+ # * Number of Actors Displayable at Once
59
+ #--------------------------------------------------------------------------
60
+ def page_size
61
+ return 4
62
+ end
63
+ #--------------------------------------------------------------------------
64
+ # * Get Maximum Number of Pages
65
+ #--------------------------------------------------------------------------
66
+ def page_max
67
+ ($game_party.members.size + page_size - 1) / page_size
68
+ end
69
+ #--------------------------------------------------------------------------
70
+ # * Draw Actor Equipment Information
71
+ #--------------------------------------------------------------------------
72
+ def draw_actor_equip_info(x, y, actor)
73
+ enabled = actor.equippable?(@item)
74
+ change_color(normal_color, enabled)
75
+ draw_text(x, y, 112, line_height, actor.name)
76
+ item1 = current_equipped_item(actor, @item.etype_id)
77
+ draw_actor_param_change(x, y, actor, item1) if enabled
78
+ draw_item_name(item1, x, y + line_height, enabled)
79
+ end
80
+ #--------------------------------------------------------------------------
81
+ # * Draw Actor Parameter Change
82
+ #--------------------------------------------------------------------------
83
+ def draw_actor_param_change(x, y, actor, item1)
84
+ rect = Rect.new(x, y, contents.width - 4 - x, line_height)
85
+ change = @item.params[param_id] - (item1 ? item1.params[param_id] : 0)
86
+ change_color(param_change_color(change))
87
+ draw_text(rect, sprintf("%+d", change), 2)
88
+ end
89
+ #--------------------------------------------------------------------------
90
+ # * Get Parameter ID Corresponding to Selected Item
91
+ # By default, ATK if weapon and DEF if armor.
92
+ #--------------------------------------------------------------------------
93
+ def param_id
94
+ @item.is_a?(RPG::Weapon) ? 2 : 3
95
+ end
96
+ #--------------------------------------------------------------------------
97
+ # * Get Current Equipment
98
+ # Returns the weaker equipment if there is more than one of the same type,
99
+ # such as with dual wield.
100
+ #--------------------------------------------------------------------------
101
+ def current_equipped_item(actor, etype_id)
102
+ list = []
103
+ actor.equip_slots.each_with_index do |slot_etype_id, i|
104
+ list.push(actor.equips[i]) if slot_etype_id == etype_id
105
+ end
106
+ list.min_by {|item| item ? item.params[param_id] : 0 }
107
+ end
108
+ #--------------------------------------------------------------------------
109
+ # * Frame Update
110
+ #--------------------------------------------------------------------------
111
+ def update
112
+ super
113
+ update_page
114
+ end
115
+ #--------------------------------------------------------------------------
116
+ # * Update Page
117
+ #--------------------------------------------------------------------------
118
+ def update_page
119
+ if visible && Input.trigger?(:A) && page_max > 1
120
+ @page_index = (@page_index + 1) % page_max
121
+ refresh
122
+ end
123
+ end
124
+ end
@@ -0,0 +1,76 @@
1
+ #==============================================================================
2
+ # ** Window_SkillCommand
3
+ #------------------------------------------------------------------------------
4
+ # This window is for selecting commands (special attacks, magic, etc.) on the
5
+ # skill screen.
6
+ #==============================================================================
7
+
8
+ class Window_SkillCommand < Window_Command
9
+ #--------------------------------------------------------------------------
10
+ # * Public Instance Variables
11
+ #--------------------------------------------------------------------------
12
+ attr_reader :skill_window
13
+ #--------------------------------------------------------------------------
14
+ # * Object Initialization
15
+ #--------------------------------------------------------------------------
16
+ def initialize(x, y)
17
+ super(x, y)
18
+ @actor = nil
19
+ end
20
+ #--------------------------------------------------------------------------
21
+ # * Get Window Width
22
+ #--------------------------------------------------------------------------
23
+ def window_width
24
+ return 160
25
+ end
26
+ #--------------------------------------------------------------------------
27
+ # * Set Actor
28
+ #--------------------------------------------------------------------------
29
+ def actor=(actor)
30
+ return if @actor == actor
31
+ @actor = actor
32
+ refresh
33
+ select_last
34
+ end
35
+ #--------------------------------------------------------------------------
36
+ # * Get Number of Lines to Show
37
+ #--------------------------------------------------------------------------
38
+ def visible_line_number
39
+ return 4
40
+ end
41
+ #--------------------------------------------------------------------------
42
+ # * Create Command List
43
+ #--------------------------------------------------------------------------
44
+ def make_command_list
45
+ return unless @actor
46
+ @actor.added_skill_types.sort.each do |stype_id|
47
+ name = $data_system.skill_types[stype_id]
48
+ add_command(name, :skill, true, stype_id)
49
+ end
50
+ end
51
+ #--------------------------------------------------------------------------
52
+ # * Frame Update
53
+ #--------------------------------------------------------------------------
54
+ def update
55
+ super
56
+ @skill_window.stype_id = current_ext if @skill_window
57
+ end
58
+ #--------------------------------------------------------------------------
59
+ # * Set Skill Window
60
+ #--------------------------------------------------------------------------
61
+ def skill_window=(skill_window)
62
+ @skill_window = skill_window
63
+ update
64
+ end
65
+ #--------------------------------------------------------------------------
66
+ # * Restore Previous Selection Position
67
+ #--------------------------------------------------------------------------
68
+ def select_last
69
+ skill = @actor.last_skill.object
70
+ if skill
71
+ select_ext(skill.stype_id)
72
+ else
73
+ select(0)
74
+ end
75
+ end
76
+ end