Поле
В zedit пункт G) Оптимальное число игроков правит zone.group (src/engine/olc/zedit.cpp:946). Смысл нигде в редакторе/хелпах не пояснён, поэтому фиксирую, на что оно реально влияет.
1 = соло-зона, >1 = групповая/рейдовая на указанное число игроков. При загрузке 0 нормализуется в 1 («группы в 0 рыл не бывает»): boot_data_files.cpp:1605, yaml_world_data_source.cpp:578, sqlite_world_data_source.cpp:686.
На что влияет
-
Опыт за мобов зоны (главное). src/gameplay/core/experience.cpp:583-585:
обычно опыт = exp_моба / число_участников, но если zone.group > 1 и участников меньше, чем zone.group, то делитель = zone.group:
if (GetZoneGroup(victim) > 1 && members < GetZoneGroup(victim))
exp = victim->get_exp() / GetZoneGroup(victim);
То есть планка: полный опыт с групп-зоны идёт только при наборе «оптимального» числа людей; в недоборе/соло опыт = exp_моба / group. Для зоны с G=16 соло-килл даёт 1/16 опыта.
GetZoneGroup() берёт group из зоны моба: experience.cpp:47-57.
-
Логика «напарника» / анти-абьюз саммонами. Для соло-зон (group < 2): experience.cpp:747 и :762 (раздача partner-exp, чтобы не абьюзили реколом лишних мемберов).
-
Осмотр зоны. При group > 1 показывается «групповая на N человек»: src/gameplay/mechanics/sight.cpp:1398-1401.
-
Информационный вывод богам/билдерам: do_stat.cpp:257, do_show.cpp:544, do_liblist.cpp:146, help.cpp:556,1301.
Предложение
Добавить короткую подсказку в zedit рядом с пунктом G (например: «1 = соло; >1 = групп/рейд на N, опыт в недоборе делится на N») и/или строку в хелп билдера по zedit.
Найдено при вопросе билдера «на что влияет это поле».
Поле
В zedit пункт
G) Оптимальное число игроковправитzone.group(src/engine/olc/zedit.cpp:946). Смысл нигде в редакторе/хелпах не пояснён, поэтому фиксирую, на что оно реально влияет.1= соло-зона,>1= групповая/рейдовая на указанное число игроков. При загрузке0нормализуется в1(«группы в 0 рыл не бывает»):boot_data_files.cpp:1605,yaml_world_data_source.cpp:578,sqlite_world_data_source.cpp:686.На что влияет
Опыт за мобов зоны (главное).
src/gameplay/core/experience.cpp:583-585:обычно опыт =
exp_моба / число_участников, но еслиzone.group > 1и участников меньше, чемzone.group, то делитель =zone.group:То есть планка: полный опыт с групп-зоны идёт только при наборе «оптимального» числа людей; в недоборе/соло опыт =
exp_моба / group. Для зоны сG=16соло-килл даёт 1/16 опыта.GetZoneGroup()берётgroupиз зоны моба:experience.cpp:47-57.Логика «напарника» / анти-абьюз саммонами. Для соло-зон (
group < 2):experience.cpp:747и:762(раздача partner-exp, чтобы не абьюзили реколом лишних мемберов).Осмотр зоны. При
group > 1показывается «групповая на N человек»:src/gameplay/mechanics/sight.cpp:1398-1401.Информационный вывод богам/билдерам:
do_stat.cpp:257,do_show.cpp:544,do_liblist.cpp:146,help.cpp:556,1301.Предложение
Добавить короткую подсказку в zedit рядом с пунктом G (например: «1 = соло; >1 = групп/рейд на N, опыт в недоборе делится на N») и/или строку в хелп билдера по zedit.
Найдено при вопросе билдера «на что влияет это поле».