Shift Macro only Works when in combat

Im having a strange issue where the shift modifier component of a macro only works when I’m in combat. I had to adapt it from a macro that i use on my priest which works perfectly. These were made for me many moons ago. Is there a way to condense the shaman macro and make it work correctly?

Shaman Macro (shift modifier only works in combat)

#showtooltip
/cast [mod:shift,@targettarget, harm][mod:shift,@targettargettarget, harm][mod:shift,@focus,harm][mod:shift,@focustarget,harm] Flame Shock; [harm][@targettarget, harm] [@targettargettarget, harm][@focus,harm][@focustarget] Lava Burst

Priest Macro (Works correctly)

#showtooltip holy fire
/cast [mod:alt,harm][mod:alt,@targettarget, harm][mod:alt,@targettargettarget, harm][mod:alt,@focus,harm][mod:alt,@focustarget,harm] Holy Fire; [harm][@targettarget, harm] [@targettargettarget, harm][@focus,harm][@focustarget] smite

You’re missing [mod:shift,harm] as the first condition.

#showtooltip
/cast [mod:shift,harm] [mod:shift,@targettarget,harm] [mod:shift,@targettargettarget,harm] [mod:shift,@focus,harm] [mod:shift,@focustarget,harm] [mod:shift] Flame Shock; [harm] [@targettarget,harm] [@targettargettarget,harm] [@focus,harm] [@focustarget] [] Lava Burst

I personally would drop all instances of @TargetTargetTarget it’s a pretty niche use case.

Different approach if you’re interested.

[mod:shift,@focus] spell;[]another Spell

Very simply done sorry.