I'm attempting to make my own equipment menu, and I would like the number that display the stat changes to change color depending on whether the stat rises or lowers.
Also, I can't figure out how to get it to show the Max HP/SP changes either. It took me while just to figure out how to get the Max HP/SP to even show.
Here's the altered Window_EquipLeft
#==============================================================================
# ** 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)
self.contents.font.color = system_color
self.contents.draw_text(4 , 32, 64, 32, "HP")
self.contents.font.color = normal_color
self.contents.draw_text(128 , 32, 64, 32, @actor.maxhp.to_s)
self.contents.font.color = system_color
self.contents.draw_text(4, 64, 64, 32, "SP")
self.contents.font.color = normal_color
self.contents.draw_text(128, 64, 64, 32, @actor.maxsp.to_s)
draw_actor_parameter(@actor, 4, 96, 0)
draw_actor_parameter(@actor, 4, 128, 3)
draw_actor_parameter(@actor, 4, 160, 6)
draw_actor_parameter(@actor, 4, 192, 4)
draw_actor_parameter(@actor, 4, 224, 5)
draw_actor_parameter(@actor, 4, 256, 1)
draw_actor_parameter(@actor, 4, 288, 2)
if @new_atk != nil
self.contents.font.color = system_color
self.contents.draw_text(160, 96, 40, 32, "→", 1)
self.contents.font.color = normal_color
self.contents.draw_text(200, 96, 36, 32, @new_atk.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 = normal_color
self.contents.draw_text(200, 128, 36, 32, @new_str.to_s, 2)
end
if @new_int != nil
self.contents.font.color = system_color
self.contents.draw_text(160, 160, 40, 32, "→", 1)
self.contents.font.color = normal_color
self.contents.draw_text(200, 160, 36, 32, @new_int.to_s, 2)
end
if @new_dex != nil
self.contents.font.color = system_color
self.contents.draw_text(160, 192, 40, 32, "→", 1)
self.contents.font.color = normal_color
self.contents.draw_text(200, 192, 36, 32, @new_dex.to_s, 2)
end
if @new_agi != nil
self.contents.font.color = system_color
self.contents.draw_text(160, 224, 40, 32, "→", 1)
self.contents.font.color = normal_color
self.contents.draw_text(200, 224, 36, 32, @new_agi.to_s, 2)
end
if @new_pdef != nil
self.contents.font.color = system_color
self.contents.draw_text(160, 256, 40, 32, "→", 1)
self.contents.font.color = normal_color
self.contents.draw_text(200, 256, 36, 32, @new_pdef.to_s, 2)
end
if @new_mdef != nil
self.contents.font.color = system_color
self.contents.draw_text(160, 288, 40, 32, "→", 1)
self.contents.font.color = normal_color
self.contents.draw_text(200, 288, 36, 32, @new_mdef.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
#--------------------------------------------------------------------------
def set_new_parameters(new_atk, new_str, new_int, new_dex, new_agi, new_pdef, new_mdef)
if @new_atk != new_atk or @new_str != new_str or @new_int != new_int or @new_dex != new_dex or @new_agi != new_agi or @new_pdef != new_pdef or @new_mdef != new_mdef
@new_atk = new_atk
@new_str = new_str
@new_int = new_int
@new_dex = new_dex
@new_agi = new_agi
@new_pdef = new_pdef
@new_mdef = new_mdef
refresh
end
end
end
Also, I can't figure out how to get it to show the Max HP/SP changes either. It took me while just to figure out how to get the Max HP/SP to even show.
Here's the altered Window_EquipLeft
#==============================================================================
# ** 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)
self.contents.font.color = system_color
self.contents.draw_text(4 , 32, 64, 32, "HP")
self.contents.font.color = normal_color
self.contents.draw_text(128 , 32, 64, 32, @actor.maxhp.to_s)
self.contents.font.color = system_color
self.contents.draw_text(4, 64, 64, 32, "SP")
self.contents.font.color = normal_color
self.contents.draw_text(128, 64, 64, 32, @actor.maxsp.to_s)
draw_actor_parameter(@actor, 4, 96, 0)
draw_actor_parameter(@actor, 4, 128, 3)
draw_actor_parameter(@actor, 4, 160, 6)
draw_actor_parameter(@actor, 4, 192, 4)
draw_actor_parameter(@actor, 4, 224, 5)
draw_actor_parameter(@actor, 4, 256, 1)
draw_actor_parameter(@actor, 4, 288, 2)
if @new_atk != nil
self.contents.font.color = system_color
self.contents.draw_text(160, 96, 40, 32, "→", 1)
self.contents.font.color = normal_color
self.contents.draw_text(200, 96, 36, 32, @new_atk.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 = normal_color
self.contents.draw_text(200, 128, 36, 32, @new_str.to_s, 2)
end
if @new_int != nil
self.contents.font.color = system_color
self.contents.draw_text(160, 160, 40, 32, "→", 1)
self.contents.font.color = normal_color
self.contents.draw_text(200, 160, 36, 32, @new_int.to_s, 2)
end
if @new_dex != nil
self.contents.font.color = system_color
self.contents.draw_text(160, 192, 40, 32, "→", 1)
self.contents.font.color = normal_color
self.contents.draw_text(200, 192, 36, 32, @new_dex.to_s, 2)
end
if @new_agi != nil
self.contents.font.color = system_color
self.contents.draw_text(160, 224, 40, 32, "→", 1)
self.contents.font.color = normal_color
self.contents.draw_text(200, 224, 36, 32, @new_agi.to_s, 2)
end
if @new_pdef != nil
self.contents.font.color = system_color
self.contents.draw_text(160, 256, 40, 32, "→", 1)
self.contents.font.color = normal_color
self.contents.draw_text(200, 256, 36, 32, @new_pdef.to_s, 2)
end
if @new_mdef != nil
self.contents.font.color = system_color
self.contents.draw_text(160, 288, 40, 32, "→", 1)
self.contents.font.color = normal_color
self.contents.draw_text(200, 288, 36, 32, @new_mdef.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
#--------------------------------------------------------------------------
def set_new_parameters(new_atk, new_str, new_int, new_dex, new_agi, new_pdef, new_mdef)
if @new_atk != new_atk or @new_str != new_str or @new_int != new_int or @new_dex != new_dex or @new_agi != new_agi or @new_pdef != new_pdef or @new_mdef != new_mdef
@new_atk = new_atk
@new_str = new_str
@new_int = new_int
@new_dex = new_dex
@new_agi = new_agi
@new_pdef = new_pdef
@new_mdef = new_mdef
refresh
end
end
end