Anyone know how to do it, I tried look into source...but dont understand,
Now Lux Anima just transfer rune to only one party member in range.
Sourc: Lux Anima:
Now Lux Anima just transfer rune to only one party member in range.
Sourc: Lux Anima:
Code:
if( sd == NULL || sd->status.party_id == 0 || flag&1 ){
if( src == bl )
break;
while( skill->area_temp[5] >= 0x10 ){
int value = 0;
type = SC_NONE;
if( skill->area_temp[5]&0x10 ){
value = (rnd()%100<50) ? 4 : ((rnd()%100<80) ? 3 : 2);
clif->millenniumshield(bl,value);
skill->area_temp[5] &= ~0x10;
type = SC_MILLENNIUMSHIELD;
}else if( skill->area_temp[5]&0x20 ){
value = status_get_max_hp(bl) * 25 / 100;
status->change_clear_buffs(bl,4);
skill->area_temp[5] &= ~0x20;
status->heal(bl,value,0,1);
type = SC_REFRESH;
}else if( skill->area_temp[5]&0x40 ){
skill->area_temp[5] &= ~0x40;
type = SC_GIANTGROWTH;
}else if( skill->area_temp[5]&0x80 ){
if( dstsd ){
value = sstatus->hp / 4;
if( status->charge(bl,value,0) )
type = SC_STONEHARDSKIN;
skill->area_temp[5] &= ~0x80;
}
}else if( skill->area_temp[5]&0x100 ){
skill->area_temp[5] &= ~0x100;
type = SC_VITALITYACTIVATION;
}else if( skill->area_temp[5]&0x200 ){
skill->area_temp[5] &= ~0x200;
type = SC_ABUNDANCE;
}
if( type > SC_NONE )
clif->skill_nodamage(bl, bl, skill_id, skill_lv,
sc_start4(src,bl, type, 100, skill_lv, value, 0, 1, skill->get_time(skill_id, skill_lv)));
}
}else if( sd ){
if( tsc && tsc->count ){
if(tsc->data[SC_MILLENNIUMSHIELD])
skill->area_temp[5] |= 0x10;
if(tsc->data[SC_REFRESH])
skill->area_temp[5] |= 0x20;
if(tsc->data[SC_GIANTGROWTH])
skill->area_temp[5] |= 0x40;
if(tsc->data[SC_STONEHARDSKIN])
skill->area_temp[5] |= 0x80;
if(tsc->data[SC_VITALITYACTIVATION])
skill->area_temp[5] |= 0x100;
if(tsc->data[SC_ABUNDANCE])
skill->area_temp[5] |= 0x200;
}
clif->skill_nodamage(src, bl, skill_id, skill_lv, 1);
party->foreachsamemap(skill->area_sub, sd, skill->get_splash(skill_id, skill_lv), src, skill_id, skill_lv, tick, flag|BCT_PARTY|1, skill->castend_nodamage_id);
}