I need help with edit equip page in menu

Started by babcia11, June 28, 2016, 07:48:40 am

Previous topic - Next topic

babcia11

June 28, 2016, 07:48:40 am Last Edit: June 28, 2016, 08:18:44 am by babcia11
Hello i need to edit this simple equip page in menu :(
Can someone delete this elemental stuff from script?


(i hide my own language words but everything is clear in script)
and also if its possible to add "show stats of HP and MP" above other stats (i use stats bonus from gear script so if (for example) i wear new armor my HP stats also increased so i want to see this change on my "old and new stats" on the left side just like in img.
sorry for my poor English but I'm desperate xD


#==============================================================================
# ** Scene_Equip
#------------------------------------------------------------------------------
#  This class performs equipment screen processing.
#==============================================================================

class Scene_Equip
 
  #--------------------------------------------------------------------------
  # * Refresh
  #--------------------------------------------------------------------------
  def refresh
    # Set item window to visible
    @item_window1.visible = (@right_window.index == 0)
    @item_window2.visible = (@right_window.index == 1)
    @item_window3.visible = (@right_window.index == 2)
    @item_window4.visible = (@right_window.index == 3)
    @item_window5.visible = (@right_window.index == 4)
    # Get currently equipped item
    item1 = @right_window.item
    # Set current item window to @item_window
    case @right_window.index
    when 0
      @item_window = @item_window1
    when 1
      @item_window = @item_window2
    when 2
      @item_window = @item_window3
    when 3
      @item_window = @item_window4
    when 4
      @item_window = @item_window5
    end
    # If right window is active
    if @right_window.active
      # Erase parameters for after equipment change
      @left_window.set_new_parameters(nil, nil, nil, nil, nil, nil, nil)
      @left_window.set_elements(nil, nil)
      @left_window.set_states(nil, nil)
    end
    # If item window is active
    if @item_window.active
      # Get currently selected item
      item2 = @item_window.item
      # Change equipment
      last_hp = @actor.hp
      last_sp = @actor.sp
      @actor.equip(@right_window.index, item2 == nil ? 0 : item2.id)
      # Get parameters for after equipment change
      new_atk = @actor.atk
      new_pdef = @actor.pdef
      new_mdef = @actor.mdef
      new_str = @actor.str
      new_dex = @actor.dex
      new_agi = @actor.agi
      new_int = @actor.int
      # Get element_set for after equipment change
      atk_element_set = @actor.element_set
      def_element_set = @actor.defense_element_set
      # Get state_set for after equipment change
      plus_state_set = @actor.plus_state_set
      def_state_set = @actor.defense_state_set
      # Return equipment
      @actor.equip(@right_window.index, item1 == nil ? 0 : item1.id)
      @actor.hp = last_hp
      @actor.sp = last_sp
      # Draw in left window
      @left_window.set_new_parameters(new_atk, new_pdef, new_mdef, new_str, \
      new_dex, new_agi, new_int)
      @left_window.set_elements(atk_element_set, def_element_set)
      @left_window.set_states(plus_state_set, def_state_set)
    end
  end
end

#==============================================================================
# ** Window_Base
#------------------------------------------------------------------------------
#  This class is for all in-game windows.
#==============================================================================

class Window_Base < Window

  #--------------------------------------------------------------------------
  # * Draw Icon
  #     icon_name : filename of the icon ("String")
  #     x         : draw spot x-coordinate
  #     y         : draw spot y-coordinate
  #     MOBIUS ADDED
  #--------------------------------------------------------------------------
  def draw_icon(icon_name, x, y)
    bitmap = RPG::Cache.icon(icon_name)
    src_rect = Rect.new(0, 0, 24, 24)
    self.contents.blt(x, y, bitmap, src_rect)
  end
 
  #--------------------------------------------------------------------------
  # * Draw Attack Elements - Draws the active attack elements for a given actor
  #     element_set     : the element set for a given actor
  #     x               : draw spot x-coordinate
  #     y               : draw spot y-coordinate
  #     MOBIUS ADDED
  #--------------------------------------------------------------------------
  def draw_attack_elements(element_set, x, y)
      #Draw fire if active
      if element_set.include?(1)
        draw_icon("Fire", x, y)
      else
        draw_icon("Fire 2", x, y)
      end
      #Draw ice if active
      if element_set.include?(2)
        draw_icon("Ice", x + 30, y)
      else
        draw_icon("Ice 2", x + 30, y)
      end
      #Draw lightning if active
      if element_set.include?(3)
        draw_icon("Lightning", x + 60, y)
      else
        draw_icon("Lightning 2", x + 60, y)
      end
      #Draw water if active
      if element_set.include?(4)
        draw_icon("Poison", x + 90, y)
      else
        draw_icon("Poison 2", x + 90, y)
      end
      #Draw earth if active
      if element_set.include?(5)
        draw_icon("Holy", x + 120, y)
      else
        draw_icon("Holy 2", x + 120, y)
      end
      #Draw wind if active
      if element_set.include?(6)
        draw_icon("Dark", x + 150, y)
      else
        draw_icon("Dark 2", x + 150, y)
      end
       #Draw wind if active
      if element_set.include?(7)
        draw_icon("Magic", x + 180, y)
      else
        draw_icon("Magic 2", x + 180, y)
      end
  end
   
  #--------------------------------------------------------------------------
  # * Draw Defense Elements - Draws the active defense elements for a given actor
  #     defense_element_set     : the defense element set for a given actor
  #     x                       : draw spot x-coordinate
  #     y                       : draw spot y-coordinate
  #     MOBIUS ADDED
  #--------------------------------------------------------------------------
  def draw_defense_elements(defense_element_set, x, y)
      #Draw fire if active
      if defense_element_set.include?(1)
        draw_icon("Fire Def", x, y)
      else
        draw_icon("Fire Def 2", x, y)
      end
      #Draw ice if active
      if defense_element_set.include?(2)
        draw_icon("Ice Def", x + 30, y)
      else
        draw_icon("Ice Def 2", x + 30, y)
      end
      #Draw lightning if active
      if defense_element_set.include?(3)
        draw_icon("Lightning Def", x + 60, y)
      else
        draw_icon("Lightning Def 2", x + 60, y)
      end
      #Draw water if active
      if defense_element_set.include?(4)
        draw_icon("Poison Def", x + 90, y)
      else
        draw_icon("Poison Def 2", x + 90, y)
      end
      #Draw earth if active
      if defense_element_set.include?(5)
        draw_icon("Holy Def", x + 120, y)
      else
        draw_icon("Holy Def 2", x + 120, y)
      end
      #Draw wind if active
      if defense_element_set.include?(6)
        draw_icon("Dark Def", x + 150, y)
      else
        draw_icon("Dark Def 2", x + 150, y)
      end
      #Draw wind if active
      if defense_element_set.include?(7)
        draw_icon("Magic Def", x + 180, y)
      else
        draw_icon("Magic Def 2", x + 180, y)
      end
    end
   
  #--------------------------------------------------------------------------
  # * Draw Plus States - Draws states the a weapon adds for a given actor
  #     state_set     : the plus state set for a given actor
  #     x             : draw spot x-coordinate
  #     y             : draw spot y-coordinate
  #     MOBIUS ADDED
  #--------------------------------------------------------------------------
  def draw_plus_states(state_set, x, y)
    if state_set == []
      self.contents.font.color = system_color
      self.contents.draw_text(x, y, 240, 32, "Element: ")
    elsif state_set.size == 1
      state = $data_states[state_set[0]]
      self.contents.font.color = system_color
      self.contents.draw_text(x, y, 240, 32, "Element: " + state.name)
    elsif state_set.size == 2
      state1 = $data_states[state_set[0]]
      state2 = $data_states[state_set[1]]
      self.contents.font.color = system_color
      self.contents.draw_text(x, y, 240, 32, "Element: " + state1.name +
      ", " + state2.name)
    else     
      rating = 0
      priority_state = ""
      total_states = state_set.size
      for i in state_set
        state = $data_states[i]
        if rating <= state.rating #if new state is higher priority
          rating = state.rating
          priority_state = state.name
        end
      end
      self.contents.font.color = system_color
      self.contents.draw_text(x, y, 240, 32, "Element: " + priority_state +
      " i " + (total_states - 1).to_s + " other")
    end
  end
 
  #--------------------------------------------------------------------------
  # * Draw Def States - Draws states the armor prevents for a given actor
  #     state_set     : the guard state set for a given actor
  #     x             : draw spot x-coordinate
  #     y             : draw spot y-coordinate
  #     MOBIUS ADDED
  #--------------------------------------------------------------------------
  def draw_def_states(state_set, x, y)
    if state_set == []
      self.contents.font.color = system_color
      self.contents.draw_text(x, y, 240, 32, "resis ")
    elsif state_set.size == 1
      state = $data_states[state_set[0]]
      self.contents.font.color = system_color
      self.contents.draw_text(x, y, 240, 32, "resis: " + state.name)
    elsif state_set.size == 2
      state1 = $data_states[state_set[0]]
      state2 = $data_states[state_set[1]]
      self.contents.font.color = system_color
      self.contents.draw_text(x, y, 240, 32, "resis " + state1.name +
      ", " + state2.name)
    else     
      rating = 0
      priority_state = ""
      total_states = state_set.size
      for i in state_set
        state = $data_states[i]
        if rating <= state.rating #if new state is higher priority
          rating = state.rating
          priority_state = state.name
        end
      end
      self.contents.font.color = system_color
      self.contents.draw_text(x, y, 240, 32, "resis " + priority_state +
      " i " + (total_states - 1).to_s + "other")
    end
  end
end
#==============================================================================
# ** Window_EquipItem
#------------------------------------------------------------------------------
#  This window displays choices when opting to change equipment on the
#  equipment screen.
#==============================================================================

class Window_EquipItem < Window_Selectable
  #--------------------------------------------------------------------------
  # * Object Initialization
  #     actor      : actor
  #     equip_type : equip region (0-3)
  #--------------------------------------------------------------------------
  def initialize(actor, equip_type)
    super(272, 256, 368, 224)
    @actor = actor
    @equip_type = equip_type
    @column_max = 1
    refresh
    self.active = false
    self.index = -1
  end
  #--------------------------------------------------------------------------
  # * Draw Item
  #     index : item number
  #--------------------------------------------------------------------------
  def draw_item(index)
    item = @data[index]
    #x = 4 + index % 2 * (288 + 32)  OLD
    x = 4
    #y = index / 2 * 32 OLD
    y = index * 32
    case item
    when RPG::Weapon
      number = $game_party.weapon_number(item.id)
    when RPG::Armor
      number = $game_party.armor_number(item.id)
    end
    bitmap = RPG::Cache.icon(item.icon_name)
    self.contents.blt(x, y + 4, bitmap, Rect.new(0, 0, 24, 24))
    self.contents.font.color = normal_color
    self.contents.draw_text(x + 28, y, 212, 32, item.name, 0)
    self.contents.draw_text(x + 240, y, 16, 32, ":", 1)
    self.contents.draw_text(x + 256, y, 24, 32, number.to_s, 2)
  end
end

#==============================================================================
# ** Window_EquipLeft
#------------------------------------------------------------------------------
#  This window displays actor parameter changes on the equipment screen.
#==============================================================================

class Window_EquipLeft < Window_Base
  #--------------------------------------------------------------------------
  # * Object Initialization
  #     actor : actor
  #--------------------------------------------------------------------------
  def initialize(actor)
    super(0, 64, 272, 416)
    self.contents = Bitmap.new(width - 32, height - 32)
    @actor = actor
    refresh
  end
  #--------------------------------------------------------------------------
  # * Refresh
  #--------------------------------------------------------------------------
  def refresh
    self.contents.clear
    draw_actor_name(@actor, 4, 0)
    draw_actor_parameter(@actor, 4, 32, 0)  #ATK
    draw_actor_parameter(@actor, 4, 64, 1)  #PDEF
    draw_actor_parameter(@actor, 4, 96, 2)  #MDEF
    draw_actor_parameter(@actor, 4, 128, 3) #STR
    draw_actor_parameter(@actor, 4, 160, 4) #DEX
    draw_actor_parameter(@actor, 4, 192, 5) #AGI
    draw_actor_parameter(@actor, 4, 224, 6) #INT
    if @atk_element_set != nil
      draw_attack_elements(@atk_element_set, 4, 258)
    else
      draw_attack_elements(@actor.element_set, 4, 258)
    end
    if @def_element_set != nil
      draw_defense_elements(@def_element_set, 4, 292)
    else
      draw_defense_elements(@actor.defense_element_set, 4, 292)
    end   
    if  @plus_state_set != nil
      draw_plus_states(@plus_state_set, 4, 326)
    else
      draw_plus_states(@actor.plus_state_set, 4, 326)
    end
    if  @def_state_set != nil
      draw_def_states(@def_state_set, 4, 358)
    else
      draw_def_states(@actor.defense_state_set, 4, 358)
    end
    if @new_atk != nil
      self.contents.font.color = system_color
      self.contents.draw_text(160, 32, 40, 32, "->", 1)
      self.contents.font.color = color_choose(@actor.atk, @new_atk)
      self.contents.draw_text(200, 32, 36, 32, @new_atk.to_s, 2)
    end
    if @new_pdef != nil
      self.contents.font.color = system_color
      self.contents.draw_text(160, 64, 40, 32, "->", 1)
      self.contents.font.color = color_choose(@actor.pdef, @new_pdef)
      self.contents.draw_text(200, 64, 36, 32, @new_pdef.to_s, 2)
    end
    if @new_mdef != nil
      self.contents.font.color = system_color
      self.contents.draw_text(160, 96, 40, 32, "->", 1)
      self.contents.font.color = color_choose(@actor.mdef, @new_mdef)
      self.contents.draw_text(200, 96, 36, 32, @new_mdef.to_s, 2)
    end
    if @new_str != nil
      self.contents.font.color = system_color
      self.contents.draw_text(160, 128, 40, 32, "->", 1)
      self.contents.font.color = color_choose(@actor.str, @new_str)
      self.contents.draw_text(200, 128, 36, 32, @new_str.to_s, 2)
    end
    if @new_dex != nil
      self.contents.font.color = system_color
      self.contents.draw_text(160, 160, 40, 32, "->", 1)
      self.contents.font.color = color_choose(@actor.dex, @new_dex)
      self.contents.draw_text(200, 160, 36, 32, @new_dex.to_s, 2)
    end
    if @new_agi != nil
      self.contents.font.color = system_color
      self.contents.draw_text(160, 192, 40, 32, "->", 1)
      self.contents.font.color = color_choose(@actor.agi, @new_agi)
      self.contents.draw_text(200, 192, 36, 32, @new_agi.to_s, 2)
    end
    if @new_int != nil
      self.contents.font.color = system_color
      self.contents.draw_text(160, 224, 40, 32, "->", 1)
      self.contents.font.color = color_choose(@actor.int, @new_int)
      self.contents.draw_text(200, 224, 36, 32, @new_int.to_s, 2)
    end
  end
  #--------------------------------------------------------------------------
  # * Set parameters after changing equipment
  #     new_atk  : attack power after changing equipment
  #     new_pdef : physical defense after changing equipment
  #     new_mdef : magic defense after changing equipment
  #     new_etc  : I think you get the picture
  #--------------------------------------------------------------------------
  def set_new_parameters(new_atk, new_pdef, new_mdef, new_str, new_dex, \
    new_agi, new_int)
    if @new_atk != new_atk or @new_pdef != new_pdef or @new_mdef != new_mdef or
      @new_str != new_str or @new_dex != new_dex or @new_agi != new_agi or
      @new_int != new_int
      @new_atk = new_atk
      @new_pdef = new_pdef
      @new_mdef = new_mdef
      @new_str = new_str
      @new_dex = new_dex
      @new_agi = new_agi
      @new_int = new_int
      refresh
    end
  end
 
  #--------------------------------------------------------------------------
  # * Set element_set after changing equipment
  #     element_set  : an array containing the new equipment's element_set
  #                    reference the database for element values
  #--------------------------------------------------------------------------
  def set_elements(atk_element_set, def_element_set)
    if @atk_element_set != atk_element_set or
      @def_element_set != def_element_set
      @atk_element_set = atk_element_set
      @def_element_set = def_element_set
      refresh
    end
  end

  #--------------------------------------------------------------------------
  # * Set state_set after changing equipment
  #     state_set  : an array containing the new equipment's state_set
  #                    reference the database for state values
  #--------------------------------------------------------------------------
  def set_states(plus_state_set, def_state_set)
    if @plus_state_set != plus_state_set or @def_state_set != def_state_set
      @plus_state_set = plus_state_set
      @def_state_set = def_state_set
      refresh
    end
  end
#------------------------------------------------------------------------------
# * color_choose 
#   decide text color based on whether the stat improves
#   Mobius Added
#------------------------------------------------------------------------------
  def color_choose(old_stat, new_stat)
    compare = (old_stat <=> new_stat)
    case compare
    when -1 #new is better
      Color.new(0, 255, 0, 255) #Return green color
    when 0 #old=new
      normal_color #Return white color
    when 1 #old is better
      Color.new(255, 0, 0, 255) #Return red color
    end
  end

end #class end

#==============================================================================
# ** Game_Actor
#------------------------------------------------------------------------------
#  This class handles the actor. It's used within the Game_Actors class
#  ($game_actors) and refers to the Game_Party class ($game_party).
#==============================================================================

class Game_Actor < Game_Battler

  #--------------------------------------------------------------------------
  # * Get Normal Attack Element
  #--------------------------------------------------------------------------
  def element_set
    weapon = $data_weapons[@weapon_id]
    return weapon != nil ? weapon.element_set : []
  end
  #--------------------------------------------------------------------------
  # * Get Normal Defense Elements
  #--------------------------------------------------------------------------
  def defense_element_set
    result = []
    for i in [@armor1_id, @armor2_id, @armor3_id, @armor4_id]
      armor = $data_armors[i]
      if armor != nil
        result |= armor.guard_element_set
      end
    end
    return result
  end
  #--------------------------------------------------------------------------
  # * Get Normal Attack State Change (+)
  #--------------------------------------------------------------------------
  def plus_state_set
    weapon = $data_weapons[@weapon_id]
    return weapon != nil ? weapon.plus_state_set : []
  end
  #--------------------------------------------------------------------------
  # * Get Normal State Defense
  #--------------------------------------------------------------------------
  def defense_state_set
    result = []
    for i in [@armor1_id, @armor2_id, @armor3_id, @armor4_id]
      armor = $data_armors[i]
      if armor != nil
        result |= armor.guard_state_set
      end
    end
    return result
  end
end