As far as I know (and I don’t know much about animation-related stuff) the walking and running “state” is determined based on the velocity of the character’s movement component (or something like that lol)… so the first thing I would personally try is base the addition/subtraction of the “TiredPoints” on the velocity.
For example…
First check if character is falling… if it’s not then start checking the velocity… if > than 0 but less than 50 (50 is just an example) then assume that the character is walking so do the appropriate action… if the velocity is higher then assume the character is running… if the speed is ~0 then assume it’s idle etc. etc. 
I have no idea if that would work properly but probably worth looking into it.