Изменения кода, связанные с faction, просто спрятали возможный баг, сделав проверку бесполезной.
Utils::GetFactionId может вернуть 0, 1 или false. Однако false == 0. Вам нужно в этом месте использовать сравнение !== вместо !=. Оно проверит тип, после него false !== 0.
|