From 2f3928c61a4b13eeb29a0a66802b7d334f319af3 Mon Sep 17 00:00:00 2001 From: skotlex Date: Thu, 1 Feb 2007 18:16:09 +0000 Subject: - When when a party-member levels up, the level change is sent to the char-server to update the even-share range values. - When joining a gvg_dungeon, the pvp packet will be sent to signal versus. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9759 54d463be-8e91-2dee-dedb-b68131a5f0ec --- src/map/clif.c | 6 +++++- src/map/party.c | 16 ++++++++++------ src/map/party.h | 3 ++- src/map/pc.c | 3 +++ 4 files changed, 20 insertions(+), 8 deletions(-) (limited to 'src/map') 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; } -- cgit v1.2.3-60-g2f50