Icewall stacking update

- If you now cast Icewall on an existing ice wall cell, the duration (HP) will no longer be refreshed
- If casting Icewall doesn't change any cell, there won't be a skill animation/sound anymore (SP will still be consumed)
This commit is contained in:
Playtester 2014-10-28 13:41:40 +01:00
parent 4311630e8f
commit 37faf6b9f6

View File

@ -10864,6 +10864,7 @@ int skill_castend_pos2(struct block_list* src, int x, int y, uint16 skill_id, ui
switch (skill_id) { //Skill effect.
case WZ_METEOR:
case WZ_ICEWALL:
case MO_BODYRELOCATION:
case CR_CULTIVATION:
case HW_GANBANTEIN:
@ -10944,7 +10945,6 @@ int skill_castend_pos2(struct block_list* src, int x, int y, uint16 skill_id, ui
case MG_FIREWALL:
case MG_THUNDERSTORM:
case AL_PNEUMA:
case WZ_ICEWALL:
case WZ_FIREPILLAR:
case WZ_QUAGMIRE:
case WZ_VERMILION:
@ -11050,6 +11050,11 @@ int skill_castend_pos2(struct block_list* src, int x, int y, uint16 skill_id, ui
case GN_WALLOFTHORN:
skill_unitsetting(src,skill_id,skill_lv,x,y,0);
break;
case WZ_ICEWALL:
flag|=1;
if(skill_unitsetting(src,skill_id,skill_lv,x,y,0))
clif_skill_poseffect(src,skill_id,skill_lv,x,y,tick);
break;
case RG_GRAFFITI: /* Graffiti [Valaris] */
skill_clear_unitgroup(src);
skill_unitsetting(src,skill_id,skill_lv,x,y,0);
@ -16489,9 +16494,11 @@ static int skill_cell_overlap(struct block_list *bl, va_list ap)
break;
}
break;
case WZ_ICEWALL:
case HP_BASILICA:
if (unit->group->skill_id == HP_BASILICA)
{ //Basilica can't be placed on top of itself to avoid map-cell stacking problems. [Skotlex]
//These can't be placed on top of themselves (duration can't be refreshed)
if (unit->group->skill_id == skill_id)
{
(*alive) = 0;
return 1;
}