Практически в каждом бою, я сталкиваюсь с ситуацией, когда в пылу боя, переключившись на следующего бота после смерти или по своей воле, сделав два-три выстрела из какого-нибудь MG42, я обнаруживаю, что патроны кончились. Обычно за этим следует респавн. Это категорически раздражает. Почему бы не добавить простенький bool, которой научит ботов производить перезарядку при условии, что в магазине осталось 20 или меньше процентов патронов от полного магазина?
Вот вам деже сферический конь в вакууме:
Ты не представляешь как весело переключаться на 2-3 ботов подряд у которых из огромного барабана осталось только 2 патрона…
Когда-нибудь они начнут перезаряжаться
Я тут понял, что это вызовет баг с бесконечной перезарядкой, так как может сложиться ситуация, когда у бота останется два или три магазина, заполненных как раз на те самые проценты (так как игра помнит, сколько патронов было в предыдущих магазинах). В таком случае, условие будет верным всегда, что и вызовет бесконечную перезарядку. В общем, программерам удачи х)
Нет, я имею в виду, что игра помнит какое количество патронов было в магазине в момент перезарядки.
Ну, если у тебя было 2 магазина по 32 патрона, и ты отстрелял 10 патронов, а затем перезарядил - у тебя снова будет 32. Но когда ты перезарядишь оружие в следующий раз, то в магазине будут оставшиеся с прошлого раза 22 патрона, а не 32.
Бот заряжает каждый раз полный магазин независимо от того сколько патронов у него осталось. Вы можете растрелять все патроны в ноль, передать управление боту и бот перезарядит его на полный магазин. Так же боты не тратят магазины. Они могут сколько угодно стрелять доставая новые магазины из пустоты, не тратя при этом патронов из запаса. Другими словами все что тратит бот это патроны из текущего магазина.
Когда переключаешься на бота явно срабатывает рандомизатор цифр и показывает сколько патронов осталось в магазине.
Бот вседа должны иметь полный магазин при переключении на него.