public Binding swearOath(declaration string, witness Deity<Religion>, curse string)
Parameters:
declaration: A declaration, which may be either something about the present or past or a promise for the future.
witness: The specific powers greater than oneself who are invoked as witnesses and who will enforce the penalty if the oath is false. In Christian oaths, this is typically God, although it can also include saints. For the Greeks, Zeus Horkios (Zeus the Oath-Keeper) is the most common witness for oaths. This is almost never omitted, even when it is obvious.
curse: A curse, by the swearers, called down on themselves, should they be false. This third part is often omitted or left implied, where the cultural context makes it clear what the curse ought to be. Particularly, in Christian contexts, the curse is theologically obvious (damnation, delivered at judgment) and so is often omitted.
(i.e. can pass null for curse if witness = God<Christianity>)
An InvalidOath exception is thrown if any parameters missing.
Return value: Binding (object): binding will be registered as an observer on current, past or future action, calling method with name 'curse' if original declaration not valid or not fulfilled.
See also Vows (which are different)