Make DnD module more beautiful

Actually the behaviour is largely unchanged.

- typo fix: resault --> result
- Rework some of the repeating code in ifs
- More robust argument parsing
- Shift around the resulting string

Also:
- Give credit to John for his modules. Great thanks!
- Split the module list into parts cause it was getting large