From f97c4884316bfe3c5f59c1271dfbf0e19ca716bc Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Sun, 22 Feb 2015 16:42:52 +0300 Subject: Allow change pet direction by packet from client. --- src/map/init.c | 1 + src/map/parse.c | 8 ++++++++ src/map/parse.h | 1 + 3 files changed, 10 insertions(+) (limited to 'src') diff --git a/src/map/init.c b/src/map/init.c index 0253ffa..09b315a 100644 --- a/src/map/init.c +++ b/src/map/init.c @@ -112,6 +112,7 @@ HPExport void plugin_init (void) addPacket(0xb0e, 4, map_parse_set_status, hpClif_Parse); addPacket(0xb0f, 2, map_parse_get_online_list, hpClif_Parse); addPacket(0xb11, 10, map_parse_pet_move, hpClif_Parse); + addPacket(0xb12, 9, map_parse_pet_dir, hpClif_Parse); addHookPre("pc->readparam", epc_readparam_pre); addHookPre("pc->setregistry", epc_setregistry); diff --git a/src/map/parse.c b/src/map/parse.c index 0a7faf1..1b905ea 100644 --- a/src/map/parse.c +++ b/src/map/parse.c @@ -151,3 +151,11 @@ void map_parse_pet_move(int fd) if (map->getcell(pdBl->m, x, y, CELL_CHKPASS)) unit->walktoxy(pdBl, x, y, 0); } + +void map_parse_pet_dir(int fd) +{ + struct map_session_data* sd = (struct map_session_data*)session[fd]->session_data; + if (!sd || !sd->pd) + return; + unit->setdir(&sd->pd->bl, RFIFOB(fd, 8)); +} diff --git a/src/map/parse.h b/src/map/parse.h index 3ad9f6c..8db1fca 100644 --- a/src/map/parse.h +++ b/src/map/parse.h @@ -12,5 +12,6 @@ void map_parse_pet_emote(int fd); void map_parse_set_status(int fd); void map_parse_get_online_list(int fd); void map_parse_pet_move(int fd); +void map_parse_pet_dir(int fd); #endif // EVOL_MAP_PARSE -- cgit v1.2.3-60-g2f50