А почему onHit накладно? (абсолютно не в курсе)
Кроме того, есть железный кинжал, которым сильно при всем желании не ударишь, а есть коса, которой трудно слабо шмякнуть.
Если ставить в код onHit оружия проверку:
* не попал в противника, но пробил тачАС, то кидаем простой дамаг, отнимаем от него Харднесс объекта который били, плюс с самого оружия снимаем сколько хитов сколько получилось в атаке - Харднесс оружия.
+ Если попал, то нормально - клинок в плоть, вошел с чего ломаться?
- Если вообще не попал, то чего нервничать - об воздух клинки не ломаются.
Модификация для извращенных: проверка, если противник в Парри и парировал, то снимаем хиты-Харднесс не с брони, а с его оружия. Ну и со своего тоже.
Для супер-вредных: Когда у оружия остается меньше 5 хитов, предупреждаем плеера об этом, и вешаем на него (оружие) спецабилку -1 атака, -1 дмг. Ну и покупочную цену соответственно снижаем в 4 раза.
Харднесс железного оружия: 10, Дерева: 5, Кожи: 2
Мифрил: 15, Адамантин: 20.
Хиты брони: 5 * Армор бонус
Хиты оружия: от 2 (short sword и меньше) до 20 (heavy mace)
-----
Я кучу всего наговорил, возможно в этом нету ни капли полезной информации, но я просто представил, как это бы делал я, если бы меня угораздило за это взятся.
Если чего не понятно, спрашивайте, будем разбираться вместе с вами