summaryrefslogtreecommitdiff
path: root/src/map/skill.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/map/skill.c')
-rw-r--r--src/map/skill.c15
1 files changed, 8 insertions, 7 deletions
diff --git a/src/map/skill.c b/src/map/skill.c
index 4fa16de9b..758aa6fd2 100644
--- a/src/map/skill.c
+++ b/src/map/skill.c
@@ -1473,9 +1473,8 @@ int skill_attack (int attack_type, struct block_list* src, struct block_list *ds
damage = dmg.damage + dmg.damage2;
- if (skillid == AL_INCAGI || skillid == AL_BLESSING)
- if (tsd->sc.data[SC_CHANGEUNDEAD])
- damage = 1;
+ if( (skillid == AL_INCAGI || skillid == AL_BLESSING) && tsd->sc.data[SC_CHANGEUNDEAD] )
+ damage = 1;
if (damage > 0 && dmg.flag&BF_WEAPON && src != bl && src == dsrc &&
skillid != WS_CARTTERMINATION) // FIXME(?): Quick and dirty check, but HSCR does bypass Shield Reflect... so I make it bypass the whole reflect thing [DracoRPG]
@@ -1764,11 +1763,13 @@ int skill_area_sub (struct block_list *bl, va_list ap)
if(battle_check_target(src,bl,flag) > 0)
{
- if (flag&(SD_SPLASH|SD_PREAMBLE)) {
- if (flag&SD_PREAMBLE && !skill_area_temp[2])
- clif_skill_damage(src,bl,tick, status_get_amotion(src), 0, -30000, 1, skill_id, skill_lv, 6);
+ // several splash skills need this initial dummy packet to display correctly
+ if (flag&SD_PREAMBLE && skill_area_temp[2] == 0)
+ clif_skill_damage(src,bl,tick, status_get_amotion(src), 0, -30000, 1, skill_id, skill_lv, 6);
+
+ if (flag&(SD_SPLASH|SD_PREAMBLE))
skill_area_temp[2]++;
- }
+
return func(src,bl,skill_id,skill_lv,tick,flag);
}
return 0;