diff options
author | skotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2006-12-04 15:37:09 +0000 |
---|---|---|
committer | skotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2006-12-04 15:37:09 +0000 |
commit | 9b325c6a9ee3e96a991bbac34b907305316e5e1a (patch) | |
tree | a88ca00179edb3b5a8e89bcad77c1b31bdf880ac /src/map/pc.c | |
parent | 5edc20529759c12add3da5c3ed0a1cfe335de6b8 (diff) | |
download | hercules-9b325c6a9ee3e96a991bbac34b907305316e5e1a.tar.gz hercules-9b325c6a9ee3e96a991bbac34b907305316e5e1a.tar.bz2 hercules-9b325c6a9ee3e96a991bbac34b907305316e5e1a.tar.xz hercules-9b325c6a9ee3e96a991bbac34b907305316e5e1a.zip |
- Repairing items via scripts no longer displays "item has been repaired"
- Status Recovery again makes mobs unlock their current target.
- Moved requesting party/guilds from the char-server from pc_authok to pc_reg_received, since map_nick2sd and map_getallsd won't work until the characters are authentified. Also removed the guild master setting from clif_parse_LoadEndAck to pc_reg_received since guild master setting will work there.
- Fixed homun hunger timer being started on login even when hom is vaporized/dead.
- Fixed mvp exp attacker bonus applying incorrectly.
- Removed duplicate msg_athena.conf entries 619 and 620 for Ninja/Gunslinger.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9401 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src/map/pc.c')
-rw-r--r-- | src/map/pc.c | 19 |
1 files changed, 13 insertions, 6 deletions
diff --git a/src/map/pc.c b/src/map/pc.c index 6630a38c5..f7b9167f6 100644 --- a/src/map/pc.c +++ b/src/map/pc.c @@ -671,11 +671,6 @@ int pc_authok(struct map_session_data *sd, int login_id2, time_t connect_until_t if (sd->status.hom_id > 0) intif_homunculus_requestload(sd->status.account_id, sd->status.hom_id); - if (sd->status.party_id > 0 && party_search(sd->status.party_id) == NULL) - party_request_info(sd->status.party_id); - if (sd->status.guild_id > 0 && guild_search(sd->status.guild_id) == NULL) - guild_request_info(sd->status.guild_id); - clif_authok(sd); map_addiddb(&sd->bl); if (map_charid2nick(sd->status.char_id) == NULL) @@ -795,6 +790,7 @@ int pc_set_hate_mob(struct map_session_data *sd, int pos, struct block_list *bl) int pc_reg_received(struct map_session_data *sd) { int i,j; + struct guild *g = NULL; sd->change_level = pc_readglobalreg(sd,"jobchange_level"); sd->die_counter = pc_readglobalreg(sd,"PC_DIE_COUNTER"); @@ -851,9 +847,20 @@ int pc_reg_received(struct map_session_data *sd) //Weird... maybe registries were reloaded? if (sd->state.auth) return 0; + sd->state.auth = 1; + + if (sd->status.party_id > 0 && party_search(sd->status.party_id) == NULL) + party_request_info(sd->status.party_id); + if (sd->status.guild_id > 0 && (g=guild_search(sd->status.guild_id)) == NULL) + guild_request_info(sd->status.guild_id); + else if (g && strcmp(sd->status.name,g->master) == 0) + { //Block Guild Skills to prevent logout/login reuse exploiting. [Skotlex] + guild_block_skill(sd, 300000); + //Also set the Guild Master flag. + sd->state.gmaster_flag = g; + } status_calc_pc(sd,1); - sd->state.auth = 1; if (!sd->state.connect_new && sd->fd) { //Character already loaded map! Gotta trigger LoadEndAck manually. sd->state.connect_new = 1; |