diff options
Diffstat (limited to 'src/map/clif.c')
-rw-r--r-- | src/map/clif.c | 22 |
1 files changed, 18 insertions, 4 deletions
diff --git a/src/map/clif.c b/src/map/clif.c index fab7605ae..6e302cd17 100644 --- a/src/map/clif.c +++ b/src/map/clif.c @@ -1017,7 +1017,7 @@ int clif_spawn(struct block_list *bl) else if(sd->state.size==1) clif_specialeffect(bl,421,AREA); } - break; + break; case BL_MOB: { TBL_MOB *md = ((TBL_MOB*)bl); @@ -1026,7 +1026,16 @@ int clif_spawn(struct block_list *bl) else if(md->special_state.size==1) clif_specialeffect(&md->bl,421,AREA); } - break; + break; + case BL_NPC: + { + TBL_NPC *nd = ((TBL_NPC*)bl); + if( nd->size == 2 ) + clif_specialeffect(&nd->bl,423,AREA); + else if( nd->size == 1 ) + clif_specialeffect(&nd->bl,421,AREA); + } + break; case BL_PET: if (vd->head_bottom) clif_pet_equip_area((TBL_PET*)bl); // needed to display pet equip properly @@ -3402,6 +3411,10 @@ void clif_getareachar_unit(struct map_session_data* sd,struct block_list *bl) TBL_NPC* nd = (TBL_NPC*)bl; if( nd->chat_id ) clif_dispchat((struct chat_data*)map_id2bl(nd->chat_id),sd->fd); + if( nd->size == 2 ) + clif_specialeffect_single(bl,423,sd->fd); + else if( nd->size == 1 ) + clif_specialeffect_single(bl,421,sd->fd); } break; case BL_MOB: @@ -9200,8 +9213,6 @@ void clif_parse_UseSkillToId(int fd, struct map_session_data *sd) if (skilllv < 1) skilllv = 1; //No clue, I have seen the client do this with guild skills :/ [Skotlex] - //Whether skill fails or not is irrelevant, the char ain't idle. [Skotlex] - sd->idletime = last_tick; tmp = skill_get_inf(skillnum); if (tmp&INF_GROUND_SKILL || !tmp) @@ -9212,6 +9223,9 @@ void clif_parse_UseSkillToId(int fd, struct map_session_data *sd) return; } + // Whether skill fails or not is irrelevant, the char ain't idle. [Skotlex] + sd->idletime = last_tick; + if (pc_cant_act(sd)) return; if (pc_issit(sd)) |