diff --git a/src/map/achievement.c b/src/map/achievement.c index 90b1059a34..dc6c45a516 100644 --- a/src/map/achievement.c +++ b/src/map/achievement.c @@ -879,8 +879,8 @@ const char* av_parse_subexpr(const char* p, int limit, struct av_condition *pare p = skip_space(p); while(( - (op=C_ADD,opl=9,len=1,*p=='+') || - (op=C_SUB,opl=9,len=1,*p=='-') || + ((op=C_ADD,opl=9,len=1,*p=='+') && p[1]!='+') || + ((op=C_SUB,opl=9,len=1,*p=='-') && p[1]!='-') || (op=C_MUL,opl=10,len=1,*p=='*') || (op=C_DIV,opl=10,len=1,*p=='/') || (op=C_MOD,opl=10,len=1,*p=='%') ||