Ability creation and setup

just another way to accomplish the same goal. thats why i added it as a comment instead of its own answer. that said using datatables can be a good solution to the issue on large scale too. think ofa game like pokemon or final fantasy for instance where the same abilities will be used by many different types of characters (player, enemy type 1, enemy type 2). in that type of situation it would be easy to have a datatable containing all the abilities basic information (base damage, name, animation, usable with wep type). usint datatables also makes things easy to modify in a central location.