From 68c2ea30403890497b05cd0c8ce9d8197324efef Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Tue, 13 Feb 2018 21:37:35 +0300 Subject: Update for all players clan join/leave state. Other players will see if player joined or left clan. --- src/Makefile.am | 2 ++ src/emap/clan.c | 40 ++++++++++++++++++++++++++++++++++++++++ src/emap/clan.h | 15 +++++++++++++++ src/emap/init.c | 4 ++++ 4 files changed, 61 insertions(+) create mode 100644 src/emap/clan.c create mode 100644 src/emap/clan.h diff --git a/src/Makefile.am b/src/Makefile.am index 4c47003..68828fe 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -36,6 +36,8 @@ MAP_SRC = emap/atcommand.c \ emap/battle.h \ emap/battleground.c \ emap/battleground.h \ + emap/clan.c \ + emap/clan.h \ emap/clif.c \ emap/clif.h \ emap/config.c \ diff --git a/src/emap/clan.c b/src/emap/clan.c new file mode 100644 index 0000000..299eb75 --- /dev/null +++ b/src/emap/clan.c @@ -0,0 +1,40 @@ +// Copyright (c) Copyright (c) Hercules Dev Team, licensed under GNU GPL. +// Copyright (c) 2014 - 2015 Evol developers + +#include "common/hercules.h" + +#include +#include +#include + +#include "common/HPMi.h" +#include "common/memmgr.h" +#include "common/mmo.h" +#include "common/socket.h" +#include "common/strlib.h" +#include "map/clan.h" +#include "map/pc.h" + +#include "emap/send.h" + +bool eclan_join_post(bool retVal, + struct map_session_data *sd, + int clan_id __attribute__ ((unused))) +{ + if (retVal == true && sd != NULL) + { + send_pc_info(&sd->bl, &sd->bl, AREA); + } + return retVal; +} + +bool eclan_leave_post(bool retVal, + struct map_session_data *sd, + bool first __attribute__ ((unused))) +{ + if (retVal == true && sd != NULL) + { + send_pc_info(&sd->bl, &sd->bl, AREA); + } + return retVal; +} diff --git a/src/emap/clan.h b/src/emap/clan.h new file mode 100644 index 0000000..d07b1bd --- /dev/null +++ b/src/emap/clan.h @@ -0,0 +1,15 @@ +// Copyright (c) Copyright (c) Hercules Dev Team, licensed under GNU GPL. +// Copyright (c) 2014 - 2015 Evol developers + +#ifndef EVOL_MAP_CLAN +#define EVOL_MAP_CLAN + +bool eclan_join_post(bool retVal, + struct map_session_data *sd, + int clan_id); + +bool eclan_leave_post(bool retVal, + struct map_session_data *sd, + bool first); + +#endif // EVOL_MAP_CLAN diff --git a/src/emap/init.c b/src/emap/init.c index 28aabf8..3806aee 100644 --- a/src/emap/init.c +++ b/src/emap/init.c @@ -19,6 +19,7 @@ #include "map/channel.h" #include "map/chat.h" #include "map/chrif.h" +#include "map/clan.h" #include "map/clif.h" #include "map/duel.h" #include "map/elemental.h" @@ -47,6 +48,7 @@ #include "emap/atcommand.h" #include "emap/battle.h" #include "emap/battleground.h" +#include "emap/clan.h" #include "emap/clif.h" #include "emap/config.h" #include "emap/console.h" @@ -286,6 +288,8 @@ HPExport void plugin_init (void) addHookPost(battle, calc_magic_attack, ebattle_calc_weapon_attack_post); addHookPost(battle, calc_misc_attack, ebattle_calc_weapon_attack_post); addHookPost(battle, check_arrows, ebattle_check_arrows_post); + addHookPost(clan, join, eclan_join_post); + addHookPost(clan, leave, eclan_leave_post); addHookPost(clif, addcards, eclif_addcards_post); addHookPost(clif, addcards2, eclif_addcards2_post); addHookPost(clif, getareachar_unit, eclif_getareachar_unit_post); -- cgit v1.2.3-60-g2f50