Since I have a selecction of player mechanics blocked out, I have continued to develop the game systems that I will need to make the game. I managed to create an elemental system with week that works both for switches (electric gates, etc.) and also enemy weaknesses (by checking for the element and multiplying by a factor). I used custom damage classes for this and upon recieving damage from the player, the enemy/switch checks for this damage type and reacts acordingly. This could also be used to influence AI, as enemies could be more aggressive if they are immune to the player's beam for example, or more precautious if their weakness has been triggered (which could be done with behaviour trees).
Since I forgot to include some examples of the Blueprints so far, I have included a selection of mechanics I have made so far:
I have used variables as much as possible so that simple abilities can be changed on the fly to create new characters. My aim is for all the systems to be highly customisable to reduce the amount of manual changes that need to be made. Because I am a team of one, this will be highly efficient as it means I can add a host of unique characters very quickly by changing their ability values and various body meshes. This is how I streamlined the production of my LittleBigPlanet level that inspires this game, which in turn was created by analysing the character modularity within the lego games.