You never change the storage_1/2
values.
A line like display_2 = storage_2 - ch_2;
will keep calculating the difference with the original number of life points (100), instead of subtracting from the previously calculated amount. Try updating these storage_x
values after you calculate the display_x
values.