Corrected Absorb Spirit Sphere on self (#3689)

* Fixes #3534.
* Absorb Spirit Sphere should work on self on all map types.
Thanks to @FriggRM!
This commit is contained in:
Aleos 2018-11-28 13:11:35 -05:00 committed by GitHub
parent 64d0da45ca
commit eafb1cb7f9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -7053,7 +7053,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
case MO_ABSORBSPIRITS:
i = 0;
if (dstsd && battle_check_target(src, bl, BCT_SELF|BCT_ENEMY) > 0 && (map_flag_vs(src->m) || (sd && sd->duel_group && sd->duel_group == dstsd->duel_group)) && // Only works on self and enemies
if (dstsd && (battle_check_target(src, bl, BCT_SELF) > 0 || (battle_check_target(src, bl, BCT_ENEMY) > 0 && (map_flag_vs(src->m) || (sd && sd->duel_group && sd->duel_group == dstsd->duel_group)))) && // Only works on self and enemies
((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;