Вероятность выпадения примала – 1 раз на 400 легендарных предметов. В среднем. Может быть 200, а может 600. И даже может быть через несколько тысяч, но это плохо.
Как убрать такое “плохо”?
Например, ввести у героя счётчик выпадения предметов – и если примал выпал чаще, чем через 200 легендарок, то не давать его, а если реже, чем через 600 (1000, 2000…) то наоборот, давать лишний.
Окай, но Diablo в деталях =)
Дело в том, что в Диабло 3 – я не могу сказать, нету – но не замечено такого явления, как счётчик выпавших на землю предметов. Зато известно (из интервью с Тревисом), что игра выдаёт предметы по таблицам дропа. Экспериментами подтверждено, что таблицы дропа создаются заново на каждый открытый портал.
То есть перед каждым заходом в портал создаются таблицы, в которых написано, какие предметы и с какой вероятностью в этом портале раздавать. Если какого-то предмета в таблицах нет, то ждать его в текущем портале бессмысленно.
Окай, что дальше? Как игра должна понять, что у игрока изменилось число прималов?
Она опять же не ведёт счётчик выпадений, зато умеет посчитать число предметов какого-то типа в инвентори и сундуке вместе взятых. Это используется, например, когда в конце великого портала нужно выдать самоцвет, которого нет у игрока.
И совершенно неважно, самоцвет это или примал: айдентити предмета другой в ту же функцию подставили – и она ищет, что угодно. А выдаёт скорее всего не “есть/нету”, а “сколько”.
Дальше всё просто: убрали самоцвет в инвентори мулу – игра его не нашла и выдаёт его снова.
По аналогии: получили примал в текущем портале – не открывая следующий портал, сразу отдаём этот примал мулу. Игра при следующем проверке его не находит и продолжает думать, будто примал не выдан, потому что не изменилось общее число прималов в сундуке и в инвентори текущего персонажа на момент открытия следующего портала. Мулов она не смотрит и выдаёт примал снова.
Правда, она даст его не сразу (т.к. он всё же выдаётся с некой вероятностью), но гораздо быстрее, чем просто так (ибо таблицы дропа будут продолжать включать эту вероятность, считая её необнулённой).
А я тебя даже лайкнул. Потому что пускай разбираются с багами.
Куда их ещё репортить? Что в тех-поддержку, что в раздел багов – всё равно тема на форуме.
P.s. и если со мной что-то сделают, то это будет однозначным подтверждением, что дроп в игре сделан математически некорректно.
P.P.S. Я создаю такие темы, потому что меня неимоверно восхищают люди, готовые утверждать, что математика вредна и опасна.
https://inosmi.ru/social/20210223/249194508.html
цитата:
«Концепция о том, что математика исключительно объективна, является однозначно ложной, и ее нельзя преподавать в таком ключе, — говорится в документе под названием «Equitable Math» («Справедливая математика»)
Вместо того чтобы концентрироваться на правильном ответе, эта программа призывает учителей «предлагать как минимум два ответа, которые могут решить поставленную задачу»
Короче, 2+2=3, а 2x2=5 у них, понятно вам? )))))
А утверждать, будто 2+2=2x2=4 нельзя, потому что это ущемляет права тех, кто не способен выучить наизусть таблицу умножения.
И ни в коем случае не убирайте красные предметы в инвентори мулам после того, как их получили. Иначе вас зарепортят )))