Тактическая перезарядка для ботов

Практически в каждом бою, я сталкиваюсь с ситуацией, когда в пылу боя, переключившись на следующего бота после смерти или по своей воле, сделав два-три выстрела из какого-нибудь MG42, я обнаруживаю, что патроны кончились. Обычно за этим следует респавн. Это категорически раздражает. Почему бы не добавить простенький bool, которой научит ботов производить перезарядку при условии, что в магазине осталось 20 или меньше процентов патронов от полного магазина?
Вот вам деже сферический конь в вакууме:

if ( current_ammo <= ( reload_percent * mag_capacity / 100 )) {
reload_idiot(foo);
}

21 лайк

Ты не представляешь как весело переключаться на 2-3 ботов подряд у которых из огромного барабана осталось только 2 патрона…
Когда-нибудь они начнут перезаряжаться

2 лайка
1 лайк

А ты оптимист

5 лайков

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

3 лайка

Магазины у ботов бесконечные. Ну то есть нет подсчёта магазинов в подсумке

2 лайка

я еще верю, что нас ждут нормальные патчи
и у игры есть шансы дожить до релиза

2 лайка

Нет, я имею в виду, что игра помнит какое количество патронов было в магазине в момент перезарядки.
Ну, если у тебя было 2 магазина по 32 патрона, и ты отстрелял 10 патронов, а затем перезарядил - у тебя снова будет 32. Но когда ты перезарядишь оружие в следующий раз, то в магазине будут оставшиеся с прошлого раза 22 патрона, а не 32.

1 лайк

Нужно только, чтобы это умение ботов было опциональным.

1 лайк

Да, тут понял) дичь получится с бесконечным циклом тогда

1 лайк

Полностью согласаен. Берёшь бота, у него 1 патрон в пулемёте. Боты постоянно бегают с практически пустым магазином… Это бесит.

Бот заряжает каждый раз полный магазин независимо от того сколько патронов у него осталось. Вы можете растрелять все патроны в ноль, передать управление боту и бот перезарядит его на полный магазин. Так же боты не тратят магазины. Они могут сколько угодно стрелять доставая новые магазины из пустоты, не тратя при этом патронов из запаса. Другими словами все что тратит бот это патроны из текущего магазина.

3 лайка

Отлично! Ну тогда проблем не вижу вообще, хай перезаряжают как указано в посте и все будут счастливы!

Не с “практически”. Насколько я понял, последний патрон в магазине бота никогда не кончается. Вот только эта хитрость из одиночных шутеров.

То есть, получается, что ты ещё и в релиз веришь?)

да он много во что верит
например, в кислород, если им дышать

Когда переключаешься на бота явно срабатывает рандомизатор цифр и показывает сколько патронов осталось в магазине.
Бот вседа должны иметь полный магазин при переключении на него.

1 лайк

Ага, я вот так же верю в релиз таркова, когда-нибудь

а я в релиз доты 2

still beta