Yes, you'll need localplayer. The key to making this work is that Warcraft will desync if a special effect exists for only some of the players... but that special effect is actually rendered based on its filepath, and that can be different for different players without causing a desync.
So, first step: get the string for the green effect's filepath, and the string for the red effect's filepath. Save them as separate variables, then make a third variable for the effect's filepath.
Next step: When the trigger that goes with the spell is fired, use localplayer to figure out if an ally or an enemy is casting. If it's an ally, set that third variable equal to the first one (for the green effect,) otherwise set the third variable to the second one (for the red effect.)
Last step: When you get to the part of the trigger where you actually create the special effect, use that third variable for the effect's filepath.