Fixed #667, Arms Cannon didn't give splash damage after d95f5d2db75c10435421fe396dc86e7be9654be5. Thank @Fraterna
Signed-off-by: Cydh Ramdh <cydh@pservero.com>
This commit is contained in:
parent
8c8c486b84
commit
34c19edf77
@ -4319,8 +4319,8 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl, uint
|
|||||||
case NC_BOOSTKNUCKLE:
|
case NC_BOOSTKNUCKLE:
|
||||||
case NC_PILEBUNKER:
|
case NC_PILEBUNKER:
|
||||||
case NC_COLDSLOWER:
|
case NC_COLDSLOWER:
|
||||||
case NC_ARMSCANNON:
|
if (sd)
|
||||||
if (sd) pc_overheat(sd, 1);
|
pc_overheat(sd, 1);
|
||||||
case MO_TRIPLEATTACK:
|
case MO_TRIPLEATTACK:
|
||||||
case RK_WINDCUTTER:
|
case RK_WINDCUTTER:
|
||||||
skill_attack(BF_WEAPON,src,src,bl,skill_id,skill_lv,tick,flag|SD_ANIMATION);
|
skill_attack(BF_WEAPON,src,src,bl,skill_id,skill_lv,tick,flag|SD_ANIMATION);
|
||||||
@ -4550,6 +4550,7 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl, uint
|
|||||||
case RL_S_STORM:
|
case RL_S_STORM:
|
||||||
case RL_R_TRIP:
|
case RL_R_TRIP:
|
||||||
case MH_XENO_SLASHER:
|
case MH_XENO_SLASHER:
|
||||||
|
case NC_ARMSCANNON:
|
||||||
if( flag&1 ) {//Recursive invocation
|
if( flag&1 ) {//Recursive invocation
|
||||||
int sflag = skill_area_temp[0] & 0xFFF;
|
int sflag = skill_area_temp[0] & 0xFFF;
|
||||||
int heal = 0;
|
int heal = 0;
|
||||||
@ -4564,6 +4565,12 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl, uint
|
|||||||
status_heal(src,heal,0,0);
|
status_heal(src,heal,0,0);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
int starget = splash_target(src);
|
||||||
|
|
||||||
|
skill_area_temp[0] = 0;
|
||||||
|
skill_area_temp[1] = bl->id;
|
||||||
|
skill_area_temp[2] = 0;
|
||||||
|
|
||||||
switch ( skill_id ) {
|
switch ( skill_id ) {
|
||||||
case NJ_BAKUENRYU:
|
case NJ_BAKUENRYU:
|
||||||
case LG_EARTHDRIVE:
|
case LG_EARTHDRIVE:
|
||||||
@ -4580,21 +4587,19 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl, uint
|
|||||||
case WM_REVERBERATION_MELEE:
|
case WM_REVERBERATION_MELEE:
|
||||||
case WM_REVERBERATION_MAGIC:
|
case WM_REVERBERATION_MAGIC:
|
||||||
skill_area_temp[1] = 0;
|
skill_area_temp[1] = 0;
|
||||||
|
starget = BL_CHAR;
|
||||||
break;
|
break;
|
||||||
default:
|
case WL_CRIMSONROCK:
|
||||||
|
skill_area_temp[4] = bl->x;
|
||||||
|
skill_area_temp[5] = bl->y;
|
||||||
|
break;
|
||||||
|
case NC_VULCANARM:
|
||||||
|
case NC_ARMSCANNON:
|
||||||
|
if (sd)
|
||||||
|
pc_overheat(sd, 1);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
skill_area_temp[0] = 0;
|
|
||||||
skill_area_temp[1] = bl->id;
|
|
||||||
skill_area_temp[2] = 0;
|
|
||||||
if( skill_id == WL_CRIMSONROCK ) {
|
|
||||||
skill_area_temp[4] = bl->x;
|
|
||||||
skill_area_temp[5] = bl->y;
|
|
||||||
}
|
|
||||||
if( skill_id == NC_VULCANARM )
|
|
||||||
if (sd) pc_overheat(sd,1);
|
|
||||||
|
|
||||||
// if skill damage should be split among targets, count them
|
// if skill damage should be split among targets, count them
|
||||||
//SD_LEVEL -> Forced splash damage for Auto Blitz-Beat -> count targets
|
//SD_LEVEL -> Forced splash damage for Auto Blitz-Beat -> count targets
|
||||||
//special case: Venom Splasher uses a different range for searching than for splashing
|
//special case: Venom Splasher uses a different range for searching than for splashing
|
||||||
@ -4602,7 +4607,7 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl, uint
|
|||||||
skill_area_temp[0] = map_foreachinrange(skill_area_sub, bl, (skill_id == AS_SPLASHER)?1:skill_get_splash(skill_id, skill_lv), BL_CHAR, src, skill_id, skill_lv, tick, BCT_ENEMY, skill_area_sub_count);
|
skill_area_temp[0] = map_foreachinrange(skill_area_sub, bl, (skill_id == AS_SPLASHER)?1:skill_get_splash(skill_id, skill_lv), BL_CHAR, src, skill_id, skill_lv, tick, BCT_ENEMY, skill_area_sub_count);
|
||||||
|
|
||||||
// recursive invocation of skill_castend_damage_id() with flag|1
|
// recursive invocation of skill_castend_damage_id() with flag|1
|
||||||
map_foreachinrange(skill_area_sub, bl, skill_get_splash(skill_id, skill_lv), (skill_id == WM_REVERBERATION_MELEE || skill_id == WM_REVERBERATION_MAGIC) ? BL_CHAR : splash_target(src), src, skill_id, skill_lv, tick, flag|BCT_ENEMY|SD_SPLASH|1, skill_castend_damage_id);
|
map_foreachinrange(skill_area_sub, bl, skill_get_splash(skill_id, skill_lv), starget, src, skill_id, skill_lv, tick, flag|BCT_ENEMY|SD_SPLASH|1, skill_castend_damage_id);
|
||||||
if( skill_id == AS_SPLASHER ) {
|
if( skill_id == AS_SPLASHER ) {
|
||||||
map_freeblock_unlock(); // Don't consume a second gemstone.
|
map_freeblock_unlock(); // Don't consume a second gemstone.
|
||||||
return 0;
|
return 0;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user