From b98ecd5ba9a1d41d09042ca0a677419054118515 Mon Sep 17 00:00:00 2001 From: Inquisitor <62276696+creaturesofhabit@users.noreply.github.com> Date: Wed, 24 Jun 2026 13:33:09 -0700 Subject: [PATCH 1/3] true is truthy is true change guide to reflect `if`'s actual modern behavior --- source/guides/troubleshooting/common-mistakes.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/source/guides/troubleshooting/common-mistakes.md b/source/guides/troubleshooting/common-mistakes.md index d08b335..1114578 100644 --- a/source/guides/troubleshooting/common-mistakes.md +++ b/source/guides/troubleshooting/common-mistakes.md @@ -300,9 +300,8 @@ It's simply too easy to cause a lot of problems for a lot of people when you're ### If True Is True Equal To Truly True Is The Truth -The way the `if` command in Denizen works is it processes the arguments using logical comparison techniques, then runs the code inside if the result is `true`, and does not if the result is anything else. - -So, if a script does `- if == true:`, you're essentially saying `if ( true == true ) == true:` ... which is pretty silly, right? +The way the `if` command in Denizen works is it processes the arguments using logical comparison techniques, then runs the code inside unless the result is falsy(the word `false`, the number 0, an empty list, and so on). +So, if a script does `- if == true:`, you're essentially saying `if ( == true ) == true:` ... which is pretty silly, right? **NEVER** input `== true` into an `if` command (or `while` or anything like it). It is always redundant. From e7ffa11ab17e532d73ceb293cea821daa153817d Mon Sep 17 00:00:00 2001 From: Inquisitor <62276696+creaturesofhabit@users.noreply.github.com> Date: Thu, 25 Jun 2026 01:53:53 -0700 Subject: [PATCH 2/3] changes as requested --- source/guides/troubleshooting/common-mistakes.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/guides/troubleshooting/common-mistakes.md b/source/guides/troubleshooting/common-mistakes.md index 1114578..e7e7274 100644 --- a/source/guides/troubleshooting/common-mistakes.md +++ b/source/guides/troubleshooting/common-mistakes.md @@ -300,8 +300,8 @@ It's simply too easy to cause a lot of problems for a lot of people when you're ### If True Is True Equal To Truly True Is The Truth -The way the `if` command in Denizen works is it processes the arguments using logical comparison techniques, then runs the code inside unless the result is falsy(the word `false`, the number 0, an empty list, and so on). -So, if a script does `- if == true:`, you're essentially saying `if ( == true ) == true:` ... which is pretty silly, right? +The way the `if` command in Denizen works is it processes the arguments using logical comparison techniques, then runs the code inside if the result is truthy(the word `true`, a non-empty list, a non-zero number, or so on). +So, if a script does `- if == true:`, you're essentially saying `if ( true == true ) == true:` ... which is pretty silly, right? **NEVER** input `== true` into an `if` command (or `while` or anything like it). It is always redundant. From 892a1ee76eba292147cba3a6181e764283f1d9f6 Mon Sep 17 00:00:00 2001 From: Inquisitor <62276696+creaturesofhabit@users.noreply.github.com> Date: Thu, 25 Jun 2026 13:21:37 -0700 Subject: [PATCH 3/3] fix the fixed fix --- source/guides/troubleshooting/common-mistakes.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/source/guides/troubleshooting/common-mistakes.md b/source/guides/troubleshooting/common-mistakes.md index e7e7274..7bf83e4 100644 --- a/source/guides/troubleshooting/common-mistakes.md +++ b/source/guides/troubleshooting/common-mistakes.md @@ -300,7 +300,8 @@ It's simply too easy to cause a lot of problems for a lot of people when you're ### If True Is True Equal To Truly True Is The Truth -The way the `if` command in Denizen works is it processes the arguments using logical comparison techniques, then runs the code inside if the result is truthy(the word `true`, a non-empty list, a non-zero number, or so on). +The way the `if` command in Denizen works is it processes the arguments using logical comparison techniques, then runs the code inside if the result is truthy (the word `true`, a non-empty list, a non-zero number, or so on), and otherwise will not. + So, if a script does `- if == true:`, you're essentially saying `if ( true == true ) == true:` ... which is pretty silly, right? **NEVER** input `== true` into an `if` command (or `while` or anything like it). It is always redundant.