To justify having the player use more than the highest damaging attack, I decided to implement some secondary effects for each of the player's attacks. This includes the stab (5 damage, 5 healing), shield bash (10 damage, halves incoming damage), and slash (no actual secondary effect, just outputs the most damage).
Each secondary effect is implemented slightly differently. For the slash, nothing had to change as it doesn't have a secondary effect. For the stab, I added a branch that checks if stab is the move that's been used. If it is, it heals the player for 5 health before damaging the Conductor within the Conductor's damage function. Similar to stab, the shield bash is implemented by checking the attack that has been used and applying half damage if it's true. This is done within the player's damage function. Much like with all other instances of data persistence, the attack used is saved to an 'Attack Name' variable that is saved to the player's save data. This is then called upon in all instances where the attack name is required. The tooltips that appear when you hover over one of the attack buttons are simply the built-in tooltip function that buttons have within Unreal Engine.
Once we conduct alpha testing, it's likely that a lot of the numbers will be changed to better balance the game and make it feel more enjoyable. For now, the values will stay as they are for the attacks and their secondary effects. In terms of implementation, there was little I had to struggle with past restructuring the UI_Battle blueprint to fit in the attack name assignment function, an issue that might become more common as the project advances and both our technical debt (how inefficient / difficult a project's source code is to work and edit) grows. To minimise this risk, I will continue to keep in mind the modularity and clarity of my code for myself and my teammates, including comment boxes and clear variable names that convey the purpose behind a variable. The biggest change I am considering going forward is implementing my own tooltip function that I can implement accessibility features into, such as high contrast mode or variable text size in the to-be-implemented settings menu.