Here is what my system looks like so far. I have a Skill class which has a template. I pass the missile class as the template class for the skill. When I call a method to active the skill, it creates and returns the correct missile type. I went on to implement a skill bar, with a method that allows an outside class to assign a slot a skill. The method looks like this: assignSkill(Skill
The only other way I could see to fix this is remove the template, make each skill inherit from the Skill class and make each skill spawn a Missile. However, the ONLY different between the skills is the missile they create. It seems too messy to me to have to create a bunch of subclasses just to change the type of missile it returns. Any tips or ideas? Thanks