Advertisement
gerkrt

RPGXP - ENG - Restricted use and apply items

Sep 14th, 2011
132
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 22.99 KB | None | 0 0
  1. #==============================================================================
  2. # Restricted use and apply items
  3. # By gerkrt/gerrtunk
  4. # Version: 1.1
  5. # License: GPL, credits
  6. #==============================================================================
  7. =begin
  8.  
  9. This script adds a lost feature from old rpgmakers: the option to create item use
  10. restrictions by actor or class. Also now dead actors cant be valid users of items.
  11.  
  12. Also adds a new feature: option to decide what actors can be the target of
  13. a item and the option to view it visually when selecting the targets.
  14.  
  15. --------Use Restriction-----------
  16.  
  17. This system gives you the option to decide what actors can use a item.
  18.  
  19. Instructions:
  20.  
  21. Restricted_items = {1 => [2,6],2 => [1,2]}
  22.  
  23. If you wanted to add a use restriction for item 5 and that it can only be used
  24. to actors 5 and 7:
  25.  
  26. Restricted_items = {1 => [2,6],2 => [1,2], 5=>[5,7] }
  27.  
  28. item_id => [actor_id, actor_id2, actor_idx]
  29.  
  30. Note that you can remove the examples:
  31.  
  32. Restricted_items = {5=>[5,7]}
  33.  
  34. Notes about the usage:
  35.  
  36. -The ids you add define only the actors that can use the items, the rest cant do that.
  37.  
  38. -Items that you dont add to the Restricted_items list will be treated like
  39. normal ones(no restrictions)
  40.  
  41. Options(true= active, false= inactive):
  42.  
  43. Dead_cant_use: Imagine that you have a item restricted only for actor 1, who is dead.
  44. With this option enabled the item cant be used in the main menu.
  45.  
  46. ---------Apply Restriction----------
  47.  
  48. This system gives you the option to decide what actors can be the target of a item.
  49.  
  50. Instructions:
  51.  
  52. Restricted_aplication = {1 => [2,6],2 => [1,2]}
  53.  
  54. If you wanted to add a apply restriction for item 5 and that it can only be applied
  55. to actors 5 and 7:
  56.  
  57. Restricted_aplication = {1 => [2,6],2 => [1,2], 5=>[5,7] }
  58.  
  59. item_id => [actor_id, actor_id2, actor_idx]
  60.  
  61. Note that you can remove the examples:
  62.  
  63. Restricted_aplication = {5=>[5,7]}
  64.  
  65. Notes about the usage:
  66.  
  67. -The ids you add define only the actors that can be target, the rest cant do that.
  68.  
  69. -All members items effects: The effect will be applied to all members except wich
  70. cant be applied. If nobody can be target, the item cant be used.
  71.  
  72. -Single target effects: Only to that can.
  73.  
  74. -Items that you dont add to the Restricted_aplication list will be treated like
  75. normal ones(no restrictions)
  76.  
  77. Options(true= active, false= inactive):
  78.  
  79. Use_is_Aplication: This make that use restictions and apply restrctions are the same.
  80. This means that only an actor that can use an item can be target of it. If you active
  81. it all the options defined in Restricted_aplication will be ignored.
  82.  
  83. Active_restricted_aplication: This is a compatibality option. The apply script
  84. modifies a lot of things, so, is possible that it will be incompatible. Then you
  85. might want to turn off this option, because you still want to use restricted
  86. normal items. Note that you will lose all its functions.
  87.  
  88. Show_application_battle_grafic: Another compatibality option. This makes that the
  89. actor name is printed in disabled color in the battle. If dont work or use another
  90. system, desactive it.
  91.  
  92. Show_application_item_grafic: Another compatibality option. This makes that the
  93. actor name is printed in disabled color in the item menu. If dont work or use another
  94. system, desactive it.
  95.  
  96. ----------Restrictions based on Classes-------
  97.  
  98. The method of adding is the same that in the others.Just add a Class_ before the variable
  99. name to know what is. Anyway you must know that an
  100. actor restriction have preference over clases restrictions. This means that a
  101. actor that can use restricted item also can use that item with any class. If the
  102. actor cant use the item then class rectictions are checked.
  103.  
  104. ----------Tip for long lines-------------
  105.  
  106. After every , you can make a new line. Example:
  107.  
  108. Restricted_aplication = {1 => [2,6],2 => [1,2], 5=>[5,7],
  109. 7 => [2,6],9 => [1,2], 13=>[5,7]}
  110.  
  111. =end
  112.  
  113. module Wep
  114.     #            {Item_id => [actor_id]}
  115.     Restricted_items = {2 => [1]}
  116.     Class_restricted_items = {2 => [1]}
  117.     Active_restricted_aplication = true
  118.     Use_is_Aplication = false
  119.     Show_application_battle_grafic = true
  120.     Show_application_item_grafic = true
  121.     Restricted_aplication = {2 => [4,1]}
  122.     Class_restricted_aplication = {2 => [2]}
  123.     Dead_cant_use = true
  124. end
  125.  
  126. # RESTRICTED APLICATION CODE
  127. if Wep::Active_restricted_aplication
  128.  
  129. class Scene_Battle
  130.   #--------------------------------------------------------------------------
  131.   # * Make Item Action Results
  132.   #--------------------------------------------------------------------------
  133.   def make_item_action_result
  134.     # Get item
  135.     @item = $data_items[@active_battler.current_action.item_id]
  136.     # If unable to use due to items running out
  137.     unless $game_party.item_can_use?(@item.id)
  138.       # Shift to step 1
  139.       @phase4_step = 1
  140.       return
  141.     end
  142.     # If consumable
  143.     if @item.consumable
  144.       # Decrease used item by 1
  145.       $game_party.lose_item(@item.id, 1)
  146.     end
  147.     # Display item name on help window
  148.     @help_window.set_text(@item.name, 1)
  149.     # Set animation ID
  150.     @animation1_id = @item.animation1_id
  151.     @animation2_id = @item.animation2_id
  152.     # Set common event ID
  153.     @common_event_id = @item.common_event_id
  154.     # Decide on target
  155.     index = @active_battler.current_action.target_index
  156.     target = $game_party.smooth_target_actor(index)
  157.     # Set targeted battlers
  158.     set_target_battlers(@item.scope)
  159.     # Apply item effect
  160.     for target in @target_battlers
  161.       # Check restrictions
  162.       if target.is_a?(Game_Actor) and $game_party.item_can_apply?(@active_battler.current_action.item_id, target.actor_id_reader)
  163.         target.item_effect(@item)
  164.       end
  165.     end
  166.   end
  167.  
  168.   #--------------------------------------------------------------------------
  169.   # * Frame Update (actor command phase : actor selection)
  170.   #--------------------------------------------------------------------------
  171.   def update_phase3_actor_select
  172.     # Update actor arrow
  173.     @actor_arrow.update
  174.     # If B button was pressed
  175.     if Input.trigger?(Input::B)
  176.       # Play cancel SE
  177.       $game_system.se_play($data_system.cancel_se)
  178.       # End actor selection
  179.       end_actor_select
  180.       return
  181.     end
  182.     # If C button was pressed
  183.     if Input.trigger?(Input::C)
  184.       #p @active_battler.current_action.item_id,  $game_party.actors[@actor_arrow.index].actor_id_reader
  185.       if not $game_party.item_can_apply?(@active_battler.current_action.item_id, $game_party.actors[@actor_arrow.index].actor_id_reader)
  186.         # Play cancel SE
  187.         $game_system.se_play($data_system.cancel_se)
  188.         return
  189.       end
  190.       # Play decision SE
  191.       $game_system.se_play($data_system.decision_se)
  192.       # Set action
  193.       @active_battler.current_action.target_index = @actor_arrow.index
  194.       # End actor selection
  195.       end_actor_select
  196.       # If skill window is showing
  197.       if @skill_window != nil
  198.         # End skill selection
  199.         end_skill_select
  200.       end
  201.       # If item window is showing
  202.       if @item_window != nil
  203.         # End item selection
  204.         end_item_select
  205.       end
  206.       # Go to command input for next actor
  207.       phase3_next_actor
  208.     end
  209.   end
  210.  
  211. end
  212.  
  213.  
  214.  
  215.  
  216.  
  217. class Game_Party
  218.   #--------------------------------------------------------------------------
  219.   # * Determine if Item is Apply
  220.   #     item_id : item ID
  221.   #     actor_id : target actor id
  222.   #--------------------------------------------------------------------------
  223.   def item_can_apply?(item_id, actor_id)
  224.      # If this option is enabled, use restriction information for apply restrictions
  225.      if Wep::Use_is_Aplication
  226.        
  227.       # Actor check
  228.       if Wep::Restricted_items[item_id] != nil and Wep::Restricted_items[item_id][0] != nil
  229.        if Wep::Restricted_items[item_id].include?(actor_id)
  230.           return true
  231.         else
  232.          
  233.       # Actor-Class check
  234.       if Wep::Class_restricted_items[item_id] != nil and Wep::Class_restricted_items[item_id][0] != nil
  235.        if Wep::Class_restricted_items[item_id].include?($game_actors[actor_id].class_id)
  236.          
  237.           return true
  238.         else
  239.           return false
  240.         end
  241.         # If normal item, all true
  242.         return true
  243.       end
  244.  
  245.          
  246.           # If not class also, false.
  247.           return false
  248.         end
  249.         # If normal item, all true
  250.         return true
  251.       end
  252.      
  253.       # Class only check
  254.       if Wep::Class_restricted_items[item_id] != nil and Wep::Class_restricted_items[item_id][0] != nil
  255.        if Wep::Class_restricted_items[item_id].include?($game_actors[actor_id].class_id)
  256.           return true
  257.         else
  258.           return false
  259.         end
  260.         # If normal item, all true
  261.         return true
  262.       end
  263.      end
  264.    
  265.      
  266.      # Normal behavior
  267.      
  268.      
  269.      # Actor check
  270.      if Wep::Restricted_aplication[item_id] != nil and Wep::Restricted_aplication[item_id][0] != nil
  271.        if Wep::Restricted_aplication[item_id].include?(actor_id)
  272.           return true
  273.         else
  274.          
  275.       # Actor-Class check
  276.       if Wep::Class_restricted_aplication[item_id] != nil and Wep::Class_restricted_aplication[item_id][0] != nil
  277.        if Wep::Class_restricted_aplication[item_id].include?($game_actors[actor_id].class_id)
  278.           return true
  279.         else
  280.           return false
  281.         end
  282.         # If normal item, all true
  283.         return true
  284.       end
  285.           # If not class also, false.  
  286.           return false
  287.         end
  288.        
  289.  
  290.       end
  291.      
  292.       # Class check
  293.       if Wep::Class_restricted_aplication[item_id] != nil and Wep::Class_restricted_aplication[item_id][0] != nil
  294.        if Wep::Class_restricted_aplication[item_id].include?($game_actors[actor_id].class_id)
  295.           return true
  296.         else
  297.           return false
  298.         end
  299.         # If normal item, all true
  300.         return true
  301.       end
  302.  
  303.        
  304.      
  305.       # If normal item, all true
  306.       return true
  307.   end
  308. end
  309.  
  310.  
  311. end
  312.  
  313.  
  314. # CORE CODE
  315.  
  316. class Scene_Item  
  317.   #--------------------------------------------------------------------------
  318.   # * Frame Update (when target window is active)
  319.   #--------------------------------------------------------------------------
  320.   def update_target
  321.     if Wep::Show_application_item_grafic
  322.       @target_window.refresh_disabled(@item_window.item.id)
  323.     end
  324.     # If B button was pressed
  325.     if Input.trigger?(Input::B)
  326.      
  327.       # Play cancel SE
  328.       $game_system.se_play($data_system.cancel_se)
  329.       # If unable to use because items ran out
  330.       unless $game_party.item_number(@item.id) == 0
  331.         # Remake item window contents
  332.         @item_window.refresh
  333.       end
  334.       # Erase target window
  335.       @item_window.active = true
  336.       @target_window.visible = false
  337.       @target_window.active = false
  338.       return
  339.     end
  340.     # If C button was pressed
  341.     if Input.trigger?(Input::C)
  342.       # If items are used up
  343.       if $game_party.item_number(@item.id) == 0  
  344.         # Play buzzer SE
  345.         $game_system.se_play($data_system.buzzer_se)
  346.         return
  347.       end
  348.      
  349.  
  350.       # If target is all
  351.       if @target_window.index == -1
  352.         # If apply restriction system is active
  353.         if Wep::Active_restricted_aplication
  354.         # First check that at least one actor can take the effect
  355.           for i in $game_party.actors
  356.             if $game_party.item_can_apply?(@item.id, i.actor_id_reader)
  357.               can_apply = true
  358.             end
  359.           end
  360.          # If any can, escape
  361.          if can_apply == nil
  362.             # Play buzzer SE
  363.             $game_system.se_play($data_system.buzzer_se)
  364.            return
  365.          end
  366.         # Apply item effects to entire party
  367.         used = false
  368.         for i in $game_party.actors
  369.           # Only apply effects to the actors that can
  370.           if $game_party.item_can_apply?(@item.id, i.actor_id_reader)
  371.             used |= i.item_effect(@item)
  372.           end
  373.         end
  374.        
  375.        # Normal behavior
  376.        else
  377.         # Apply item effects to entire party
  378.         used = false
  379.         for i in $game_party.actors
  380.           used |= i.item_effect(@item)
  381.         end
  382.        
  383.          
  384.        end  
  385.       end
  386.      
  387.      
  388.       # If single target
  389.       if @target_window.index >= 0
  390.        # If apply restriction system is active
  391.        if Wep::Active_restricted_aplication
  392.         unless $game_party.item_can_apply?(@item.id, $game_party.actors[@target_window.index].actor_id_reader)
  393.             # Play buzzer SE
  394.             $game_system.se_play($data_system.buzzer_se)
  395.             return
  396.         end
  397.         # Apply item use effects to target actor
  398.         target = $game_party.actors[@target_window.index]
  399.         used = target.item_effect(@item)
  400.        # Normal behavior
  401.        else
  402.         # Apply item use effects to target actor
  403.         target = $game_party.actors[@target_window.index]
  404.         used = target.item_effect(@item)
  405.        end
  406.      
  407.       end
  408.        
  409.      
  410.      
  411.       # If an item was used
  412.       if used
  413.         # Play item use SE
  414.         $game_system.se_play(@item.menu_se)
  415.         # If consumable
  416.         if @item.consumable
  417.           # Decrease used items by 1
  418.           $game_party.lose_item(@item.id, 1)
  419.           # Redraw item window item
  420.           @item_window.draw_item(@item_window.index)
  421.         end
  422.         # Remake target window contents
  423.         @target_window.refresh
  424.         # If all party members are dead
  425.         if $game_party.all_dead?
  426.           # Switch to game over screen
  427.           $scene = Scene_Gameover.new
  428.           return
  429.         end
  430.         # If common event ID is valid
  431.         if @item.common_event_id > 0
  432.           # Common event call reservation
  433.           $game_temp.common_event_id = @item.common_event_id
  434.           # Switch to map screen
  435.           $scene = Scene_Map.new
  436.           return
  437.         end
  438.       end
  439.       # If item wasn't used
  440.       unless used
  441.         #p'nmo usado'
  442.         # Play buzzer SE
  443.         $game_system.se_play($data_system.buzzer_se)
  444.       end
  445.       return
  446.     end
  447.   end
  448.  
  449. end
  450.  
  451. class Scene_Battle
  452.   def actor_id_restricted_item
  453.     return @active_battler.actor_id_reader
  454.   end
  455. end
  456. class Game_Actor < Game_Battler
  457.   def actor_id_reader
  458.     return @actor_id
  459.   end
  460. end
  461. class Game_Party
  462.   #--------------------------------------------------------------------------
  463.   # * Determine if Item is Usable
  464.   #     item_id : item ID actor id batalla? desde scnee?
  465.   #--------------------------------------------------------------------------
  466.   def item_can_use?(item_id)
  467.     # If item quantity is 0
  468.     if item_number(item_id) == 0
  469.       # Unusable
  470.       return false
  471.     end
  472.    
  473.     # Restricted item in map menu
  474.  
  475.    # If itsnt normal, check for use restriction  
  476.     if Wep::Restricted_items[item_id] != nil and Wep::Restricted_items[item_id][0] != nil and not $game_temp.in_battle
  477.      # Check for dead option
  478.      if Wep::Dead_cant_use
  479.       # Check for at least one living valid actor
  480.       for actor in $game_party.actors
  481.         if Wep::Restricted_items[item_id].include?(actor.id) and actor.hp > 0
  482.             return true
  483.         end
  484.       end
  485.      
  486.            
  487.     # Check for class restrction if actor restriction fails
  488.     if Wep::Class_restricted_items[item_id] != nil and Wep::Class_restricted_items[item_id][0] != nil and not $game_temp.in_battle
  489.       # Check for dead option
  490.      if Wep::Dead_cant_use
  491.       # Check for at least one living valid actor
  492.       for actor in $game_party.actors
  493.         if Wep::Class_restricted_items[item_id].include?($game_actors[actor.id].class_id) and actor.hp > 0
  494.             return true
  495.         end
  496.       end
  497.       return false
  498.      # If dont check for dead
  499.      else
  500.       # Check for at least one valid actor-class
  501.       for actor in $game_party.actors
  502.         if Wep::Class_restricted_items[item_id].include?($game_actors[actor.id].class_id)
  503.            # At least one valid actor
  504.            return true
  505.         end
  506.       end
  507.        # It dont have valid actors in the party
  508.        return false
  509.  
  510.      end
  511.    end
  512.  
  513.      
  514.      # If dont use class or class restriction failed
  515.      return false
  516.      
  517.      # If dont check for dead
  518.      else
  519.       # Check for at least one valid actor
  520.       for actor in $game_party.actors
  521.         if Wep::Restricted_items[item_id].include?(actor.id)
  522.            # At least one valid actor
  523.            return true
  524.         end
  525.       end
  526.        # It dont have valid actors in the party
  527.        return false
  528.      end
  529.      
  530.     end
  531.      
  532.     # Check for only class restriction
  533.     if Wep::Class_restricted_items[item_id] != nil and Wep::Class_restricted_items[item_id][0] != nil and not $game_temp.in_battle
  534.       # Check for dead option
  535.      if Wep::Dead_cant_use
  536.       # Check for at least one living valid actor
  537.       for actor in $game_party.actors
  538.         if Wep::Class_restricted_items[item_id].include?($game_actors[actor.id].class_id) and actor.hp > 0
  539.             # At least one valid living actor
  540.             return true
  541.         end
  542.       end
  543.       return false if valid_actor_class == nil
  544.      # If dont check for dead
  545.      else
  546.       # Check for at least one valid actor-class
  547.       for actor in $game_party.actors
  548.         if Wep::Class_restricted_items[item_id].include?($game_actors[actor.id].class_id)
  549.            # At least one valid actor
  550.            return true
  551.         end
  552.       end
  553.        # It dont have valid actors in the party
  554.        return false
  555.  
  556.      end
  557.    end
  558.    
  559.     # All normal items are usable if not in batte
  560.     return true if not $game_temp.in_battle
  561.  
  562.     # Get usable time
  563.     occasion = $data_items[item_id].occasion
  564.     # If in battle
  565.     if $game_temp.in_battle
  566.       # Check item use restriction
  567.       if Wep::Restricted_items[item_id] != nil and Wep::Restricted_items[item_id][0] != nil
  568.         # Check if usable in battle or not
  569.         if occasion == 0 or occasion == 1
  570.           # Check restrictions
  571.           if Wep::Restricted_items[item_id].include?($scene.actor_id_restricted_item)
  572.             return true
  573.           else
  574.             # Class restrictions(Actor+Class check)
  575.             if Wep::Class_restricted_items[item_id] != nil and Wep::Class_restricted_items[item_id][0] != nil #and not $game_temp.in_battle
  576.               # Check class restrictions
  577.               if Wep::Class_restricted_items[item_id].include?($game_actors[$scene.actor_id_restricted_item].class_id)
  578.                 return true
  579.               end
  580.                 return false
  581.             end
  582.           end
  583.         # If not usable in battle
  584.         else
  585.           return false
  586.         end
  587.       end
  588.            
  589.  
  590.    
  591.      
  592.     # Class restrictions if actor restriction dont exist
  593.     if Wep::Class_restricted_items[item_id] != nil and Wep::Class_restricted_items[item_id][0] != nil and $game_temp.in_battle
  594.      # Check if usable in battle or not
  595.      if occasion == 0 or occasion == 1
  596.       # Check class restrictions
  597.       if Wep::Class_restricted_items[item_id].include?($game_actors[$scene.actor_id_restricted_item].class_id)
  598.         return true
  599.       else
  600.         return false
  601.       end
  602.      # If not usable in battle
  603.      else
  604.       return false
  605.      end
  606.     end
  607.    
  608.    
  609.      # All normal items are usable  in battle based on their occasion
  610.      
  611.       # If useable time is 0 (normal) or 1 (only battle) it's usable
  612.       return (occasion == 0 or occasion == 1)
  613.     end
  614.     # If useable time is 0 (normal) or 2 (only menu) it's usable
  615.     return (occasion == 0 or occasion == 2)
  616.   end
  617.  
  618.  
  619. end
  620.  
  621.  
  622.  
  623. # SHOW BATTLE GRAPHICS CODE
  624.  
  625. if Wep::Show_application_battle_grafic
  626.  
  627.  
  628. class Scene_Battle
  629.   #--------------------------------------------------------------------------
  630.   # * Start Actor Selection
  631.   #--------------------------------------------------------------------------
  632.   def start_actor_select
  633.      # Make actor arrow
  634.     @actor_arrow = Arrow_Actor.new(@spriteset.viewport2)
  635.     @actor_arrow.index = @actor_index
  636.     # Associate help window
  637.     @actor_arrow.help_window = @help_window
  638.     # Disable actor command window
  639.     @actor_command_window.active = false
  640.     @actor_command_window.visible = false
  641.     @status_window.refresh_disabled(@active_battler) if @active_battler.current_action.kind == 2
  642.   end
  643.   #--------------------------------------------------------------------------
  644.   # * End Actor Selection
  645.   #--------------------------------------------------------------------------
  646.   def end_actor_select
  647.     @status_window.refresh
  648.     # Dispose of actor arrow
  649.     @actor_arrow.dispose
  650.     @actor_arrow = nil
  651.   end
  652. end
  653.  
  654. class Window_BattleStatus < Window_Base
  655.  
  656.   #--------------------------------------------------------------------------
  657.   # * Refresh Disabled
  658.   #--------------------------------------------------------------------------
  659.   def refresh_disabled(active_battler)
  660.     self.contents.clear
  661.     @item_max = $game_party.actors.size
  662.     for i in 0...$game_party.actors.size
  663.       actor = $game_party.actors[i]
  664.       actor_x = i * 160 + 4
  665.       if not $game_party.item_can_apply?(active_battler.current_action.item_id, $game_party.actors[i].actor_id_reader)
  666.        self.contents.font.color = disabled_color
  667.        self.contents.draw_text(actor_x, 0, 120, 32, actor.name)
  668.       else
  669.          draw_actor_name(actor, actor_x, 0)
  670.       end
  671.       draw_actor_hp(actor, actor_x, 32, 120)
  672.       draw_actor_sp(actor, actor_x, 64, 120)
  673.       if @level_up_flags[i]
  674.         self.contents.font.color = normal_color
  675.         self.contents.draw_text(actor_x, 96, 120, 32, "¡Sube Nivel!")
  676.       else
  677.         draw_actor_state(actor, actor_x, 96)
  678.       end
  679.     end
  680.     self.contents.font.color = normal_color
  681.   end
  682. end
  683.  
  684. end
  685.  
  686.  
  687.  
  688. # SHOW ITEM GRAPHICS CODE
  689.  
  690.  
  691. if Wep::Show_application_item_grafic
  692.  
  693. #==============================================================================
  694. # ** Window_Target
  695. #------------------------------------------------------------------------------
  696. #  This window selects a use target for the actor on item and skill screens.
  697. #==============================================================================
  698.  
  699. class Window_Target < Window_Selectable
  700.   #--------------------------------------------------------------------------
  701.   # * Refresh Disabled
  702.   #--------------------------------------------------------------------------
  703.   def refresh_disabled(item_id)
  704.     self.contents.clear
  705.     for i in 0...$game_party.actors.size
  706.       x = 4
  707.       y = i * 116
  708.       actor = $game_party.actors[i]
  709.       if not $game_party.item_can_apply?(item_id, $game_party.actors[i].actor_id_reader)
  710.         self.contents.font.color = disabled_color
  711.         self.contents.draw_text(x, y, 120, 32, actor.name)
  712.       else
  713.         draw_actor_name(actor, x, y)
  714.       end
  715.       draw_actor_class(actor, x + 144, y)
  716.       draw_actor_level(actor, x + 8, y + 32)
  717.       draw_actor_state(actor, x + 8, y + 64)
  718.       draw_actor_hp(actor, x + 152, y + 32)
  719.       draw_actor_sp(actor, x + 152, y + 64)
  720.     end
  721.     self.contents.font.color = normal_color
  722.   end
  723. end
  724.  
  725. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement