diff options
author | shennetsind <ind@henn.et> | 2013-04-11 21:18:12 -0300 |
---|---|---|
committer | shennetsind <ind@henn.et> | 2013-04-11 21:18:12 -0300 |
commit | 789c8d77c7de5673a3cefd8ca302d97bc358ce8e (patch) | |
tree | 658701cf787a35b0ce68931d55e264d65437b284 /src/map/guild.c | |
parent | 1152ef720d3ef010a40ddf3cb5fc63fbc2f3e030 (diff) | |
download | hercules-789c8d77c7de5673a3cefd8ca302d97bc358ce8e.tar.gz hercules-789c8d77c7de5673a3cefd8ca302d97bc358ce8e.tar.bz2 hercules-789c8d77c7de5673a3cefd8ca302d97bc358ce8e.tar.xz hercules-789c8d77c7de5673a3cefd8ca302d97bc358ce8e.zip |
Hercules Channel System Update
http://hercules.ws/board/topic/316-introducing-hercules-channel-system/?p=2716
Signed-off-by: shennetsind <ind@henn.et>
Diffstat (limited to 'src/map/guild.c')
-rw-r--r-- | src/map/guild.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/map/guild.c b/src/map/guild.c index 321560420..2948d19c6 100644 --- a/src/map/guild.c +++ b/src/map/guild.c @@ -754,12 +754,15 @@ void guild_member_joined(struct map_session_data *sd) if( hChSys.ally && hChSys.ally_autojoin ) { struct guild* sg = NULL; - clif->chsys_join((struct hChSysCh*)g->channel,sd); + struct hChSysCh *channel = (struct hChSysCh*)g->channel; + + if( !(channel->banned && idb_exists(channel->banned, sd->status.account_id) ) ) + clif->chsys_join(channel,sd); for (i = 0; i < MAX_GUILDALLIANCE; i++) { if( g->alliance[i].guild_id && (sg = guild_search(g->alliance[i].guild_id) ) ) { - clif->chsys_join((struct hChSysCh*)sg->channel,sd); - break; + if( !(((struct hChSysCh*)sg->channel)->banned && idb_exists(((struct hChSysCh*)sg->channel)->banned, sd->status.account_id))) + clif->chsys_join((struct hChSysCh*)sg->channel,sd); } } } |