if (weapon != null && weapon.getItemType() == WeaponType.BOW) {
double distance = attacker.getPlanDistanceSq(target);
if (distance > 90000) {
damage *= 0.8; // штраф за большую дистанцию (более ~300)
} else if (distance < 10000) {
damage *= 0.9; // штраф за слишком близкое расстояние (менее ~100)
}
}Простыми словами:
😄Слишком далеко (например, дальше 300) - урон понижается.
😄Слишком близко (например, ближе 100) - урон тоже понижается, так как стрела условно не успела разогнаться.
Это отражает балансный подход, чтобы луки не дамажили одинаково на любой дистанции и мотивировать держать оптимальную дальность.
Новые сервера Lineage 2 ⭐ Блог Lineage 2 ⭐ Телеграм
