The current damage system is trying to use a bad idea of calculating damage as a single number as a damage dealer. This needs to be reimplemented so that the damage dealer will calculate all his damages separately as different numbers. Then, the receiver will calculate how much damage it will take.