Нашёл способ, как можно воспроизвести проблему:
static enum
{
MAX_AIR_OBJECTS = 4,
Float:SPAWN_DISTANCE_AREA = 1500.0,
};
main()
{
new x, Float:f;
#pragma unused f, x
#assert tagof(MAX_AIR_OBJECTS) == tagof(x)
#assert tagof(SPAWN_DISTANCE_AREA) == tagof(f)
}
Код:
test.pwn(12) : fatal error 110: assertion failed: tagof(SPAWN_DISTANCE_AREA) == tagof(f)
Т.е. у константы SPAWN_DISTANCE_AREA тег не "Float", а "_". Иначе говоря, при объявлении констант через enum тег игнорируется. Пока что не уверен, баг это или фича (больше склоняюсь к первому, но мало ли). Завтра попробую разобраться, если будет время.