diff options
Diffstat (limited to 'src/map')
-rw-r--r-- | src/map/clif.c | 6 | ||||
-rw-r--r-- | src/map/party.c | 16 | ||||
-rw-r--r-- | src/map/party.h | 3 | ||||
-rw-r--r-- | src/map/pc.c | 3 |
4 files changed, 20 insertions, 8 deletions
diff --git a/src/map/clif.c b/src/map/clif.c index 32a0843d2..4aa9f5b56 100644 --- a/src/map/clif.c +++ b/src/map/clif.c @@ -8175,9 +8175,13 @@ void clif_parse_LoadEndAck(int fd,struct map_session_data *sd) if (map[sd->bl.m].flag.gvg_dungeon) { - clif_set0199(fd,2); //TODO: Figure out the real thing to do here. + clif_set0199(fd, 1); //TODO: Figure out the real packet to send here. if (!sd->pvp_point) + { sd->pvp_point=5; //Need to die twice to be warped out. + sd->pvp_won=0; + sd->pvp_lost=0; + } } if(map_flag_gvg(sd->bl.m)) diff --git a/src/map/party.c b/src/map/party.c index 558615e9c..4ac60a65a 100644 --- a/src/map/party.c +++ b/src/map/party.c @@ -508,15 +508,14 @@ int party_recv_movemap(int party_id,int account_id,int char_id, unsigned short m return 0; } -int party_send_movemap(struct map_session_data *sd) +void party_send_movemap(struct map_session_data *sd) { int i; struct party_data *p; - nullpo_retr(0, sd); - if( sd->status.party_id==0 ) - return 0; + return; + intif_party_changemap(sd,1); p=party_search(sd->status.party_id); @@ -532,7 +531,7 @@ int party_send_movemap(struct map_session_data *sd) } if( sd->state.party_sent ) - return 0; + return; party_check_conflict(sd); @@ -546,7 +545,12 @@ int party_send_movemap(struct map_session_data *sd) } } - return 0; + return; +} + +void party_send_levelup(struct map_session_data *sd) +{ + intif_party_changemap(sd,1); } int party_send_logout(struct map_session_data *sd) diff --git a/src/map/party.h b/src/map/party.h index 92d78a4b6..0b7c9a858 100644 --- a/src/map/party.h +++ b/src/map/party.h @@ -32,7 +32,8 @@ int party_recv_movemap(int party_id,int account_id,int char_id, unsigned short m int party_broken(int party_id); int party_optionchanged(int party_id,int account_id,int exp,int item,int flag); int party_changeoption(struct map_session_data *sd,int exp,int item); -int party_send_movemap(struct map_session_data *sd); +void party_send_movemap(struct map_session_data *sd); +void party_send_levelup(struct map_session_data *sd); int party_send_logout(struct map_session_data *sd); int party_send_message(struct map_session_data *sd,char *mes,int len); int party_recv_message(int party_id,int account_id,char *mes,int len); diff --git a/src/map/pc.c b/src/map/pc.c index 5d97b4587..9b4b9698d 100644 --- a/src/map/pc.c +++ b/src/map/pc.c @@ -4100,6 +4100,9 @@ int pc_checkbaselevelup(struct map_session_data *sd) //LORDALFA - LVLUPEVENT if(sd->state.event_baselvup) npc_script_event(sd, NPCE_BASELVUP); + + if(sd->status.party_id) + party_send_levelup(sd); return 1; } |