Damage implementation

Damages aren't fully implemented yet, but I'm opening this pull request to have a reply about what I've already done.
> `// There is a problem here if x < 0.`

This needs to be resolved. (Although it doesn't look like a problem)