execute if score difficulty difficulty matches 3 run execute as @e[type=#minecraft:skeletons,scores={skeleton=1}] at @s unless block ~ ~-0.1 ~ air if entity @e[type=minecraft:creeper,nbt={ignited:1b},distance=..6] run tp @s ~ ~ ~ facing entity @e[type=minecraft:creeper,nbt={ignited:1b},limit=1]
execute if score difficulty difficulty matches 3 run execute as @e[type=creeper,tag=shield] at @s if entity @e[type=minecraft:creeper,nbt={ignited:1b},distance=..6] run data merge entity @s {Invulnerable:1b}
execute if score difficulty difficulty matches 3 run execute as @e[type=creeper,tag=shield] at @s unless entity @e[type=minecraft:creeper,nbt={ignited:1b},distance=..6] run data merge entity @s {Invulnerable:0b}
execute if score difficulty difficulty matches 3 run execute as @e[type=#minecraft:skeletons,tag=!invulnerable] at @s if entity @e[type=minecraft:creeper,nbt={ignited:1b},distance=..6] run function hard:skeleton/invulnerable
execute if score difficulty difficulty matches 3 run execute as @e[type=#minecraft:skeletons,tag=!vulnerable] at @s unless entity @e[type=minecraft:creeper,nbt={ignited:1b},distance=..6] run function hard:skeleton/vulnerable
execute if score difficulty difficulty matches 3 run execute if score difficulty difficulty matches 3 run execute as @e[type=#minecraft:skeletons] at @s unless entity @s[scores={skeleton=1}] if entity @e[type=minecraft:creeper,nbt={ignited:1b},distance=..6] run function hard:skeleton/shield