parent
79935a75c9
commit
924d1ddad7
@ -5545,20 +5545,19 @@ void clif_skill_unit_test(struct block_list *bl, short x, short y, int unit_id,
|
||||
clif_send(buf, packet_len(0x09ca), bl, AREA);
|
||||
}
|
||||
|
||||
/*==========================================
|
||||
* Server tells client to remove unit of id 'unit->bl.id'
|
||||
*------------------------------------------*/
|
||||
static void clif_clearchar_skillunit(struct skill_unit *unit, int fd)
|
||||
{
|
||||
nullpo_retv(unit);
|
||||
/// Server tells client to remove unit of id 'unit->bl.id'
|
||||
/// 0120 <id>.L (ZC_SKILL_DISAPPEAR)
|
||||
static void clif_clearchar_skillunit( skill_unit& unit, map_session_data& sd ){
|
||||
PACKET_ZC_SKILL_DISAPPEAR packet{};
|
||||
|
||||
WFIFOHEAD(fd,packet_len(0x120));
|
||||
WFIFOW(fd, 0)=0x120;
|
||||
WFIFOL(fd, 2)=unit->bl.id;
|
||||
WFIFOSET(fd,packet_len(0x120));
|
||||
packet.packetType = HEADER_ZC_SKILL_DISAPPEAR;
|
||||
packet.GID = unit.bl.id;
|
||||
|
||||
if(unit->group && unit->group->skill_id == WZ_ICEWALL)
|
||||
clif_changemapcell(fd,unit->bl.m,unit->bl.x,unit->bl.y,unit->val2,SELF);
|
||||
clif_send( &packet, sizeof( packet ), &sd.bl, SELF );
|
||||
|
||||
if( unit.group && unit.group->skill_id == WZ_ICEWALL ){
|
||||
clif_changemapcell( sd.fd, unit.bl.m, unit.bl.x, unit.bl.y, unit.val2, SELF );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -5651,7 +5650,7 @@ int clif_outsight(struct block_list *bl,va_list ap)
|
||||
clif_clearflooritem( *reinterpret_cast<flooritem_data*>( bl ), tsd );
|
||||
break;
|
||||
case BL_SKILL:
|
||||
clif_clearchar_skillunit((struct skill_unit *)bl,tsd->fd);
|
||||
clif_clearchar_skillunit( *((skill_unit *)bl), *tsd );
|
||||
break;
|
||||
case BL_NPC:
|
||||
if(!(((TBL_NPC*)bl)->is_invisible))
|
||||
@ -5666,7 +5665,7 @@ int clif_outsight(struct block_list *bl,va_list ap)
|
||||
if (clif_session_isValid(sd)) { //sd is watching tbl go out of view.
|
||||
nullpo_ret(tbl);
|
||||
if(tbl->type == BL_SKILL) //Trap knocked out of sight
|
||||
clif_clearchar_skillunit((struct skill_unit *)tbl,sd->fd);
|
||||
clif_clearchar_skillunit( *((skill_unit *)tbl), *sd );
|
||||
else if(((vd=status_get_viewdata(tbl)) && vd->class_ != JT_INVISIBLE) &&
|
||||
!(tbl->type == BL_NPC && (((TBL_NPC*)tbl)->is_invisible)))
|
||||
clif_clearunit_single( tbl->id, CLR_OUTSIGHT, *sd );
|
||||
|
Loading…
x
Reference in New Issue
Block a user