Resolves Shadow Trampling not affecting targets (#5881)

* Fixes #5786.
* Resolves Shadow Trampling not applying it's affect on targets around the caster.
Thanks to @Badarosk0!
This commit is contained in:
Aleos 2021-08-11 14:10:32 -04:00 committed by GitHub
parent 35bdb928a3
commit 6c6de8355f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -11124,11 +11124,9 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
break;
case KG_KAGEHUMI:
if( flag&1 ){
if(tsc && ( tsc->option&(OPTION_CLOAK|OPTION_HIDE) ||
tsc->data[SC_CAMOUFLAGE] || tsc->data[SC__SHADOWFORM] ||
tsc->data[SC_MARIONETTE] || tsc->data[SC_HARMONIZE])){
sc_start(src,src, type, 100, skill_lv, skill_get_time(skill_id, skill_lv));
sc_start(src,bl, type, 100, skill_lv, skill_get_time(skill_id, skill_lv));
if (bl->type != BL_PC)
break;
if (tsc && (tsc->option & (OPTION_CLOAK | OPTION_HIDE) || tsc->data[SC_CAMOUFLAGE] || tsc->data[SC__SHADOWFORM] || tsc->data[SC_MARIONETTE] || tsc->data[SC_HARMONIZE])) {
status_change_end(bl, SC_HIDING, INVALID_TIMER);
status_change_end(bl, SC_CLOAKING, INVALID_TIMER);
status_change_end(bl, SC_CLOAKINGEXCEED, INVALID_TIMER);
@ -11138,14 +11136,12 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
status_change_end(bl, SC__SHADOWFORM, INVALID_TIMER);
status_change_end(bl, SC_MARIONETTE, INVALID_TIMER);
status_change_end(bl, SC_HARMONIZE, INVALID_TIMER);
}
if( skill_area_temp[2] == 1 ){
clif_skill_damage(src,src,tick, status_get_amotion(src), 0, -30000, 1, skill_id, skill_lv, DMG_SINGLE);
sc_start(src,src, SC_STOP, 100, skill_lv, skill_get_time(skill_id, skill_lv));
sc_start(src, bl, type, 100, skill_lv, skill_get_time(skill_id, skill_lv));
}
}else{
skill_area_temp[2] = 0;
map_foreachinrange(skill_area_sub, bl, skill_get_splash(skill_id, skill_lv), BL_CHAR|BL_SKILL, src, skill_id, skill_lv, tick, flag|BCT_ENEMY|SD_SPLASH|1, skill_castend_nodamage_id);
map_foreachinrange(skill_area_sub, bl, skill_get_splash(skill_id, skill_lv), BL_CHAR|BL_SKILL, src, skill_id, skill_lv, tick, flag|BCT_ENEMY|1, skill_castend_nodamage_id);
clif_skill_damage(src, src, tick, status_get_amotion(src), 0, -30000, 1, skill_id, skill_lv, DMG_SINGLE);
clif_skill_nodamage(src, bl, skill_id, skill_lv, 1);
}
break;