I'm certain there is a way, albeit rather cumbersome, to do this with events. However, since it's already built in for Armor, it's pretty easy to just have it check for the Regen state as well....
CODE
class Game_Actor
alias regen_auto_hp_recover auto_hp_recover
def auto_hp_recover
if state?(17) # Regenerate. Change 17 to your Regen state ID
if self.hp == maxhp
remove_state(17) # Regenerate. Change 17 to your Regen state ID
end
return true
end
regen_auto_hp_recover
end
end
This adds 1 HP per step on the map, and 5% of MAXHP per turn during battle. (Same as the Auto HP Recover for Armor)
This script will also remove the Regen state once the character is fully healed.