DerpyHerps

YSA Order guage

Jun 8th, 2016
293
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 24.78 KB | None | 0 0
  1. #==============================================================================
  2. # Found here
  3. #http://rm-vx-ace.de/WBB4/index.php/Thread/565-YSA-Battle-System-Predicted-Charge-Turn-Battle-BROKEN/
  4. # ▼ YSA Battle Add-On: Order Battlers
  5. # -- Last Updated: 2012.02.20
  6. # -- Level: Easy
  7. # -- Requires: n/a
  8. #
  9. #==============================================================================
  10.  
  11. $imported = {} if $imported.nil?
  12. $imported["YSA-OrderBattler"] = true
  13.  
  14. #==============================================================================
  15. # ▼ Updates
  16. # =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  17. # 2012.02.20 - Reduced lag a little.
  18. # - Hide Gauge when victory.
  19. # 2012.02.16 - Compatible with: Yami's PCTB.
  20. # 2012.01.01 - Bug fixed: No-skill/item issue.
  21. # 2011.12.28 - Bug fixed: Speed Fix issue.
  22. # - Groundwork is also made to support future battle system types.
  23. # - Can show/hide by a switch.
  24. # 2011.12.27 - Started Script and Finished.
  25. #
  26. #==============================================================================
  27. # ▼ Instructions
  28. # =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  29. # To install this script, open up your script editor and copy/paste this script
  30. # to an open slot below ▼ Materials/素材 but above ▼ Main. Remember to save.
  31. #
  32. # -----------------------------------------------------------------------------
  33. # Actor Notetags - These notetags go in the actor notebox in the database.
  34. # -----------------------------------------------------------------------------
  35. # <battler icon: x>
  36. # Change actor's icon into x.
  37. #
  38. # <icon hue: x>
  39. # Change icon hue.
  40. #
  41. # -----------------------------------------------------------------------------
  42. # Enemy Notetags - These notetags go in the enemy notebox in the database.
  43. # -----------------------------------------------------------------------------
  44. # <battler icon: x>
  45. # Change enemy's icon into x.
  46. #
  47. # <icon hue: x>
  48. # Change icon hue.
  49. #
  50. #==============================================================================
  51. # ▼ Compatibility
  52. # =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  53. # This script is made strictly for RPG Maker VX Ace. It is highly unlikely that
  54. # it will run with RPG Maker VX without adjusting.
  55. #
  56. #==============================================================================
  57.  
  58. module YSA
  59. module ORDER_GAUGE
  60.  
  61. # Default Icon for actor and enemy
  62. DEFAULT_ENEMY_ICON = 339
  63. DEFAULT_ACTOR_ICON = 189
  64.  
  65. # Order Sprite Visual. Decide Order's Background and Border.
  66. BATTLER_ICON_BORDERS = { # Do not remove this.
  67. # Type => [Back, Border, ],
  68. :actor => [ 528, 532, ],
  69. :enemy => [ 529, 533, ],
  70. } # Do not remove this.
  71.  
  72. # Turn this to true if you want to show death battlers.
  73. # SHOW_DEATH = false
  74.  
  75. # Coordinate-X of order gauge
  76. GAUGE_X = -5
  77. # Coordinate-Y of order gauge
  78. GAUGE_Y = 260
  79.  
  80. # Show Switch. Turn this switch on to show it. If you want to disable, set this
  81. # to 0.
  82. SHOW_SWITCH = 0
  83.  
  84. end
  85. end
  86.  
  87. #==============================================================================
  88. # ▼ Editting anything past this point may potentially result in causing
  89. # computer damage, incontinence, explosion of user's head, coma, death, and/or
  90. # halitosis so edit at your own risk.
  91. #==============================================================================
  92.  
  93. #==============================================================================
  94. # ■ Regular Expression
  95. #==============================================================================
  96.  
  97. module YSA
  98. module REGEXP
  99. module ACTOR
  100.  
  101. BATTLER_ICON = /<(?:BATTLER_ICON|battler icon):[ ](\d+)?>/i
  102. ICON_HUE = /<(?:ICON_HUE|icon hue):[ ](\d+)?>/i
  103.  
  104. end # ACTOR
  105. module ENEMY
  106.  
  107. BATTLER_ICON = /<(?:BATTLER_ICON|battler icon):[ ](\d+)?>/i
  108. ICON_HUE = /<(?:ICON_HUE|icon hue):[ ](\d+)?>/i
  109.  
  110. end # ENEMY
  111. end # REGEXP
  112. end # YSA
  113.  
  114. #==============================================================================
  115. # ■ DataManager
  116. #==============================================================================
  117.  
  118. module DataManager
  119.  
  120. #--------------------------------------------------------------------------
  121. # alias method: load_database
  122. #--------------------------------------------------------------------------
  123. class <<self; alias load_database_orbt load_database; end
  124. def self.load_database
  125. load_database_orbt
  126. load_notetags_orbt
  127. end
  128.  
  129. #--------------------------------------------------------------------------
  130. # new method: load_notetags_orbt
  131. #--------------------------------------------------------------------------
  132. def self.load_notetags_orbt
  133. groups = [$data_enemies + $data_actors]
  134. for group in groups
  135. for obj in group
  136. next if obj.nil?
  137. obj.load_notetags_orbt
  138. end
  139. end
  140. end
  141.  
  142. end # DataManager
  143.  
  144. #==============================================================================
  145. # ■ BattleManager
  146. #==============================================================================
  147.  
  148. module BattleManager
  149.  
  150. #--------------------------------------------------------------------------
  151. # public instance variables
  152. #--------------------------------------------------------------------------
  153. class <<self
  154. attr_accessor :action_battlers
  155. attr_accessor :performed_battlers
  156. attr_accessor :ctb_battlers
  157. alias order_gauge_make_action_orders make_action_orders
  158. end
  159.  
  160. #--------------------------------------------------------------------------
  161. # new method: make_ctb_battler_order
  162. #--------------------------------------------------------------------------
  163. def self.make_ctb_battler_order
  164. @ctb_battlers = []
  165. if $imported["YSA-PCTB"] && YSA::PCTB::CTB_MECHANIC[:predict] == 2
  166. battlers = self.sort_battlers
  167. battlers.each { |battler|
  168. battler.pctb_speed_cache = battler.pctb_speed
  169. }
  170. number = YSA::PCTB::CTB_MECHANIC[:pre_turns]
  171. i = 0
  172. number.times {
  173. add_ctb_battler_order(i)
  174. i += 1
  175. }
  176. return
  177. end
  178. ctb_battlers_dummy = self.sort_battlers
  179. ctb_battlers_dummy.each { |battler|
  180. @ctb_battlers.push(battler) unless battler.dead?
  181. }
  182. end
  183.  
  184. #--------------------------------------------------------------------------
  185. # new method: add_ctb_battler_order
  186. #--------------------------------------------------------------------------
  187. def self.add_ctb_battler_order(i)
  188. battlers = self.sort_battlers(true)
  189. first_battler = battlers[0]
  190. tick = first_battler.pctb_ctr(true)
  191. battlers.each { |battler|
  192. battler.pctb_speed_cache += tick * battler.real_gain_pctb
  193. }
  194. first_battler.reset_pctb_speed(true) if i == 0
  195. first_battler.pctb_speed_cache -= self.pctb_threshold if i != 0
  196. @ctb_battlers.push(first_battler)
  197. end
  198.  
  199. #--------------------------------------------------------------------------
  200. # alias method: make_action_orders
  201. #--------------------------------------------------------------------------
  202. def self.make_action_orders
  203. return if btype?(:pctb)
  204. order_gauge_make_action_orders
  205. end
  206.  
  207. end # BattleManager
  208.  
  209. #==============================================================================
  210. # ■ RPG::Actor
  211. #==============================================================================
  212.  
  213. class RPG::Actor < RPG::BaseItem
  214.  
  215. #--------------------------------------------------------------------------
  216. # public instance variables
  217. #--------------------------------------------------------------------------
  218. attr_accessor :battler_icon
  219. attr_accessor :icon_hue
  220.  
  221. #--------------------------------------------------------------------------
  222. # common cache: load_notetags_orbt
  223. #--------------------------------------------------------------------------
  224. def load_notetags_orbt
  225. @battler_icon = YSA::ORDER_GAUGE::DEFAULT_ACTOR_ICON
  226. #---
  227. self.note.split(/[\r\n]+/).each { |line|
  228. case line
  229. #---
  230. when YSA::REGEXP::ACTOR::BATTLER_ICON
  231. @battler_icon = $1.to_i
  232. when YSA::REGEXP::ACTOR::ICON_HUE
  233. @icon_hue = $1.to_i
  234. end
  235. } # self.note.split
  236. #---
  237. end
  238.  
  239. end # RPG::Actor
  240.  
  241. #==============================================================================
  242. # ■ RPG::Enemy
  243. #==============================================================================
  244.  
  245. class RPG::Enemy < RPG::BaseItem
  246.  
  247. #--------------------------------------------------------------------------
  248. # public instance variables
  249. #--------------------------------------------------------------------------
  250. attr_accessor :battler_icon
  251. attr_accessor :icon_hue
  252.  
  253. #--------------------------------------------------------------------------
  254. # common cache: load_notetags_orbt
  255. #--------------------------------------------------------------------------
  256. def load_notetags_orbt
  257. @battler_icon = YSA::ORDER_GAUGE::DEFAULT_ENEMY_ICON
  258. #---
  259. self.note.split(/[\r\n]+/).each { |line|
  260. case line
  261. #---
  262. when YSA::REGEXP::ENEMY::BATTLER_ICON
  263. @battler_icon = $1.to_i
  264. when YSA::REGEXP::ENEMY::ICON_HUE
  265. @icon_hue = $1.to_i
  266. end
  267. } # self.note.split
  268. #---
  269. end
  270.  
  271. end # RPG::Enemy
  272.  
  273. #==============================================================================
  274. # ■ Game_Battler
  275. #==============================================================================
  276.  
  277. class Game_Battler < Game_BattlerBase
  278.  
  279. #--------------------------------------------------------------------------
  280. # new method: battler_icon
  281. #--------------------------------------------------------------------------
  282. def battler_icon
  283. actor? ? actor.battler_icon : enemy.battler_icon
  284. end
  285.  
  286. #--------------------------------------------------------------------------
  287. # new method: battler_icon_hue
  288. #--------------------------------------------------------------------------
  289. def battler_icon_hue
  290. actor? ? actor.icon_hue : enemy.icon_hue
  291. end
  292.  
  293. end # Game_Battler
  294.  
  295. #==============================================================================
  296. # ■ Sprite_OrderBattler
  297. #==============================================================================
  298.  
  299. class Sprite_OrderBattler < Sprite_Base
  300.  
  301. #--------------------------------------------------------------------------
  302. # initialize
  303. #--------------------------------------------------------------------------
  304. def initialize(viewport, battler, battle = :dtb, number = 0)
  305. super(viewport)
  306. @battler = battler
  307. @battle = battle
  308. @move_rate_x = 1
  309. @move_rate_y = 1
  310. @move_x = nil
  311. @move_y = nil
  312. @first_time = true
  313. @update_wait = 0
  314. @show_dead = false
  315. @number = number
  316. if $imported["YSA-PCTB"]
  317. type = YSA::PCTB::CTB_MECHANIC[:predict]
  318. num = YSA::PCTB::CTB_MECHANIC[:pre_turns]
  319. end
  320. self.x = num * 24 + 36 if @battle == :pctb2 && type && type == 2
  321. create_battler_bitmap
  322. end
  323.  
  324. #--------------------------------------------------------------------------
  325. # create_battler_bitmap
  326. #--------------------------------------------------------------------------
  327. def create_battler_bitmap
  328. return unless @battler
  329. create_dtb_style if @battle == :dtb || @battle == :pctb
  330. end
  331.  
  332. #--------------------------------------------------------------------------
  333. # create_dtb_style
  334. #--------------------------------------------------------------------------
  335. def create_dtb_style
  336. bitmap = Bitmap.new(24, 24)
  337. if $imported["YEA-BattleEngine"]
  338. icon_bitmap = $game_temp.iconset
  339. else
  340. icon_bitmap = Cache.system("IconSet")
  341. end
  342. #--- Create Battler Background ---
  343. icon_index = @battler.actor? ? YSA::ORDER_GAUGE::BATTLER_ICON_BORDERS[:actor][0] : YSA::ORDER_GAUGE::BATTLER_ICON_BORDERS[:enemy][0]
  344. rect = Rect.new(icon_index % 16 * 24, icon_index / 16 * 24, 24, 24)
  345. bitmap.blt(0, 0, icon_bitmap, rect)
  346. #--- Create Battler Icon ---
  347. icon_index = @battler.battler_icon
  348. rect = Rect.new(icon_index % 16 * 24, icon_index / 16 * 24, 24, 24)
  349. temp_bitmap = Bitmap.new(24, 24)
  350. temp_bitmap.blt(0, 0, icon_bitmap, rect)
  351. temp_bitmap.hue_change(@battler.battler_icon_hue) if @battler.battler_icon_hue
  352. bitmap.blt(0, 0, temp_bitmap, Rect.new(0, 0, 24, 24))
  353. temp_bitmap.dispose
  354. #--- Create Battler Border ---
  355. icon_index = @battler.actor? ? YSA::ORDER_GAUGE::BATTLER_ICON_BORDERS[:actor][1] : YSA::ORDER_GAUGE::BATTLER_ICON_BORDERS[:enemy][1]
  356. rect = Rect.new(icon_index % 16 * 24, icon_index / 16 * 24, 24, 24)
  357. bitmap.blt(0, 0, icon_bitmap, rect)
  358. #---
  359. self.bitmap.dispose if self.bitmap != nil
  360. self.bitmap = bitmap
  361. return if @created_icon
  362. @created_icon = true
  363. self.ox = 12; self.oy = 12
  364. self.x = 24 if @battle != :pctb2 && @battle != :pctb3
  365. self.y = 24
  366. self.z = 8000
  367. end
  368.  
  369. #--------------------------------------------------------------------------
  370. # update
  371. #--------------------------------------------------------------------------
  372. def update
  373. super
  374. return unless SceneManager.scene_is?(Scene_Battle)
  375. if $imported["YSA-PCTB"]
  376. type = YSA::PCTB::CTB_MECHANIC[:predict]
  377. num = YSA::PCTB::CTB_MECHANIC[:pre_turns]
  378. end
  379. self.x = BattleManager.ctb_battlers.size * 24 + 36 if BattleManager.ctb_battlers && @battle == :pctb2 && type && type == 1
  380. return if @battle == :pctb2 || @battle == :pctb3
  381. #---
  382. update_dtb_style if @battle == :dtb || @battle == :pctb
  383. self.opacity = 0 if @battle == :catb
  384. end
  385.  
  386. #--------------------------------------------------------------------------
  387. # battler=
  388. #--------------------------------------------------------------------------
  389. def battler=(battler)
  390. @battler = battler
  391. return unless @battler
  392. create_dtb_style
  393. end
  394.  
  395. #--------------------------------------------------------------------------
  396. # update_dtb_style
  397. #--------------------------------------------------------------------------
  398. def update_dtb_style
  399. #---
  400. actor_window = SceneManager.scene.actor_window
  401. enemy_window = SceneManager.scene.enemy_window
  402. if actor_window.active
  403. if $game_party.members[actor_window.index] == @battler
  404. @move_y = 12
  405. else
  406. @move_y = 24
  407. end
  408. end
  409. if enemy_window.active
  410. if $game_troop.members[enemy_window.index] == @battler
  411. @move_y = 12
  412. else
  413. @move_y = 24
  414. end
  415. end
  416. if !actor_window.active && !enemy_window.active
  417. @move_y = 24
  418. end
  419. #---
  420. return if !@move_x && !@move_y
  421. if @battler.hidden? || (!@show_dead && @battler.dead?)
  422. self.opacity -= 20
  423. end
  424. if self.x != @move_x && @move_x
  425. if @move_x > self.x
  426. @move_y = 30
  427. elsif @move_x < self.x
  428. @move_y = 16
  429. else
  430. @move_y = 20
  431. end
  432. self.z = (@move_x < self.x) ? 7500 : 8500
  433. if @move_x >= self.x
  434. self.x += [@move_rate_x, @move_x - self.x].min
  435. else
  436. self.x -= [@move_rate_x, - @move_x + self.x].min
  437. end
  438. end
  439. if self.y != @move_y && @move_y
  440. self.y += (self.y > @move_y) ? -@move_rate_y : @move_rate_y
  441. end
  442. if self.x == @move_x && @move_x
  443. @first_time = false if @first_time
  444. @move_x = nil
  445. end
  446. if self.y == @move_y && @move_y
  447. @move_y = nil
  448. end
  449. end
  450.  
  451. #--------------------------------------------------------------------------
  452. # make_destination
  453. #--------------------------------------------------------------------------
  454. def make_destination
  455. make_dtb_destination if @battle == :dtb
  456. make_pctb_destination if @battle == :pctb
  457. make_pctb2_image if @battle == :pctb3
  458. end
  459.  
  460. #--------------------------------------------------------------------------
  461. # make_dtb_destination
  462. #--------------------------------------------------------------------------
  463. def make_dtb_destination
  464. #---
  465. BattleManager.performed_battlers = [] if !BattleManager.performed_battlers
  466. array = BattleManager.performed_battlers.reverse
  467. action = BattleManager.action_battlers.reverse - BattleManager.performed_battlers.reverse
  468. array += action
  469. action.uniq!
  470. array.uniq!
  471. #---
  472. result = []
  473. for member in array
  474. next if member.hidden?
  475. result.push(member) unless member.dead?
  476. action.delete(member) if member.dead? and !@show_dead
  477. end
  478. if @show_dead
  479. for member in array
  480. next if member.hidden?
  481. result.push(member) if member.dead?
  482. end
  483. end
  484. #---
  485. index = result.index(@battler).to_i
  486. @move_x = 24 + index * 24
  487. if BattleManager.in_turn?
  488. @move_x += 6 if action.include?(@battler)
  489. @move_x += 6 if (index + 1 == result.size) and action.size > 1
  490. end
  491. den = @first_time ? 12 : 24
  492. @move_rate_x = [((@move_x - self.x)/den).abs, 1].max
  493. end
  494.  
  495. #--------------------------------------------------------------------------
  496. # make_pctb_destination
  497. #--------------------------------------------------------------------------
  498. def make_pctb_destination
  499. return unless BattleManager.ctb_battlers
  500. #---
  501. array = BattleManager.ctb_battlers.reverse
  502. #---
  503. result = []
  504. for member in array
  505. next if member.hidden?
  506. result.push(member) unless member.dead?
  507. end
  508. if @show_dead
  509. for member in array
  510. next if member.hidden?
  511. result.push(member) if member.dead?
  512. end
  513. end
  514. #---
  515. index = result.index(@battler).to_i
  516. @move_x = 24 + index * 24
  517. den = @first_time ? 12 : 24
  518. @move_rate_x = [((@move_x - self.x)/den).abs, 1].max
  519. end
  520.  
  521. #--------------------------------------------------------------------------
  522. # make_pctb2_image
  523. #--------------------------------------------------------------------------
  524. def make_pctb2_image
  525. return unless BattleManager.ctb_battlers
  526. num = YSA::PCTB::CTB_MECHANIC[:pre_turns] - 1
  527. array = BattleManager.ctb_battlers
  528. self.battler = array[@number]
  529. self.x = 24 + (num - @number) * 24
  530. end
  531.  
  532. end # Sprite_OrderBattler
  533.  
  534. #==============================================================================
  535. # ■ Spriteset_Battle
  536. #==============================================================================
  537.  
  538. class Spriteset_Battle
  539.  
  540. #--------------------------------------------------------------------------
  541. # public instance variables
  542. #--------------------------------------------------------------------------
  543. attr_accessor :viewportOrder
  544.  
  545. #--------------------------------------------------------------------------
  546. # alias method: create_viewports
  547. #--------------------------------------------------------------------------
  548. alias order_gauge_create_viewports create_viewports
  549. def create_viewports
  550. order_gauge_create_viewports
  551. @viewportOrder = Viewport.new
  552. @viewportOrder.z = 1000
  553. if YSA::ORDER_GAUGE::SHOW_SWITCH == 0 || $game_switches[YSA::ORDER_GAUGE::SHOW_SWITCH]
  554. @viewportOrder.ox = -YSA::ORDER_GAUGE::GAUGE_X
  555. @viewportOrder.oy = -YSA::ORDER_GAUGE::GAUGE_Y
  556. else
  557. @viewportOrder.ox = Graphics.width
  558. @viewportOrder.oy = Graphics.height
  559. end
  560. end
  561.  
  562. end # Spriteset_Battle
  563.  
  564. #==============================================================================
  565. # ■ Scene_Battle
  566. #==============================================================================
  567.  
  568. class Scene_Battle < Scene_Base
  569.  
  570. #--------------------------------------------------------------------------
  571. # public instance variables
  572. #--------------------------------------------------------------------------
  573. attr_accessor :actor_window
  574. attr_accessor :enemy_window
  575.  
  576. #--------------------------------------------------------------------------
  577. # alias method: create_all_windows
  578. #--------------------------------------------------------------------------
  579. alias order_gauge_create_all_windows create_all_windows
  580. def create_all_windows
  581. order_gauge_create_all_windows
  582. @spriteset_order = []
  583. if $imported["YSA-PCTB"] && YSA::PCTB::CTB_MECHANIC[:predict] == 1
  584. @active_order_sprite = Sprite_OrderBattler.new(@spriteset.viewportOrder, nil, :pctb2)
  585. end
  586. if $imported["YSA-PCTB"] && YSA::PCTB::CTB_MECHANIC[:predict] == 2
  587. num = YSA::PCTB::CTB_MECHANIC[:pre_turns]
  588. i = 0
  589. num.times {
  590. order = Sprite_OrderBattler.new(@spriteset.viewportOrder, nil, :pctb3, i)
  591. @spriteset_order.push(order)
  592. i += 1
  593. }
  594. return
  595. end
  596. for battler in $game_party.members + $game_troop.members
  597. battle_type = :dtb
  598. battle_type = :pctb if BattleManager.btype?(:pctb)
  599. battle_type = :catb if BattleManager.btype?(:catb)
  600. order = Sprite_OrderBattler.new(@spriteset.viewportOrder, battler, battle_type)
  601. @spriteset_order.push(order)
  602. end
  603. end
  604.  
  605. #--------------------------------------------------------------------------
  606. # alias method: battle_start
  607. #--------------------------------------------------------------------------
  608. alias order_gauge_battle_start battle_start
  609. def battle_start
  610. order_gauge_battle_start
  611. unless BattleManager.btype?(:pctb)
  612. BattleManager.make_action_orders
  613. for order in @spriteset_order
  614. order.make_destination
  615. end
  616. end
  617. end
  618.  
  619. #--------------------------------------------------------------------------
  620. # alias method: dispose_spriteset
  621. #--------------------------------------------------------------------------
  622. alias order_gauge_dispose_spriteset dispose_spriteset
  623. def dispose_spriteset
  624. for order in @spriteset_order
  625. order.bitmap.dispose
  626. order.dispose
  627. end
  628. order_gauge_dispose_spriteset
  629. end
  630.  
  631. #--------------------------------------------------------------------------
  632. # alias method: update_basic
  633. #--------------------------------------------------------------------------
  634. alias order_gauge_update_basic update_basic
  635. def update_basic
  636. order_gauge_update_basic
  637. for order in @spriteset_order
  638. order.update
  639. end
  640. @active_order_sprite.update if @active_order_sprite
  641. if $imported["YSA-PCTB"]
  642. type = YSA::PCTB::CTB_MECHANIC[:predict]
  643. end
  644. if @update_ordergauge
  645. if type && type == 1
  646. BattleManager.actor.restore_speed
  647. BattleManager.actor.storage_speed
  648. BattleManager.actor.reset_pctb_speed
  649. end
  650. BattleManager.make_action_orders
  651. BattleManager.make_ctb_battler_order if BattleManager.btype?(:pctb)
  652. for order in @spriteset_order
  653. order.make_destination
  654. end
  655. @update_ordergauge = false
  656. end
  657. if YSA::ORDER_GAUGE::SHOW_SWITCH == 0 || $game_switches[YSA::ORDER_GAUGE::SHOW_SWITCH]
  658. @spriteset.viewportOrder.ox = -YSA::ORDER_GAUGE::GAUGE_X if @spriteset.viewportOrder.ox != -YSA::ORDER_GAUGE::GAUGE_X
  659. @spriteset.viewportOrder.oy = -YSA::ORDER_GAUGE::GAUGE_Y if @spriteset.viewportOrder.oy != -YSA::ORDER_GAUGE::GAUGE_Y
  660. else
  661. @spriteset.viewportOrder.ox = Graphics.height if @spriteset.viewportOrder.ox != Graphics.width
  662. @spriteset.viewportOrder.oy = Graphics.width if @spriteset.viewportOrder.oy != Graphics.height
  663. end
  664. if $game_party.all_dead? || $game_troop.all_dead?
  665. @spriteset.viewportOrder.ox = Graphics.height if @spriteset.viewportOrder.ox != Graphics.width
  666. @spriteset.viewportOrder.oy = Graphics.width if @spriteset.viewportOrder.oy != Graphics.height
  667. end
  668. end
  669.  
  670. #--------------------------------------------------------------------------
  671. # alias method: update
  672. #--------------------------------------------------------------------------
  673. alias order_gauge_update update
  674. def update
  675. order_gauge_update
  676. #return if YSA::PCTB::CTB_MECHANIC[:predict] == 2
  677. if @actor_command_window.active
  678. if @actor_command_window.current_symbol == :attack && !BattleManager.actor.input.attack?
  679. BattleManager.actor.input.set_attack if BattleManager.actor.usable?($data_skills[BattleManager.actor.attack_skill_id])
  680. @update_ordergauge = true
  681. end
  682. if @actor_command_window.current_symbol == :guard && BattleManager.actor.input.item != $data_skills[BattleManager.actor.guard_skill_id]
  683. BattleManager.actor.input.set_guard if BattleManager.actor.usable?($data_skills[BattleManager.actor.guard_skill_id])
  684. @update_ordergauge = true
  685. end
  686. if $imported["YEA-BattleCommandList"]
  687. if @actor_command_window.current_symbol == :use_skill && BattleManager.actor.input.item != $data_skills[@actor_command_window.current_ext]
  688. BattleManager.actor.input.set_skill(@actor_command_window.current_ext) if BattleManager.actor.usable?($data_skills[@actor_command_window.current_ext])
  689. @update_ordergauge = true
  690. end
  691. end
  692. end
  693. if @skill_window.active && BattleManager.actor && BattleManager.actor.input.item != @skill_window.item && @skill_window.current_item_enabled?
  694. BattleManager.actor.input.set_skill(@skill_window.item.id) if BattleManager.actor.usable?(@skill_window.item)
  695. @update_ordergauge = true
  696. end
  697. if @item_window.active && BattleManager.actor && BattleManager.actor.input.item != @item_window.item && @item_window.current_item_enabled?
  698. BattleManager.actor.input.set_item(@item_window.item.id) if BattleManager.actor.usable?(@item_window.item)
  699. @update_ordergauge = true
  700. end
  701. end
  702.  
  703. #--------------------------------------------------------------------------
  704. # alias method: on_skill_cancel
  705. #--------------------------------------------------------------------------
  706. alias order_gauge_on_skill_cancel on_skill_cancel
  707. def on_skill_cancel
  708. order_gauge_on_skill_cancel
  709. BattleManager.actor.input.clear
  710. @update_ordergauge = true
  711. end
  712.  
  713. #--------------------------------------------------------------------------
  714. # alias method: on_item_cancel
  715. #--------------------------------------------------------------------------
  716. alias order_gauge_on_item_cancel on_item_cancel
  717. def on_item_cancel
  718. order_gauge_on_item_cancel
  719. BattleManager.actor.input.clear
  720. @update_ordergauge = true
  721. end
  722.  
  723. #--------------------------------------------------------------------------
  724. # alias method: turn_start
  725. #--------------------------------------------------------------------------
  726. alias order_gauge_turn_start turn_start
  727. def turn_start
  728. order_gauge_turn_start
  729. for order in @spriteset_order
  730. order.make_destination
  731. end
  732. end
  733.  
  734. #--------------------------------------------------------------------------
  735. # alias method: process_action_end
  736. #--------------------------------------------------------------------------
  737. alias order_gauge_process_action_end process_action_end
  738. def process_action_end
  739. order_gauge_process_action_end
  740. for order in @spriteset_order
  741. order.make_destination
  742. end
  743. end
  744.  
  745. end # Scene_Battle
  746.  
  747. #==============================================================================
  748. #
  749. # ▼ End of File
  750. #
  751. #==============================================================================
Add Comment
Please, Sign In to add comment