Astrelia

YSA Order Battlers

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