Перейти к содержанию

Переписать навык и стабилизировать


Рекомендуемые сообщения

Прошу помочь мне переписать навык Jack Frost (Навык 3ей профессии хай визарда) так что бы Урон не зависил не от каких либо параметров

А был стандартный Урон (как например у навыка Throw Stone) только не 50 а 50.000 И кидался статус кровотечения, игнорируя все карты защиты

Пожалуйста помогите это сделать, по этому примеру я уже сделаю остальные 2 навыка)

Заранее Спасибо

Ссылка на комментарий
Поделиться на другие сайты

Так же прошу помочь с навыком Devotion у паладина, Дело в том что я хочу сделать так что бы нитка передавал урон и от рефлекта, и от противников, А ещё что бы при использовании Щитов они кидались на персонажей которые находятся так же под ниткой

Ссылка на комментарий
Поделиться на другие сайты

  • 3 недели спустя...
  • 4 недели спустя...

Никто не поможет?(( До сих пор не нашёл ответа, Пытался взять за основу другой навык в котором урон стабильный но ошибки летят и летят( не получается(((( Помогите пожалуйстаа

Ссылка на комментарий
Поделиться на другие сайты

заходим в skill_db.txt и ищем:

Цитата

2204,0,8,4,1,0x2,5:6:7:8:9,5,-5,yes,0,0,0,magic,0,0x0,    WL_JACKFROST,Jack Frost

меняем на:

Цитата

2204,0,8,4,1,0x2,5:6:7:8:9,5,-5,yes,0,0,0,misc,0,0x0,    WL_JACKFROST,Jack Frost

Далее идем в skill_cast_db.txt и ищем:

Цитата

//-- WL_JACKFROST
2204,2000:2500:3000:3500:4000,1000,0,10000:15000:20000:25000:30000,0,0

меняем на:

Цитата

//-- WL_JACKFROST
2204,2000:2500:3000:3500:4000,1000,0,10000:15000:20000:25000:30000,60000,0

Теперь осталось дело за малым =)

Идем в src/map/battle.c и ищем строки:

Цитата

/*==========================================
 * Calculate "misc"-type attacks and skills
 *------------------------------------------
 * Credits:
 *    Original coder Skotlex
 *    Refined and optimized by helvetica
 */
struct Damage battle_calc_misc_attack(struct block_list *src,struct block_list *target,uint16 skill_id,uint16 skill_lv,int mflag)
{

листаем чуть ниже и видим:

Цитата

    switch (skill_id) {
        case NC_MAGMA_ERUPTION: // 'Eruption' damage
            md.damage = 800 + 200 * skill_lv;
            break;

добавляем после:

Цитата

            case WL_JACKFROST:
                md.damage = 50000 * skill_lv;
                break;

Далее идем в src/map/skill.c и ищем строки:

Цитата

/*==========================================
 * Add effect to skill when hit succesfully target
 *------------------------------------------*/
int skill_additional_effect(struct block_list* src, struct block_list *bl, uint16 skill_id, uint16 skill_lv, int attack_type, enum damage_lv dmg_lv, unsigned int tick)
{

Мотаем ниже пока не находим:

Цитата

    case WL_JACKFROST:
        sc_start(src,bl,SC_FREEZE,200,skill_lv,skill_get_time(skill_id,skill_lv));
        break;

Меняем на:

Цитата

    case WL_JACKFROST:
        status_change_start(src, bl, SC_BLEEDING, 10000, skill_lv, src->id, 0, 0, skill_get_time2(skill_id, skill_lv), SCSTART_NOAVOID);
        break;

10000 это 100% шанс наложения статуса =)

Далее заходим в src/map/status.c и ищем:

Цитата

add_sc( WL_JACKFROST        , SC_FREEZE          );

Добавляем после:

Цитата

add_sc( WL_JACKFROST        , SC_BLEEDING        );

Вот и всё =)

А насчет Devo, он вроде и так по дефолту работает так как ты хочешь О_О

Изменено пользователем Nurkz
  • Upvote 1
Ссылка на комментарий
Поделиться на другие сайты

Блин) Я понял всё что касается дб))) А вот в сорце не понятно немного)))  Повторить смогу))) Спасибо большое за помощь!!!

Ссылка на комментарий
Поделиться на другие сайты

Это прописано в exe файле.

Можешь конечно за текстурку поменять,

но я думаю выйдет треш.
 

\data\texture\effect\

 

Изменено пользователем Salfer
Ссылка на комментарий
Поделиться на другие сайты

Хмм Попытался так же провернуть с навыком FrostMisty Не проканало) Дамаг не изменился и остался верным (инте) Хотя компилировалось всё успешно) в скил дб и каст дб всё верно, в сорце всё поменял без проблем но что то не так пошло походу

 

Ссылка на комментарий
Поделиться на другие сайты

×
×
  • Создать...
Яндекс.Метрика