|
@@ -2879,6 +2879,7 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl, int
|
|
case AS_SPLASHER:
|
|
case AS_SPLASHER:
|
|
case AS_GRIMTOOTH:
|
|
case AS_GRIMTOOTH:
|
|
case SM_MAGNUM:
|
|
case SM_MAGNUM:
|
|
|
|
+ case HT_BLITZBEAT:
|
|
case MC_CARTREVOLUTION:
|
|
case MC_CARTREVOLUTION:
|
|
case NPC_SPLASHATTACK:
|
|
case NPC_SPLASHATTACK:
|
|
case AC_SHOWER:
|
|
case AC_SHOWER:
|
|
@@ -2895,7 +2896,7 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl, int
|
|
{ //Invoked from map_foreachinarea, skill_area_temp[0] holds number of targets to divide damage by.
|
|
{ //Invoked from map_foreachinarea, skill_area_temp[0] holds number of targets to divide damage by.
|
|
if (skill_area_temp[1] != bl->id)
|
|
if (skill_area_temp[1] != bl->id)
|
|
skill_attack(skill_get_type(skillid), src, src, bl,
|
|
skill_attack(skill_get_type(skillid), src, src, bl,
|
|
- skillid, skilllv, tick, skill_area_temp[0]|0x1500);
|
|
|
|
|
|
+ skillid, skilllv, tick, skill_area_temp[0]|0x1900);
|
|
else if (skillid == KN_BRANDISHSPEAR)
|
|
else if (skillid == KN_BRANDISHSPEAR)
|
|
skill_attack(skill_get_type(skillid), src, src, bl,
|
|
skill_attack(skill_get_type(skillid), src, src, bl,
|
|
skillid, skilllv, tick, skill_area_temp[0]);
|
|
skillid, skilllv, tick, skill_area_temp[0]);
|
|
@@ -2905,7 +2906,8 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl, int
|
|
clif_skill_nodamage(src,bl,skillid,skilllv,1);
|
|
clif_skill_nodamage(src,bl,skillid,skilllv,1);
|
|
skill_area_temp[0] = 0;
|
|
skill_area_temp[0] = 0;
|
|
skill_area_temp[1] = bl->id;
|
|
skill_area_temp[1] = bl->id;
|
|
- if (skill_get_nk(skillid)&NK_SPLASHSPLIT)
|
|
|
|
|
|
+ //0xF000 -> Forced splash damage for Auto Blitz-Beat
|
|
|
|
+ if (flag&0xF000 || skill_get_nk(skillid)&NK_SPLASHSPLIT)
|
|
map_foreachinrange(skill_area_sub, bl,
|
|
map_foreachinrange(skill_area_sub, bl,
|
|
skill_get_splash(skillid, skilllv), BL_CHAR,
|
|
skill_get_splash(skillid, skilllv), BL_CHAR,
|
|
src, skillid, skilllv, tick, BCT_ENEMY, skill_area_sub_count);
|
|
src, skillid, skilllv, tick, BCT_ENEMY, skill_area_sub_count);
|
|
@@ -2919,7 +2921,7 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl, int
|
|
|
|
|
|
//Splasher Should do 100% damage on targetted character.
|
|
//Splasher Should do 100% damage on targetted character.
|
|
skill_attack(skill_get_type(skillid), src, src, bl, skillid, skilllv,
|
|
skill_attack(skill_get_type(skillid), src, src, bl, skillid, skilllv,
|
|
- tick, skillid == AS_SPLASHER?0:skill_area_temp[0]);
|
|
|
|
|
|
+ tick, (skillid == AS_SPLASHER?0:skill_area_temp[0])|(flag&0xF000));
|
|
|
|
|
|
if (skillid == SM_MAGNUM) {
|
|
if (skillid == SM_MAGNUM) {
|
|
//Initiate 10% of your damage becomes fire element.
|
|
//Initiate 10% of your damage becomes fire element.
|
|
@@ -2928,31 +2930,6 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl, int
|
|
}
|
|
}
|
|
break;
|
|
break;
|
|
|
|
|
|
- //Done apart because you can't mix the flag with BCT_ENEMY for auto-blitz.
|
|
|
|
- case HT_BLITZBEAT:
|
|
|
|
- if (flag&1) {
|
|
|
|
- if (skill_area_temp[1] != bl->id)
|
|
|
|
- skill_attack(skill_get_type(skillid), src, src, bl, skillid, skilllv,
|
|
|
|
- tick, skill_area_temp[0]|(flag&0xFF00));
|
|
|
|
- } else {
|
|
|
|
- skill_area_temp[0] = 0;
|
|
|
|
- skill_area_temp[1] = bl->id;
|
|
|
|
- if (flag&0xF000)
|
|
|
|
- map_foreachinrange(skill_area_sub, bl,
|
|
|
|
- skill_get_splash(skillid, skilllv), BL_CHAR,
|
|
|
|
- src, skillid, skilllv, tick, BCT_ENEMY, skill_area_sub_count);
|
|
|
|
- else
|
|
|
|
- skill_area_temp[0] = 1;
|
|
|
|
- map_foreachinrange(skill_area_sub, bl,
|
|
|
|
- skill_get_splash(skillid, skilllv), BL_CHAR,
|
|
|
|
- src, skillid, skilllv, tick, BCT_ENEMY|1|flag,
|
|
|
|
- skill_castend_damage_id);
|
|
|
|
-
|
|
|
|
- skill_attack(skill_get_type(skillid), src, src, bl, skillid, skilllv,
|
|
|
|
- tick, skill_area_temp[0]|(flag&0xFF00));
|
|
|
|
- }
|
|
|
|
- break;
|
|
|
|
-
|
|
|
|
case KN_BOWLINGBASH:
|
|
case KN_BOWLINGBASH:
|
|
if(flag&1){
|
|
if(flag&1){
|
|
if(bl->id==skill_area_temp[1])
|
|
if(bl->id==skill_area_temp[1])
|