Player on a team hitting someone else doesn't change their team [Fix my awful commands]

This is for a tag gamemode: execute as @a[team=Tagged] if score @s damageDealt matches 1.. run scoreboard players operation @s damageDealt = !dmg damageDealt execute as @a[team=Tagged] if score !dmg damageDealt = @n[scores={damageTaken=1..},distance=..5.5] damageTaken if entity @n[team=Alive,distance=..5.5] run team join Alive @s execute as @a[team=Alive] if score @s damageTaken = !dmg damageDealt if entity @n[team=Tagged,distance=..5.5] run team join Tagged @s scoreboard players reset !dmg damageDealt scoreboard players reset * damageDealt scoreboard players reset * damageTaken Any ideas on a fix?
Continue to help post