I have a case where I want a friendly NPC to stop fighting and not be attacked.
I prefer not to use SurrenderToEnemies() in this particular case, because they may need to resume hostilities, which might mean tracking a lot of personal reputations.
I find that EffectSanctuary() with DC 127 does exactly what I need.
Bizarrely, enemies just stand there, instead of finding a new target (something I can fix, of course)
The log window reports the PC’s Will saving throw, even if the effect creator is the PC or the module (a minor glitch I can live with).