diff --git a/src/d_netcmd.c b/src/d_netcmd.c index 65d1f2d3d..18239fccf 100644 --- a/src/d_netcmd.c +++ b/src/d_netcmd.c @@ -4876,7 +4876,7 @@ static void Command_cxdiag_f(void) continue; } - if (cn->type == UC_AND || cn->type == UC_COMMA) + if (cn->type == UC_AND || cn->type == UC_THEN || cn->type == UC_COMMA) { if (firstpass) ; diff --git a/src/deh_soc.c b/src/deh_soc.c index 3948d3a27..e508c8d49 100644 --- a/src/deh_soc.c +++ b/src/deh_soc.c @@ -2983,6 +2983,7 @@ static void readcondition(UINT16 set, UINT32 id, char *word2) } } else if ((offset=0) || fastcmp(params[0], "AND") + || (++offset && fastcmp(params[0], "THEN")) || (++offset && fastcmp(params[0], "COMMA"))) { //PARAMCHECK(1); diff --git a/src/m_cond.c b/src/m_cond.c index 226443e38..f4d5422a6 100644 --- a/src/m_cond.c +++ b/src/m_cond.c @@ -1638,6 +1638,7 @@ boolean M_CheckCondition(condition_t *cn, player_t *player) // Just for string building case UC_AND: + case UC_THEN: case UC_COMMA: case UC_DESCRIPTIONOVERRIDE: return true; @@ -2008,7 +2009,7 @@ static boolean M_CheckConditionSet(conditionset_t *c, player_t *player) continue; // Skip entries that are JUST for string building - if (cn->type == UC_AND || cn->type == UC_COMMA || cn->type == UC_DESCRIPTIONOVERRIDE) + if (cn->type == UC_AND || cn->type == UC_THEN || cn->type == UC_COMMA || cn->type == UC_DESCRIPTIONOVERRIDE) continue; lastID = cn->id; @@ -2524,6 +2525,8 @@ static const char *M_GetConditionString(condition_t *cn) case UC_AND: return "&"; + case UC_THEN: + return "then"; case UC_COMMA: return ","; case UC_DESCRIPTIONOVERRIDE: diff --git a/src/m_cond.h b/src/m_cond.h index 90c219c39..b23d267f1 100644 --- a/src/m_cond.h +++ b/src/m_cond.h @@ -76,6 +76,7 @@ typedef enum // Just for string building UC_AND, + UC_THEN, UC_COMMA, UC_DESCRIPTIONOVERRIDE,