От order зависит очередь применения значений статы в калькуляторе - берутся значения с меньшим ордером и по возрастающей.
В итоге, когда к примеру в калькуляторе попадается с одним ордером например сложение и умножение - получаем неопределенное поведение, т.к. .раз на раз одна и та же последовательность операций совершенно не гарантируется.
Т.е. один раз к примеру может быть (x + y) * z, а в другой x * z + y, что само собой приведет к разному результату.
Потому и негласно принято делать для сложения/вычитания и умножения/деления разные значения ордеров, чтобы не было такой путаницы.
0x10/0x0C обычно используют под начальное выставление параметров в предметах и для бонусов от заточки;
0х20 обычно используется для неявных модификаций значения в самом ядре сразу после начальной установки (обычно в классе StatFunctions ядра)
0x30/0x50 для умножения и деления;
0x40/0x60 для сложения и вычитания;
0х80 часто для установки параметра в финальное значение, которое не должно зависеть от других операций над статой, с более низким ордером;
0х100 для лимитирования макс/мин. значения некоторых стат (обычно в классе StatFunctions ядра)
Еще могут иногда задействоваться ордеры выше 0х100, если надо в какой-то ситуации обойти лимит. Я так к примеру какое-то время делал в драко пухах бонус к макс. хп, который должен обходить максимальный лимит хп в 150к. Потом правда пришлось это переделывать по другому, т.к. оказалось что в данном случае это был неправильный подход, ибо там при экпипировке драко пух вобще полностью убирает лимит на хп, даже если статы на хп идут из других источников, не от пассивки в самой драко пухе