Need help with macro

Curious if this is possible. I want a help/ harm Mouse over macro for let’s say rejuv and sun fire. I also need it to modifiers shift for arena party 1 and modifier Ctrl for arena party 2. If I mouse over a party frame it will cast rejuv even if I have enemy targeted. And if I have enemy targeted and no mod pressed and not mouse over anybody then it will sunfire my current target. If I have no mouse over and no target and no modifiers pressed I will rejuv myself. Thanks for the help

Slap the mod conditions at the start.

I don’t think that the first reply does everything requested. I wasn’t sure whether you meant for the modifiers to target AND cast the harm spell or not so I’ve put together two options for you. Don’t worry about the last line of the macro its technical.

/target [mod:shift] arena1
/target [mod:control] arena2
/cast [@mouseover, help] Helpspell
/cast [@mouseover, harm] Harmspell
/cast [@target, harm] Harmspell
/cast [@player] Helpspell
/y i like mustard!

OR

/cast [mod:shift, @arena1] Harmspell
/cast [mod:control, @arena2] Harmspell
/cast [@mouseover, help] Helpspell
/cast [@mouseover, harm] Harmspell
/cast [@target, harm] Harmspell
/cast [@player] Helpspell
/y i like mustard!

How do you figure?

Arena Party 1 and 2 aren’t valid units so we’re either talking about party1 and party2 for heals, or arena1 and arena2 for dps. It can’t do both without increased specificity of the modifiers, hence the omission and instructions on where to add them.

The rest of it, plus the addition of force casting Rejuve on yourself with alt and mouseover casting for enemies, is perfectly and elegantly covered by the macro:

#showtooltip
/cast [mod:alt,@player] [@mouseover,help,nodead] Rejuvenation; [@mouseover,harm,nodead] [harm] Sunfire; Rejuvenation

If you press alt: Rejuve @ player
If you mouseover an ally: Rejuve them
If you mouseover an enemy: Sunfire them
If you target an enemy: Sunfire them
Otherwise: Rejuve - This covers both targeting an ally or casting on yourself if none of the other conditions are met and you have auto self-cast enabled in the Interface options.