First of all, this trigger will never work, because a battle can't be won and lost at the same time (there is no "or" operator on the engine, you'd have to use different triggers). Secondly, even if it is triggered, it will not "activate" the trait at that time and heal soldiers, it will just give the trait to the general. And finally, it's hardcoded afaik that the losing side cannot heal its casualties. AI-controlled factions can take the trait too, of course if you don't put a "CharacterIsLocal" condition in the trigger.