Conditions are part of a powerful feature that is the backbone of all the events on your calendar. It enables your events to appear on certain dates on your calendar, depending on the conditions within it. For example, it can be something as simple as appearing on a specific date, or repeating yearly on a specific month and day, but it can also do a lot more.
The anatomy of a condition
A condition is usually made up of two parts - the condition and the target. The condition determines what part of the calendar the condition is going to be looking at, while the target is what the condition must match in order to be true.
The condition also has a handle which you can drag and drop it to re-order your conditions.
For example, if you have the condition "Day is exactly" and you type 1 into the target input, this event will now show up on the first day of each month. You can add more conditions to make this event appear based on increasingly specific conditions, such as only in some months, on specific weekdays, or when a moon is in a certain alignment.
In some cases, the condition may have more or less inputs. For example, the moon conditions is one where you also have to select which moon to check against.
Conditions and operators
When two or more conditions are next to each other, another input appears between them. This is called the operator.
This operator acts as the glue between conditions. In the case of the image above, this event will only appear when:
- The month is exactly december
- The day in month is exactly 12
The operator is what allows the conditions to work in unison with each other. The available operators are:
- AND - both conditions must be true for the event to appear
- OR - only one of the conditions needs to be true for the event to appear
- NAND - if both conditions are true, the event does not appear
- XOR - like OR, but only one of conditions can be true. If both are true, then the event does not appear.
The anatomy of a group
A group can be thought as a "container" for conditions. You can drag and drop conditions (and even other groups) into groups. The use of a group causes the result all the conditions inside that group to be checked first, and then the total result is checked against whatever is outside of the group.
Above the group, you can set the group to be one of three types:
- Normal - The group works as described above
- Not - The results of the group is inverted. If the result of the group is true, it instead becomes false, and vice versa.
- At least - When this is enabled, you'll notice that the operators between conditions are gone. That's because this group checks each condition, and if at least a number of them are true, the group becomes true. When this option is turned on, the input next to the option becomes available. This is where you enter the number of conditions that must be true for this group to be true. This is useful for events when you have 4 moons, but you want an event to appear when at least 2 of them are full moon.