|
@@ -7347,8 +7347,12 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
|
|
|
|
|
|
case AL_HOLYWATER:
|
|
|
if(sd) {
|
|
|
- if (skill_produce_mix(sd, skill_id, ITEMID_HOLY_WATER, 0, 0, 0, 1, -1))
|
|
|
- clif_skill_nodamage(src,bl,skill_id,skill_lv,1);
|
|
|
+ if (skill_produce_mix(sd, skill_id, ITEMID_HOLY_WATER, 0, 0, 0, 1, -1)) {
|
|
|
+ struct skill_unit* su;
|
|
|
+ if ((su = map_find_skill_unit_oncell(bl, bl->x, bl->y, NJ_SUITON, NULL, 0)) != NULL)
|
|
|
+ skill_delunit(su);
|
|
|
+ clif_skill_nodamage(src, bl, skill_id, skill_lv, 1);
|
|
|
+ }
|
|
|
else
|
|
|
clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
|
|
|
}
|
|
@@ -15363,6 +15367,12 @@ bool skill_check_condition_castbegin(struct map_session_data* sd, uint16 skill_i
|
|
|
return false;
|
|
|
}
|
|
|
break;
|
|
|
+ case AL_HOLYWATER:
|
|
|
+ if (map_getcell(sd->bl.m, sd->bl.x, sd->bl.y, CELL_CHKLANDPROTECTOR)) {
|
|
|
+ clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
|
|
|
+ return false; // Aqua Benedicta will not cast on LP [secretdataz]
|
|
|
+ }
|
|
|
+ break;
|
|
|
}
|
|
|
|
|
|
/* check state required */
|