From 794f497914aedc8004cc538f57db64d74af79c57 Mon Sep 17 00:00:00 2001 From: Chisee <35694528+Chisee@users.noreply.github.com> Date: Fri, 16 Mar 2018 13:50:19 -0300 Subject: [PATCH] Corrects Spirit/Charm absorption behaviour on Ninja Spirit Charm (#2980) * Fixes #2087. * The conditional was missing a check on Kagero/Oboro's Spirit Charm, therefore not removing the charms nor applying SP regeneration on caster. Thanks to @Chisee! --- src/map/skill.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/map/skill.cpp b/src/map/skill.cpp index b4f0e50889..1f5584f362 100755 --- a/src/map/skill.cpp +++ b/src/map/skill.cpp @@ -6968,7 +6968,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui case MO_ABSORBSPIRITS: i = 0; - if (dstsd && dstsd->spiritball && (sd == dstsd || map_flag_vs(src->m) || (sd && sd->duel_group && sd->duel_group == dstsd->duel_group)) && + if (dstsd && (sd == dstsd || map_flag_vs(src->m) || (sd && sd->duel_group && sd->duel_group == dstsd->duel_group)) && ((dstsd->class_&MAPID_BASEMASK) != MAPID_GUNSLINGER || (dstsd->class_&MAPID_UPPERMASK) != MAPID_REBELLION)) { // split the if for readability, and included gunslingers in the check so that their coins cannot be removed [Reddozen] if (dstsd->spiritball > 0) { i = dstsd->spiritball * 7; @@ -9961,7 +9961,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui case SR_ASSIMILATEPOWER: if (flag&1) { i = 0; - if (dstsd && dstsd->spiritball && (sd == dstsd || map_flag_vs(src->m)) && (dstsd->class_&MAPID_BASEMASK)!=MAPID_GUNSLINGER) { + if (dstsd && (sd == dstsd || map_flag_vs(src->m)) && (dstsd->class_&MAPID_BASEMASK)!=MAPID_GUNSLINGER) { if (dstsd->spiritball > 0) { i = dstsd->spiritball; pc_delspiritball(dstsd,dstsd->spiritball,0);