5

» Корсары / Передача данных

Поэтому максимально всем рекомендуется подписывать типы данных в названии переменных, чтоб хоть как-то снизить жопную боль.
Как правило, этого достаточно, но в движке есть varType на такой случай, в скриптах пока никем нигде не применялось)
5

» Корсары / Условные операторы

побороть ограничение на И + ИЛИ
Ага, но через арифметику - это шуточный вариант. В Реконе и Far Horizons используют:
bool Con(bool a, bool b) {return a && b;} //КОНЪЮНКЦИЯ
bool Dis(bool a, bool b) {return a || b;} //ДИЗЪЮНКЦИЯ
То есть некорректное if( (a && b) || c) можно превратить в работающее if( Con(a, b) || c)
Злоупотреблять Con/Dis не стоит, код может стать неудобочитаемым, но в иных случаях всё понятно, можно не плодить лишние предваряющие bool'ы.
Также важно помнить про оптимизацию (сначала базовые чеки релевантности, потом большие функции), о ней в гайде ты написал, и, например, что проверка значений атрибута обычно идёт в связке с проверкой его наличия (если только заведомо не известно, что он есть).
5

» Корсары / Массивы

В качестве динамических массивов можно использовать атрибутную систему. В движке атрибуты - это отдельный класс, напоминающий рекурсивный ассоциативный массив.