Здравствуйте, гость ( Вход | Регистрация )

> Оверрайд элементального урона у мобайла с оружием
Sergius Grey
сообщение 29.9.2015, 22:10
Сообщение #1


****

Apprentice
Сообщений: 149
Регистрация: 20.6.2011
Группа: Пользователи
Наличность: 0
Пользователь №: 13.734
Возраст: 23



Есть мобайл, наемник, гуманоид. У него в руке может быть разное оружие, артовое к примеру, но нужно сделать так, чтобы элементальный урон (огнем колдом и тд) был всегда одинаковый и не брался с оружия.

Альтернативно, если это не получится сделать адекватно, прописать мобайлу постоянный эффект заклинания консекрус арма, типа
weapon.Consecrated = true;
Но как это прописать точно, я опять же не знаю из за незнания языка.


На счет первого варианта - нужно прописать следующее, но через оверрайд

SetDamageType( ResistanceType.Physical, 20 );
SetDamageType( ResistanceType.Fire, 20 );
SetDamageType( ResistanceType.Cold, 20 );
SetDamageType( ResistanceType.Poison, 20 );
SetDamageType( ResistanceType.Energy, 20 );

Но как бы оно не конфликтовало с оружием в руках моба =(
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
 
Ответить в эту темуОткрыть новую тему
Ответов
Sergius Grey
сообщение 2.10.2015, 1:52
Сообщение #2


****

Apprentice
Сообщений: 149
Регистрация: 20.6.2011
Группа: Пользователи
Наличность: 0
Пользователь №: 13.734
Возраст: 23



Если пропсом - то да. Но если это арт и в скрипте этого арта прописано, как на примере ниже, тогда при одевании этого арта оно берет значения арта. Именно если на арте прописан override void GetDamageTypes

Если бы все было так просто, я бы этот вопрос и не писал бы, так как первым делом именно это и сделал. Тестил я если что с LifeSyphon мечом, а у него вписан через оверрайд физ дамаг 100, так как я делал массово арты из SA для ранки 2.0 по шаблону и случайно это там так и осталось. Но с другими оружиями так же...


Код

        public override void GetDamageTypes( Mobile wielder, out int phys, out int fire, out int cold, out int pois, out int nrgy )
        {
            phys = 50;
            fire = 50;
            nrgy = 0;
            pois = 0;
            cold = 0;
            
        }

То
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения



Ответить в эту темуОткрыть новую тему
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 

- Текстовая версия | Версия для КПК Сейчас: 18.9.2025, 13:12
Designed by Nickostyle