/cast [exists,harm,nodead] fireball
/stopmacro [exists,harm,nodead]
/assist party1
/cast [exists,harm,nodead] fireball

I guess this was designed to be able to change the target of the main while the other finishes off the current target
yeh could just reduce it to


/cast fireball
/stopmacro [harm,nodead] if harm or nodead are true then exist has to be true
/assist party1
/cast fireball

with the /stopmacro [harm,nodead] if harm or nodead are true then exist has to be true

yeh cant cast the fireball unless[exists,harm,nodead] are true so there really no point in putting in there