Назад

Baphomet Card + splash

Автор: Alort: Дата: 02.02.2011

Имеем Baphomet Card, каким образом можно сделать сплеш на скилы, азура, соник,ад и прочие, но чтобы можно было явно указывать на какие скилы будет работать сплеш, а на какие нет?

Напомню что Baphomet Card дает сплеш на простые атаки радиусом 3х3.

Блин, сорри, создал немного не в том разделе...

Автор: Alort: Дата: 02.02.2011

Оки учту, вообще по идее я хочу сделать на все скилы, но чтобы можно было поставить ограничение. К примеру, все скилы кроме: ада. Как то так.

Автор: Extez1: Дата: 02.02.2011

Азура с плеш:)) : D прям роял гварды)))

Автор: Alort: Дата: 02.02.2011

Цитата Jarek;32295]Если хочешь сделать для каждого класса - свой набор скиллов, то тут я даже хз.
Но если ты с помощью карты хочешь сделать определенный набор скиллов со сплешем, то я вижу такой вариант:
Кастомный статус, а дальше по аналогии с линком на монаха:


skill.c:
int skill_castend_damage_id (struct block_list* src, struct block_list *bl, int skillid, int skilllv, unsigned int tick, int flag)
{

case MO_COMBOFINISH:
if (!(flag&1) && sc && sc->data[SC_SPIRIT] && sc->data[SC_SPIRIT:
->val2 == SL_MONK)
{ //Becomes a splash attack when Soul Linked.
map_foreachinrange(skill_area_sub, bl,
skill_get_splash(skillid, skilllv),splash_target(src),
src,skillid,skilllv,tick, flag|BCT_ENEMY|1,
skill_castend_damage_id);
} else
skill_attack(BF_WEAPON,src,src,bl,skillid,skilllv,tick,flag);
break;


Пишем для нужных скиллов похожее условие, только проверяем на свой кастомный статус и делаем скилл со сплеш-атакой.

Скорее всего я чего-то намудрил и можно обойтись проще, но пока ничего не приходит на ум :(


Тоесть получается условно: пишу статус(свой кастомный, опираясь на линкованного монка, тоесть на его комбофиниш, так как это возможно именно то что нужно), добавляю его в скрипт вещи - в данном случае у карты бафо вместо простого дефолт_сплеша, будет мой_сплеш, далее: добавляю свой кастомный сплеш во все нужные мне скилы - с проверкой на одетое оружие с картой бафа(как то так), так ?

Автор: Jarek: Дата: 02.02.2011

в карте пишем sc_start SC_MYSTATUS,-1,0;
а в сырцах в проверке if (sc && sc->data[SC_MYSTATUS])

Ну еще в скрипт снятия карты нужно вписать sc_end соответственно

Автор: Alort: Дата: 02.02.2011

А примерно что и куда вписывать в status.c?