Damage Values and Packets Overload

Damage is now a generic type that can be expanded upon, using
std::tuple. Currently has Generic damage and Pierce.