Originally posted by [b]Daegaladh[/b]
http://www.eathena.ws/board/index.php?autocom=bugtracker&showbug=3675
Maybe could be more optimized but here is
Tested and working :3
skill.c
CODE
case NPC_PULSESTRIKE:
case NPC_HELLJUDGEMENT:
case NPC_VAMPIRE_GIFT:
if( flag&1 )
{ //Recursive invocation
// skill_area_temp[0] holds number of targets in area
// skill_area_temp[1] holds the id of the original target
// skill_area_temp[2] counts how many targets have already been processed
int sflag = skill_area_temp[0] & 0xFFF;
if( flag&SD_LEVEL )
sflag |= SD_LEVEL; // -1 will be used in packets instead of the skill level
if( skill_area_temp[1] != bl->id && !(skill_get_inf2(skillid)&INF2_NPC_SKILL) )
sflag |= SD_ANIMATION; // original target gets no animation (as well as all NPC skills)
if( skillid == NPC_VAMPIRE_GIFT ) {
int heal = skill_attack(BF_WEAPON, src, src, bl, skillid, skilllv, tick, flag);
if (heal > 0){
clif_skill_nodamage(NULL, src, AL_HEAL, heal, 1);
status_heal(src, heal, 0, 0);
}
}
skill_attack(skill_get_type(skillid), src, src, bl, skillid, skilllv, tick, sflag);
}
CODE
case NPC_HELLJUDGEMENT:
case NPC_PULSESTRIKE:
case NPC_VAMPIRE_GIFT:
skill_castend_damage_id(src, src, skillid, skilllv, tick, flag);
break;
skill_db.txt
CODE
679,0,6,4,0,0x2,2:5:8:11:14,10,1,no,0,0x2,0,none,0, NPC_VAMPIRE_GIFT,Vampire Gift
Oops, I forgot battle.c
CODE
case NPC_HELLJUDGEMENT:
case NPC_PULSESTRIKE:
case NPC_VAMPIRE_GIFT:
skillratio += 100*(skill_lv-1);
break;
This post has been edited by Daegaladh: Oct 23 2009, 10:27 PM