summaryrefslogtreecommitdiff
path: root/src/map
diff options
context:
space:
mode:
authorskotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec>2007-02-01 18:16:09 +0000
committerskotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec>2007-02-01 18:16:09 +0000
commit2f3928c61a4b13eeb29a0a66802b7d334f319af3 (patch)
tree4ee808ecf0be9f63f81f220b34f9b1493d219c1e /src/map
parent78cfbc99e7ecfdc31687009fe33e551b5c852110 (diff)
downloadhercules-2f3928c61a4b13eeb29a0a66802b7d334f319af3.tar.gz
hercules-2f3928c61a4b13eeb29a0a66802b7d334f319af3.tar.bz2
hercules-2f3928c61a4b13eeb29a0a66802b7d334f319af3.tar.xz
hercules-2f3928c61a4b13eeb29a0a66802b7d334f319af3.zip
- 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
Diffstat (limited to 'src/map')
-rw-r--r--src/map/clif.c6
-rw-r--r--src/map/party.c16
-rw-r--r--src/map/party.h3
-rw-r--r--src/map/pc.c3
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;
}