Автор: 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?