**@Glitchy** (and **@learningiscaring**)

There is a logic error in the conditional expressions of your (if:) and (else-if:) macros, the expression **$a > $b and $c** doesn't equate the way you think it does. Because the expression contains the **and** operator it is first broken into two parts and then evaluated as follows:

(**note**: for the sake of this explanation I will assume that $a equals 1, $b equals 2, and $c equals 3)

1. The **$a > $b** part equates to **true** if the current value of $a is greater than the current value of $b, otherwise it equates to **false**. In our example 1 ($a) isn't greater than 2 (b$) so this part would equate to **false**.

2. The **$c** part equates to **true** if the current value is considered Truthy, in the case of numbers this is any value other than 0 (zero), otherwise it equates to false. In our example 3 ($c) isn't equal to 0 (zero) so this part would equate to **true**.

3. The Boolean outcomes of each of the two parts are recombined to determine the overall outcome of the whole expression. The **and** operator equates to **true** if both it's left and right conditions equate to true, otherwase it equates to **false**. In our example the outcome of part 1 was **false** and the outcome of part 2 was **true**, so when the **and** operator is applied (eg. **false and true**) the overall outcome would be **false**.

The issue with each of your condition expressions is that the **right** side of each of the **and** operators will only equate to **false** if the referenced variable equals zero, and this isn't what you're trying to test for. Your conditional expressions should look as follows

```
(if: $a > $b and $a > $c)[(goto: "Ending A")]
(else-if: $b > $a and $b > $c)[(goto: "Ending B")]
(else-if: $c > $a and $c > $b)[(goto: "Ending C")]
```