С удачей, как ни странно, ничего особо неизвестного в коде нет.
На раббокс кидается кубик на 30, так что если удача больше 30, то он у обурца гарантирован.
На маленького цыка кидается кубик на 100. На сокровище (вроде личную вещь советника) в магазине — тоже.
Меньше нуля удача быть не может из-за проверок типа if (GamerResult.luck < 0) GamerResult.luck = 0; после вроде бы каждого отъёма удачи — блин, вот где бы setter-метод пригодился бы, да.