WallMarket should give you an option to specify how much an item restores (check Item Strength), whether it is HP or MP.
As for HP Plus:
TEXT:8001A794 lbu $v0, 0x320($gp) # hp plus boolean switch
TEXT:8001A798 nop
TEXT:8001A79C bnez $v0, loc_8001A7F4
TEXT:8001A7A0 sll $v0, $s0, 2 # *20
TEXT:8001A7A4 addu $v0, $s0 # --
TEXT:8001A7A8 sll $v0, 2 # --
TEXT:8001A7AC li $1, 0x80072F46
TEXT:8001A7B4 addu $1, $v0
TEXT:8001A7B8 lbu $a0, 0($1)
TEXT:8001A7BC li $v1, 0x80069378
TEXT:8001A7C4 sll $a0, 1
TEXT:8001A7C8 addu $a0, $v1
TEXT:8001A7CC li $v1, 0x80072F46 # 0x80072F5C, hp plus bonuses for each level
TEXT:8001A7D4 addu $v0, $v1
TEXT:8001A7D8 addu $v0, $a1
TEXT:8001A7DC lbu $v0, 0($v0) # hp plus bonus percentage
TEXT:8001A7E0 lhu $v1, 0($a0) # current percentage
TEXT:8001A7E4 nop
TEXT:8001A7E8 addu $v0, $v1 # current+bonus
TEXT:8001A7EC j loc_8001A83C
TEXT:8001A7F0 sh $v0, 0($a0) # update percentage
Change the line commented as "hp plus bonus percentage" and make it count the level value to do your stuff. Of course, this is R3000 code, so it's only for PlayStation. No idea where the thing is on PC, but the code should look very similar after all.