У меня некоторые предметы заменяются на другие версии этих предметов при проверке IsUnitType(u, UNIT_TYPE_RANGED_ATTACKER) или наоборот IsUnitType(u, UNIT_TYPE_MELEE_ATTACKER), дается та версия которая должна быть у ближнего или дальнего боя и всё работает хорошо, пока я случайно не обнаружил странный баг. Когда герой покупает орб с коррупцией (или как это там называется, тот орб что броню понижает), он становится одновременно мили и ренджед героем, обе функции возвращают true. Из-за этого происходит бесконечная рекурсия, забирается ренджед предмет, дается милишный, а ты у нас ренжовый, на тебе ренжед вместо мили, получил ренджед? ты мили, на тебе замену на мили версию и так по кругу, пока игра не вылетит через секунду молча. Каким образом оно делает милишного героя дальним боем? Причем де-факто герой и остался ближним и не должен становиться дальним. Почему вампиризм и ледяная атака так не делают? Как с этим бороться?
Принятый ответ
потому что орб заменяет индекс атаки по умолчание стоит 0 как береш орб заменяет на 1 а 1 это который может бить ближный а также бить летаюших дальным рендж
`
ОЖИДАНИЕ РЕКЛАМЫ...
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
Ред. quq_CCCP
после проверки вкладывай обратно