Originally posted by [b]theultramage[/b]
http://www.eathena.ws/board/index.php?autocom=bugtracker&showbug=775
1. There are multiple functions that handle healing and/or damaging hp and/or sp.
- pc_heal, pc_itemheal, pc_percentheal, status_set_hp, status_set_sp, status_charge, status_damage, status_heal, status_percent_change, status_revive, ...
2. Most of these support negative values, adjusting their behavior to something completely different, or delegating the work to their complementary function.
I would like this mess removed. No redundant code that does the same thing, copied over and over. No sign flipping and sudden behavioral changes.
What I imagine is a function that damages and nothing more, and a function that heals and nothing more. If there are to be negative values, these should be handled and converted on the topmost level. In the other places, if there aren't going to be negative values, don't put code to handle negative values.
Bugreports that depend on the completion of this one:
#74.