diff options
author | Andrei Karas <akaras@inbox.ru> | 2018-02-13 21:37:35 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2018-02-13 21:37:35 +0300 |
commit | 68c2ea30403890497b05cd0c8ce9d8197324efef (patch) | |
tree | 1cbcf302014e717862a0b880d6670b17397af2a4 | |
parent | a72ce61cd2dd4981259a8b9a16801222b9775f08 (diff) | |
download | evol-hercules-68c2ea30403890497b05cd0c8ce9d8197324efef.tar.gz evol-hercules-68c2ea30403890497b05cd0c8ce9d8197324efef.tar.bz2 evol-hercules-68c2ea30403890497b05cd0c8ce9d8197324efef.tar.xz evol-hercules-68c2ea30403890497b05cd0c8ce9d8197324efef.zip |
Update for all players clan join/leave state.
Other players will see if player joined or left clan.
-rw-r--r-- | src/Makefile.am | 2 | ||||
-rw-r--r-- | src/emap/clan.c | 40 | ||||
-rw-r--r-- | src/emap/clan.h | 15 | ||||
-rw-r--r-- | src/emap/init.c | 4 |
4 files changed, 61 insertions, 0 deletions
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 <stdio.h> +#include <stdlib.h> +#include <string.h> + +#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); |