Needs playtesting before merging.
Needs playtesting before merging.