Цитата(Sergius Grey @ 1.10.2015, 1:19)

Juzzver, setdamagetype перекрывает лишь в том случаи, когда на оружии ничего не прописано по элемент.урону и он по дефолту 100 физ. А если прописано через:
Код
public override void GetDamageTypes( Mobile wielder, out int phys, out int fire, out int cold, out int pois, out int nrgy )
{
phys = fire = cold = pois = 0;
nrgy = 100;
}
, какую бы стихию (включая физ 100) тут не прописывать, урон эта хрень на оружии перекрывает мобайловский, увы.
Aimed, мысль интересная, завтра опробую и отпишу, спасибо. А то сейчас уже спать пора.
Буду так же рад, если подскажите как прописать постоянный эффект консекруса у моба, если в руках оружие. Это даже более лучшая идея (по концепции больше подходит).
Проблема в том, что этот эффект не у моба, а у оружия.
Тоесть, если ты хочешь сделать через weapon.Consecrated = true;
Тогда делаешь тоже самое что я тебе сказал и просто его выставляешь если item is BaseWeapon.
Вот пример с одеванием и новым методом:
Код
public override void AddItemBonuses(Item item)
{
var weapon = item as BaseWeapon;
if(weapon != null)
{
weapon.Consecrated = true;
}
item.OnAdded( this );
}
Цитата(Juzzver @ 1.10.2015, 0:34)

Имеется ввиду, чтобы на оружие вешался элементальный дамаг по фаеру к примеру, в момент одевания вепона, и в момент снятия - чтобы возвращались исходные дамаги на оружие. Сделать это можно через переопределение методов OnAdded и OnRemove. Но я бы не стал прибегать к такому варианту.
Если не ошибаюсь, SetDamageType перекрывает элементальные дамаги орудия.
Какой урон прошел, скорее всего будет определяется в OnHit методе, соответственно там можно организовать проверку с броадкастом или выводом на консоль, куда будет выводится прошедший дамаг по мобайлу, ну и исходя из этого сделать выводы подходит такой вариант или нет.
Кстати да.
Они перекрывают, просто у него они выставляются при создании персонажа, а потом он одевается и как итог от перекрытия толку 0.
Нужно вывести выставление этих дамагов в отдельный метод и сделав оверрайд в самом Esquire.OnItemAdded(Item item)/OnItemRemoved(Item item)
Уже в них выставлять вызывая этот новый метод.
Эти методы вызываются после того как вещь оделась и добавила бонусы персонажу.
Так легче сделать, правда получается что выполняется куча кода впустую. Сначало добавляем бонусы при одевании, потом их оверрайдим...