summaryrefslogtreecommitdiff
path: root/src/map/clif.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/map/clif.c')
-rw-r--r--src/map/clif.c25
1 files changed, 20 insertions, 5 deletions
diff --git a/src/map/clif.c b/src/map/clif.c
index 3b15f3e1a..ffbc78cb1 100644
--- a/src/map/clif.c
+++ b/src/map/clif.c
@@ -99,6 +99,21 @@ static int max_char_id = DEFAULT_MAX_CHAR_ID;
int clif_parse (int fd);
/*==========================================
+ * Send specials effect to tarjet
+ *------------------------------------------*/
+int clif_specialeffecttoone(struct block_list *bl, struct block_list *dst, int type)
+{
+ struct map_session_data *sd = (struct map_session_data *)dst;
+
+ WFIFOW(sd->fd,0) = 0x1f3;
+ WFIFOL(sd->fd,2) = bl->id;
+ WFIFOL(sd->fd,6) = type;
+ WFIFOSET(sd->fd, packet_len(0x1f3));
+
+ return 0;
+}
+
+/*==========================================
* mapŽI‚ÌipÝ’è
*------------------------------------------*/
int clif_setip(const char* ip)
@@ -3428,15 +3443,15 @@ void clif_getareachar_unit(struct map_session_data* sd,struct block_list *bl)
clif_refreshlook(&sd->bl,bl->id,LOOK_CLOTHES_COLOR,vd->cloth_color,SELF);
switch (bl->type)
- { // FIXME: 'AREA' causes unneccessary spam since this should be 1:1 communication [ultramage]
+ {
case BL_PC:
{
TBL_PC* tsd = (TBL_PC*)bl;
clif_getareachar_pc(sd, tsd);
if(tsd->state.size==2) // tiny/big players [Valaris]
- clif_specialeffect(bl,423,AREA);
+ clif_specialeffecttoone(bl, &sd->bl, 423);
else if(tsd->state.size==1)
- clif_specialeffect(bl,421,AREA);
+ clif_specialeffecttoone(bl, &sd->bl, 421);
}
break;
case BL_NPC:
@@ -3450,9 +3465,9 @@ void clif_getareachar_unit(struct map_session_data* sd,struct block_list *bl)
{
TBL_MOB* md = (TBL_MOB*)bl;
if(md->special_state.size==2) // tiny/big mobs [Valaris]
- clif_specialeffect(bl,423,AREA);
+ clif_specialeffecttoone(bl, &sd->bl, 423);
else if(md->special_state.size==1)
- clif_specialeffect(bl,421,AREA);
+ clif_specialeffecttoone(bl, &sd->bl, 421);
}
break;
case BL_PET: