Sure, that would be ideal.
All it needs is to define what "PvP" is in a sufficiently watertight way that:
- someone with the flag off can't be killed, damaged, or easily caused to be killed or damaged by someone with either flag setting
- someone with the flag on can't be killed, damaged, or easily caused to be killed or damaged by someone with the flag off
- the PvE experience either on your own or with other cooperating players continues to work as before largely regardless of your flag settings
- it isn't done by the trivial "glorified Solo" method of preventing flag-off players from instancing with anyone else (including other flag-off players) except in supercruise or concourses
It was already impossible to do that in Horizons - and Odyssey adds several more unresolvable situations. It just isn't something that Elite Dangerous was ever designed to be able to have.
I would beg to differ. When a player receives damage, the game knows how it happened & precisely who caused it.
All that would need to happen is that if the "No PvP" flag is on, and the damage came from another player, the game would nullify that damage.
What would probably need balancing is toggling the flag to prevent exploits... I suggested a several hour timeout way back earlier in the thread before the setting takes effect. I'm sure there are other or additional ways that could be done though. A rule that says you can't change it or turn it off if you are pledged to a power, for example.