Enchantments

Note: It's my first time doing something with C++
`// TODO: Add a proper overridable function for this` :dancer: 

----

Perhaps the parameter is not needed and enchantments can be decided directly within the function, but it doesn't concern the PR as of yet.